/* ==========================================================================
   Seção Planos — tabela de contratação (3 níveis)
   ========================================================================== */

.solucao-planos {
    background-color: var(--color-bg);
    padding: var(--space-section-lg) 0;
}

.solucao-planos__container {
    max-width: 1216px;
    margin: 0 auto;
    padding: 0 32px;
}

/* Header */
.solucao-planos__header {
    margin-bottom: var(--space-gap-xl);
}

.solucao-planos__badge {
    display: inline-flex;
    align-items: center;
    gap: clamp(6px, 0.5vw, 8px);
    padding: clamp(5px, 0.4vw, 6px) clamp(12px, calc(8px + 0.5vw), 16px);
    background-color: var(--color-white);
    border-radius: var(--radius-full);
    font-size: var(--hero-badge-size);
    font-weight: 500;
    color: #252B37;
    width: fit-content;
    margin-bottom: 16px;
}

.solucao-planos__badge img {
    width: clamp(14px, calc(12px + 0.25vw), 16px);
    height: clamp(14px, calc(12px + 0.25vw), 16px);
}

.solucao-planos__title {
    font-family: var(--font-heading);
    font-weight: 500;
    font-size: var(--section-title-size);
    line-height: var(--section-title-lh);
    color: #252B37;
    letter-spacing: var(--section-title-ls);
}

.solucao-planos__title strong {
    color: var(--color-primary);
    font-weight: 600;
}

.solucao-planos__subtitle {
    margin-top: 16px;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 26px;
    color: #414651;
}

/* Grid de cards */
.solucao-planos__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: stretch;
}

.solucao-planos__card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 32px;
}

.solucao-planos__card--highlight {
    border-color: var(--color-primary);
    box-shadow: 0 12px 32px rgba(171, 200, 54, 0.14);
}

.solucao-planos__tag {
    position: absolute;
    top: -13px;
    left: 32px;
    background: var(--color-primary);
    color: #000000;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    padding: 7px 14px;
    border-radius: 999px;
}

.solucao-planos__name {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 22px;
    line-height: 1.2;
    color: #252B37;
}

.solucao-planos__price {
    margin-top: 16px;
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.solucao-planos__price-value {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 34px;
    line-height: 1.1;
    color: #252B37;
}

.solucao-planos__price-period {
    font-family: var(--font-body);
    font-size: 16px;
    color: #535862;
}

.solucao-planos__setup {
    margin-top: 6px;
    font-family: var(--font-body);
    font-size: 14px;
    color: #535862;
}

.solucao-planos__features {
    list-style: none;
    margin: 24px 0;
    padding: 24px 0 0;
    border-top: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}

.solucao-planos__feature {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 22px;
    color: #414651;
}

.solucao-planos__feature img {
    flex-shrink: 0;
    margin-top: 1px;
}

/* CTA — largura total, texto centralizado e seta fixa à direita */
.solucao-planos__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: var(--color-button);
    color: #FFFFFF;
    padding: 12px 24px;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    text-decoration: none;
    transition: var(--transition-base);
}

.solucao-planos__btn svg {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    color: currentColor;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    padding: 10px;
    box-sizing: content-box;
    transition: var(--transition-base);
}

.solucao-planos__btn svg path {
    stroke: var(--color-button);
}

.solucao-planos__btn:hover {
    background: #6E7DB3;
}

/* Responsivo */
@media (max-width: 900px) {
    .solucao-planos__grid {
        grid-template-columns: 1fr;
        max-width: 460px;
        margin: 0 auto;
    }
}
