/* sitepravo-mobile-overflow-fix */
@media (max-width: 640px) {
    html, body, #root { width: 100%; max-width: 100%; overflow-x: hidden !important; }
    #root, #root * { min-width: 0 !important; }
    #root * { max-width: 100vw !important; }
    #root img, #root svg, #root video, #root canvas { max-width: 100% !important; height: auto; }
    #root h1, #root h2, #root h3, #root p, #root a, #root span, #root li { overflow-wrap: anywhere; word-break: normal; }
    #root .container, #root [class*="max-w-"] { max-width: 100% !important; }
    #root [class*="whitespace-nowrap"] { white-space: normal !important; }
    #root * { white-space: normal !important; }
    #root h1, #root h1 *, #root h2, #root h2 * { white-space: normal !important; max-width: calc(100vw - 48px) !important; }
    #root h1 { display: block !important; width: calc(100vw - 48px) !important; margin-left: auto !important; margin-right: auto !important; font-size: 28px !important; line-height: 1.16 !important; }
    #root h1 * { display: inline !important; white-space: normal !important; }
    #root h2 { width: calc(100vw - 48px) !important; margin-left: auto !important; margin-right: auto !important; font-size: 26px !important; line-height: 1.2 !important; }
    #root p { max-width: calc(100vw - 32px) !important; }
    #root input, #root button { max-width: 100% !important; }
  }


/* session1-mobile-hardening */
html, body { overflow-x: hidden; }
      #root { min-height: 100dvh; }
      /* Временно скрываем SmartWidget на всех экранах */
      [id*=smartwidget i], [class*=smartwidget i], .smart-widget, .sw-root { display: none !important; }
      @media (max-width: 768px) {
        footer .container { padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }
      }


