/* ════════════════════════════════════════════════════════════
   La Fábrica · sistema visual (B&W industrial)
   Negro/blanco dominante · amarillo solo para CTA · planos, sin degradados.
   ════════════════════════════════════════════════════════════ */
:root{
  --black:#000000; --white:#FFFFFF;
  --yellow:#FFE600;                 /* CTA / entradas */
  --red:#E22B2B; --mint:#7DD184; --blue:#3B4CC4; --gray:#B7B7B7;
  --bg:var(--black); --ink:var(--white); --muted:var(--gray);
  --panel:#0d0d0d; --panel-2:#161616;
  --line:rgba(255,255,255,.16); --line-2:rgba(255,255,255,.30);
  --f-head:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --f-body:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --maxw:960px; --radius:16px; --radius-sm:12px; --touch:48px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-weight:500;
  line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:800;text-transform:uppercase;
  letter-spacing:-.01em;line-height:1;margin:0}
.disp{font-family:var(--f-head);font-weight:800;text-transform:uppercase}
.up{text-transform:uppercase}
::selection{background:var(--yellow);color:var(--black)}

/* ── bloque modular (los "botones de Linktree" bien hechos + marcos) ── */
.block{background:var(--white);color:var(--black);border-radius:var(--radius);
  border:2px solid var(--black);overflow:hidden}
.block--onblack{background:var(--panel);color:var(--white);border-color:var(--white)}

/* ── botón de link (IG / WhatsApp / ubicación) ── */
.link-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  min-height:var(--touch);padding:14px 18px;border-radius:14px;border:2px solid var(--white);
  background:transparent;color:var(--white);font-family:var(--f-head);font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;font-size:.9rem;transition:transform .1s,background .15s,color .15s}
.link-btn:hover{background:var(--white);color:var(--black)}
.link-btn:active{transform:translateY(1px)}
.link-btn svg{width:20px;height:20px;flex:none}
.link-btn .arrow{opacity:.6}

/* ── CTA de entradas (amarillo, único acento fuerte) ── */
.btn-ticket{display:flex;width:100%;min-height:var(--touch);align-items:center;justify-content:center;
  gap:10px;background:var(--yellow);color:var(--black);border:none;border-radius:12px;
  font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;
  transition:transform .1s,filter .15s}
.btn-ticket:hover{filter:brightness(1.05)}
.btn-ticket:active{transform:translateY(1px)}
.btn-ticket.is-off{background:var(--gray);color:#1a1a1a;pointer-events:none}

/* ── chips / badges ── */
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-head);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;padding:5px 9px;border-radius:6px;
  background:var(--black);color:var(--white);border:1px solid var(--line-2)}
.badge-date{background:var(--yellow);color:var(--black);border:none}
.badge-agotado{background:var(--red);color:var(--white);border:none}

/* ── inputs base (admin) ── */
.input,.select,.textarea{width:100%;min-height:var(--touch);padding:12px 14px;border-radius:10px;
  border:2px solid var(--line-2);background:var(--panel-2);color:var(--white);font-family:var(--f-body);
  font-size:1rem;font-weight:500}
.textarea{min-height:96px;padding-top:12px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--white)}
.input[aria-invalid="true"],.select[aria-invalid="true"],.textarea[aria-invalid="true"]{border-color:var(--red)}
.label{display:block;font-family:var(--f-head);font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;font-size:.68rem;color:var(--muted);margin:0 0 6px}
.field{margin-bottom:16px}
.field__error{display:none;color:var(--red);font-size:.78rem;margin-top:6px;font-weight:600}
.field.invalid .field__error{display:block}

/* ── utilidades ── */
.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}
.roof{display:block;width:100%;height:26px;color:var(--line-2)}
