/*
Theme Name: QuickScanMenu Responsive
Template: hostinger-ai-theme
Theme URI: https://quickscanmenu.com.br/
Author: QuickScanMenu
Description: Tema filho do Hostinger AI com landing page QuickScanMenu.
Version: 4.2.0
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: quickscanmenu
*/

        /* ===== RESET & BASE ===== */
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
            background: #f9fafc;
            color: #1e293b;
            line-height: 1.6;
        }
        a { text-decoration: none; }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }

        /* ===== BOTÕES ===== */
        .btn-primary {
            display: inline-block;
            background: #f97316;
            color: #fff;
            font-weight: 700;
            padding: 14px 36px;
            border-radius: 50px;
            border: none;
            font-size: 1.1rem;
            cursor: pointer;
            transition: all 0.2s;
            box-shadow: 0 8px 20px rgba(249, 115, 22, 0.3);
        }
        .btn-primary:hover {
            background: #ea580c;
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(249, 115, 22, 0.4);
        }
        .btn-primary:active { transform: scale(0.97); }

        /* ===== HEADER ===== */
        header {
            position: sticky;
            top: 0;
            z-index: 1000;
            background: rgba(255, 255, 255, 0.94);
            backdrop-filter: blur(18px);
            border-bottom: 1px solid #e9edf2;
            padding: 12px 0;
            box-shadow: 0 8px 30px rgba(15, 23, 42, 0.05);
        }
        .header-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 24px;
            min-height: 52px;
        }
        .logo {
            flex: 0 0 auto;
            font-size: 1.8rem;
            font-weight: 800;
            color: #f97316;
            letter-spacing: -0.5px;
            line-height: 1;
        }
        .logo span { color: #1e293b; }
        .header-nav {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 24px;
            margin-left: auto;
        }
        .header-nav > a:not(.btn-customer-login) {
            color: #334155;
            font-size: 0.92rem;
            font-weight: 700;
            transition: color 0.2s;
        }
        .header-nav > a:not(.btn-customer-login):hover,
        .header-nav > a:not(.btn-customer-login):focus-visible {
            color: #f97316;
            outline: none;
        }
        .btn-customer-login {
            display: inline-block;
            background: #dbeafe;
            color: #1e3a8a;
            font-weight: 700;
            padding: 10px 24px;
            border-radius: 50px;
            font-size: 0.95rem;
            transition: all 0.2s;
            box-shadow: 0 8px 20px rgba(30, 58, 138, 0.08);
        }
        .btn-customer-login:hover,
        .btn-customer-login:focus-visible {
            background: #bfdbfe;
            color: #1e3a8a;
            transform: translateY(-2px);
            box-shadow: 0 14px 28px rgba(30, 58, 138, 0.16);
            outline: none;
        }
        .header-cta {
            flex: 0 0 auto;
            padding: 11px 22px;
            font-size: 0.9rem;
        }
        .mobile-nav-toggle {
            display: none;
            width: 42px;
            height: 42px;
            flex: 0 0 42px;
            align-items: center;
            justify-content: center;
            border: 1px solid #e2e8f0;
            border-radius: 13px;
            background: #fff;
            color: #1e293b;
            cursor: pointer;
        }
        .mobile-nav-toggle svg {
            width: 22px;
            height: 22px;
            stroke: currentColor;
        }

        /* ===== HERO ===== */
        .hero {
            position: relative;
            overflow: hidden;
            padding: 34px 0 38px;
            background:
                radial-gradient(circle at 88% 18%, rgba(249, 115, 22, 0.19), transparent 31%),
                radial-gradient(circle at 8% 84%, rgba(30, 58, 138, 0.10), transparent 30%),
                linear-gradient(135deg, #fff 48%, #fff7ed);
        }
        .hero::before {
            position: absolute;
            content: "";
            width: 460px;
            height: 460px;
            top: -280px;
            right: -130px;
            border: 74px solid rgba(249, 115, 22, 0.08);
            border-radius: 50%;
            pointer-events: none;
        }
        .hero-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
            gap: clamp(32px, 4vw, 58px);
            align-items: center;
        }
        .hero-copy { min-width: 0; }
        .hero-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 16px;
            padding: 7px 13px;
            border: 1px solid rgba(249, 115, 22, 0.22);
            border-radius: 999px;
            background: rgba(255, 247, 237, 0.88);
            color: #c2410c;
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .hero-kicker:visited { color: #c2410c; }
        .hero-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #f97316;
            box-shadow: 0 0 0 5px rgba(249, 115, 22, 0.12);
        }
        .hero h1 {
            max-width: 660px;
            font-size: clamp(2.7rem, 4.4vw, 3.8rem);
            font-weight: 800;
            line-height: 1.04;
            letter-spacing: -0.045em;
            margin-bottom: 24px;
        }
        .hero h1 .highlight { color: #f97316; }
        .rotating-benefits {
            max-width: 610px;
            margin-bottom: 18px;
        }
        .rotating-slides {
            display: grid;
            min-height: 100px;
        }
        .rotating-slide {
            grid-area: 1 / 1;
            align-self: start;
            opacity: 0;
            visibility: hidden;
            transform: translateY(8px);
            transition: opacity 0.32s ease, transform 0.32s ease, visibility 0.32s;
            pointer-events: none;
        }
        .rotating-slide.is-active {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            pointer-events: auto;
        }
        .rotating-slide h2 {
            margin-bottom: 6px;
            color: #172554;
            font-size: 1.25rem;
            line-height: 1.3;
            font-weight: 800;
        }
        .rotating-slide p {
            max-width: 590px;
            color: #475569;
            font-size: 1.06rem;
            line-height: 1.55;
        }
        .rotator-controls {
            display: flex;
            align-items: center;
            gap: 8px;
            min-height: 34px;
            margin-top: 10px;
        }
        .rotator-arrow,
        .rotator-pause,
        .rotator-dot {
            border: 0;
            cursor: pointer;
            transition: background 0.2s, color 0.2s, transform 0.2s;
        }
        .rotator-arrow,
        .rotator-pause {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            height: 32px;
            border-radius: 999px;
            background: #fff;
            color: #334155;
            box-shadow: 0 5px 16px rgba(15, 23, 42, 0.08);
        }
        .rotator-arrow {
            width: 32px;
            font-size: 1rem;
        }
        .rotator-pause {
            min-width: 72px;
            padding: 0 11px;
            font-size: 0.72rem;
            font-weight: 800;
        }
        .rotator-arrow:hover,
        .rotator-arrow:focus-visible,
        .rotator-pause:hover,
        .rotator-pause:focus-visible {
            background: #1e3a8a;
            color: #fff;
            outline: none;
            transform: translateY(-1px);
        }
        .rotator-dots {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 0 3px;
        }
        .rotator-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #cbd5e1;
        }
        .rotator-dot.is-active {
            width: 22px;
            border-radius: 999px;
            background: #f97316;
        }
        .hero-promise {
            margin: 0 0 24px;
            color: #0f172a;
            font-size: 0.98rem;
            font-weight: 800;
        }
        .hero-actions {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px;
        }
        .btn-outline {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 13px 28px;
            border: 1px solid #cbd5e1;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.72);
            color: #1e3a8a;
            font-size: 1rem;
            font-weight: 800;
            transition: border-color 0.2s, background 0.2s, transform 0.2s;
        }
        .btn-outline:hover,
        .btn-outline:focus-visible {
            border-color: #1e3a8a;
            background: #fff;
            transform: translateY(-2px);
            outline: none;
        }
        .hero-showcase {
            position: relative;
            width: min(100%, 286px);
            min-width: 0;
            justify-self: center;
            padding: 9px;
            border: 1px solid rgba(255, 255, 255, 0.9);
            border-radius: 30px;
            background: rgba(255, 255, 255, 0.72);
            box-shadow: 0 28px 70px rgba(71, 36, 15, 0.18);
        }
        .hero-showcase::before {
            position: absolute;
            content: "";
            inset: 14% -5% -7% 10%;
            z-index: -1;
            border-radius: 34px;
            background: rgba(249, 115, 22, 0.18);
            filter: blur(24px);
        }
        .showcase-gallery {
            overflow: hidden;
            aspect-ratio: 9 / 19;
            border-radius: 22px;
            background: #0b0b0b;
        }
        .showcase-screen {
            height: 100%;
            min-width: 0;
            overflow: hidden;
            background: #0b0b0b;
        }
        .showcase-screen img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top center;
        }
        .showcase-caption {
            position: absolute;
            left: 26px;
            bottom: 24px;
            max-width: calc(100% - 52px);
            padding: 10px 15px;
            border: 1px solid rgba(255, 255, 255, 0.72);
            border-radius: 15px;
            background: rgba(15, 23, 42, 0.84);
            color: #fff;
            font-size: 0.82rem;
            font-weight: 800;
            line-height: 1.35;
            backdrop-filter: blur(10px);
        }
        .showcase-badges {
            position: absolute;
            top: -17px;
            right: 24px;
            display: flex;
            gap: 7px;
        }
        .showcase-badge {
            padding: 7px 11px;
            border-radius: 999px;
            background: #fff;
            color: #1e3a8a;
            font-size: 0.7rem;
            font-weight: 900;
            box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
        }

        /* ===== BENEFÍCIOS ===== */
        .benefits {
            padding: 84px 0;
            background: #fff;
            scroll-margin-top: 78px;
        }
        .benefits h2 {
            text-align: center;
            font-size: clamp(2rem, 4vw, 2.7rem);
            font-weight: 800;
            letter-spacing: -0.035em;
            margin-bottom: 12px;
        }
        .section-intro {
            max-width: 680px;
            margin: 0 auto 46px;
            color: #64748b;
            text-align: center;
            font-size: 1.04rem;
        }
        .benefits-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 22px;
        }
        .benefit-item {
            min-width: 0;
            padding: 28px;
            border: 1px solid #e9edf2;
            border-radius: 22px;
            background: linear-gradient(145deg, #fff, #f8fafc);
            transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
        }
        .benefit-item:hover {
            border-color: rgba(249, 115, 22, 0.35);
            box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
            transform: translateY(-4px);
        }
        .benefit-icon {
            display: inline-flex;
            width: 48px;
            height: 48px;
            align-items: center;
            justify-content: center;
            margin-bottom: 18px;
            border-radius: 15px;
            background: #fff1e8;
            color: #ea580c;
        }
        .benefit-icon svg {
            width: 25px;
            height: 25px;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
        }
        .benefit-item h3 {
            font-weight: 800;
            font-size: 1.08rem;
            margin-bottom: 8px;
        }
        .benefit-item p {
            font-size: 0.95rem;
            color: #64748b;
        }

        /* ===== COMO FUNCIONA ===== */
        .how-it-works {
            padding: 84px 0;
            background: #0f172a;
            color: #fff;
            scroll-margin-top: 78px;
        }
        .how-it-works h2 {
            margin-bottom: 12px;
            text-align: center;
            font-size: clamp(2rem, 4vw, 2.7rem);
            font-weight: 800;
            letter-spacing: -0.035em;
        }
        .how-it-works .section-intro { color: #cbd5e1; }
        .steps-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 24px;
            counter-reset: quickscan-step;
        }
        .step-card {
            position: relative;
            min-width: 0;
            padding: 30px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.06);
            counter-increment: quickscan-step;
        }
        .step-card::before {
            display: inline-flex;
            width: 42px;
            height: 42px;
            align-items: center;
            justify-content: center;
            margin-bottom: 22px;
            border-radius: 50%;
            background: #f97316;
            color: #fff;
            content: counter(quickscan-step, decimal-leading-zero);
            font-size: 0.78rem;
            font-weight: 900;
        }
        .step-card h3 {
            margin-bottom: 9px;
            color: #fff;
            font-size: 1.18rem;
            font-weight: 800;
        }
        .step-card p {
            color: #cbd5e1;
            font-size: 0.96rem;
        }

        /* ===== PROVA SOCIAL ===== */
        .testimonials {
            padding: 84px 0;
            background: #f8fafc;
            scroll-margin-top: 78px;
        }
        .testimonials h2 {
            text-align: center;
            font-size: clamp(2rem, 4vw, 2.55rem);
            font-weight: 800;
            letter-spacing: -0.035em;
            margin-bottom: 40px;
        }
        .testimonial-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }
        .testimonial-card {
            background: #fff;
            padding: 30px;
            border-radius: 20px;
            box-shadow: 0 8px 20px rgba(0,0,0,0.02);
            border: 1px solid #e9edf2;
        }
        .testimonial-card p {
            font-size: 1rem;
            color: #334155;
            font-style: italic;
        }
        .testimonial-card .author {
            margin-top: 16px;
            font-weight: 700;
            color: #0f172a;
        }
        .testimonial-card .author span {
            font-weight: 400;
            color: #64748b;
            font-size: 0.9rem;
        }

        /* ===== CTA ANTES DO FORMULÁRIO ===== */
        .pre-form-cta {
            padding: 66px 0;
            background: linear-gradient(135deg, #fff7ed, #ffedd5);
            text-align: center;
        }
        .pre-form-cta h2 {
            max-width: 760px;
            margin: 0 auto 12px;
            color: #0f172a;
            font-size: clamp(2rem, 4vw, 2.8rem);
            font-weight: 800;
            line-height: 1.12;
            letter-spacing: -0.04em;
        }
        .pre-form-cta p {
            max-width: 620px;
            margin: 0 auto 26px;
            color: #475569;
            font-size: 1.04rem;
        }

        /* ===== FORMULÁRIO ===== */
        .form-section {
            padding: 72px 0 88px;
            background: #050505;
            color: #fff;
            border-top: 1px solid #151515;
            border-bottom: 1px solid #151515;
        }
        .form-section .container {
            max-width: 520px;
        }
        .form-section > .container > h2,
        .form-section > .container > h3 {
            text-align: center;
            color: #fff;
            font-size: clamp(1.8rem, 5vw, 2.45rem);
            font-weight: 800;
            line-height: 1.12;
            margin-bottom: 10px;
            scroll-margin-top: 8px;
        }
        .form-section .subtitle {
            text-align: center;
            color: #cbd5e1;
            font-size: 1rem;
            line-height: 1.45;
            margin: 0 auto 26px;
            max-width: 360px;
        }
        .form-wrapper {
            position: relative;
            overflow: hidden;
            max-width: 430px;
            margin: 0 auto;
            background: #f7f8fb;
            padding: 34px 22px 24px;
            border-radius: 30px;
            box-shadow: 0 28px 80px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.08);
            border: 1px solid rgba(255,255,255,0.1);
        }
        .form-wrapper::before {
            content: "";
            position: absolute;
            top: 14px;
            left: 50%;
            width: 48px;
            height: 5px;
            transform: translateX(-50%);
            border-radius: 999px;
            background: #d7dce5;
        }
        .form-group {
            margin-bottom: 14px;
        }
        .form-group label {
            display: block;
            font-weight: 800;
            font-size: 0.78rem;
            line-height: 1.2;
            margin-bottom: 7px;
            color: #0f172a;
        }
        .form-group label .required {
            color: #ef4444;
            margin-left: 2px;
        }
        .form-group input,
        .form-group select {
            width: 100%;
            min-height: 48px;
            padding: 12px 15px;
            border: 1px solid #d8e0eb;
            border-radius: 14px;
            font-size: 0.98rem;
            line-height: 1.2;
            transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
            background: #fff;
            font-family: inherit;
            color: #0f172a;
        }
        .form-group input:focus,
        .form-group select:focus {
            outline: none;
            border-color: #f97316;
            box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.16);
            background: #fff;
        }
        .form-group .error-msg {
            color: #ef4444;
            font-size: 0.78rem;
            line-height: 1.35;
            margin-top: 6px;
            display: none;
        }
        .form-group.error input {
            border-color: #ef4444;
        }
        .form-group.error .error-msg {
            display: block;
        }
        .form-group.success input {
            border-color: #24c779;
        }
        .password-field-wrapper {
            position: relative;
        }
        .password-field-wrapper input {
            padding-right: 88px;
        }
        .password-actions {
            position: absolute;
            top: 50%;
            right: 12px;
            transform: translateY(-50%);
            display: flex;
            align-items: center;
            gap: 6px;
            z-index: 2;
        }
        .password-action-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: #737373;
            cursor: pointer;
            padding: 0;
            transition: color 0.2s, background-color 0.2s;
        }
        .password-action-btn:hover,
        .password-action-btn:focus-visible {
            color: #f97316;
            background: rgba(249, 115, 22, 0.08);
            outline: none;
        }
        .password-action-btn svg {
            width: 18px;
            height: 18px;
            display: block;
            stroke: currentColor;
        }
        .radio-group {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 6px;
            padding: 4px;
            border: 1px solid #d8e0eb;
            border-radius: 16px;
            background: #e9edf4;
        }
        .radio-group label {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 40px;
            gap: 6px;
            margin: 0;
            border-radius: 12px;
            color: #475569;
            font-size: 0.9rem;
            font-weight: 800;
            cursor: pointer;
            transition: color 0.2s, background-color 0.2s, box-shadow 0.2s;
        }
        .radio-group input[type="radio"] {
            position: absolute;
            width: 1px;
            height: 1px;
            min-height: 1px;
            padding: 0;
            border: 0;
            opacity: 0;
            accent-color: #f97316;
        }
        .radio-group label:has(input:checked) {
            color: #0f172a;
            background: #fff;
            box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
        }
        .radio-group label:has(input:focus-visible) {
            outline: 2px solid rgba(249, 115, 22, 0.65);
            outline-offset: 2px;
        }
        .hidden-field {
            display: none;
        }
        .ifood-id-label {
            display: flex !important;
            align-items: baseline;
            gap: 8px;
            flex-wrap: wrap;
        }
        .help-link {
            border: 0;
            background: transparent;
            color: #f97316;
            cursor: pointer;
            font: inherit;
            font-size: 0.82rem;
            font-weight: 700;
            padding: 0;
            text-decoration: underline;
            text-underline-offset: 3px;
        }
        .help-link:hover,
        .help-link:focus-visible {
            color: #ea580c;
            outline: none;
        }
        .ifood-info-accordion {
            margin-top: 10px;
            border: 1px solid #d8e0eb;
            border-radius: 14px;
            background: #fff;
            color: #475569;
            font-size: 0.85rem;
        }
        .ifood-info-accordion summary {
            cursor: pointer;
            font-weight: 700;
            padding: 10px 12px;
            color: #1e293b;
        }
        .ifood-info-accordion p {
            padding: 0 12px 12px;
        }
        .help-dialog {
            width: min(100% - 32px, 920px);
            max-height: calc(100vh - 32px);
            margin: auto;
            border: 0;
            border-radius: 20px;
            padding: 0;
            background: transparent;
        }
        .help-dialog::backdrop { background: rgba(15, 23, 42, 0.72); }
        .help-dialog-content {
            background: #fff;
            border-radius: 20px;
            box-shadow: 0 24px 80px rgba(0,0,0,0.34);
            max-height: 88vh;
            overflow: auto;
        }
        .help-dialog-header,
        .help-dialog-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 18px 22px;
            border-bottom: 1px solid #e2e8f0;
        }
        .help-dialog-footer {
            justify-content: flex-end;
            border-top: 1px solid #e2e8f0;
            border-bottom: 0;
        }
        .help-dialog-title {
            color: #0f172a;
            font-size: 1.25rem;
            font-weight: 800;
            line-height: 1.25;
        }
        .help-dialog-close {
            width: 38px;
            height: 38px;
            border: 0;
            border-radius: 50%;
            background: #f1f5f9;
            color: #0f172a;
            cursor: pointer;
            font-size: 1.5rem;
            line-height: 1;
            flex: 0 0 auto;
        }
        .help-dialog-close:hover,
        .help-dialog-close:focus-visible {
            background: #f97316;
            color: #fff;
            outline: none;
        }
        .help-dialog-body {
            padding: 22px;
        }
        .help-dialog-body ol {
            padding-left: 22px;
            margin-bottom: 20px;
            color: #334155;
        }
        .help-dialog-body li {
            margin-bottom: 10px;
        }
        .help-dialog-body a {
            color: #2563eb;
            font-weight: 600;
            overflow-wrap: anywhere;
        }
        .help-dialog-image {
            display: block;
            width: 100%;
            height: auto;
            border: 1px solid #e2e8f0;
            border-radius: 14px;
            margin-top: 14px;
        }
        .btn-secondary {
            border: 1px solid #cbd5e1;
            border-radius: 999px;
            background: #fff;
            color: #1e293b;
            cursor: pointer;
            font: inherit;
            font-weight: 700;
            padding: 10px 22px;
        }
        .btn-secondary:hover,
        .btn-secondary:focus-visible {
            border-color: #f97316;
            color: #f97316;
            outline: none;
        }
        .form-submit {
            margin-top: 20px;
        }
        .form-submit .btn-primary {
            width: 100%;
            min-height: 52px;
            text-align: center;
            font-size: 1rem;
            padding: 15px 18px;
            border-radius: 16px;
            box-shadow: 0 14px 30px rgba(249, 115, 22, 0.34);
        }
        .checkbox-group {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 10px 0 0;
        }
        .checkbox-group input[type="checkbox"] {
            width: 17px;
            height: 17px;
            min-height: 17px;
            padding: 0;
            border-radius: 4px;
            margin-top: 2px;
            accent-color: #f97316;
            flex: 0 0 auto;
        }
        .checkbox-group label {
            margin: 0;
            font-weight: 400;
            color: #475569;
            font-size: 0.78rem;
            line-height: 1.4;
        }
        #turnstileWidget {
            margin-top: 14px;
        }
        .honeypot {
            position: absolute !important;
            left: -10000px !important;
            width: 1px !important;
            height: 1px !important;
            overflow: hidden !important;
        }
        .btn-primary:disabled {
            cursor: wait;
            opacity: 0.7;
            transform: none;
        }

        /* ===== RESPONSIVO ===== */
        @media (max-width: 992px) {
            .header-inner {
                position: relative;
                display: grid;
                grid-template-columns: minmax(0, 1fr) auto auto;
                align-items: center;
                gap: clamp(6px, 1.5vw, 12px);
            }
            .logo { min-width: 0; white-space: nowrap; }
            .header-cta { margin-left: 0; white-space: nowrap; }
            .header-nav {
                position: absolute;
                top: calc(100% + 13px);
                left: 24px;
                right: 24px;
                display: none;
                align-items: stretch;
                gap: 5px;
                padding: 15px;
                border: 1px solid #e2e8f0;
                border-radius: 18px;
                background: #fff;
                box-shadow: 0 20px 50px rgba(15, 23, 42, 0.16);
            }
            header.is-menu-open .header-nav { display: flex; flex-direction: column; }
            .header-nav > a:not(.btn-customer-login) { padding: 10px 12px; }
            .btn-customer-login { margin-top: 5px; text-align: center; }
            .mobile-nav-toggle { grid-column: 3; grid-row: 1; display: inline-flex; }
            .hero { padding: 54px 0 68px; }
            .hero-grid { grid-template-columns: minmax(0, 1fr); text-align: center; }
            .hero-copy,
            .rotating-benefits,
            .rotating-slide p { margin-left: auto; margin-right: auto; }
            .rotating-slides { min-height: 116px; }
            .rotator-controls,
            .hero-actions { justify-content: center; }
            .hero-showcase {
                width: min(82vw, 286px);
                margin: 16px auto 0;
            }
            .benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .steps-grid { grid-template-columns: 1fr; }
            .testimonial-grid { grid-template-columns: 1fr; }
        }
        @media (max-width: 600px) {
            .container { padding-left: 18px; padding-right: 18px; }
            header { padding: 9px 0; }
            .header-inner { min-height: 46px; gap: 6px; }
            .logo { font-size: clamp(.82rem, 3.5vw, 1.22rem); letter-spacing: -0.06em; }
            .header-cta {
                padding: 8px clamp(7px, 1.8vw, 12px);
                font-size: clamp(.58rem, 2.4vw, .68rem);
                box-shadow: 0 6px 15px rgba(249, 115, 22, 0.24);
            }
            .mobile-nav-toggle {
                width: clamp(32px, 8.2vw, 38px);
                height: clamp(32px, 8.2vw, 38px);
                flex-basis: auto;
                padding: 0;
                border-radius: 12px;
            }
            .header-nav { left: 18px; right: 18px; top: calc(100% + 10px); }
            .hero { padding: 38px 0 52px; }
            .hero h1 {
                max-width: 100%;
                font-size: clamp(2.25rem, 11.5vw, 3.05rem);
                line-height: 1.04;
            }
            .hero-kicker { font-size: 0.66rem; }
            .rotating-slides { min-height: 146px; }
            .rotating-slide h2 { font-size: 1.12rem; }
            .rotating-slide p { font-size: 0.98rem; }
            .rotator-controls { margin-top: 7px; }
            .hero-promise { font-size: 0.9rem; }
            .hero-actions {
                display: grid;
                grid-template-columns: 1fr;
                width: 100%;
            }
            .hero-actions .btn-primary,
            .hero-actions .btn-outline { width: 100%; }
            .hero-showcase {
                padding: 7px;
                border-radius: 24px;
            }
            .showcase-gallery { border-radius: 18px; }
            .showcase-badges {
                top: -13px;
                right: 13px;
                gap: 5px;
            }
            .showcase-badge { padding: 6px 8px; font-size: 0.61rem; }
            .showcase-caption {
                left: 18px;
                right: 18px;
                bottom: 17px;
                max-width: none;
                font-size: 0.72rem;
            }
            .form-section { padding: 42px 0 64px; }
            .form-section .container { padding: 0 16px; }
            .form-section .subtitle { margin-bottom: 22px; }
            .form-wrapper {
                max-width: 100%;
                padding: 34px 18px 20px;
                border-radius: 28px;
            }
            .benefits-grid { grid-template-columns: 1fr; }
            .benefits,
            .how-it-works,
            .testimonials { padding: 64px 0; }
            .benefit-item,
            .step-card { padding: 24px; }
            .pre-form-cta { padding: 54px 0; }
            .radio-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (max-width: 380px) {
            .container { padding-left: 12px; padding-right: 12px; }
            .header-inner { gap: 5px; }
            .logo { font-size: .82rem; }
            .header-cta { padding-inline: 6px; font-size: .58rem; }
            .mobile-nav-toggle { width: 32px; height: 32px; }
        }
        @media (prefers-reduced-motion: reduce) {
            .rotating-slide,
            .btn-primary,
            .btn-outline,
            .benefit-item,
            .hero-showcase {
                transition: none;
                transform: none;
            }
        }
        /* ===== TOAST ===== */
        .toast {
            position: fixed;
            bottom: 24px;
            left: 50%;
            transform: translateX(-50%);
            background: #1e293b;
            color: #fff;
            width: min(92vw, 520px);
            max-width: calc(100vw - 32px);
            padding: 14px 18px;
            border-radius: 18px;
            font-size: 0.92rem;
            font-weight: 600;
            line-height: 1.35;
            text-align: center;
            white-space: normal;
            overflow-wrap: break-word;
            box-shadow: 0 12px 30px rgba(0,0,0,0.2);
            display: none;
            z-index: 10000;
        }
        .toast.success { background: #16a34a; }
        .toast.error { background: #dc2626; }
        @media (max-width: 600px) {
            .toast {
                bottom: calc(72px + env(safe-area-inset-bottom));
                width: calc(100vw - 32px);
                padding: 12px 14px;
                border-radius: 14px;
                font-size: 0.86rem;
            }
        }
    
/* ===== CORREÇÃO HEADER MOBILE ===== */
.header-inner {
    flex-wrap: wrap;
}

.header-cta {
    margin-left: auto;
    flex-shrink: 1;
    min-width: 0;
}

.mobile-nav-toggle {
    margin-left: 8px;
    flex-shrink: 0;
}
.corrige{
    list-style: none;
}
.corrige li{
    float: left;
}
/* Ajuste fino para telas menores que 992px */
@media (max-width: 992px) {
    .header-cta {
        padding: 10px 16px;
        font-size: 0.8rem;
    }
    .mobile-nav-toggle {
        width: 38px;
        height: 38px;
    }
}

/* ============================================================
   RADIO SIM/NÃO — SOLUÇÃO ASSERTIVA (não mexe mais)
   ============================================================ */
.form-group .radio-group,
.radio-group {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-flow: column !important;
    gap: 6px !important;
    padding: 4px !important;
    border: 1px solid #d8e0eb !important;
    border-radius: 16px !important;
    background: #e9edf4 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.form-group .radio-group > label,
.radio-group > label {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 40px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 70px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #475569 !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    float: none !important;
    clear: none !important;
    flex-basis: auto !important;
}

.form-group .radio-group > label > input[type="radio"],
.radio-group > label > input[type="radio"] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    border: 0 !important;
    cursor: pointer !important;
    z-index: 1 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    float: none !important;
}

.form-group .radio-group > label:has(input[type="radio"]:checked),
.radio-group > label:has(input[type="radio"]:checked) {
    color: #0f172a !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
}

/* Fallback pra navegador sem :has() */
.form-group .radio-group > label input[type="radio"]:checked ~ *,
.radio-group > label input[type="radio"]:checked ~ * {
    color: #0f172a !important;
}

.corrige::after {
    content: "";
    display: table;
    clear: both;
}
@media (max-width: 360px) {
    .corrige li:first-child .header-cta {
        padding: 8px 10px;
        font-size: 0.65rem;
    }
}