/* ═══════════════════════════════════════════════════════════════
   100% SPORTS — INSCRIÇÃO v2
   Mobile-first · Single column · Zero border-radius
   ═══════════════════════════════════════════════════════════════ */

/* ── VARIÁVEIS ───────────────────────────────────── */
:root {
    --ins-gold: #8B7D3C;
    --ins-gold-light: #A89A4E;
    --ins-gold-dark: #6F6430;
    --ins-gold-bg: #F5F3E8;
    --ins-success: #1B8C2A;
    --ins-danger: #C0392B;
    --ins-warning: #D4850A;
    --ins-black: #1A1A1A;
    --ins-gray-900: #212121;
    --ins-gray-800: #333333;
    --ins-gray-700: #4A4A4A;
    --ins-gray-600: #666666;
    --ins-gray-500: #888888;
    --ins-gray-400: #AAAAAA;
    --ins-gray-300: #CCCCCC;
    --ins-gray-200: #E5E5E5;
    --ins-gray-100: #F5F5F5;
    --ins-white: #FFFFFF;
    --ins-radius: 0px;
    --ins-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── GLOBAL RESET border-radius ──────────────────── */
.evento-page-v2 *,
.evento-page-v2 *::before,
.evento-page-v2 *::after {
    border-radius: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   STEP A — PÁGINA DO EVENTO
   ═══════════════════════════════════════════════════════════════ */

/* ── BANNER ──────────────────────────────────────── */
.evento-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--ins-black);
}

.evento-hero-img {
    width: 100%;
    height: auto;
    display: block;
}

/* ── INFO DO EVENTO (abaixo do banner) ───────────── */
.evento-hero-content {
    background: var(--ins-white);
    padding: 24px 20px;
}

.evento-hero-data {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ins-gold);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.evento-hero-data svg {
    width: 14px;
    height: 14px;
    stroke: var(--ins-gold);
}

.evento-hero-titulo {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 28px;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--ins-gray-900);
    margin: 0 0 8px 0;
}

.evento-hero-local {
    font-family: var(--ins-font);
    font-weight: 300;
    font-size: 14px;
    color: var(--ins-gray-600);
    display: flex;
    align-items: center;
    gap: 6px;
}

.evento-hero-local svg {
    width: 14px;
    height: 14px;
    stroke: var(--ins-gray-400);
}

