/* Hub seguro de vida — Foresters */
.vida-hub-hero {
    margin-bottom: 2rem;
}

.vida-product-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
    margin-bottom: 2.5rem;
}

.vida-product-card {
    background: var(--mc-surface, #fff);
    border: 1px solid var(--mc-border, #d6dee8);
    border-radius: var(--mc-radius-lg, 12px);
    padding: 1.35rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    box-shadow: 0 1px 3px rgba(0, 40, 80, .06);
}

.vida-product-title {
    font-size: 1.2rem;
    font-weight: 800;
    margin: 0;
    line-height: 1.25;
    color: var(--brand-dark, #205493);
}

.vida-product-short {
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--mc-text-muted, #4a5568);
    flex: 1 1 auto;
}

.vida-product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}

.vida-product-ref {
    font-size: .875rem;
    color: var(--brand, #0071bc);
    text-decoration: underline;
}

.vida-hub-disclaimer {
    margin-top: 1rem;
}

.vida-hub-contact {
    margin-top: 1rem;
}

/* Calculadora */
.vida-calc-hero {
    margin-bottom: 1.5rem;
}

.vida-calc-layout {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
    margin-bottom: 2rem;
}

@media (min-width: 960px) {
    .vida-calc-layout {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}

.vida-calc-form,
.vida-calc-results {
    padding: 1.5rem;
}

.vida-calc-section-title {
    font-size: 1.25rem;
    font-weight: 800;
    margin: 0 0 1rem;
    color: var(--brand-dark, #205493);
}

.vida-calc-field {
    margin-bottom: 1rem;
}

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

@media (max-width: 640px) {
    .vida-calc-field-row {
        grid-template-columns: 1fr;
    }
}

.vida-calc-hint {
    margin: .35rem 0 0;
    font-size: .875rem;
    color: var(--mc-text-muted, #4a5568);
}

.vida-calc-range-out {
    display: block;
    margin-top: .35rem;
    font-weight: 700;
    color: var(--brand, #0071bc);
}

.vida-calc-total-label {
    margin: 0;
    font-size: .95rem;
    color: var(--mc-text-muted, #4a5568);
}

.vida-calc-total {
    margin: .25rem 0 .75rem;
    font-size: clamp(2rem, 5vw, 2.75rem);
    font-weight: 800;
    color: var(--brand-dark, #205493);
    line-height: 1.1;
}

.vida-calc-range {
    margin: 0 0 1.25rem;
    font-size: 1rem;
}

.vida-calc-breakdown {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
    border-top: 1px solid var(--mc-border, #d6dee8);
}

.vida-calc-breakdown li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid var(--mc-border, #d6dee8);
    font-size: .95rem;
}

.vida-calc-product-title {
    font-size: 1.05rem;
    font-weight: 800;
    margin: 0 0 .35rem;
}

.vida-calc-product-lead {
    margin: 0 0 1rem;
    line-height: 1.55;
}

.vida-calc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.vida-calc-disclaimer {
    margin-top: 1rem;
}

.term-help-wrap {
    white-space: normal;
}

.term-help-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    margin-left: .15rem;
    padding: 0;
    border: 1px solid var(--brand, #0071bc);
    border-radius: 50%;
    background: var(--brand-soft, #e8f1fb);
    color: var(--brand-dark, #205493);
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
    vertical-align: middle;
}

.term-help-btn:hover,
.term-help-btn:focus {
    background: var(--brand, #0071bc);
    color: #fff;
}
