/* ============================================
   CALCULADORA DE PREÇOS – v5
   ============================================ */

@font-face {
    font-family: 'SF Compact Display Thin';
    font-style: normal;
    font-weight: normal;
    src: local('SF Compact Display Thin'), url('../fonts/sf-compact-display-thin-58646eb43a785.woff') format('woff');
}
@font-face {
    font-family: 'SF Compact Display Medium';
    font-style: normal;
    font-weight: normal;
    src: local('SF Compact Display Medium'), url('../fonts/sf-compact-display-medium-5864711817c30.woff') format('woff');
}

:root {
    --white:        #FFFFFF;
    --border:       rgba(0,0,0,0.15);
    --text:         #090909;
    --muted:        rgba(0,0,0,0.3);
    --pill-bg:      rgba(0,0,0,0.12);
    --pill-active:  #DBF227;
    --green:        #34C759;
    --red:          #FF3B30;
    --check-icon:   #EFEFF0;

    --font-thin:   'SF Compact Display Thin',   -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-med:    'SF Compact Display Medium', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --r-card: 20px;
    --r-pill: 999px;
    --r-btn:  18px;
}

/* ============================================
   WRAPPER & CONTAINER
   ============================================ */



.calculadora-precos-container {
    /* sem max-width — ocupa o espaço do tema */
    background: var(--white);
    border-radius: var(--r-card);
    border: 1px solid var(--border);
    padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 2.75rem);
    font-family: var(--font-thin);
    color: var(--text);
}