/* ── CHIPS DE DISTÂNCIA ──────────────────────────── */
.evento-distancias {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.evento-dist-chip {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.04em;
    padding: 6px 14px;
    border: 2px solid var(--ins-gold);
    color: var(--ins-gold);
    background: var(--ins-gold-bg);
    border-radius: var(--ins-radius);
    cursor: default;
}

/* ── CORPO DA PÁGINA ─────────────────────────────── */
.evento-body {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 16px 140px 16px; /* padding-bottom para footer fixo */
}

/* ── FLASH MESSAGES ──────────────────────────────── */
.evento-alerta {
    padding: 12px 16px;
    margin-top: 20px;
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.evento-alerta.alerta-success {
    background: #EDFBEF;
    color: var(--ins-success);
    border: 1px solid #B8E6BD;
}

.evento-alerta.alerta-danger {
    background: #FEF0EF;
    color: var(--ins-danger);
    border: 1px solid #F5C6C0;
}

.evento-alerta.alerta-warning {
    background: #FFF8EB;
    color: var(--ins-warning);
    border: 1px solid #F5DDA8;
}

.evento-alerta.alerta-info {
    background: #EBF5FF;
    color: #1E5F9B;
    border: 1px solid #B8D9F5;
}

/* ── CARDS DE INGRESSO ───────────────────────────── */
.evento-ingressos {
    padding-top: 24px;
}

.evento-ingressos-titulo {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ins-gray-500);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.evento-ingressos-titulo.premium {
    color: var(--ins-gold);
}

.ingresso-card-v2 {
    position: relative;
    border: 2px solid var(--ins-gray-200);
    background: var(--ins-white);
    padding: 16px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.ingresso-card-v2:active:not(.disabled) {
    transform: scale(0.98);
}

.ingresso-card-v2:hover:not(.disabled):not(.selected) {
    border-color: var(--ins-gray-300);
    background: var(--ins-gray-100);
}

.ingresso-card-v2.selected {
    border-color: var(--ins-gold);
    border-width: 3px;
    background: var(--ins-gold-bg);
    padding: 15px; /* compensa border 3px */
}

.ingresso-card-v2.disabled {
    opacity: 0.45;
    cursor: not-allowed;
    background: var(--ins-gray-100);
}

.ingresso-card-v2.premium-card {
    border-left: 4px solid var(--ins-gold);
}

.ingresso-card-v2.premium-card.selected {
    border-color: var(--ins-gold);
    border-left-width: 4px;
    padding-left: 14px;
}

/* Layout interno */
.ingresso-v2-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

/* Radio */
.ingresso-v2-radio {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid var(--ins-gray-300);
    border-radius: 50% !important; /* exceção: radio é circular */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    margin-top: 1px;
}

.ingresso-card-v2.selected .ingresso-v2-radio {
    border-color: var(--ins-gold);
    background: var(--ins-gold);
}

.ingresso-v2-radio-dot {
    width: 7px;
    height: 7px;
    background: var(--ins-white);
    border-radius: 50% !important; /* exceção */
    opacity: 0;
    transform: scale(0);
    transition: all 0.1s ease;
}

.ingresso-card-v2.selected .ingresso-v2-radio-dot {
    opacity: 1;
    transform: scale(1);
}

/* Info */
.ingresso-v2-info {
    flex: 1;
    min-width: 0;
}

.ingresso-v2-nome {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 14px;
    color: var(--ins-gray-800);
    line-height: 1.3;
}

.ingresso-v2-preco-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 4px;
}

.ingresso-v2-preco {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 18px;
    color: var(--ins-gray-900);
}

.ingresso-v2-taxa {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 12px;
    color: var(--ins-gray-500);
}

.ingresso-v2-desconto {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    color: var(--ins-success);
    margin-top: 2px;
}

.ingresso-v2-badge-esgotado {
    display: inline-block;
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 3px 8px;
    background: var(--ins-gray-600);
    color: var(--ins-white);
    margin-top: 6px;
}

.ingresso-v2-vagas {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    color: var(--ins-danger);
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Check icon (top-right quando selecionado) */
.ingresso-v2-check {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    background: var(--ins-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.15s ease;
}

.ingresso-card-v2.selected .ingresso-v2-check {
    opacity: 1;
    transform: scale(1);
}

.ingresso-v2-check svg {
    width: 14px;
    height: 14px;
    stroke: var(--ins-white);
    stroke-width: 3;
}

/* ── ACCORDION ───────────────────────────────────── */
.evento-accordion {
    margin-top: 32px;
    border-top: 1px solid var(--ins-gray-200);
}

.evento-accordion-item {
    border-bottom: 1px solid var(--ins-gray-200);
}

.evento-accordion-btn {
    width: 100%;
    background: none;
    border: none;
    padding: 16px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.evento-accordion-btn span {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 14px;
    color: var(--ins-gray-800);
}

.evento-accordion-btn svg {
    width: 20px;
    height: 20px;
    stroke: var(--ins-gray-400);
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

.evento-accordion-item.open .evento-accordion-btn svg {
    transform: rotate(180deg);
}

.evento-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.evento-accordion-item.open .evento-accordion-content {
    max-height: 5000px;
}

.evento-accordion-inner {
    padding: 0 0 20px 0;
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.7;
    color: var(--ins-gray-700);
}

.evento-accordion-inner img {
    max-width: 100%;
    height: auto;
}

/* ── CUPOM LINK ──────────────────────────────────── */
.evento-cupom-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    padding: 14px;
    border: 1px dashed var(--ins-gray-300);
    background: var(--ins-gray-100);
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 13px;
    color: var(--ins-gray-600);
    text-decoration: none;
    transition: all 0.15s ease;
}

.evento-cupom-link:hover {
    border-color: var(--ins-gold);
    color: var(--ins-gold);
    background: var(--ins-gold-bg);
}

/* ── KIT PREMIUM PREVIEW ─────────────────────────── */
.kit-premium-preview {
    margin-top: 24px;
    padding: 16px;
    background: var(--ins-gold-bg);
    border: 1px solid #DDD8C0;
}

.kit-premium-preview-titulo {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 13px;
    color: var(--ins-gold-dark);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.kit-premium-preview p {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 12px;
    color: var(--ins-gray-600);
    margin: 0;
}

/* ── SHARE ───────────────────────────────────────── */
.evento-share {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--ins-gray-200);
    text-align: center;
}

.evento-share-titulo {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ins-gray-500);
    margin-bottom: 12px;
}

.evento-share-icons {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.evento-share-icons a {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ins-gray-200);
    color: var(--ins-gray-600);
    transition: all 0.15s ease;
    text-decoration: none;
}

.evento-share-icons a:hover {
    border-color: var(--ins-gold);
    color: var(--ins-gold);
    background: var(--ins-gold-bg);
}

.evento-share-icons a i {
    font-size: 18px;
}

/* ── GRID 2 COLUNAS (desktop) ────────────────────── */
.evento-body-grid {
    /* Mobile: sem grid, empilhado natural */
}

.evento-col-ingressos {
    /* Mobile: aparece primeiro (padrão do DOM) */
}

.evento-col-descricao {
    /* Mobile: aparece depois */
}

/* ── FOOTER FIXO CTA ────────────────────────────── */
.evento-footer-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--ins-white);
    border-top: 1px solid var(--ins-gray-200);
    padding: 12px 16px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}

.evento-footer-cta.hidden {
    display: none;
}

.evento-footer-inner {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
}

.evento-footer-preco {
    flex-shrink: 0;
}

.evento-footer-preco-label {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ins-gray-500);
    display: block;
}

.evento-footer-preco-valor {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 18px;
    color: var(--ins-gray-900);
    white-space: nowrap;
}

.btn-cta-inscricao {
    flex: 1;
    min-height: 52px;
    padding: 0 24px;
    border: none;
    background: var(--ins-gold);
    color: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    -webkit-tap-highlight-color: transparent;
}

.btn-cta-inscricao:hover {
    background: var(--ins-gold-dark);
}

.btn-cta-inscricao:active {
    transform: scale(0.98);
    opacity: 0.9;
}

.btn-cta-inscricao:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-cta-inscricao svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    stroke-width: 2.5;
}

/* ── COUNTDOWN ───────────────────────────────────── */
.evento-countdown {
    text-align: center;
    padding: 24px 0;
}

.evento-countdown-label {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ins-gray-500);
    margin-bottom: 8px;
}

