/* Lapin Cherry shop - event page, order page, team screen. On top of /assets/lc.css (tokens: --bg --ink --pink --panel
   --line --f-mono ...) and /shared/booking.css (chrome, buttons, pills). Day = cream + cobalt, night = the blue room.
   States never rely on colour alone (a word on every pill). Lowercase, hyphen only. */
.sh-main{ outline:none; min-height:60vh; padding-bottom:clamp(48px,9vh,110px); }
.sh-hero{ padding-top:clamp(34px,7vh,84px); padding-bottom:clamp(20px,4vh,40px); position:relative; }
.sh-hero .eyebrow{ margin-bottom:20px; flex-wrap:wrap; }
.sh-h1{ margin:0; font-size:clamp(44px,8.4vw,112px); line-height:.9; letter-spacing:-.045em; font-weight:700; max-width:11ch; color:var(--ink); }
.sh-lede{ margin:22px 0 0; max-width:620px; font-size:clamp(18px,2.1vw,23px); line-height:1.35; color:var(--ink); }
.sh-date{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.sh-chip{ display:inline-flex; align-items:center; gap:8px; border-radius:999px; padding:9px 15px; font-family:var(--f-mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  background:var(--panel); box-shadow:inset 0 0 0 1px var(--line-strong); color:var(--ink); }
.sh-chip.pink{ background:var(--pink); color:#0013de; box-shadow:none; }
.sh-ghost{ position:absolute; right:clamp(8px,4vw,60px); top:clamp(28px,6vh,70px); width:clamp(110px,18vw,230px); opacity:.9; color:var(--ink); pointer-events:none; }
.sh-ghost svg{ width:100%; height:auto; --mk-fruit:var(--pink); }
@media (max-width:720px){ .sh-ghost{ width:84px; top:18px; opacity:.55; } }

.sh-grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(18px,3vw,40px); align-items:start; }
@media (max-width:900px){ .sh-grid{ grid-template-columns:1fr; } }
.sh-card{ background:var(--panel); border-radius:22px; padding:clamp(20px,3vw,32px); box-shadow:inset 0 0 0 1px var(--line); }
.sh-card h2,.sh-h2{ margin:0 0 16px; font-size:clamp(22px,2.6vw,30px); letter-spacing:-.03em; line-height:1.05; color:var(--ink); }
.sh-step{ font-family:var(--f-mono); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin:0 0 10px; display:block; }
.sh-sec + .sh-sec{ margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }

/* sittings */
.sh-sits{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; }
.sh-sit{ position:relative; text-align:left; border:0; cursor:pointer; border-radius:16px; padding:16px 16px 14px; background:var(--bg); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line-strong);
  font:inherit; transition:box-shadow .25s,transform .35s var(--spring),background-color .25s; }
.sh-sit:hover{ transform:translateY(-2px); }
.sh-sit[aria-pressed="true"]{ background:var(--ink); color:var(--bg); box-shadow:none; }
.sh-sit[aria-pressed="true"] .sh-sitn{ color:var(--bg); opacity:.82; }
.sh-sit:disabled{ cursor:default; transform:none; opacity:1; background-image:repeating-linear-gradient(45deg,var(--line) 0 1px,transparent 1px 6px); }
.sh-sitt{ display:block; font-size:28px; font-weight:700; letter-spacing:-.03em; line-height:1; }
.sh-sitn{ display:block; margin-top:8px; font-family:var(--f-mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }

/* steppers */
.sh-rows{ display:grid; gap:10px; }
.sh-row{ display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:16px; background:var(--bg); box-shadow:inset 0 0 0 1px var(--line); }
.sh-row b{ font-size:19px; letter-spacing:-.02em; color:var(--ink); }
.sh-row .sh-price{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; margin-top:3px; display:block; }
.sh-row .sh-lab{ flex:1; min-width:0; }
.sh-stp{ display:inline-flex; align-items:center; gap:4px; border-radius:999px; box-shadow:inset 0 0 0 1px var(--line-strong); padding:4px; }
.sh-stp button{ width:38px; height:38px; border-radius:50%; border:0; background:transparent; color:var(--ink); font-size:20px; cursor:pointer; line-height:1; }
.sh-stp button:hover:not(:disabled){ background:var(--pink); color:#0013de; }
.sh-stp button:disabled{ opacity:.3; cursor:default; }
.sh-stp output{ min-width:26px; text-align:center; font-weight:700; font-size:18px; color:var(--ink); }

/* form */
.sh-f{ display:grid; gap:12px; }
.sh-f label{ display:grid; gap:6px; font-family:var(--f-mono); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.sh-f input[type=text],.sh-f input[type=email],.sh-f input[type=tel]{ font:inherit; font-family:var(--f-sans); font-size:17px; text-transform:none; letter-spacing:0; color:var(--ink);
  background:var(--bg); border:0; border-radius:14px; padding:14px 16px; box-shadow:inset 0 0 0 1px var(--line-strong); outline:none; }
.sh-f input:focus-visible{ box-shadow:inset 0 0 0 2px var(--ink); }
.sh-two{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:560px){ .sh-two{ grid-template-columns:1fr; } }
.sh-check{ display:flex !important; grid-template-columns:none; align-items:flex-start; gap:12px !important; text-transform:none !important; letter-spacing:0 !important; font-family:var(--f-sans) !important;
  font-size:15px !important; color:var(--ink) !important; line-height:1.4; cursor:pointer; }
.sh-check input{ width:20px; height:20px; margin:1px 0 0; accent-color:var(--ink); flex:none; }
.sh-legal{ margin:0; font-size:13px; line-height:1.45; color:var(--muted); }
.sh-err{ margin:0; color:var(--err); font-weight:600; font-size:15px; min-height:1.2em; }
.sh-hide{ display:none !important; }

/* summary (sticky on desktop) */
.sh-sum{ position:sticky; top:calc(var(--hdr) + 18px); background:var(--card); color:var(--card-ink); border-radius:22px; padding:clamp(20px,3vw,30px);
  box-shadow:0 26px 60px -26px rgba(0,19,222,.6); }
.sh-sum h2{ color:var(--card-ink); }
.sh-sum .sh-step{ color:var(--card-muted); }
.sh-suml{ display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--card-line); font-size:16px; }
.sh-suml span:last-child{ font-family:var(--f-mono); letter-spacing:.06em; }
.sh-sumt{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:16px 0 4px; }
.sh-sumt b{ font-size:clamp(34px,4vw,46px); letter-spacing:-.04em; line-height:1; }
.sh-sum .btn{ width:100%; margin-top:18px; background:var(--pink); color:#0013de; border-color:var(--pink); }
.sh-sum .btn:hover:not(:disabled){ background:var(--card-ink); color:var(--card); border-color:var(--card-ink); }
.sh-sum .sh-legal{ color:var(--card-muted); margin-top:12px; }
.sh-sum .sh-err{ color:var(--pink); margin-top:10px; }
@media (max-width:900px){ .sh-sum{ position:static; } }

.sh-gets{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(12px,2vw,20px); margin-top:clamp(20px,4vh,36px); }
@media (max-width:720px){ .sh-gets{ grid-template-columns:1fr; } }
.sh-get{ border-radius:22px; padding:clamp(20px,3vw,28px); background:var(--pink); color:#0013de; }
.sh-get:nth-child(2){ background:var(--panel); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line); }
.sh-get p{ margin:0; font-size:17px; line-height:1.45; white-space:pre-line; }
.sh-get .sh-step{ color:inherit; opacity:.75; }
.sh-where{ margin-top:clamp(16px,3vh,24px); display:flex; flex-wrap:wrap; gap:8px 22px; align-items:baseline; font-size:16px; color:var(--ink); }

.sh-watch{ display:grid; gap:12px; margin-top:6px; }
.sh-watch .sh-inline{ display:flex; gap:10px; flex-wrap:wrap; }
.sh-watch .sh-inline input{ flex:1 1 220px; }

/* order page */
.sh-status{ margin-left:auto; }
.sh-pay{ display:grid; grid-template-columns:minmax(220px,300px) 1fr; gap:clamp(18px,3vw,36px); align-items:center; }
@media (max-width:720px){ .sh-pay{ grid-template-columns:1fr; } }
.sh-qr{ background:#f8f1e6; border-radius:22px; padding:14px; box-shadow:inset 0 0 0 1px rgba(0,19,222,.2); }
.sh-qr svg{ display:block; width:100%; height:auto; }
.sh-kv{ display:grid; gap:2px; }
.sh-kvr{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }
.sh-kvr .k{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.sh-kvr .v{ font-size:18px; font-weight:600; letter-spacing:-.01em; color:var(--ink); text-align:right; word-break:break-all; }
.sh-copy{ border:0; background:none; cursor:pointer; color:var(--ink); padding:6px; border-radius:8px; }
.sh-copy:hover{ background:var(--pink); color:#0013de; }
.sh-copy svg{ width:16px; height:16px; display:block; }
.sh-due{ display:flex; align-items:baseline; gap:12px; margin-top:14px; flex-wrap:wrap; }
.sh-due .rv-cd,.sh-due [data-until]{ font-family:var(--f-mono); font-size:22px; letter-spacing:.04em; color:var(--ink); }
.sh-actions{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:22px; }
.sh-note{ margin:16px 0 0; padding:14px 16px; border-radius:14px; background:var(--pink); color:#0013de; font-size:15px; line-height:1.45; }
.sh-tickets{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; margin-top:8px; }
.sh-ticket{ position:relative; background:var(--bg); border-radius:20px; padding:18px; box-shadow:inset 0 0 0 1px var(--line-strong); display:grid; gap:10px; break-inside:avoid; }
.sh-ticket::before,.sh-ticket::after{ content:""; position:absolute; top:62%; width:18px; height:18px; border-radius:50%; background:var(--panel); box-shadow:inset 0 0 0 1px var(--line-strong); }
.sh-ticket::before{ left:-9px; } .sh-ticket::after{ right:-9px; }
.sh-ticket .sh-qr{ padding:8px; }
.sh-ticket.used{ opacity:.5; }
.sh-tickh{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.sh-tickh b{ font-size:20px; letter-spacing:-.02em; color:var(--ink); }
.sh-doc{ font-size:14px; line-height:1.5; color:var(--ink); }
.sh-doc table{ width:100%; border-collapse:collapse; margin-top:10px; font-family:var(--f-mono); font-size:12px; }
.sh-doc th,.sh-doc td{ text-align:right; padding:6px 4px; border-bottom:1px solid var(--line); }
.sh-doc th:first-child,.sh-doc td:first-child{ text-align:left; }
.sh-doc .sh-docgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:10px; }
@media print{
  #chromeTop,#chromeBottom,.sh-actions,.sh-noprint,.toast{ display:none !important; }
  body{ background:#fff !important; } .sh-card,.sh-ticket{ box-shadow:0 0 0 1px #0013de !important; }
}

/* team screen */
.sh-tym .sh-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 18px; }
.sh-tab{ border:0; cursor:pointer; border-radius:999px; padding:11px 18px; font:inherit; font-weight:600; background:var(--panel); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line-strong); }
.sh-tab[aria-selected="true"]{ background:var(--ink); color:var(--bg); box-shadow:none; }
.sh-gate{ border-radius:24px; padding:clamp(22px,4vw,36px); text-align:center; color:#fff; }
.sh-gate.ok{ background:#0a7a3f; } .sh-gate.used{ background:#b0103e; } .sh-gate.bad{ background:#4a4a4a; }
.sh-gate b{ display:block; font-size:clamp(34px,7vw,64px); letter-spacing:-.04em; line-height:1; }
.sh-gate p{ margin:10px 0 0; font-size:18px; }
.sh-gate .btn{ margin-top:18px; background:#fff; color:#0a7a3f; border-color:#fff; font-size:20px; padding:18px 34px; }
.sh-list{ display:grid; gap:10px; }
.sh-item{ display:grid; grid-template-columns:1fr auto; gap:6px 14px; padding:14px 16px; border-radius:16px; background:var(--panel); box-shadow:inset 0 0 0 1px var(--line); }
.sh-item .meta{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.sh-item .acts{ grid-column:1 / -1; display:flex; gap:8px; flex-wrap:wrap; }
.sh-stat{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.sh-stat > div{ background:var(--panel); border-radius:16px; padding:14px 16px; box-shadow:inset 0 0 0 1px var(--line); }
.sh-stat b{ display:block; font-size:30px; letter-spacing:-.03em; color:var(--ink); }
.sh-stat span{ font-family:var(--f-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }

/* gift vouchers: the card (front: motif, value, for, message; back: code, qr, valid until, rules), print-friendly */
.vc-wrap{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.vc{ display:grid; grid-template-columns:1fr 1fr; border-radius:24px; overflow:hidden; box-shadow:0 26px 60px -30px rgba(0,19,222,.55); break-inside:avoid; min-height:220px; }
@media (max-width:640px){ .vc{ grid-template-columns:1fr; } }
.vc-front,.vc-back{ position:relative; padding:22px 22px 20px; display:flex; flex-direction:column; gap:8px; }
.vc-front{ background:#ffc9d7; color:#0013de; }
.vc-front.party{ background:#0013de; color:#f8f1e6; }
.vc-front.winter{ background:#f8f1e6; color:#0013de; background-image:radial-gradient(circle,rgba(0,19,222,.22) 1.4px,transparent 1.8px); background-size:16px 16px; }
.vc-back{ background:#fdf9f2; color:#0013de; box-shadow:inset 1px 0 0 rgba(0,19,222,.15); }
.vc-mono{ font-family:var(--f-mono); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; opacity:.8; }
.vc-val{ font-size:clamp(32px,4.2vw,48px); font-weight:700; letter-spacing:-.045em; line-height:.95; margin-top:auto; white-space:nowrap; }
.vc-for{ font-size:17px; font-weight:600; }
.vc-msg{ font-size:15px; line-height:1.4; opacity:.9; }
.vc-mark{ position:absolute; right:16px; top:14px; width:34px; height:41px; --mk-fruit:#fff; }
.vc-front.party .vc-mark{ color:#ffc9d7; --mk-fruit:#0013de; }
.vc-code{ font-family:var(--f-mono); font-size:16px; font-weight:700; letter-spacing:.08em; }
.vc-qr{ width:116px; background:#f8f1e6; border-radius:12px; padding:6px; }
.vc-qr svg{ display:block; width:100%; height:auto; }
.vc-rules{ margin:auto 0 0; padding:0; list-style:none; font-size:12px; line-height:1.5; color:var(--muted); }
.vc-picker{ display:flex; flex-wrap:wrap; gap:8px; }
.vc-picker button{ border:0; cursor:pointer; border-radius:999px; padding:12px 18px; font:inherit; font-weight:700; font-size:16px; background:var(--bg); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line-strong); }
.vc-picker button[aria-pressed="true"]{ background:var(--ink); color:var(--bg); box-shadow:none; }
.vc-designs{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.vc-designs button{ border:0; cursor:pointer; border-radius:16px; padding:22px 10px 12px; font:inherit; font-weight:600; font-size:14px; color:#0013de; background:#ffc9d7; box-shadow:inset 0 0 0 1px rgba(0,19,222,.2); }
.vc-designs button.party{ background:#0013de; color:#f8f1e6; }
.vc-designs button.winter{ background:#f8f1e6; background-image:radial-gradient(circle,rgba(0,19,222,.22) 1.4px,transparent 1.8px); background-size:12px 12px; }
.vc-designs button[aria-pressed="true"]{ outline:3px solid var(--ink); outline-offset:2px; }
.vc-item + .vc-item{ margin-top:22px; padding-top:22px; border-top:1px dashed var(--line-strong); }
.sh-kasa .sh-big{ font-size:clamp(34px,7vw,56px); font-weight:700; letter-spacing:-.04em; line-height:1; margin:6px 0; color:var(--ink); }
.sh-approval{ font-family:var(--f-mono); font-size:clamp(40px,9vw,72px); font-weight:700; letter-spacing:.12em; color:#0a7a3f; }
.sh-gate .sh-approval{ display:inline-block; color:#0a7a3f; background:#fff; border-radius:14px; padding:6px 18px; margin:6px 0; }
@media print{ .vc{ box-shadow:0 0 0 1px #0013de !important; } .vc-front.party{ -webkit-print-color-adjust:exact; print-color-adjust:exact; } .vc-front,.vc-front.winter{ -webkit-print-color-adjust:exact; print-color-adjust:exact; } }