.calc-section {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.calc-section:last-of-type { margin-bottom: 0; }

/* ============================================
   TÍTULO
   ============================================ */

.calc-header {
    text-align: center;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.calc-title {
    font-family: var(--font-thin);
    font-size: clamp(1.625rem, 4vw, 2.25rem);
    font-weight: 400;
    color: var(--muted);
    line-height: 1.2;
    margin: 0;
    letter-spacing: -0.01em;
}

.calc-subtitle-hero { display: none; }

/* ============================================
   PILLS COLABORADORES
   ============================================ */

.calc-section-colab { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }

.calc-colaboradores {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.btn-colab {
    font-family: var(--font-med);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    height: clamp(40px, 5vw, 49px);
    padding: 0 clamp(1rem, 2.5vw, 1.5rem);
    border-radius: var(--r-pill);
    border: none;
    background: var(--pill-bg);
    color: var(--text);
    cursor: pointer;
    transition: background 0.18s;
    outline: none;
    white-space: nowrap;
}
.btn-colab:hover  { background: rgba(0,0,0,0.22); }
.btn-colab.active { background: var(--pill-active); color: var(--text); }

/* ============================================
   TABELA — RESUMO DO PLANO
   Estilo da foto: header de colunas + linhas
   ============================================ */

.calc-tabela { width: 100%; }

/* Cabeçalho de colunas */
.calc-resumo-header {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 0;
}

.calc-th {
    font-family: var(--font-med);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
    font-weight: 600;
}

/* Linhas de dados */
.calc-resumo-list { display: flex; flex-direction: column; }

.calc-resumo-row {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    align-items: center;
    gap: 0.75rem;
    padding: clamp(0.75rem, 1.5vw, 1rem) 0;
    border-bottom: 1px solid var(--border);
}

.calc-resumo-desc {
    font-family: var(--font-med);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
    font-weight: 600;
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.calc-desc-sub {
    font-family: var(--font-thin);
    font-size: clamp(0.6875rem, 1.5vw, 0.8125rem);
    color: var(--muted);
    font-style: normal;
    font-weight: 400;
}

.calc-resumo-valor {
    font-family: var(--font-thin);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
}

.calc-resumo-qtd,
.calc-resumo-meta {
    font-family: var(--font-thin);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
}

/* ============================================
   PERSONALIZAÇÃO — lista estilo tabela
   Mesma grade do resumo, com botões Sim/Não
   ============================================ */

.calc-section-title {
    font-family: var(--font-med);
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    font-weight: 700;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 1.25rem;
    text-align: center;
}

.calc-extras-grid {
    display: flex;
    flex-direction: column;
}

.calc-extra-item {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    align-items: center;
    gap: 0.75rem;
    padding: clamp(0.75rem, 1.5vw, 1rem) 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
}

/* última linha também tem borda */
.calc-extra-item:last-child { border-bottom: 1px solid var(--border); }

.extra-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.extra-nome {
    font-family: var(--font-med);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
    font-weight: 600;
}

.extra-subtitle {
    font-size: clamp(0.6875rem, 1.5vw, 0.75rem);
    color: var(--muted);
}

.extra-valor {
    font-family: var(--font-thin);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
}

.extra-qtd {
    font-family: var(--font-thin);
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
}

/* Botões Sim / Não */
.extra-toggle {
    display: flex;
    gap: 0.4rem;
    justify-content: flex-start;
}

.btn-toggle {
    font-family: var(--font-med);
    font-size: clamp(0.75rem, 1.8vw, 0.875rem);
    font-weight: 500;
    height: 36px;
    padding: 0 clamp(1.25rem, 3vw, 1.75rem);
    min-width: 64px;
    border-radius: var(--r-btn);
    border: none;
    background: rgba(0,0,0,0.12);
    color: var(--text);
    cursor: pointer;
    transition: background 0.18s, color 0.18s;
    outline: none;
    white-space: nowrap;
    flex: 1;
}
.btn-toggle:hover   { background: rgba(0,0,0,0.22); }
.btn-sim.active     { background: var(--green); color: var(--white); }
.btn-nao.active     { background: var(--red);   color: var(--white); }

/* ============================================
   CTA PRINCIPAL — amarelo #DBF227
   ============================================ */

.calc-section-cta {
    margin-top: clamp(1.5rem, 3vw, 2rem);
    margin-bottom: 1rem;
}

.btn-calcular-orcamento {
    width: 100%;
    font-family: var(--font-med);
    font-size: clamp(0.875rem, 2.5vw, 1rem);
    font-weight: 600;
    height: clamp(48px, 6vw, 56px);
    border-radius: var(--r-pill);
    border: none;
    background: var(--green);   /* #34C759 — mesma cor dos valores */
    color: var(--white);
    cursor: pointer;
    transition: opacity 0.18s, transform 0.15s;
    outline: none;
    letter-spacing: -0.01em;
}
.btn-calcular-orcamento:hover  { opacity: 0.88; }
.btn-calcular-orcamento:active { transform: scale(0.99); }

/* ============================================
   DISCLAIMER
   ============================================ */

.calc-disclaimer-standalone {
    display: none; /* posicionado dentro do total-container via HTML */
}

/* ============================================
   RESULTADO / TOTAL
   Layout foto: [Total:] [R$15.255 no 1º ano] [Demais Anos + disclaimer]
   ============================================ */

.calc-total-container {
    margin-top: clamp(1.5rem, 3vw, 2rem);
}

.calc-result-card {
    padding: 0;
    background: transparent;
    border: none;
    margin-bottom: 0;
}

.calc-total {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.calc-total .total-label {
    font-family: var(--font-med);
    font-size: clamp(0.6875rem, 1.5vw, 0.75rem);
    font-weight: 600;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 1.25rem;
    display: block;
}

/* Grid de 3 colunas: rótulo | valor principal | demais anos+disclaimer */
.calc-valores-container {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    align-items: start;
    gap: 0 clamp(1rem, 3vw, 2rem);
    border-top: 1px solid var(--border);
    padding-top: clamp(1rem, 2vw, 1.5rem);
    padding-bottom: clamp(1rem, 2vw, 1.5rem);
}

/* Coluna 1: "Total:" — alinha ao meio verticalmente */
.calc-valor-rotulo {
    display: flex;
    align-items: center;
    padding-top: 0.5rem; /* alinha visualmente com a linha base do valor grande */
}

.calc-rotulo-total {
    font-family: var(--font-thin);
    font-size: clamp(2.25rem, 3vw, 2rem);
    font-weight: 600;
    color: var(--muted);
    white-space: nowrap;
    line-height: 1;
}

/* Item genérico */
.calc-valor-item { padding: 0; border-top: none; }

/* Label oculto por padrão */
.calc-valor-label { display: none; }

/* Coluna 2: valor principal 1º ano — enorme verde */
.calc-valor-simples {
    font-family: var(--font-med);
    font-size: clamp(2rem, 6vw, 3.5rem);
    font-weight: 400;
    color: var(--green);
    line-height: 1;
    display: inline;
}

.calc-valor-principal .calc-valor-simples::after {
    font-family: var(--font-thin);
    font-size: clamp(1rem, 2vw, 0.875rem);
    font-weight: 400;
    color: var(--green);
    vertical-align: baseline;
    margin-left: 0.1rem;
}

/* Label "Assinatura:" acima do valor principal */
.calc-valor-label-assinatura {
    display: block;
    font-family: var(--font-med);
    font-size: clamp(0.6875rem, 1.5vw, 0.8125rem);
    font-weight: 400;
    color: var(--green);
    margin-bottom: 0.15rem;
    white-space: nowrap;
}

/* Coluna 3: demais anos + disclaimer — alinhados ao topo */
.calc-valor-demais {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding-top: 0.25rem;
}

.calc-valor-demais .calc-valor-label {
    display: block;
    font-family: var(--font-med);
    font-size: clamp(0.6875rem, 1.5vw, 0.8125rem);
    font-weight: 400;
    color: var(--green);
    margin-bottom: 0.1rem;
    white-space: nowrap;
    text-align: right;
}

.calc-valor-demais .calc-valor-simples { content: none; }
.calc-valor-demais .calc-valor-simples::after { content: none; }

/* Suffix "(única)" para o setup */
.calc-valor-demais .calc-valor-simples {
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
    display: block;
    text-align: right;
    line-height: 1;
}
.calc-valor-demais .calc-valor-simples::after {
    
    font-family: var(--font-thin);
    font-size: clamp(0.65rem, 1.5vw, 0.8rem);
    font-weight: 400;
    color: var(--green);
    vertical-align: baseline;
    margin-left: 0.1rem;
}

/* Disclaimer posicionado dentro da coluna direita */
.calc-disclaimer-inline {
    font-size: clamp(0.6875rem, 1.5vw, 0.8125rem);
    color: var(--muted);
    text-align: right;
    line-height: 1.4;
    max-width: 200px;
}

/* === Com desconto === */
.calc-comparacao-precos,
.calc-comparacao-precos-demais { margin-top: 0; }

.calc-preco-linha {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.2rem;
}

.calc-preco-original {
    font-size: clamp(0.875rem, 2vw, 1rem);
    color: var(--red);
    text-decoration: line-through;
    font-weight: 600;
}

.calc-badge-desconto {
    background: var(--red);
    color: var(--white);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.calc-preco-final-destaque {
    font-family: var(--font-med);
    font-size: clamp(2rem, 6vw, 3.5rem);
    font-weight: 700;
    color: var(--green);
    line-height: 1;
    display: inline;
}

.calc-valor-principal .calc-preco-final-destaque::after {
  
    font-family: var(--font-thin);
    font-size: clamp(0.75rem, 2vw, 0.875rem);
    font-weight: 400;
    color: var(--muted);
    vertical-align: baseline;
    margin-left: 0.1rem;
}

.calc-valor-demais .calc-preco-final-destaque {
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
    display: block;
    text-align: left;
}
.calc-valor-demais .calc-preco-final-destaque::after { content: none; }

.calc-economia-texto {
    font-size: clamp(0.75rem, 1.8vw, 0.8125rem);
    color: var(--green);
    font-weight: 500;
    margin-top: 0.25rem;
}
.calc-economia-texto strong { font-weight: 700; }

/* ============================================
   BENEFÍCIOS — com divisor entre itens
   Mesma grade do total para alinhamento perfeito
   ============================================ */

.calc-beneficios-wrapper {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    gap: 0 clamp(1rem, 3vw, 2rem);
    border-top: 1px solid var(--border);
}

/* Coluna 1: espaçador invisível — mesma "auto" que .calc-rotulo-total */
.calc-beneficios-spacer {
    /* O "auto" se ajusta ao conteúdo. Forçamos a largura do rótulo "Total:" */
    visibility: hidden;
    font-family: var(--font-thin);
    font-size: clamp(1.25rem, 3vw, 2rem);
    white-space: nowrap;
    line-height: 1;
    padding-top: 0; /* não ocupa altura */
    height: 0;
    overflow: hidden;
    /* Texto fantasma com mesmo conteúdo para reservar a largura */
}
.calc-beneficios-spacer::before {
    content: 'Total:';
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

/* Coluna 2: a lista */
.calc-beneficios {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    /* sem gap — usamos border-bottom em cada item */
}

.beneficio-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: clamp(0.8125rem, 2vw, 0.9375rem);
    color: var(--muted);
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--border);
}
.beneficio-item:last-child { border-bottom: 1px solid var(--border); }

.beneficio-item svg.beneficio-check { display: none; }

.beneficio-item::before {
    content: '';
    flex-shrink: 0;
    width: 19px;
    height: 19px;
    background-color: var(--green);
    border-radius: 3px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M14 5.5L8 12.5L5 9.5' stroke='%23EFEFF0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px 13px;
}

/* Coluna 3: disclaimer alinhado ao topo */
.calc-beneficios-disclaimer {
    font-size: clamp(0.6875rem, 1.5vw, 0.8125rem);
    color: var(--muted);
    line-height: 1.5;
    max-width: 200px;
    padding-top: 0.65rem;
    text-align: left;
}

/* ============================================
   CARD GENÉRICO
   ============================================ */

.calc-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-card);
}

/* ============================================
   MODAL
   ============================================ */

.calc-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.calc-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(4px);
}

.calc-modal-content {
    position: relative;
    background: var(--white);
    border-radius: var(--r-card);
    border: 1px solid var(--border);
    box-shadow: 0 24px 48px rgba(0,0,0,0.12);
    padding: clamp(1.5rem, 4vw, 2rem);
    max-width: 440px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    font-family: var(--font-thin);
    animation: calcModalIn 0.22s ease;
}

@keyframes calcModalIn {
    from { opacity: 0; transform: scale(0.96) translateY(8px); }
    to   { opacity: 1; transform: scale(1)    translateY(0); }
}

.calc-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 50%;
    background: rgba(0,0,0,0.1);
    color: var(--text);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    transition: background 0.18s;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.calc-modal-close:hover { background: rgba(0,0,0,0.2); }

/* ============================================
   FORMULÁRIO
   ============================================ */

.calc-form-group { margin-bottom: 1rem; }

.calc-form-group label {
    display: block;
    font-family: var(--font-med);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--muted);
    margin-bottom: 0.375rem;
}

.calc-form-group input,
.calc-form-group select {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--text);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-btn);
    transition: border-color 0.18s, box-shadow 0.18s;
    box-sizing: border-box;
    outline: none;
}
.calc-form-group input::placeholder { color: var(--muted); }
.calc-form-group input:focus,
.calc-form-group select:focus {
    border-color: rgba(0,0,0,0.4);
    box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}