.evento-countdown-timer {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 28px;
    color: var(--ins-gold);
    letter-spacing: -0.02em;
}

.evento-countdown-btn {
    display: inline-block;
    margin-top: 16px;
    padding: 12px 24px;
    border: 2px solid var(--ins-gold);
    background: transparent;
    color: var(--ins-gold);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: all 0.15s ease;
}

.evento-countdown-btn:hover {
    background: var(--ins-gold);
    color: var(--ins-white);
}

/* ── RESPONSIVE ──────────────────────────────────── */

/* Tablet */
@media (min-width: 768px) {
    .evento-hero-titulo {
        font-size: 36px;
    }

    .evento-hero-content {
        padding: 32px 24px;
    }

    .evento-body {
        max-width: 700px;
        padding: 0 24px 140px 24px;
    }

    .evento-footer-preco-valor {
        font-size: 22px;
    }

    .btn-cta-inscricao {
        min-height: 56px;
        font-size: 15px;
    }

    .evento-footer-inner {
        max-width: 700px;
    }
}

/* Desktop */
@media (min-width: 1024px) {
    .evento-hero-titulo {
        font-size: 42px;
    }

    .evento-hero-content {
        max-width: 1100px;
        margin: 0 auto;
        padding: 32px 40px;
    }

    /* Layout 2 colunas no desktop */
    .evento-body {
        max-width: 1100px;
        padding: 0 40px 140px 40px;
    }

    .evento-body-grid {
        display: grid;
        grid-template-columns: 1fr 400px;
        gap: 40px;
        align-items: start;
    }

    /* Coluna esquerda: descrição */
    .evento-col-descricao {
        order: 1;
    }

    /* Coluna direita: ingressos (sticky) */
    .evento-col-ingressos {
        order: 2;
        position: sticky;
        top: 24px;
    }

    /* Footer no desktop */
    .evento-footer-inner {
        max-width: 1100px;
    }

}

/* Desktop grande */
@media (min-width: 1400px) {
    .evento-body {
        max-width: 1200px;
    }

    .evento-body-grid {
        grid-template-columns: 1fr 440px;
        gap: 48px;
    }

    .evento-hero-content {
        max-width: 1200px;
    }

    .evento-footer-inner {
        max-width: 1200px;
    }
}

/* iPhone SE / small */
@media (max-width: 374px) {
    .evento-hero-titulo {
        font-size: 24px;
    }

    .evento-footer-preco-valor {
        font-size: 16px;
    }

    .btn-cta-inscricao {
        font-size: 12px;
        padding: 0 16px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   LAYOUT INSCRICÃO (Steps B-F)
   Header fixo + Progress bar + Timer + Footer sticky
   ═══════════════════════════════════════════════════════════════ */

.inscricao-page {
    margin: 0;
    padding: 0;
    background: var(--ins-white);
    font-family: var(--ins-font);
    -webkit-font-smoothing: antialiased;
}

.inscricao-app {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ── HEADER ──────────────────────────────────────── */
.inscricao-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--ins-white);
    border-bottom: 1px solid var(--ins-gray-200);
}

.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    max-width: 520px;
    margin: 0 auto;
}

.header-logo-link {
    display: flex;
    align-items: center;
}

.header-logo {
    height: 28px;
    width: auto;
}

/* Timer */
.header-timer {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    color: var(--ins-gray-800);
    transition: color 0.3s ease;
}

.timer-icon {
    color: var(--ins-gray-400);
    transition: color 0.3s ease;
}

.header-timer.warning {
    color: var(--ins-warning);
}

.header-timer.warning .timer-icon {
    color: var(--ins-warning);
}

.header-timer.danger {
    color: var(--ins-danger);
    animation: timerPulse 1s infinite;
}

.header-timer.danger .timer-icon {
    color: var(--ins-danger);
}

@keyframes timerPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Progress bar */
.progress-track {
    height: 3px;
    background: var(--ins-gray-200);
}

.progress-fill {
    height: 100%;
    background: var(--ins-gold);
    transition: width 0.5s ease;
}

/* ── CONTENT ─────────────────────────────────────── */
.inscricao-content {
    flex: 1;
    padding-top: 64px; /* altura do header */
    padding-bottom: 100px; /* altura do footer */
    max-width: 520px;
    margin: 0 auto;
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
}

/* ── FOOTER ──────────────────────────────────────── */
.inscricao-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: var(--ins-white);
    border-top: 1px solid var(--ins-gray-200);
    padding: 12px 16px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}

.footer-inner {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-back {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--ins-gray-200);
    color: var(--ins-gray-600);
    text-decoration: none;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

.footer-back:hover {
    border-color: var(--ins-gray-400);
    color: var(--ins-gray-800);
}

.footer-price {
    flex-shrink: 0;
}

.price-label {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ins-gray-500);
    display: block;
}

.price-value {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 18px;
    color: var(--ins-gray-900);
    white-space: nowrap;
}

.btn-action {
    flex: 1;
    min-height: 52px;
    padding: 0 24px;
    border: none;
    background: var(--ins-gold);
    color: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    -webkit-tap-highlight-color: transparent;
}

.btn-action:hover {
    background: var(--ins-gold-dark);
}

.btn-action:active {
    transform: scale(0.98);
    opacity: 0.9;
}

.btn-action:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-action-icon {
    stroke: currentColor;
}

