/* ============================================================
   contratar.css — /contratar y /preferencias (rama home-login, 15/10). Sobre landing.css + tema.css.
   ============================================================ */
.ct-cuenta{display:flex;align-items:center;gap:14px;margin-left:auto}
.ct-usuario{font-size:14px;color:var(--texto-2);max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-salir{background:none;border:0;padding:0;font:inherit;font-size:14px}
@media (max-width:420px){ .ct-usuario{display:none} }

/* P12 (20/10): /contratar con o sin sesión. Hasta saberlo no se muestra ninguno de los dos (sin parpadeo). */
body:not(.ct-con-sesion) .ct-solo-sesion,body:not(.ct-publico) .ct-solo-publico{display:none}
.ct-login{max-width:420px;width:calc(100% - 32px);padding:0;border:1px solid var(--borde-2);border-radius:var(--radio);background:var(--bg);color:var(--texto)}
.ct-login::backdrop{background:rgba(0,0,0,.55)}
.ct-login-caja{padding:22px 20px 18px;display:flex;flex-direction:column;gap:12px}
.ct-login h2{margin:0;font-weight:500;font-size:21px}
.ct-login p{margin:0;color:var(--texto-2);font-size:15px}
.ct-login .sf-casilla{margin:4px 0 0;max-width:none}
.ct-login .ct-google[aria-disabled="true"]{opacity:.55}
.ct-cancelar{align-self:center;background:none;border:0;padding:6px;font:inherit;font-size:14px;color:var(--texto-3);cursor:pointer}

/* aviso de estado (mismo lenguaje que la vuelta del N2, nivel-2.css) */
.aviso-pago{padding:20px 0 0}
.aviso-caja{padding:18px 20px;border-radius:var(--radio);border:1px solid var(--acento-borde);background:var(--acento-bg)}
.aviso-caja h2{margin:0 0 4px;font-weight:500;font-size:20px}
.aviso-caja p{margin:0;color:var(--texto-2)}
.aviso-caja .btn{margin-top:14px}
.aviso-pago[data-tipo=warn] .aviso-caja{border-color:rgba(242,198,109,.5);background:rgba(242,198,109,.08)}
.aviso-pago[data-tipo=error] .aviso-caja{border-color:rgba(255,138,128,.45);background:rgba(255,138,128,.08)}
html[data-theme="light"] .aviso-pago[data-tipo=warn] .aviso-caja{border-color:var(--warn-borde);background:var(--warn-bg)}
html[data-theme="light"] .aviso-pago[data-tipo=error] .aviso-caja{border-color:rgba(180,35,24,.3);background:rgba(180,35,24,.06)}

/* /preferencias */
.pf{padding:32px 0 24px}
.pf .env{max-width:640px}
.pf h1{font-weight:400;font-size:clamp(30px,7vw,42px);line-height:1.1;margin:0 0 8px}
.pf .intro{color:var(--texto-2);margin:0 0 24px}
.pf-caja{padding:20px;border-radius:var(--radio);border:1px solid var(--borde);background:var(--bg-2);margin:0 0 16px}
.pf-caja h2{font-weight:500;font-size:19px;margin:0 0 6px}
.pf-caja p{color:var(--texto-2);margin:0 0 14px;font-size:15px}
.pf-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.pf-switch span{font-size:16px}
.pf-switch input{appearance:none;-webkit-appearance:none;flex:none;width:48px;height:28px;border-radius:999px;background:var(--borde-2);position:relative;cursor:pointer;transition:background .2s;margin:0}
.pf-switch input::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.pf-switch input:checked{background:var(--acento)}
.pf-switch input:checked::after{transform:translateX(20px)}
.pf-switch input:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.pf-estado{font-size:13px;color:var(--texto-3);margin:10px 0 0;min-height:1em}
.pf-peligro{border-color:rgba(255,138,128,.3)}
.pf-peligro .btn{border-color:rgba(255,138,128,.5);color:var(--danger)}
.pf-volver{display:inline-block;margin-top:8px;color:var(--texto-2);font-size:15px}
html[data-theme="light"] .pf-caja{background:#fff;box-shadow:var(--sombra-1)}
html[data-theme="light"] .pf-switch input:checked{background:var(--acento-relleno)}
html[data-theme="light"] .pf-peligro{border-color:rgba(180,35,24,.25)}
html[data-theme="light"] .pf-peligro .btn{border-color:rgba(180,35,24,.4);color:#b42318}