.calc-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
}

.calc-form-fieldset {
    margin: 1rem 0;
    padding: 0.875rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--r-btn);
}
.calc-form-fieldset legend {
    font-family: var(--font-med);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--muted);
    padding: 0 0.5rem;
}
.calc-form-fieldset .calc-form-checkbox { margin: 0.5rem 0 0; }

.calc-form-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 1rem 0;
}
.calc-form-checkbox input[type="checkbox"] {
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0.15rem;
    cursor: pointer;
    accent-color: var(--green);
    flex-shrink: 0;
}
.calc-form-checkbox label {
    font-size: 0.8125rem;
    color: var(--muted);
    cursor: pointer;
    line-height: 1.4;
}

/* Botão submit — verde #34C759 */
.btn-submit-lead {
    width: 100%;
    font-family: var(--font-med);
    font-size: clamp(0.875rem, 2.5vw, 1rem);
    font-weight: 600;
    height: 50px;
    border: none;
    border-radius: var(--r-pill);
    background: var(--green);        /* #34C759 */
    color: var(--white);
    cursor: pointer;
    transition: opacity 0.18s, transform 0.15s;
    outline: none;
    margin-top: 0.5rem;
}
.btn-submit-lead:hover   { opacity: 0.88; }
.btn-submit-lead:active  { transform: scale(0.99); }
.btn-submit-lead:disabled { opacity: 0.6; cursor: not-allowed; }