.btn-action-loading {
    display: none;
}

.btn-action-loading .spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}


/* ═══════════════════════════════════════════════════════════════
   STEP B — KIT (Upgrade simples)
   ═══════════════════════════════════════════════════════════════ */

.kit-page {
    padding-top: 24px;
}

.kit-step-header {
    margin-bottom: 24px;
}

.kit-step-titulo {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--ins-gray-900);
    margin: 0 0 4px 0;
    line-height: 1.1;
}

.kit-step-subtitulo {
    font-family: var(--ins-font);
    font-weight: 300;
    font-size: 13px;
    color: var(--ins-gray-500);
}

/* Kit atual */
.kit-atual {
    border: 1px solid var(--ins-gray-200);
    padding: 16px;
    margin-bottom: 16px;
    background: var(--ins-gray-100);
}

.kit-atual-label {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ins-gray-400);
    margin-bottom: 4px;
}

.kit-atual-nome {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 16px;
    color: var(--ins-gray-900);
    margin-bottom: 8px;
}

.kit-atual-itens {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    color: var(--ins-gray-600);
    margin-bottom: 8px;
}

.kit-atual-preco {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 18px;
    color: var(--ins-gray-900);
}

.kit-taxa {
    font-weight: 400;
    font-size: 12px;
    color: var(--ins-gray-500);
}

/* Upgrade box */
.kit-upgrade-box {
    border: 2px solid var(--ins-gold);
    padding: 20px;
    background: var(--ins-gold-bg);
}

.kit-upgrade-header {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 15px;
    color: var(--ins-gray-800);
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
}

.kit-upgrade-header svg {
    color: var(--ins-gold);
    flex-shrink: 0;
    margin-top: 2px;
}

.kit-upgrade-diff-valor {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 22px;
    color: var(--ins-gold-dark);
    margin-bottom: 16px;
    padding-left: 28px;
}

/* Exclusivos */
.kit-upgrade-exclusivos {
    margin-bottom: 20px;
    padding-left: 28px;
}

.kit-upgrade-exclusivos-label {
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ins-gold);
    margin-bottom: 8px;
}

.kit-upgrade-exclusivos-lista {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    color: var(--ins-gray-700);
    line-height: 1.6;
}

.kit-upgrade-exclusivos-lista ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.kit-upgrade-exclusivos-lista ul li {
    padding: 3px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.kit-upgrade-exclusivos-lista ul li::before {
    content: '★';
    color: var(--ins-gold);
    font-size: 11px;
    flex-shrink: 0;
}

.kit-upgrade-exclusivos-lista p {
    margin: 2px 0;
}

/* Toggle buttons */
.kit-toggle-area {
    display: flex;
    gap: 8px;
}

.kit-toggle-btn {
    flex: 1;
    min-height: 48px;
    padding: 0 12px;
    border: 2px solid var(--ins-gray-300);
    background: var(--ins-white);
    color: var(--ins-gray-600);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.kit-toggle-btn:active {
    transform: scale(0.98);
}

.kit-toggle-btn.active {
    border-color: var(--ins-gray-900);
    background: var(--ins-gray-900);
    color: var(--ins-white);
}

.kit-toggle-btn.premium.active {
    border-color: var(--ins-gold);
    background: var(--ins-gold);
    color: var(--ins-white);
}

/* Responsive */
@media (max-width: 374px) {
    .kit-step-titulo {
        font-size: 18px;
    }

    .kit-toggle-btn {
        font-size: 10px;
        min-height: 44px;
    }

    .kit-upgrade-diff-valor {
        font-size: 18px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   STEP C — IDENTIFICAÇÃO
   ═══════════════════════════════════════════════════════════════ */

.ident-page {
    padding-top: 24px;
    overflow: hidden;
}

.ident-step-header {
    margin-bottom: 24px;
}

.ident-step-titulo {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--ins-gray-900);
    margin: 0 0 4px 0;
    line-height: 1.1;
}

.ident-step-subtitulo {
    font-family: var(--ins-font);
    font-weight: 300;
    font-size: 13px;
    color: var(--ins-gray-500);
}

/* States & transitions */
.ident-state {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.ident-hidden {
    display: none !important;
}

.ident-slide-out {
    transform: translateX(-100%);
    opacity: 0;
}

.ident-slide-in {
    animation: identSlideIn 0.3s ease forwards;
}

@keyframes identSlideIn {
    from { transform: translateX(60px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

.ident-shake {
    animation: identShake 0.4s ease;
}

@keyframes identShake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-8px); }
    40%, 80% { transform: translateX(8px); }
}

/* Sections */
.ident-section {
    margin-bottom: 24px;
}

.ident-section-label {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ins-gray-500);
    margin-bottom: 12px;
}

/* Fields */
.ident-field {
    margin-bottom: 16px;
}

.ident-label {
    display: block;
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ins-gray-500);
    margin-bottom: 6px;
}

.ident-input {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--ins-gray-200);
    background: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 15px;
    color: var(--ins-gray-900);
    transition: border-color 0.15s;
    outline: none;
    -webkit-appearance: none;
    border-radius: 0;
}

.ident-input:focus {
    border-color: var(--ins-gold);
}

.ident-input::placeholder {
    color: var(--ins-gray-400);
}

.ident-input-wrap {
    position: relative;
}

.ident-input-wrap .ident-input {
    padding-right: 48px;
}

.ident-toggle-pass,
.ident-btn-buscar {
    position: absolute;
    right: 0;
    top: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--ins-gray-400);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ident-toggle-pass:hover,
.ident-btn-buscar:hover {
    color: var(--ins-gray-600);
}

/* Errors */
.ident-error {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 12px;
    color: #dc3545;
    margin-top: 4px;
    min-height: 0;
}

.ident-error-geral {
    margin-bottom: 12px;
    font-weight: 600;
}

/* Buttons */
.ident-btn-entrar {
    width: 100%;
    height: 52px;
    background: var(--ins-gold);
    border: none;
    color: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.15s;
    -webkit-tap-highlight-color: transparent;
}

.ident-btn-entrar:hover {
    background: var(--ins-gold-dark);
}

.ident-btn-entrar:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.ident-btn-criar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    border: 2px solid var(--ins-gray-300);
    background: var(--ins-white);
    color: var(--ins-gray-700);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: all 0.15s;
    -webkit-tap-highlight-color: transparent;
}

