/* Shared by every page that is not the booking grid. Same register as room.html: cream ground,
   navy ink, champagne metal. */
:root{
  --cream:#FAF6EF; --surface:#FFFFFF; --ink:#142E53; --ink-2:#23406B;
  --muted:#56657F; --gold:#B1925C; --gold-ink:#7A5E2E; --gold-wash:#F7F1E6;
  --line:#EDE5D8; --ease:cubic-bezier(.2,.8,.2,1); --pop:cubic-bezier(.34,1.45,.6,1);
}
*{box-sizing:border-box}
/* See the note in room.html: an author display rule beats the browser's [hidden] rule. */
[hidden]{display:none !important}
body{
  /* Two rows now - the card and the footer - so the rows are packed in the middle rather than
     stretched apart. */
  margin:0;min-height:100vh;display:grid;place-items:center;align-content:center;gap:0;padding:28px 18px;
  background:radial-gradient(1100px 420px at 50% -240px,#FFF6E4 0%,transparent 70%),var(--cream);
  color:var(--ink);font:15px/1.55 ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.card{
  width:min(430px,100%);background:var(--surface);border:1px solid var(--line);border-radius:26px;
  box-shadow:0 1px 0 #F2EADC,0 18px 42px #A0885F1F;padding:28px;
}
.card.wide{width:min(660px,100%)}
.brand{
  display:inline-block;padding:6px 11px;border:1px solid #EFE4CE;background:var(--gold-wash);
  border-radius:999px;color:var(--gold-ink);font-size:11px;font-weight:700;letter-spacing:.08em;
}
h1{font:600 26px/1.15 Georgia,"Times New Roman",serif;margin:18px 0 6px;letter-spacing:-.02em}
.sub{color:var(--muted);font-size:13px;margin:0 0 20px}
label{display:block;font-size:11.5px;font-weight:800;letter-spacing:.04em;margin:0 0 7px;color:var(--ink-2);text-transform:uppercase}
input{
  width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#FFFCF6;
  font:inherit;color:var(--ink);min-height:46px;
}
input:focus{outline:2px solid var(--gold-ink);outline-offset:1px;border-color:var(--gold)}
.field{margin-bottom:15px}
.btn{
  width:100%;min-height:48px;border-radius:16px;border:1px solid var(--ink);background:var(--ink);
  color:#fff;font:700 14px/1 inherit;cursor:pointer;transition:transform .16s var(--pop),filter .16s var(--ease);
}
.btn:hover{filter:brightness(1.14)}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.55;cursor:default}
.btn.ghost{background:#fff;color:var(--ink-2);border-color:var(--line);width:auto;padding:0 16px;min-height:40px}
.msg{
  display:none;border-radius:14px;padding:10px 12px;font-size:12.5px;margin-bottom:14px;
}
.msg.on{display:block}
.msg.bad{background:#FDF1EA;border:1px solid #F3D7C6;color:#8A3A12}
.msg.good{background:#EEF7F2;border:1px solid #CFE7DC;color:#1F6B4F}
.links{margin:18px 0 0;font-size:12.5px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
.links a{color:var(--gold-ink);font-weight:700;text-decoration:none}
.links a:hover{text-decoration:underline}
table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:13.5px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
tr.gone td{opacity:.5}
.row{display:flex;gap:10px;align-items:flex-end}
.row .field{flex:1;margin:0}

/* the WhatsApp linking step */
.qr{display:grid;place-items:center;margin:8px 0 14px}
.qr img{border:1px solid var(--line);border-radius:18px;background:#fff;padding:8px}

/* the house footer line, same two halves as ticket-intel's desk footer */
.deskfoot{
  width:min(430px,100%);margin:18px auto 0;display:flex;gap:10px;justify-content:space-between;
  flex-wrap:wrap;font-size:10.5px;letter-spacing:.09em;color:var(--muted);text-transform:uppercase;
}
.card.wide + .deskfoot{width:min(660px,100%)}
.deskfoot b{color:var(--gold-ink);font-weight:700}
