.planes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 420px));
    justify-content: center;
    gap: 1.6rem;
    align-items: start;
}

.plan-card {
    position: relative;
    background: var(--superficie);
    border: 1px solid var(--borde);
    border-radius: var(--radio-grande);
    padding: 2rem 1.8rem;
    box-shadow: var(--sombra-card);
}

.plan-destacado { border: 2px solid var(--c-coral); }

.plan-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--c-coral);
    color: var(--c-blanco);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-radius: 999px;
    padding: .3rem .9rem;
    white-space: nowrap;
}

.plan-nombre { font-size: 1.15rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }

.plan-precio { margin-top: .4rem; color: var(--texto-suave); }
.plan-precio strong { font-size: 2rem; font-weight: 800; color: var(--texto); }

.plan-sucursal { font-size: .85rem; color: var(--texto-tenue); margin-top: .15rem; }

.plan-incluye { margin-top: 1.1rem; font-size: .9rem; font-weight: 700; }

.plan-lista { list-style: none; margin-top: 1rem; display: grid; gap: .5rem; }
.plan-lista li { display: flex; align-items: flex-start; gap: .55rem; font-size: .92rem; }
.plan-lista .icono-check { color: var(--c-exito); margin-top: .2rem; }

.plan-cta { width: 100%; margin-top: 1.5rem; }

.addons-titulo { text-align: center; font-size: 1.15rem; font-weight: 700; margin-top: 2.6rem; }

.addons-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.1rem;
    margin-top: 1.3rem;
}

.addon-card {
    position: relative;
    overflow: hidden;
    background: var(--superficie);
    border: 1px solid var(--borde);
    border-radius: var(--radio);
    padding: 1.2rem 1.1rem;
}

.addon-cinta {
    position: absolute;
    top: 26px;
    right: -46px;
    width: 168px;
    transform: rotate(45deg);
    text-align: center;
    background: var(--c-coral);
    color: var(--c-blanco);
    font-size: .56rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .26rem 0;
    white-space: nowrap;
    box-shadow: 0 4px 10px -4px rgba(232, 85, 85, .6);
}

.addon-nombre { font-size: .98rem; font-weight: 700; }
.addon-precio { font-size: .85rem; font-weight: 700; color: var(--c-coral); margin-top: .25rem; }
.addon-texto { font-size: .85rem; color: var(--texto-suave); margin-top: .45rem; }

@media (max-width: 991.98px) {
    .planes-grid { grid-template-columns: minmax(0, 460px); }
    .addons-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 575.98px) {
    .addons-grid { grid-template-columns: 1fr; }
}