.ident-btn-criar:hover {
    border-color: var(--ins-gray-900);
    color: var(--ins-gray-900);
}

.ident-link-esqueci {
    display: block;
    text-align: center;
    margin-top: 12px;
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    color: var(--ins-gray-500);
    text-decoration: none;
}

.ident-link-esqueci:hover {
    color: var(--ins-gold);
}

/* Divisor */
.ident-divisor {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0;
}

.ident-divisor::before,
.ident-divisor::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--ins-gray-200);
}

.ident-divisor span {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 12px;
    color: var(--ins-gray-400);
}

/* Cards "Para quem" */
.ident-card {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 2px solid var(--ins-gray-200);
    padding: 16px;
    margin-bottom: 12px;
    cursor: pointer;
    transition: all 0.15s;
    -webkit-tap-highlight-color: transparent;
}

.ident-card:active {
    transform: scale(0.99);
}

.ident-card.selected {
    border-color: var(--ins-gold);
    background: var(--ins-gold-bg);
}

.ident-card-icon {
    color: var(--ins-gray-400);
    flex-shrink: 0;
}

.ident-card.selected .ident-card-icon {
    color: var(--ins-gold);
}

.ident-card-body {
    flex: 1;
    min-width: 0;
}

.ident-card-titulo {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--ins-gray-900);
    margin-bottom: 2px;
}

.ident-card-info {
    font-family: var(--ins-font);
    font-weight: 300;
    font-size: 13px;
    color: var(--ins-gray-500);
    line-height: 1.4;
}

.ident-card-cpf {
    font-size: 12px;
    color: var(--ins-gray-400);
}

.ident-card-check {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--ins-gray-200);
    color: transparent;
    transition: all 0.15s;
}

.ident-card.selected .ident-card-check {
    border-color: var(--ins-gold);
    background: var(--ins-gold);
    color: var(--ins-white);
}

/* CPF panel */
.ident-cpf-panel {
    margin-top: 16px;
}

.ident-cpf-result {
    border: 1px solid var(--ins-gold);
    background: var(--ins-gold-bg);
    padding: 14px;
    margin-bottom: 12px;
}

.ident-cpf-result-nome {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 15px;
    color: var(--ins-gray-900);
    margin-bottom: 2px;
}

.ident-cpf-result-email {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    color: var(--ins-gray-500);
}

/* Alert/Warning */
.ident-alerta {
    padding: 12px 14px;
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
}

.ident-alerta i {
    flex-shrink: 0;
    margin-top: 2px;
}

.alerta-danger {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.alerta-warning {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

/* Checkbox */
.ident-autorizacao {
    margin-top: 12px;
}

.ident-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ident-checkbox input {
    display: none;
}

.ident-checkbox-mark {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border: 2px solid var(--ins-gray-300);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
    margin-top: 1px;
}

.ident-checkbox input:checked + .ident-checkbox-mark {
    border-color: var(--ins-gold);
    background: var(--ins-gold);
}

.ident-checkbox input:checked + .ident-checkbox-mark::after {
    content: '✓';
    color: white;
    font-size: 14px;
    font-weight: 700;
}

.ident-checkbox-text {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    color: var(--ins-gray-600);
    line-height: 1.4;
}

/* Responsive */
@media (max-width: 374px) {
    .ident-step-titulo {
        font-size: 18px;
    }

    .ident-card {
        padding: 12px;
        gap: 10px;
    }

    .ident-card-icon svg {
        width: 24px;
        height: 24px;
    }

    .ident-btn-entrar,
    .ident-btn-criar {
        height: 48px;
        font-size: 13px;
    }
}

/* Resultado busca CPF */
.ident-cpf-result-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #16a34a;
    margin-bottom: 10px;
}

.ident-cpf-result-header svg {
    color: #16a34a;
}

.ident-cpf-result-dados {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ident-cpf-result-row {
    display: flex;
    gap: 6px;
    font-family: var(--ins-font);
    font-size: 14px;
    line-height: 1.4;
}

.ident-cpf-result-label {
    font-weight: 600;
    color: var(--ins-gray-600);
    flex-shrink: 0;
}

.ident-cpf-result-value {
    font-weight: 400;
    color: var(--ins-gray-900);
}

/* Termo LGPD */
.ident-termo {
    margin-top: 16px;
    border: 1px solid var(--ins-gray-200);
    padding: 16px;
    background: var(--ins-gray-100);
}

.ident-termo-titulo {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    color: var(--ins-gray-900);
    margin-bottom: 10px;
}

.ident-termo-texto {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    color: var(--ins-gray-600);
    line-height: 1.6;
    margin-bottom: 16px;
}

.ident-termo-texto ul {
    list-style: none;
    padding: 0;
    margin: 8px 0 0 0;
}

.ident-termo-texto ul li {
    padding: 4px 0 4px 16px;
    position: relative;
}

.ident-termo-texto ul li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--ins-gray-400);
}

