/* Full Moon gift vouchers. Loaded after fm.css + fmv2.css, reuses their tokens. */
.gv-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,3vw,34px);align-items:start}
.gv-preview-col{position:sticky;top:96px}
@media(max-width:880px){.gv-grid{grid-template-columns:1fr}.gv-preview-col{position:static}}

.gv-card{position:relative;border-radius:20px;padding:clamp(22px,3.4vw,30px);overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0%,rgba(210,174,129,.16),transparent 55%),linear-gradient(160deg,#1a1814,#0f0f0f 70%);
  border:1px solid var(--gold-dim);box-shadow:0 30px 70px -30px rgba(0,0,0,.9),inset 0 0 0 6px rgba(14,14,14,.6),inset 0 0 0 7px rgba(210,174,129,.28)}
.gv-logo{width:min(210px,62%);height:auto;display:block;margin-bottom:14px}
.gv-kicker{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.gv-amount{font-family:'Cinzel',serif;font-weight:700;font-size:clamp(3rem,8vw,4.4rem);line-height:1.05;margin:6px 0 16px;
  background:linear-gradient(105deg,var(--gold) 15%,var(--gold-soft) 55%,#fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.gv-line{display:flex;align-items:baseline;gap:12px;margin:4px 0;min-width:0}
.gv-line span{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);width:44px;flex:none}
.gv-line b{font-family:'Cinzel',serif;font-weight:600;font-size:1.05rem;color:var(--ink);overflow-wrap:anywhere}
.gv-msg{margin-top:12px;font-style:italic;font-weight:300;color:var(--ink-soft);font-size:.95rem;overflow-wrap:anywhere}
.gv-code{margin-top:18px;font-family:'Cinzel',serif;font-weight:600;letter-spacing:.16em;color:var(--gold-soft);font-size:.95rem}
.gv-preview-note{margin-top:14px;font-size:.8rem;color:var(--ink-mute);text-align:center}

.gv-amounts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
@media(max-width:520px){.gv-amounts{grid-template-columns:repeat(3,1fr)}}
.gv-amt{font:600 1.05rem/1 'Cinzel',serif;color:var(--ink);background:rgba(255,255,255,.035);border:1px solid var(--hair-soft);
  border-radius:14px;padding:18px 4px;cursor:pointer;transition:border-color .25s,background .25s,transform .25s;-webkit-tap-highlight-color:transparent}
.gv-amt:hover{transform:translateY(-2px);border-color:var(--gold-dim)}
.gv-amt.sel{border-color:var(--gold);background:rgba(210,174,129,.12);color:var(--gold-soft);box-shadow:0 0 0 1px var(--gold)}
.gv-form .q-kicker{text-align:left}
.gv-error{margin:6px 0 10px;padding:10px 14px;border-radius:12px;font-size:.88rem;color:#f3c0b0;background:rgba(200,80,60,.12);border:1px solid rgba(200,80,60,.35)}
.gv-cancel{padding:14px 18px;margin-bottom:18px;text-align:center;color:var(--ink-soft);font-size:.92rem}
.gv-terms{margin:14px 0 0 18px;color:var(--ink-soft);font-weight:300;font-size:.94rem}
.gv-terms li{margin:6px 0}

/* thanks page */
.gv-card-final{max-width:720px;margin:0 auto}
.gv-final-top{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start}
@media(max-width:600px){.gv-final-top{grid-template-columns:1fr}.gv-qr-wrap{justify-self:center}}
.gv-qr-wrap{text-align:center}
.gv-qr{width:170px;height:170px;background:#F4EFE7;border-radius:10px;padding:8px}
.gv-qr svg{width:100%;height:100%;display:block}
.gv-qr-wrap .gv-code{margin-top:12px;font-size:.9rem}
.gv-expiry{margin-top:18px;padding-top:14px;border-top:1px solid var(--hair);font-size:.82rem;color:var(--ink-mute)}
.gvt-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
@media print{
  .topbar,.mobile-nav,footer,.gvt-actions,.page-hero,.bg-moon,.grain,[data-chat],.form-note{display:none!important}
  body{background:#0E0E0E;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* voucher checker */
.vc-row{display:flex;gap:10px}
.vc-row input{flex:1;min-width:0;letter-spacing:.08em;text-transform:uppercase}
#vc-key{text-transform:none;letter-spacing:normal}
.vc-row .btn{flex:none;padding:.8em 1.4em}
.vc-result{margin-top:18px}
.vc-status{border-radius:18px;padding:clamp(20px,3.4vw,28px);border:1px solid var(--hair-soft);background:rgba(255,255,255,.03)}
.vc-status.ok{border-color:rgba(110,190,130,.5);background:rgba(110,190,130,.07)}
.vc-status.no{border-color:rgba(200,80,60,.45);background:rgba(200,80,60,.07)}
.vc-badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:.45em 1em;border-radius:999px;margin-bottom:10px}
.vc-status.ok .vc-badge{background:rgba(110,190,130,.18);color:#a8e2b8}
.vc-status.no .vc-badge{background:rgba(200,80,60,.18);color:#f3c0b0}
.vc-big{font-family:'Cinzel',serif;font-weight:700;font-size:clamp(2rem,6vw,2.8rem);color:var(--gold-soft);line-height:1.1}
.vc-sub{color:var(--ink-soft);font-size:.92rem;margin-top:4px}
.vc-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin-top:16px;font-size:.9rem}
.vc-dl dt{color:var(--ink-mute)}
.vc-dl dd{color:var(--ink);overflow-wrap:anywhere}
.vc-log{margin-top:14px;font-size:.85rem;color:var(--ink-soft)}
.vc-log li{margin:4px 0 4px 18px}
.vc-confirm{margin-top:14px;padding:14px;border-radius:14px;border:1px solid var(--gold-dim);background:rgba(210,174,129,.08)}
.vc-confirm-text{margin-bottom:12px;color:var(--ink)}
.vc-staff-login{margin-top:26px;text-align:center;font-size:.85rem;color:var(--ink-mute)}
.vc-staff-form{text-align:left}
.vc-link{background:none;border:0;color:var(--gold);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}

/* the site wide floating dock falls back to concept copy on pages without #book, keep it off voucher pages */
.gv-page .fm-dock{display:none!important}

/* $1 staff test voucher, only rendered on signed in staff devices with ?test=1 */
.gv-amt-test{border-style:dashed;color:var(--ink-soft)}
.gv-test-note{margin-top:10px;font-size:.8rem;color:var(--gold-soft);border:1px dashed var(--gold-dim);border-radius:12px;padding:10px 12px}

/* Voucher applied, on the brief / quote form (home + Visit pages) */
.gv-applied{display:flex;align-items:flex-start;gap:14px;margin:0 0 22px;padding:16px 18px;border-radius:16px;text-align:left;
  background:linear-gradient(135deg,rgba(210,174,129,.22),rgba(230,204,166,.08) 60%,rgba(210,174,129,.16));
  border:1px solid var(--gold);box-shadow:0 0 0 1px rgba(210,174,129,.25),0 18px 40px -22px rgba(210,174,129,.8)}
.gv-applied-mark{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(120deg,var(--gold),var(--gold-soft));color:#15110B;font-size:1rem}
.gv-applied-body{flex:1;min-width:0}
.gv-applied-title{font-family:'Cinzel',serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;
  background:linear-gradient(105deg,var(--gold) 15%,var(--gold-soft) 60%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.gv-applied-line{font-family:'Cinzel',serif;font-weight:700;color:var(--ink);font-size:1.15rem;margin-top:2px}
.gv-applied-code{font-family:'Cinzel',serif;font-weight:600;color:var(--gold-soft);font-size:.8rem;letter-spacing:.12em;white-space:nowrap;margin-top:2px}
.gv-applied-note{font-size:.82rem;color:var(--ink-soft);margin-top:4px;font-weight:300}
.gv-applied-remove{flex:none;background:none;border:0;color:var(--ink-mute);font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:2px}
.gv-applied-off{background:rgba(255,255,255,.03);border-color:var(--hair);box-shadow:none;color:var(--ink-soft);font-size:.9rem}
.gv-add{margin:4px 0 14px;text-align:left}
.gv-add-link{background:none;border:0;padding:0;color:var(--gold);font:inherit;font-size:.86rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.gv-add-row{display:flex;gap:10px;margin-top:8px}
.gv-add-row input{flex:1;min-width:0;font:400 1rem/1.45 'Work Sans',sans-serif;color:var(--ink);background:rgba(255,255,255,.04);
  border:1px solid var(--hair-soft);border-radius:12px;padding:.8em 1em;letter-spacing:.06em;text-transform:uppercase;outline:none}
.gv-add-row input:focus{border-color:var(--gold)}
.gv-add-row .btn{flex:none;padding:.75em 1.3em}
.gv-add-msg{margin-top:8px;font-size:.84rem;color:#f3c0b0}
.gv-book{margin-top:16px}
@media(max-width:420px){.gv-applied{padding:14px;gap:10px}.gv-applied-mark{width:28px;height:28px;font-size:.85rem}.gv-applied-title{font-size:.85rem}}
/* staff tools */
.vc-admin{margin-top:22px}
.vc-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.vc-tab{font:600 .72rem/1 'Work Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);background:rgba(255,255,255,.035);
  border:1px solid var(--hair-soft);border-radius:999px;padding:.95em 1.4em;cursor:pointer}
.vc-tab.sel{color:var(--gold-soft);border-color:var(--gold);background:rgba(210,174,129,.12)}
.vc-pane{padding:clamp(18px,3vw,26px)}
.vc-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.vc-sum{color:var(--ink-soft);font-size:.9rem}
.vc-sum b{color:var(--ink)}
#vc-filter{background:rgba(255,255,255,.05);color:var(--ink);border:1px solid var(--hair-soft);border-radius:10px;padding:.55em .8em;font:inherit;font-size:.88rem}
.vc-list{display:flex;flex-direction:column;gap:8px}
.vc-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;text-align:left;width:100%;cursor:pointer;
  background:rgba(255,255,255,.03);border:1px solid var(--hair-soft);border-radius:14px;padding:12px 14px;color:var(--ink);font:inherit}
.vc-item:hover{border-color:var(--gold-dim)}
.vc-i-main{min-width:0}
.vc-i-main b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vc-i-main span,.vc-i-money span{display:block;font-size:.78rem;color:var(--ink-mute);overflow-wrap:anywhere}
.vc-i-money{text-align:right}
.vc-i-st{font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.4em .8em;border-radius:999px;white-space:nowrap}
.vc-i-st.ok{color:#bfe6c8;background:rgba(110,190,130,.14)}
.vc-i-st.no{color:#f3c0b0;background:rgba(200,80,60,.12)}
@media(max-width:520px){.vc-item{grid-template-columns:minmax(0,1fr) auto}.vc-i-st{grid-column:1/-1;justify-self:start}}
.vc-check{display:flex;gap:10px;align-items:center;margin:4px 0 14px;color:var(--ink-soft);font-size:.9rem;cursor:pointer}
.vc-badge.vc-test{color:#1a1a1a;background:var(--gold)}
.vc-actions{margin-top:14px;font-size:.88rem;color:var(--ink-mute)}
.vc-made-top{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}
.vc-made-top .gv-qr{width:140px;height:140px}
@media(max-width:520px){.vc-made-top{grid-template-columns:1fr}}
/* a hidden button or panel stays hidden even when .btn sets display */
.gv-page [hidden]{display:none!important}
.vc-help{text-decoration:none;margin-left:auto}
.vc-guide{margin-left:14px}
