/*
 * salida.css — Las pantallas de salida de la tienda, con una sola identidad.
 *
 * Son las páginas que arman su propio <html> y no pasan por la cáscara
 * compartida (includes/store_top.php): pago.php (aprobado, pendiente, caído),
 * vincular.php, confirmar-email.php y recuperar.php. Cada una traía una copia
 * de estos estilos, y cada copia envejecía por su lado: el aprobado tenía un
 * disco naranja lleno y el caído un anillo fino, los títulos medían 22 en una
 * y 24 en otra, los links secundarios eran .ghost en unas y .links en otra.
 * Acá vive la única versión; cada página agrega, como mucho, dos reglas suyas.
 *
 * La receta: logo arriba, una tarjeta oscura con la banda base naranja al pie,
 * un ícono en anillo del color del estado, título, texto, y como mucho dos
 * botones (naranja lleno el principal, borde naranja el secundario) más una
 * fila de links de texto para lo demás. Los tokens salen de brand.css.
 */

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--surface-1,#0a0a0a);color:#e8e8e8;min-height:100vh;display:flex;flex-direction:column;padding:24px}

/* Centrado con margin:auto y no con justify-content:center: cuando la tarjeta
   es más alta que la pantalla del celular (el formulario de crear cuenta, o el
   pago aprobado con el bloque de cuenta), justify-content reparte el desborde
   para ARRIBA y abajo, y el logo quedaba recortado sin forma de llegar a él.
   margin:auto centra cuando sobra lugar y, cuando no, arranca desde arriba. */
.wrap{margin:auto;width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:26px}
.brandbar{display:flex;justify-content:center}
.brandbar img{height:30px;width:auto}

.card{position:relative;background:var(--surface-2,#141414);border:1px solid var(--line,#ffffff14);border-radius:var(--radius-lg,18px);padding:34px 28px;width:100%;overflow:hidden;text-align:center}
/* Banda base de la marca, en el pie de la tarjeta. */
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--orange)}

/* El ícono del estado: un anillo fino del color del estado, no un disco lleno.
   El disco pesaba más que el título y que el botón, que son lo que hay que
   leer y tocar. Naranja para lo bueno y lo neutro, ámbar para "pendiente" o
   "no pudimos", rojo para un pago que no salió. Mismo tamaño en todos. */