/* ═══════════════════════════════════════════════════════════════
   STEP D — QUESTIONÁRIOS / DADOS DA CORRIDA
   ═══════════════════════════════════════════════════════════════ */

.quest-page {
    padding-top: 24px;
}

.quest-step-header {
    margin-bottom: 24px;
}

.quest-step-titulo {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--ins-gray-900);
    margin: 0 0 4px 0;
    line-height: 1.1;
}

.quest-step-subtitulo {
    font-family: var(--ins-font);
    font-weight: 300;
    font-size: 13px;
    color: var(--ins-gray-500);
}

/* Fields */
.quest-field {
    margin-bottom: 20px;
}

.quest-label {
    display: block;
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ins-gray-500);
    margin-bottom: 8px;
}

.quest-required {
    color: #dc3545;
}

.quest-optional {
    font-weight: 400;
    color: var(--ins-gray-400);
    text-transform: none;
    letter-spacing: 0;
}

.quest-input {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--ins-gray-200);
    background: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 15px;
    color: var(--ins-gray-900);
    transition: border-color 0.15s;
    outline: none;
    -webkit-appearance: none;
    border-radius: 0;
}

.quest-input:focus {
    border-color: var(--ins-gold);
}

.quest-input::placeholder {
    color: var(--ins-gray-400);
}

.quest-select {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--ins-gray-200);
    background: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 15px;
    color: var(--ins-gray-900);
    transition: border-color 0.15s;
    outline: none;
    -webkit-appearance: none;
    border-radius: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
}

.quest-select:focus {
    border-color: var(--ins-gold);
}

.quest-hint {
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 12px;
    color: var(--ins-gray-400);
    margin-top: 4px;
}

/* Input with prefix (instagram @) */
.quest-input-wrap {
    position: relative;
}

.quest-input-prefix {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 15px;
    color: var(--ins-gray-400);
    pointer-events: none;
}

.quest-input-prefixed {
    padding-left: 32px;
}

/* Size selector (camisa) */
.quest-sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.quest-size-option {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.quest-size-option input {
    display: none;
}

.quest-size-box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 44px;
    padding: 0 12px;
    border: 2px solid var(--ins-gray-200);
    background: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 13px;
    color: var(--ins-gray-600);
    transition: all 0.15s;
}

.quest-size-option input:checked + .quest-size-box {
    border-color: var(--ins-gold);
    background: var(--ins-gold);
    color: var(--ins-white);
}

.quest-size-option:active .quest-size-box {
    transform: scale(0.96);
}

/* Toggle group (sim/não) */
.quest-toggle-group {
    display: flex;
    gap: 8px;
}

.quest-toggle-option {
    flex: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.quest-toggle-option input {
    display: none;
}

.quest-toggle-box {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    border: 2px solid var(--ins-gray-200);
    background: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--ins-gray-600);
    transition: all 0.15s;
}

.quest-toggle-option input:checked + .quest-toggle-box {
    border-color: var(--ins-gold);
    background: var(--ins-gold);
    color: var(--ins-white);
}

/* Divider */
.quest-divider {
    height: 1px;
    background: var(--ins-gray-200);
    margin: 24px 0;
}

/* Link */
.quest-link {
    color: var(--ins-gold-dark);
    text-decoration: underline;
    font-weight: 600;
}

.quest-link:hover {
    color: var(--ins-gold);
}

/* Responsive */
@media (max-width: 374px) {
    .quest-step-titulo {
        font-size: 18px;
    }

    .quest-size-box {
        min-width: 40px;
        height: 40px;
        font-size: 12px;
    }
}

/* Accordion regulamento */
.quest-accordion {
    border: 1px solid var(--ins-gray-200);
    overflow: hidden;
}

.quest-accordion-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 16px;
    background: var(--ins-gray-100);
    border: none;
    cursor: pointer;
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ins-gray-700);
    -webkit-tap-highlight-color: transparent;
}

.quest-accordion-btn:hover {
    background: var(--ins-gray-200);
}

.quest-accordion-icon {
    transition: transform 0.25s;
    flex-shrink: 0;
    color: var(--ins-gray-500);
}

.quest-accordion-active .quest-accordion-icon {
    transform: rotate(180deg);
}

.quest-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.quest-accordion-inner {
    padding: 16px;
    max-height: 300px;
    overflow-y: auto;
    font-family: var(--ins-font);
    font-weight: 400;
    font-size: 13px;
    line-height: 1.7;
    color: var(--ins-gray-600);
    -webkit-overflow-scrolling: touch;
}

.quest-accordion-inner h1,
.quest-accordion-inner h2,
.quest-accordion-inner h3 {
    font-size: 14px;
    font-weight: 700;
    color: var(--ins-gray-900);
    margin: 12px 0 6px;
}

.quest-accordion-inner p {
    margin: 0 0 8px;
}

.quest-accordion-inner ul,
.quest-accordion-inner ol {
    padding-left: 20px;
    margin: 0 0 8px;
}