/* sitepravo-mobile-overflow-hotfix */
html, body, #root { width: 100%; max-width: 100%; overflow-x: hidden; }
  *, *::before, *::after { box-sizing: border-box; }
  a, span, p, h1, h2, h3, h4, h5, div, button { overflow-wrap: anywhere; }
  @media (max-width: 640px) {
    #root, #root > div, main, header, footer { width: 100vw !important; max-width: 100vw !important; overflow-x: hidden !important; }
    #root * { min-width: 0 !important; }
    p, h1, h2, h3, h4, h5, li, label, input, textarea, [class*="text-"] {
      max-width: calc(100vw - 2rem) !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
      word-break: break-word !important;
    }
    .rounded-xl, .rounded-lg, .border, .bg-card, .bg-muted, .bg-background, .shadow-md, .shadow-sm {
      max-width: calc(100vw - .75rem) !important;
      overflow-x: hidden !important;
    }
    .w-full { max-width: 100% !important; }
    .space-y-8.w-full, .space-y-6.w-full, .space-y-4.w-full {
      width: calc(100vw - .75rem) !important;
      max-width: calc(100vw - .75rem) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
    section:first-of-type .space-y-8 > *, section:first-of-type .space-y-6 > *, section:first-of-type .space-y-4 > * {
      width: calc(100vw - 2rem) !important;
      max-width: calc(100vw - 2rem) !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    section:first-of-type .container,
    section:first-of-type form,
    section:first-of-type input,
    section:first-of-type button { max-width: 100% !important; min-width: 0 !important; }
    section:first-of-type .flex.flex-wrap.items-center.justify-center.gap-3 { display: grid !important; justify-items: center !important; gap: .55rem !important; }
    section:first-of-type a.rounded-full.inline-flex { font-size: .78rem !important; max-width: calc(100vw - 2.5rem) !important; }
    section:first-of-type h1 { max-width: 20rem !important; margin-left: auto !important; margin-right: auto !important; font-size: 1.9rem !important; line-height: 1.08 !important; white-space: normal !important; }
    section:first-of-type form, section:first-of-type form > div { width: calc(100vw - 2rem) !important; max-width: calc(100vw - 2rem) !important; margin-left: auto !important; margin-right: auto !important; overflow: hidden !important; }
    section:first-of-type input, section:first-of-type button[type=submit], section:first-of-type form button { width: 100% !important; max-width: 100% !important; }
    section:first-of-type p { max-width: 22rem !important; margin-left: auto !important; margin-right: auto !important; }
    input { min-width: 0 !important; }

    body { min-width: 0; }
    .container { width: 100% !important; max-width: 100% !important; padding-left: 1rem !important; padding-right: 1rem !important; }
    main, section, header, footer, .space-y-8, .space-y-6, .space-y-4 { max-width: 100vw !important; min-width: 0 !important; }
    .grid, .flex { min-width: 0 !important; }
    [class*="max-w-"] { max-width: 100% !important; }
    a.rounded-full.inline-flex,
    .rounded-full.inline-flex {
      display: inline-flex !important;
      width: auto !important;
      max-width: calc(100vw - 2rem) !important;
      white-space: normal !important;
      text-align: center !important;
      line-height: 1.25 !important;
      padding: .5rem .75rem !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
    }
    a.rounded-full.inline-flex svg,
    .rounded-full.inline-flex svg { flex: 0 0 auto; }
    h1 { font-size: clamp(2rem, 9vw, 3rem) !important; line-height: 1.08 !important; text-wrap: balance; }
    h2 { font-size: clamp(1.55rem, 7vw, 2.25rem) !important; line-height: 1.12 !important; }
    p.text-lg, p.text-xl, .text-lg, .text-xl { font-size: 1rem !important; line-height: 1.55 !important; }
    .flex.items-center.gap-3.mt-2 {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: flex-start !important;
      gap: .35rem .55rem !important;
      max-width: 100% !important;
      overflow: visible !important;
    }
    .flex.items-center.gap-3.mt-2 > span {
      max-width: 100% !important;
      min-width: 0 !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
      word-break: break-word !important;
    }
    .flex.items-center.gap-3.mt-2 > span.font-medium,
    span.font-medium.text-foreground {
      display: inline-block !important;
      max-width: 100% !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
      word-break: break-word !important;
    }
    .rounded-xl, .rounded-lg, .border { min-width: 0 !important; max-width: 100% !important; }
    .p-6 { padding: 1.25rem !important; }
    .px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
    .text-5xl { font-size: 3rem !important; }
    .fixed.bottom-0 .container { padding-left: .75rem !important; padding-right: .75rem !important; }
    .fixed.bottom-0 p { font-size: 12px !important; line-height: 1.35 !important; }
    .fixed.bottom-0 button { min-height: 2rem !important; padding-left: .65rem !important; padding-right: .65rem !important; }
  }


/* inline-style-4 */
@keyframes aispin{to{transform:rotate(360deg)}}

/* Inline style attr cleanup for CSP */
.sp-static-fallback{max-width:960px;margin:40px auto;padding:24px;font-family:Arial,sans-serif;line-height:1.6;color:#111827}
.sp-ai-rec{margin-bottom:12px;padding:12px 14px;background:#0f172a;border-radius:8px;border-left:3px solid var(--sp-rec-color,#7c3aed)}
.sp-ai-rec-title{font-size:11px;font-weight:700;color:var(--sp-rec-color,#7c3aed);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.sp-ai-rec-action{font-size:13px;color:#94a3b8}
.sp-ai-box{background:#1e293b;border:1px solid #7c3aed44;border-radius:16px;padding:24px 28px;margin:24px auto;max-width:860px}
.sp-ai-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.sp-ai-icon{font-size:20px}.sp-ai-title{font-size:17px;font-weight:700;color:#f1f5f9}.sp-ai-badge{font-size:11px;background:#7c3aed22;color:#a78bfa;border-radius:99px;padding:3px 10px;font-weight:600}
.sp-ai-text{color:#cbd5e1;font-size:15px;line-height:1.7;margin-bottom:20px}.sp-ai-subtitle{font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.sp-ai-loading{background:#1e293b;border:1px solid #334155;border-radius:16px;padding:24px 28px;margin:24px auto;max-width:860px;display:flex;align-items:center;gap:12px}.sp-ai-spinner{width:20px;height:20px;border:2px solid #7c3aed;border-top-color:transparent;border-radius:50%;animation:aispin .8s linear infinite}.sp-ai-loading-text{color:#64748b;font-size:14px}
.sp-compare-wrap{margin-top:12px;text-align:center}.sp-compare-link{display:inline-block;background:transparent;border:1px solid #334155;color:#94a3b8;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none}
.sp-ai-rec-high{--sp-rec-color:#ef4444}.sp-ai-rec-medium{--sp-rec-color:#f59e0b}.sp-ai-rec-low{--sp-rec-color:#10b981}.sp-ai-rec-neutral{--sp-rec-color:#64748b}
