/* ═══ Acceso para siempre (plan.html) ═══
   Colores con los tokens de estilo.css; los dos propios de esta página
   (fondo y error) se redefinen para el tema oscuro al final. */
.plan-page{--pl-fondo:#F7F8F4;--pl-error:#AC3434;}
body.plan-page{background:var(--pl-fondo);}
.plan-page main{max-width:1120px;padding:64px 28px;}
.plan-page nav{min-height:76px;padding-inline:max(28px,calc((100vw - 1064px)/2));}
.plan-page nav a{font-size:12px;}
.plan-page nav .inicio-tema{display:inline-flex;}

.pl-top{display:flex;gap:10px;align-items:center;justify-content:center;color:var(--verde-osc);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0;}
.pl-top:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.pl-hero{text-align:center;max-width:760px;margin:0 auto 28px;}
.pl-hero h1{font-size:clamp(40px,5.5vw,64px);line-height:1.08;margin:20px 0;text-transform:none;letter-spacing:-.025em;color:var(--tinta);}
.pl-hero h1 span{color:var(--verde-osc);}
.pl-hero>p:last-child{font-size:15px;line-height:1.8;color:var(--acero);max-width:560px;margin:auto;}

.pl-lanzamiento{display:flex;gap:14px;align-items:flex-start;max-width:640px;margin:0 auto 8px;padding:16px 20px;border-radius:14px;background:var(--verde-tinte);color:var(--tinta);}
.pl-lanzamiento svg{flex:0 0 22px;width:22px;height:22px;margin-top:1px;fill:none;stroke:var(--verde-osc);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.pl-lanzamiento p{margin:0;font-size:13px;line-height:1.65;}
.pl-lanzamiento strong{color:var(--tinta);}

.pl-includes{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;font-size:12px;color:var(--acero);margin:26px 0 38px;}
.pl-includes span:before{content:"✓";color:var(--verde-osc);margin-right:8px;font-weight:900;}

.pl-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.pl-card{background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:30px;display:flex;flex-direction:column;position:relative;}
.pl-card.pl-paid{border:2px solid var(--verde-osc);padding:29px;}
.pl-eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-osc);margin:0 0 15px;}
.pl-card h2{font-size:27px;font-weight:500;line-height:1.2;text-transform:none;margin:0 0 12px;color:var(--tinta);}
.pl-card>p{font-size:13px;line-height:1.7;color:var(--acero);margin:0;}
.pl-price-fila{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pl-price{font:600 60px/1.1 'Oswald',sans-serif;color:var(--tinta);letter-spacing:-.025em;margin:20px 0 4px;}
.pl-price small{font:700 12px 'Inter',sans-serif;letter-spacing:0;margin-left:7px;color:var(--acero);}
.pl-chip{display:inline-block;margin-top:14px;padding:5px 11px;border-radius:999px;background:var(--verde-tinte);color:var(--verde-osc);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.pl-payment-note{font-size:12px;font-weight:700;color:var(--verde-osc);margin-bottom:22px;}
.pl-card ul{padding:0;list-style:none;display:grid;gap:13px;font-size:13px;margin:5px 0 24px;color:var(--tinta);}
.pl-card li{display:flex;gap:10px;line-height:1.5;}
.pl-card li:before{content:"✓";color:var(--verde-osc);font-weight:800;}

.pl-form{margin-top:auto;}
.pl-form label,.pl-login label{display:block;font-size:12px;font-weight:700;margin:14px 0 7px;color:var(--tinta);}
.pl-form input:not([type=radio]):not([type=checkbox]),.pl-login input{width:100%;min-height:47px;padding:11px 12px;border:1px solid var(--linea);border-radius:8px;background:var(--lienzo);color:var(--tinta);font:16px 'Inter',sans-serif;box-sizing:border-box;}
.pl-form fieldset{border:0;padding:0;margin:0 0 12px;}
.pl-form legend{font-size:12px;font-weight:700;margin-bottom:10px;color:var(--tinta);}
.pl-choices{display:flex;gap:8px;}
.pl-choices label{margin:0;flex:1;display:flex;align-items:center;gap:8px;padding:12px 10px;border:1px solid var(--linea);border-radius:8px;font-size:12px;cursor:pointer;}
.pl-choices label:has(input:checked){border-color:var(--verde-osc);background:var(--lienzo);}
.pl-choices input{accent-color:var(--verde-faru);margin:0;}

.pl-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;padding:13px 18px;border:1px solid var(--verde-faru);border-radius:8px;background:var(--verde-faru);color:#fff;font:700 13px 'Inter',sans-serif;text-decoration:none;cursor:pointer;box-sizing:border-box;text-transform:none;letter-spacing:0;box-shadow:none;}
.pl-button:hover{filter:brightness(.95);}
.pl-button.secondary{background:transparent;color:var(--tinta);border-color:var(--linea);}
.pl-button.secondary:hover{border-color:var(--tinta);filter:none;}
.pl-button:disabled{opacity:.5;cursor:not-allowed;}

.pl-small{font-size:11px;color:var(--acero);line-height:1.6;}
.pl-sep{margin:12px 0 0;}
.pl-accept{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:11px!important;line-height:1.6;margin:18px 0!important;}
.pl-accept input{accent-color:var(--verde-faru);margin-top:3px;}

.pl-session,.pl-login{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:22px 26px;margin:0 0 24px;color:var(--tinta);}
.pl-login{max-width:600px;margin:26px auto 30px;}
.pl-login h2{font-size:22px;text-transform:none;margin:0 0 7px;color:var(--tinta);}
.pl-login>p{font-size:12px;line-height:1.7;color:var(--acero);margin:0;}
.pl-login-row{display:flex;gap:9px;}
.pl-login-row input{flex:1;min-width:0;}
.pl-login-row button{width:auto;flex-shrink:0;}
.pl-session{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:26px;}
.pl-session p{margin:4px 0;font-size:13px;overflow-wrap:anywhere;}
.pl-session-acciones{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pl-session-acciones .pl-button,.pl-session>.pl-button{width:auto;min-width:160px;}

.pl-notice{max-width:640px;margin:18px auto 0;padding:14px 18px;border:1px solid var(--linea);background:var(--blanco);color:var(--tinta);border-radius:10px;font-size:12px;line-height:1.6;}
.pl-msg{font-size:12px;line-height:1.6;overflow-wrap:anywhere;margin:12px 0 0;color:var(--tinta);}
.pl-msg:empty{display:none;}
.pl-msg.error{color:var(--pl-error);}

.pl-faq{max-width:750px;margin:55px auto 15px;}
.pl-faq h2{text-transform:none;font-size:27px;margin-bottom:20px;color:var(--tinta);}
.pl-faq details{border-bottom:1px solid var(--linea);padding:17px 0;}
.pl-faq summary{font-weight:700;font-size:13px;cursor:pointer;color:var(--tinta);}
.pl-faq p{font-size:13px;line-height:1.8;color:var(--acero);}
.pl-help{text-align:center;font-size:12px;color:var(--acero);margin-top:30px;}
.pl-help a{color:var(--verde-osc);}

.plan-page :is(input,button,a,summary):focus-visible{outline:3px solid var(--verde-osc);outline-offset:4px;}
.plan-page [hidden]{display:none!important;}

/* ── Paso a paso (01/10/2026) ── */
.pl-pasos{list-style:none;display:flex;justify-content:center;gap:8px;margin:0 auto 34px;padding:0;max-width:560px;counter-reset:paso;}
.pl-pasos li{counter-increment:paso;flex:1;display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;color:var(--acero);letter-spacing:.02em;}
.pl-pasos li:before{content:"";height:3px;border-radius:3px;background:var(--linea);}
.pl-pasos li.hecho:before,.pl-pasos li.actual:before{background:var(--verde-osc);}
.pl-pasos li.actual{color:var(--tinta);}
.pl-paso{animation:plEntra .25s ease-out;}
@keyframes plEntra{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.pl-paso{animation:none;}}
.pl-hero-chico h1{font-size:clamp(34px,4.5vw,52px);}

.pl-galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:34px 0 8px;}
.pl-galeria figure{margin:0;display:flex;flex-direction:column;gap:14px;}
/* El marco imita un celular: es un objeto, va oscuro en los dos temas. */
.pl-tel{border:7px solid #141614;border-radius:30px;overflow:hidden;background:#141614;box-shadow:0 18px 40px -22px rgba(0,0,0,.45);aspect-ratio:540/1000;}
.pl-tel img{display:block;width:100%;height:auto;}
.pl-galeria figcaption{font-size:12px;line-height:1.6;color:var(--acero);}
.pl-galeria figcaption strong{display:block;font-size:14px;color:var(--tinta);margin-bottom:2px;}

.pl-acciones{display:flex;justify-content:center;margin:30px 0 0;}
.pl-button.pl-grande{width:auto;min-width:260px;min-height:54px;font-size:15px;padding:15px 30px;}
.pl-caja .pl-button.pl-grande{width:100%;}
.pl-volver,.pl-link{background:none;border:0;padding:6px;font:700 13px 'Inter',sans-serif;color:var(--acero);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.pl-volver:hover,.pl-link:hover{color:var(--tinta);}

.pl-opciones{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin:10px auto 0;}
.pl-opcion{position:relative;text-align:left;display:flex;flex-direction:column;gap:8px;padding:28px 56px 28px 26px;border:1.5px solid var(--linea);border-radius:16px;background:var(--blanco);color:var(--tinta);cursor:pointer;font-family:'Inter',sans-serif;transition:border-color .15s,transform .15s;}
.pl-opcion:hover{border-color:var(--verde-osc);transform:translateY(-2px);}
.pl-opcion-titulo{font:600 24px/1.15 'Oswald',sans-serif;letter-spacing:-.01em;}
.pl-opcion-sub{font-size:13px;line-height:1.6;color:var(--acero);}
.pl-opcion-flecha{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--verde-osc);}

.pl-caja{background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:30px;max-width:600px;margin:0 auto 18px;color:var(--tinta);}
.pl-caja h2{font-size:30px;font-weight:500;line-height:1.15;text-transform:none;margin:0 0 10px;color:var(--tinta);}
.pl-caja>p{font-size:13px;line-height:1.7;color:var(--acero);margin:0;}
.pl-caja>p.pl-eyebrow{color:var(--verde-osc);font-size:10px;margin:0 0 12px;}
.pl-caja .btn-google{width:100%;}
.pl-caja .pl-form{margin-top:20px;}
.pl-codigo .pl-small{margin:12px 0 0;}
.pl-codigo #plCode{letter-spacing:.3em;font-variant-numeric:tabular-nums;}
.pl-caja.pl-paid{border:2px solid var(--verde-osc);}
.pl-o{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--acero);font-size:11px;}
.pl-o:before,.pl-o:after{content:"";flex:1;height:1px;background:var(--linea);}
.pl-lista{padding:0;list-style:none;display:grid;gap:11px;font-size:13px;margin:20px 0 24px;}
.pl-lista li{display:flex;gap:10px;}
.pl-lista li:before{content:"✓";color:var(--verde-osc);font-weight:800;}
.pl-ayuda-cliente{margin-top:18px;padding-top:18px;border-top:1px solid var(--linea);}
.pl-ayuda-cliente p{font-size:12px;line-height:1.7;color:var(--acero);margin:0 0 12px;}
.pl-ayuda-cliente a{color:var(--verde-osc);}
.pl-olvide{margin:16px 0 0;text-align:center;}
.pl-recuperar h3{font-size:18px;margin:0 0 6px;color:var(--tinta);}
.pl-rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
.pl-recuperar .pl-rec-grid + .pl-small{margin:10px 0 16px;}
.pl-recuperar .pl-ayuda-cliente{font-size:12px;line-height:1.7;color:var(--acero);}
.pl-recuperar > .pl-link{display:block;margin:10px auto 0;}
.pl-cuenta-linea{text-align:center;font-size:12px;color:var(--acero);margin:6px 0 0;overflow-wrap:anywhere;}
.pl-listo{text-align:center;}
.pl-listo-icono{width:62px;height:62px;border-radius:50%;margin:4px auto 18px;display:grid;place-items:center;background:var(--verde-tinte);}
.pl-listo-icono svg{width:30px;height:30px;fill:none;stroke:var(--verde-osc);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.pl-listo p{margin-bottom:22px!important;}

html[data-tema="oscuro"] .plan-page{--pl-fondo:var(--lienzo);--pl-error:#FFA0A0;}

@media (max-width:680px){
  .plan-page main{padding:38px 16px;}
  .plan-page nav{padding:10px 16px;min-height:64px;gap:10px;}
  .plan-page nav a.tienda{display:none;}
  .pl-grid{grid-template-columns:1fr;}
  .pl-rec-grid{grid-template-columns:1fr;}
  .pl-card{padding:23px;}
  .pl-card.pl-paid{padding:22px;}
  .pl-login{padding:20px;}
  .pl-login-row{flex-direction:column;}
  .pl-login-row button{width:100%;}
  .pl-session{align-items:stretch;flex-direction:column;}
  .pl-session-acciones .pl-button,.pl-session>.pl-button{width:100%;}
  .pl-hero h1{font-size:40px;}
  .pl-price{font-size:54px;}
  .pl-includes{gap:12px 18px;}
  .pl-choices label{padding:12px 8px;}
  .pl-pasos{margin-bottom:26px;}
  .pl-galeria{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:26px -16px 4px;padding:0 16px 10px;}
  .pl-galeria figure{flex:0 0 62%;scroll-snap-align:center;}
  .pl-opciones{grid-template-columns:1fr;}
  .pl-caja{padding:22px;}
  .pl-caja h2{font-size:26px;}
  .pl-button.pl-grande{width:100%;min-width:0;}
}