/* Pace selector */
.quest-paces {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.quest-pace-option {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.quest-pace-option input {
    display: none;
}

.quest-pace-box {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 16px;
    border: 2px solid var(--ins-gray-200);
    background: var(--ins-white);
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 14px;
    color: var(--ins-gray-600);
    transition: all 0.15s;
}

.quest-pace-option input:checked + .quest-pace-box {
    border-color: var(--ins-gold);
    background: var(--ins-gold);
    color: var(--ins-white);
}

.quest-pace-option:active .quest-pace-box {
    transform: scale(0.98);
}

/* ═══════════════════════════════════════════════════════════════
   STEP E — PAGAMENTO
   ═══════════════════════════════════════════════════════════════ */

.pag-page { padding-top: 24px; }
.pag-step-header { margin-bottom: 24px; }
.pag-step-titulo {
    font-family: var(--ins-font); font-weight: 700; font-size: 22px;
    letter-spacing: -0.02em; text-transform: uppercase;
    color: var(--ins-gray-900); margin: 0; line-height: 1.1;
}

.pag-section { margin-bottom: 24px; }
.pag-section-label {
    font-family: var(--ins-font); font-weight: 700; font-size: 11px;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: var(--ins-gray-500); margin-bottom: 10px;
}

.pag-hidden { display: none !important; }
.pag-slide-in { animation: pagSlideIn 0.25s ease; }
@keyframes pagSlideIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }

/* Resumo */
.pag-resumo { border: 1px solid var(--ins-gray-200); }
.pag-resumo-evento {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 16px; border-bottom: 1px solid var(--ins-gray-100);
}
.pag-resumo-icon { font-size: 20px; }
.pag-resumo-nome { font-family: var(--ins-font); font-weight: 700; font-size: 14px; color: var(--ins-gray-900); }
.pag-resumo-detalhe { font-family: var(--ins-font); font-weight: 300; font-size: 12px; color: var(--ins-gray-500); }

.pag-resumo-dados { padding: 12px 16px; border-bottom: 1px solid var(--ins-gray-100); }
.pag-resumo-item {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--ins-font); font-weight: 400; font-size: 13px;
    color: var(--ins-gray-700); padding: 3px 0;
}
.pag-resumo-icon-sm { font-size: 14px; width: 20px; text-align: center; }