.btn-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.btn-loading .spinner {
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    border: 2px solid rgba(255,255,255,0.35);
    border-top-color: var(--white);
    border-radius: 50%;
    animation: calcSpin 0.8s linear infinite;
}
@keyframes calcSpin { to { transform: rotate(360deg); } }

.calc-form-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.25rem;
    font-size: 0.75rem;
    color: var(--muted);
}
.calc-form-footer svg { flex-shrink: 0; opacity: 0.6; }

/* Sucesso */
#calc-sucesso-mensagem { text-align: center; padding: 1rem 0; }
.calc-sucesso-icon { margin-bottom: 1rem; }
.calc-sucesso-icon svg { color: var(--green); }
.calc-sucesso-texto {
    font-family: var(--font-med);
    font-size: 1.125rem;
    color: var(--text);
    margin: 0 0 1rem;
    line-height: 1.4;
}

/* Botão fechar modal — verde */
.btn-fechar-modal {
    font-family: var(--font-med);
    font-size: 0.9375rem;
    font-weight: 600;
    height: 46px;
    padding: 0 1.75rem;
    border: none;
    border-radius: var(--r-pill);
    background: var(--green);        /* #34C759 */
    color: var(--white);
    cursor: pointer;
    transition: opacity 0.18s;
    outline: none;
}
.btn-fechar-modal:hover { opacity: 0.88; }

/* ============================================
   RESPONSIVO — MOBILE
   ============================================ */

