/* ARSIS · estilos base del sitio */
:root {
  --noche: #0E0C0D;
  --noche-2: #0A0909;
  --superficie: #141011;
  --superficie-2: #1B1618;
  --borde: #2E2629;
  --borde-2: #3A3033;
  --marfil: #F4EEE6;
  --texto: #EDE4DA;
  --texto-2: #C9BEB5;
  --tenue: #9D928A;
  --vino: #7A1F2E;
  --vino-2: #A8283D;
  --ok: #8FC79A;
  --error: #E58A8A;
  --oro: linear-gradient(115deg, #9A7430 0%, #EBC878 32%, #FFF5D2 48%, #C89B46 66%, #8A6624 100%);
  --display: 'Cormorant Garamond', Georgia, serif;
  --cuerpo: 'Newsreader', Georgia, serif;
  --ui: 'Jost', system-ui, sans-serif;
  --ancho: 1280px;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--noche); color: var(--texto); font-family: var(--cuerpo); font-size: 18px; line-height: 1.55; }
img { max-width: 100%; display: block; }
a { color: var(--texto); text-decoration: none; }
a:hover { color: #fff; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .35; cursor: default; }
:focus-visible { outline: 2px solid var(--vino-2); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.oro { background: var(--oro); -webkit-background-clip: text; background-clip: text; color: transparent; }
.eyebrow { font-family: var(--ui); font-size: 13px; letter-spacing: .32em; text-transform: uppercase; color: var(--texto-2); }
.contenedor { width: min(var(--ancho), 100% - 32px); margin-inline: auto; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 24px; border-radius: 2px; border: 1px solid transparent; font-family: var(--ui); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.btn-vino { background: var(--vino); color: var(--marfil); }
.btn-vino:hover { background: #8C2837; color: #fff; }
.btn-linea { border-color: var(--borde-2); background: transparent; color: var(--texto-2); }
.btn-linea:hover { border-color: var(--texto-2); color: var(--marfil); }
.btn-claro { background: var(--texto); color: var(--noche); }
.btn-peligro { border-color: #5A2530; background: transparent; color: var(--error); }

.campo { display: flex; flex-direction: column; gap: 8px; }
.campo label { font-family: var(--ui); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #B3A89F; }
.entrada { height: 48px; border: 1px solid var(--borde-2); border-radius: 2px; background: #0F0D0E; color: var(--texto); padding: 0 14px; font-family: var(--ui); font-size: 15px; width: 100%; }
.entrada::placeholder { color: #6F6560; }

.tarjeta { background: var(--superficie); border: 1px solid var(--borde); border-radius: 4px; }
.aviso { font-family: var(--ui); font-size: 14px; min-height: 20px; }
.aviso.ok { color: var(--ok); }
.aviso.error { color: var(--error); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