.pag-resumo-precos { padding: 12px 16px; }
.pag-resumo-linha {
    display: flex; justify-content: space-between;
    font-family: var(--ins-font); font-weight: 400; font-size: 13px;
    color: var(--ins-gray-600); padding: 3px 0;
}
.pag-desconto { color: #16a34a; }
.pag-resumo-total {
    display: flex; justify-content: space-between;
    font-family: var(--ins-font); font-weight: 700; font-size: 16px;
    color: var(--ins-gray-900); padding: 8px 0 0;
    border-top: 1px solid var(--ins-gray-200); margin-top: 6px;
}

/* Cupom */
.pag-cupom-form { display: flex; flex-direction: column; gap: 6px; }
.pag-cupom-input-wrap { display: flex; gap: 8px; }
.pag-cupom-input {
    flex: 1; height: 44px; padding: 0 14px; border: 1px solid var(--ins-gray-200);
    font-family: var(--ins-font); font-size: 14px; text-transform: uppercase;
    background: var(--ins-white); outline: none; border-radius: 0;
}
.pag-cupom-input:focus { border-color: var(--ins-gold); }
.pag-cupom-btn {
    height: 44px; padding: 0 20px; background: var(--ins-gray-900);
    color: var(--ins-white); border: none; font-family: var(--ins-font);
    font-weight: 700; font-size: 12px; text-transform: uppercase;
    letter-spacing: 0.04em; cursor: pointer; white-space: nowrap;
}
.pag-cupom-btn:active { transform: scale(0.98); }

.pag-cupom-aplicado {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; border: 1px solid #16a34a; background: #f0fdf4;
}
.pag-cupom-info { display: flex; align-items: center; gap: 8px; }
.pag-cupom-info strong {
    font-family: var(--ins-font); font-weight: 700; font-size: 14px; color: var(--ins-gray-900);
}
.pag-cupom-valor {
    font-family: var(--ins-font); font-weight: 600; font-size: 13px; color: #16a34a;
}
.pag-cupom-check { font-size: 16px; }
.pag-cupom-remover {
    background: none; border: none; font-family: var(--ins-font);
    font-weight: 400; font-size: 12px; color: var(--ins-gray-500);
    text-decoration: underline; cursor: pointer;
}

/* Payment options */
.pag-payment-option {
    display: flex; align-items: center; gap: 14px;
    border: 2px solid var(--ins-gray-200); padding: 16px;
    margin-bottom: 8px; cursor: pointer; transition: all 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.pag-payment-option:active { transform: scale(0.99); }
.pag-payment-option.selected {
    border-color: var(--ins-gold); border-width: 3px;
    background: rgba(200, 170, 110, 0.05);
}
.pag-payment-icon { font-size: 24px; }
.pag-payment-body { flex: 1; }
.pag-payment-label {
    font-family: var(--ins-font); font-weight: 700; font-size: 15px;
    color: var(--ins-gray-900); text-transform: uppercase;
}
.pag-payment-sublabel {
    font-family: var(--ins-font); font-weight: 300; font-size: 13px; color: var(--ins-gray-500);
}
.pag-payment-check {
    width: 28px; height: 28px; border: 2px solid var(--ins-gray-200);
    display: flex; align-items: center; justify-content: center;
    color: transparent; transition: all 0.15s;
}
.pag-payment-option.selected .pag-payment-check {
    background: var(--ins-gold); border-color: var(--ins-gold); color: var(--ins-white);
}

/* Cartão fields */
.pag-cartao-fields { padding-top: 16px; }
.pag-cartao-divider { height: 1px; background: var(--ins-gray-200); margin: 16px 0; }
.pag-row { display: flex; gap: 12px; }
.pag-col-4 { flex: 0 0 35%; }
.pag-col-6 { flex: 1; }
.pag-col-8 { flex: 0 0 60%; }

/* PIX area */
.pag-pix-area { text-align: center; padding: 20px 0; }
.pag-pix-titulo {
    font-family: var(--ins-font); font-weight: 700; font-size: 14px;
    text-transform: uppercase; color: var(--ins-gray-900); margin-bottom: 16px;
}
.pag-pix-qr { margin-bottom: 16px; }
.pag-pix-qr img { width: 200px; height: 200px; border: 1px solid var(--ins-gray-200); }
.pag-pix-copiacola { display: flex; gap: 8px; margin-bottom: 12px; }
.pag-pix-copiacola .quest-input { font-size: 11px; }
.pag-pix-timer {
    font-family: var(--ins-font); font-weight: 600; font-size: 14px;
    color: #dc3545; margin-bottom: 12px;
}
.pag-pix-aguardando {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--ins-font); font-weight: 400; font-size: 13px; color: var(--ins-gray-500);
}

/* Segurança */
.pag-seguranca {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    font-family: var(--ins-font); font-weight: 400; font-size: 12px;
    color: var(--ins-gray-400); padding: 16px 0;
}

/* Cortesia */
.pag-cortesia { text-align: center; padding: 32px 0; }
.pag-cortesia-emoji { font-size: 48px; margin-bottom: 12px; }
.pag-cortesia-titulo {
    font-family: var(--ins-font); font-weight: 700; font-size: 24px;
    text-transform: uppercase; color: var(--ins-gray-900); margin-bottom: 8px;
}
.pag-cortesia-texto {
    font-family: var(--ins-font); font-weight: 300; font-size: 14px;
    color: var(--ins-gray-500); line-height: 1.5; margin-bottom: 16px;
}
.pag-cortesia-total {
    font-family: var(--ins-font); font-weight: 700; font-size: 16px; color: var(--ins-gray-600);
}
.pag-cortesia-total span { color: #16a34a; font-size: 20px; }

@media (max-width: 374px) {
    .pag-step-titulo { font-size: 18px; }
    .pag-resumo-total { font-size: 14px; }
    .pag-pix-qr img { width: 160px; height: 160px; }
}

/* PIX icon text style */
.pag-payment-icon {
    font-family: var(--ins-font);
    font-weight: 700;
    font-size: 14px;
    color: var(--ins-gray-700);
    min-width: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVO — INSCRICAO LAYOUT (tablet + desktop)
   ═══════════════════════════════════════════════════════════════ */

@media (min-width: 768px) {
    .header-top {
        max-width: 700px;
    }
    .inscricao-content {
        max-width: 700px;
    }
    .footer-inner {
        max-width: 700px;
    }
}

@media (min-width: 1024px) {
    .header-top {
        max-width: 1100px;
        padding: 14px 24px;
    }
    .inscricao-content {
        max-width: 700px;
        padding-left: 24px;
        padding-right: 24px;
    }
    .footer-inner {
        max-width: 1100px;
    }
    .inscricao-footer {
        padding: 14px 0;
    }
}

@media (min-width: 1400px) {
    .header-top {
        max-width: 1200px;
    }
    .inscricao-content {
        max-width: 800px;
    }
    .footer-inner {
        max-width: 1200px;
    }
}

/* ── Botão Upgrade Premium ───────────────────────── */
.btn-upgrade {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    height: 44px;
    background: transparent;
    border: 1.5px solid var(--ins-gray-400);
    color: var(--ins-gray-600);
    font-family: var(--ins-font);
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.3px;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.15s ease;
}
.btn-upgrade:hover {
    border-color: var(--ins-gold);
    color: var(--ins-gold);
}
@media (min-width: 768px) {
    .btn-upgrade {
        padding: 0 20px;
        height: 48px;
        font-size: 11px;
    }
}

/* ── File input comprobatório ────────────────────── */
.quest-file-input {
    width: 100%;
    padding: 12px;
    font-family: var(--ins-font);
    font-size: 14px;
    font-weight: 400;
    color: var(--ins-gray-700);
    background: var(--ins-white);
    border: 1px solid var(--ins-gray-200);
    cursor: pointer;
}
.quest-file-input::file-selector-button {
    padding: 8px 16px;
    margin-right: 12px;
    background: var(--ins-gray-100);
    border: 1px solid var(--ins-gray-300);
    color: var(--ins-gray-700);
    font-family: var(--ins-font);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.15s ease;
}
.quest-file-input::file-selector-button:hover {
    background: var(--ins-gray-200);
}
.quest-error {
    color: var(--ins-danger);
    font-family: var(--ins-font);
    font-size: 12px;
    font-weight: 400;
    margin-top: 4px;
}