.ic{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 18px;border-radius:50%;font-size:19px;color:var(--orange);box-shadow:inset 0 0 0 2px var(--orange)}
.ic.is-warn{color:#e0a030;box-shadow:inset 0 0 0 2px #e0a030}
.ic.is-err{color:#e74c3c;box-shadow:inset 0 0 0 2px #e74c3c}

h1{font-size:24px;font-weight:800;line-height:1.2;color:#fff;margin-bottom:10px;text-wrap:balance}
p{color:var(--muted-light,#ccc);font-size:15px;line-height:1.6;margin-bottom:22px;text-wrap:pretty}
p b{color:#fff}
/* Referencia chica debajo del texto: "Pedido N° 46", "Compra OV-123". */
.ref{display:block;font-size:12px;color:var(--muted,#888);margin:-8px 0 18px;letter-spacing:.5px}

/* Formularios: las etiquetas y los campos van a la izquierda; el título y el
   texto de arriba siguen centrados como en toda pantalla de salida. */
form{text-align:left}
label{display:block;font-size:12px;font-weight:600;color:var(--muted,#888);margin:0 0 5px}
input{width:100%;background:var(--surface-3,#1a1a1a);border:1px solid var(--line,#ffffff14);color:#fff;border-radius:var(--radius-sm,8px);padding:11px 12px;font-size:16px;font-family:inherit;margin-bottom:13px;transition:border-color .15s ease,box-shadow .15s ease}
input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px #ff5c0029}
input[readonly]{color:var(--muted,#888);cursor:not-allowed}
input:disabled{opacity:.7}
.hint{font-size:11.5px;color:var(--muted,#888);margin:-8px 0 13px}
.err{color:#ffb4a8;font-size:13px;margin-bottom:12px;min-height:17px}
.ok{color:#4caf50;font-size:13px;margin-bottom:12px;min-height:17px}

/* Botones: el principal naranja lleno, el secundario con borde naranja. Una
   columna, mismo ancho, mismo alto; se apilan con 10px entre ellos. */
.btns{display:flex;flex-direction:column;gap:10px}
button,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--orange);color:var(--brand-black,#1a1a1a);border:0;border-radius:var(--radius-sm,8px);padding:13px;font-size:15px;font-weight:800;font-family:inherit;text-decoration:none;cursor:pointer;transition:filter .15s ease,transform 120ms var(--ease-out,ease-out),opacity .15s ease}
a.btn.secondary,button.secondary{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px var(--orange);white-space:nowrap}
@media (hover:hover) and (pointer:fine){button:hover:not(:disabled),a.btn:hover{filter:brightness(1.08)}}
button:active:not(:disabled),a.btn:active{transform:scale(.98)}
button:disabled{opacity:.6;cursor:default}
button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media (prefers-reduced-motion:reduce){button,a.btn{transition:none}button:active,a.btn:active{transform:none}}

/* Etiqueta dentro de un botón ("10% OFF"): paralelogramo de marca. */
.pill{display:inline-block;margin-left:4px;padding:3px 9px;font-size:10px;font-weight:800;letter-spacing:.5px;white-space:nowrap;color:var(--brand-black,#1a1a1a);background:var(--orange);clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)}
/* En un celular angosto el texto, el ícono y la etiqueta no entran en una
   línea: el ícono es lo que menos dice, y se va. */
@media (max-width:420px){a.btn.secondary{font-size:13.5px;gap:6px;padding-left:10px;padding-right:10px}a.btn.secondary i{display:none}.pill{padding:3px 7px}}

/* Las salidas secundarias como links de texto, no como una tercera fila de
   botones: dos botones ya dicen todo lo que hay que decidir. .ghost es el
   mismo link cuando va solo, debajo de un formulario. */
.links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;margin-top:18px;font-size:13px}
.links a,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--muted,#888);font-size:13px;font-weight:600;text-decoration:none;transition:color .15s ease}
.ghost{display:flex;margin-top:16px}
.links a i{color:#25d366}
@media (hover:hover){.links a:hover,.ghost:hover{color:#fff}}
.links a:focus-visible,.ghost:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}

/* Contraseñas (recuperar, terminar la cuenta). La lógica vive en password-meter.js.
   Cuatro segmentos que se llenan con el nivel; el color dice lo mismo que la
   palabra, nunca en lugar de ella. */
.pw-field{position:relative}
.pw-field input{padding-right:46px}
.pw-eye{position:absolute;right:4px;top:0;height:44px;width:40px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--muted,#888);font-size:15px;cursor:pointer;padding:0}
@media (hover:hover){.pw-eye:hover{color:#fff}}
.pw-eye:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;border-radius:6px}
.pw-meter{margin:-5px 0 14px}
.pw-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.pw-bars i{height:4px;border-radius:2px;background:var(--line,#ffffff14);transition:background-color .2s ease}
.pw-text{margin-top:6px;font-size:12px;line-height:1.45;color:var(--muted,#888)}
.pw-label{font-weight:700}
.pw-meter[data-nivel="0"] .pw-bars i:nth-child(-n+1){background:#e74c3c}
.pw-meter[data-nivel="1"] .pw-bars i:nth-child(-n+1){background:#e74c3c}
.pw-meter[data-nivel="2"] .pw-bars i:nth-child(-n+2){background:#e0a030}
.pw-meter[data-nivel="3"] .pw-bars i:nth-child(-n+3){background:#8bc34a}
.pw-meter[data-nivel="4"] .pw-bars i:nth-child(-n+4){background:#4caf50}
.pw-meter[data-nivel="0"] .pw-label,.pw-meter[data-nivel="1"] .pw-label{color:#ff8a7a}
.pw-meter[data-nivel="2"] .pw-label{color:#e0a030}
.pw-meter[data-nivel="3"] .pw-label{color:#a5d66f}
.pw-meter[data-nivel="4"] .pw-label{color:#6fcf73}
.pw-match{margin:-5px 0 14px;font-size:12px;font-weight:700;min-height:0}
.pw-match.is-ok{color:#6fcf73}
.pw-match.is-bad{color:#ff8a7a}
@media (prefers-reduced-motion:reduce){.pw-bars i{transition:none}}
.pw-eye:active{transform:none}