@media (max-width: 640px) {

    /* Tabela resumo: empilha em 2 colunas nome/valor */
    .calc-resumo-header {
        grid-template-columns: 1fr 1fr;
    }
    /* Oculta colunas 3 e 4 do header em mobile */
    .calc-resumo-header .calc-th:nth-child(3),
    .calc-resumo-header .calc-th:nth-child(4) { display: none; }

    .calc-resumo-row {
        grid-template-columns: 1fr 1fr;
        row-gap: 0.2rem;
    }
    /* Qtd e Prazo ficam na 2ª linha, ocupando meia coluna cada */
    .calc-resumo-qtd,
    .calc-resumo-meta {
        font-size: 0.75rem;
        color: var(--muted);
    }
    /* Reagrupa as colunas em mobile */
    .calc-resumo-desc  { grid-column: 1; }
    .calc-resumo-valor { grid-column: 2; text-align: right; }
    .calc-resumo-qtd   { grid-column: 1; font-size: 0.7rem; }
    .calc-resumo-meta  { grid-column: 2; text-align: right; font-size: 0.7rem; }

    /* Extras: empilha nome+valor | botões */
    .calc-extra-item {
        grid-template-columns: 1fr auto;
        row-gap: 0.5rem;
    }
    .extra-info    { grid-column: 1; grid-row: 1; }
    .extra-valor   { grid-column: 2; grid-row: 1; text-align: right; }
    .extra-qtd     { display: none; }
    .extra-toggle  { grid-column: 1 / -1; grid-row: 2; }

    /* Totais: empilha verticalmente */
    .calc-valores-container {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding-bottom: 1rem;
    }
    .calc-valor-rotulo { padding-top: 0; }
    .calc-valor-demais { align-items: flex-start; }
    .calc-valor-demais .calc-valor-simples,
    .calc-valor-demais .calc-preco-final-destaque { text-align: left; }
    .calc-valor-demais .calc-valor-label { text-align: left; }
    .calc-disclaimer-inline { text-align: left; max-width: 100%; }

    /* Benefícios: empilha, disclaimer abaixo da lista */
    .calc-beneficios-wrapper {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .calc-beneficios-spacer { display: none; }
    .calc-beneficios-disclaimer {
        padding-top: 1rem;
        max-width: 100%;
    }

    /* Form: empilha a linha dupla */
    .calc-form-row { grid-template-columns: 1fr; }

    .calc-modal-content { padding: 1.5rem 1.25rem; }
}

@media (max-width: 400px) {
    .btn-colab {
        font-size: 0.8125rem;
        padding: 0 0.875rem;
        height: 38px;
    }
}
/* ── Botão Assinar Agora (Stripe) ──────────────────────────────────────────── */
.calc-beneficios-col3 {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 0.5rem;
}

.btn-assinar-agora {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: #635bff;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0.875rem 1.75rem;
    font-size: clamp(0.9375rem, 2.5vw, 1rem);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s, box-shadow 0.2s;
    box-shadow: 0 4px 14px rgba(99, 91, 255, 0.35);
    white-space: nowrap;
}
.btn-assinar-agora:hover {
    background: #4f46e5;
    box-shadow: 0 6px 20px rgba(99, 91, 255, 0.45);
    transform: translateY(-1px);
}
.btn-assinar-agora:active {
    transform: translateY(0);
}
.btn-assinar-agora:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}
.btn-assinar-text {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.btn-assinar-loading {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.calc-stripe-seguro {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: var(--muted);
    margin: 0;
}
.calc-stripe-seguro svg { flex-shrink: 0; }

/* Título do modal de formulário */
.calc-form-titulo {
    font-size: clamp(1rem, 3vw, 1.125rem);
    font-weight: 600;
    margin: 0 0 1.25rem;
    color: var(--heading);
    text-align: center;
}

/* Coluna 3 dos benefícios */
@media (max-width: 768px) {
    .calc-beneficios-col3 { padding-top: 1rem; }
    .btn-assinar-agora { width: 100%; }
}

/* ── Subtítulo do CTA ──────────────────────────────────────────────────────── */
.calc-cta-sub {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.8125rem;
    color: var(--muted);
    margin: 0.625rem 0 0;
}
.calc-cta-sub svg { flex-shrink: 0; color: var(--primary); }

/* ── Header do modal ───────────────────────────────────────────────────────── */
.calc-modal-header {
    text-align: center;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}
.calc-form-titulo {
    font-size: clamp(1rem, 3vw, 1.125rem);
    font-weight: 700;
    margin: 0 0 0.375rem;
    color: var(--heading);
}
.calc-form-subtitulo {
    font-size: 0.8125rem;
    color: var(--muted);
    margin: 0;
    line-height: 1.5;
}

/* ── Botão submit com ícone ────────────────────────────────────────────────── */
.btn-submit-lead .btn-text {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.btn-loading-msg { display: inline; }