/* The public booking page and the manage page. luxury.css supplies the tokens and components; this file is only layout. */
:root{--sample-h:26px}
body{overscroll-behavior-y:none}
.pub{min-height:100dvh;display:flex;flex-direction:column}
.sample-bar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;min-height:var(--sample-h);padding:3px 12px;background:var(--ink);color:var(--bg);font-size:.75rem;line-height:1rem;letter-spacing:.14em;text-transform:uppercase;text-align:center}
.sample-bar b{font-weight:700}
.sample-bar span{letter-spacing:.04em;text-transform:none;opacity:.85}
.pub-head{text-align:center;padding:40px var(--gutter) 150px;margin-bottom:20px}
.pub-head.scene{border-radius:0;border-width:0 0 1px}
.pub-mark{font:500 clamp(2rem,8vw,2.625rem)/1.1 var(--serif);letter-spacing:.01em}
.pub-tag{color:var(--muted);margin-top:8px;letter-spacing:.02em}
.pub-main{flex:1;width:min(100%,600px);margin:0 auto;padding:4px var(--gutter) 56px;outline:0}
.pub-foot{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;text-align:center;color:var(--muted);font-size:.875rem;padding:24px var(--gutter) 32px;border-top:1px solid var(--line)}
.pub-foot a{color:var(--muted)}
html.embed .pub-head{padding:18px var(--gutter) 120px}
html.embed .pub-mark{font-size:1.75rem}
html.embed .pub-foot{padding-top:16px;padding-bottom:20px}
html.embed .sample-bar{position:static}

.steps3{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 0;margin:22px 0 10px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.steps3 li{display:flex;align-items:center;gap:8px;color:var(--muted);padding:0 14px;position:relative}
.steps3 li+li::before{content:"";width:18px;height:1px;background:var(--line);position:absolute;left:-9px}
.steps3 li[aria-current="step"]{color:var(--ink);font-weight:700}
.steps3 .n{width:22px;height:22px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:.75rem;letter-spacing:0}
.steps3 li[aria-current="step"] .n{background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}
.steps3 li.past{color:var(--accent)}
@media (max-width:520px){.steps3 li{padding:0 10px}.steps3 li:not([aria-current="step"]) .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.steps3 li+li::before{left:-5px;width:10px}}

.ctl{display:flex;gap:16px 20px;flex-wrap:wrap;align-items:flex-end}
.ctl .grp{display:flex;flex-direction:column;gap:6px}
.ctl .seg button{padding:0 12px;min-width:48px}
.holes-help{margin-top:10px;font-size:.875rem;color:var(--muted);max-width:52ch}
.pub-hold{position:sticky;top:0;z-index:5;background:var(--bg);padding-top:10px;margin:0 calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}
.pub-sum{margin-top:14px}
.pub-sum .tt,.detail-hero .tt{font:500 2.375rem/1 var(--serif);font-variant-numeric:lining-nums}
.pub-sum .ap,.detail-hero .ap{font:600 .75rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:6px}
.prow{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.prow .pmain{display:flex;flex-direction:column;gap:6px;min-width:0}
.prow .popts{display:flex;align-items:center;gap:12px}
.prow .avatar{margin-top:22px}
.pub-player .field label{font-size:.8125rem}
.fine{font-size:.8125rem;line-height:1.4;color:var(--muted)}
.check{display:flex;gap:12px;align-items:flex-start;min-height:48px;padding:6px 0;cursor:pointer;font-size:.9375rem;line-height:1.4}
.check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.pay-slot{border:1px dashed var(--accent);border-radius:var(--r);padding:14px 16px;background:var(--panel)}
.trow.pubrow{grid-template-columns:104px 1fr auto}

.detail-hero{padding:28px 20px 24px;text-align:center}
.detail-hero .dt{margin-top:6px;opacity:.9}
.detail-hero .conf{margin-top:14px}
.detail-hero .qrwrap{margin-top:22px}
.detail-hero .cap{margin-top:10px}
.actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.actions .btn{width:100%}
.pl-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.pl-row:last-child{border-bottom:0}
.pl-row .nm{font-weight:500}
.pl-row.removed .nm{text-decoration:line-through;color:var(--muted)}
.pbtn{min-height:44px;padding:0 14px;border:1px dashed var(--accent);border-radius:var(--r);background:transparent;color:var(--accent);font-weight:500;display:inline-flex;align-items:center;gap:8px}
.bs-note{margin-top:16px}
#toasts{bottom:calc(16px + env(safe-area-inset-bottom))}
