.pre-cab { text-align: center; padding: clamp(40px, 7vw, 86px) 0 30px; }
.pre-cab h1 { margin: 0 0 14px; font-family: var(--titulo); font-size: clamp(38px, 5.6vw, 66px); font-weight: 650; letter-spacing: -.04em; line-height: 1; }
.pre-cab p { margin: 0 auto; max-width: 640px; color: var(--suave); font-size: 17.5px; line-height: 1.65; }
.pre-periodo { display: inline-flex; gap: 4px; margin-top: 28px; padding: 4px; border: 1px solid var(--hilo2); border-radius: 999px; background: rgba(255, 255, 255, .03); }
.pre-periodo button { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; color: var(--suave); font-weight: 550; font-size: 14.5px; transition: color .15s, background .2s; }
.pre-periodo button small { padding: 2px 8px; border-radius: 999px; background: rgba(52, 211, 153, .14); color: var(--ok); font-size: 11.5px; font-weight: 600; }
.pre-periodo button.elegido { background: rgba(255, 255, 255, .1); color: var(--tinta); }

.pre-mio { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; padding: 18px 22px; margin: 0 auto 26px; max-width: 960px; }
.pre-mio-txt { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 3px; }
.pre-mio-txt b { font-family: var(--titulo); font-size: 18px; font-weight: 620; }
.pre-mio-txt > span { color: var(--suave); font-size: 14.5px; line-height: 1.55; }
.pre-poner { flex-basis: 100%; padding-top: 14px; border-top: 1px solid var(--hilo); }
.pre-fila { display: flex; gap: 10px; flex-wrap: wrap; }
.pre-fila select { flex: 1; min-width: 200px; }

.pre-planes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 960px; margin: 0 auto; }
.pre-plan { position: relative; display: flex; flex-direction: column; padding: 28px; transition: border-color .2s, transform .2s; }
.pre-plan:hover { transform: translateY(-2px); }
.pre-plan.elegido { border-color: rgba(var(--brillo), .7); box-shadow: 0 0 0 1px rgba(var(--brillo), .4); }
.pre-plan-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pre-plan h2 { margin: 0; font-family: var(--titulo); font-size: 26px; font-weight: 640; }
.pre-chapa { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--hilo2); font-size: 12.5px; color: var(--suave); white-space: nowrap; }
.pre-precio { margin: 18px 0 2px; display: flex; align-items: baseline; gap: 8px; }
.pre-precio b { font-family: var(--titulo); font-size: 46px; font-weight: 650; letter-spacing: -.03em; line-height: 1; }
.pre-precio > span { color: var(--suave); font-size: 15px; }
.pre-equivale { margin: 0 0 18px; color: var(--tenue); font-size: 13.5px; }
.pre-lista { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pre-lista li { position: relative; padding-left: 26px; line-height: 1.5; font-size: 14.5px; }
.pre-lista li::before { content: ""; position: absolute; left: 3px; top: 5px; width: 6px; height: 11px; border-right: 2px solid var(--ok); border-bottom: 2px solid var(--ok); transform: rotate(45deg); }
.pre-lista li.incluye { padding-left: 0; color: var(--suave); }
.pre-lista li.incluye::before { display: none; }
.pre-lista b { font-weight: 550; }
.pre-lista.larga li { display: flex; flex-direction: column; gap: 2px; }
.pre-lista.larga span { color: var(--suave); font-size: 13.5px; }
.pre-todo { margin: 16px 0 22px; border-top: 1px solid var(--hilo); padding-top: 12px; }
.pre-todo summary { display: flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; color: var(--suave); font-size: 14px; font-weight: 550; }
.pre-todo summary::-webkit-details-marker { display: none; }
.pre-todo summary::after { content: ""; width: 7px; height: 7px; margin-left: 2px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.pre-todo[open] summary::after { transform: rotate(-135deg) translateY(-1px); }
.pre-todo summary:hover { color: var(--tinta); }
.pre-todo .pre-lista { margin-top: 14px; }
.pre-elegir { margin-top: auto; width: 100%; }

.pre-pago { max-width: 640px; margin: 30px auto 0; padding: 28px; scroll-margin-top: 90px; }
.pre-pago h2 { margin: 0 0 10px; font-family: var(--titulo); font-size: 24px; font-weight: 620; }
.pre-resumen { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 16px; margin-bottom: 18px; border: 1px solid var(--hilo); border-radius: 12px; background: rgba(255, 255, 255, .02); }
.pre-resumen small { display: block; color: var(--tenue); font-size: 12.5px; }
.pre-resumen b { font-size: 16px; font-weight: 600; }
.pre-total { text-align: right; }
.pre-total b { font-family: var(--titulo); font-size: 22px; }
.pre-pago select, .pre-poner select { width: 100%; height: 46px; padding: 0 12px; border: 1px solid var(--hilo2); border-radius: 11px; background: rgba(255, 255, 255, .03); color: var(--tinta); font-size: 15px; }
.pre-pago select option, .pre-poner select option { background: #17131f; color: #fff; }
.pre-nota { margin: 10px 0 0; color: var(--suave); font-size: 14px; line-height: 1.6; }
.pre-aviso { margin: 18px 0 0; padding: 12px 14px; border-radius: 10px; background: rgba(245, 194, 107, .1); color: var(--tinta); font-size: 14px; }
.pre-aviso a { color: inherit; }
.pre-ir { width: 100%; margin-top: 22px; }
.pre-error { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: rgba(var(--peligro-brillo), .12); color: var(--peligro); font-size: 14px; }
.pre-seguro { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 14px 0 0; font-size: 13px; color: var(--tenue); text-align: center; }
.pre-seguro svg { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; }
.pre-stripe { min-height: 460px; margin-top: 14px; border-radius: 12px; overflow: hidden; }
.pre-preguntas { max-width: 760px; margin: 60px auto 0; display: flex; flex-direction: column; gap: 10px; }

html[data-tema="claro"] .pre-pago select, html[data-tema="claro"] .pre-poner select, html[data-tema="claro"] .pre-periodo { background: #fff; }
html[data-tema="claro"] .pre-pago select option, html[data-tema="claro"] .pre-poner select option { background: #fff; color: #16121f; }
html[data-tema="claro"] .pre-periodo button.elegido { background: rgba(22, 18, 31, .07); }

@media (max-width: 760px) {
    .pre-planes { grid-template-columns: minmax(0, 1fr); }
    .pre-plan, .pre-pago { padding: 22px 18px; }
}
.pre-paypal { margin-top: 10px; }
.pre-centro { text-align: center; }
