/* LAYOUT 2026-10-26: the event-page layout (/register only — build.py r_event_page).
   Fact boxes, photo rows alternating left/right, dropdowns, day cards, a hotel box and the
   seat form beside its price. Tokens come from site.css. */

/* head: copy left, the room right */
.ev-head{padding-bottom:72px}
.ev-head-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.ev-head h1{max-width:13ch}
.ev-head .dek{font-size:clamp(20px,2vw,24px);margin-bottom:28px}
.ev-head-photo .frame{aspect-ratio:4/3;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ev-head-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* what · when · where · price */
.ev-facts-wrap{position:relative;z-index:2;margin-top:-44px}
.ev-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ev-fact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 20px;box-shadow:0 18px 40px -26px rgba(14,23,38,.35);display:flex;flex-direction:column;gap:4px;min-width:0}
.ev-ic{width:26px;height:26px;color:var(--gold);margin-bottom:8px}
.ev-fact-l{font:600 12px/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ev-fact-v{font:500 20px/1.25 var(--font-display);color:var(--ink)}
.ev-fact-s{font-size:14px;line-height:1.45;color:var(--text)}
.ev-facts-wrap+.jumpnav{margin-top:40px}

/* sections */
.ev-sec{padding:var(--section) 0}
.ev-paper{background:var(--bg-paper)}
.ev-sec h2{font-size:var(--fs-h2);line-height:1.12;margin-bottom:16px}
.ev-sec .eyebrow{margin-bottom:10px}
.ev-sec .intro-line{margin:0 0 20px}
.ev-head2{max-width:640px;margin-bottom:32px}

/* photo rows, alternating */
.ev-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.ev-row-flip .ev-media{order:2}
.ev-media .frame{aspect-ratio:4/3;border-radius:18px;overflow:hidden}
.ev-media img{width:100%;height:100%;object-fit:cover;display:block}
.ev-copy>p{max-width:60ch}
.ev-copy>p+p{margin-top:12px}
.ev-copy .accs{margin-top:24px;max-width:none}
.ev-copy .checklist{margin:8px 0 0}

/* numbered steps */
.ev-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:12px}
.ev-steps li{display:grid;grid-template-columns:auto 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.ev-steps .num{font:600 13px/1.6 var(--font-body);color:var(--gold);letter-spacing:.08em}
.ev-steps h3{font-size:19px;margin-bottom:4px}
.ev-steps p{margin:0;font-size:15px}

/* the three days */
.ev-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ev-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;border-top:3px solid var(--gold)}
.ev-day{font:500 20px/1.3 var(--font-display);color:var(--ink);margin:0 0 10px}
.ev-card p+p{margin:0;font-size:15px}

/* boxes */
.ev-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(24px,4vw,44px)}
.ev-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px)}
.ev-split h3{font-size:24px;margin-bottom:12px}
.ev-split p+p{margin-top:10px}
.ev-split .actions{margin-top:20px}
#hotel .ev-split>div+div{border-left:1px solid var(--line);padding-left:clamp(24px,5vw,64px)}
#hotel .accs{margin-top:24px;max-width:none}
.ev-reserve h2{margin-bottom:14px}
.ev-reserve p{max-width:46ch}
.ev-reserve .seats-left{display:block;margin-top:14px;color:var(--ink)}
.ev-seats{font-weight:600;color:var(--ink)}
.ev-reserve .form{max-width:none;margin:0}
.ev-quiet{background:transparent}
.ev-quiet h2{font-size:24px}
.ev-quiet .form{margin-top:16px}
#fine{padding-top:0}
.ev-also{margin-top:24px}

/* tablet */
@media (max-width:1023px){
  .ev-head-grid{grid-template-columns:1fr;gap:32px}
  .ev-head-photo{max-width:560px}
  .ev-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ev-row{grid-template-columns:1fr;gap:28px}
  .ev-row-flip .ev-media{order:0}
  .ev-cards{grid-template-columns:1fr}
}
/* phone */
@media (max-width:699px){
  .ev-head{padding-bottom:64px}
  .ev-facts-wrap{margin-top:-36px}
  .ev-facts{gap:10px}
  .ev-fact{padding:16px 14px;border-radius:14px}
  .ev-ic{width:22px;height:22px;margin-bottom:4px}
  .ev-fact-v{font-size:17px}
  .ev-fact-s{font-size:13px}
  .ev-split{grid-template-columns:1fr}
  #hotel .ev-split>div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}
  .ev-media .frame{aspect-ratio:16/10}
  .ev-box{border-radius:16px}
}
.ev-row-portrait{grid-template-columns:minmax(0,340px) minmax(0,1fr)}
.ev-row-portrait .ev-media .frame{aspect-ratio:4/5}
#fine .disclaimer{max-width:none}
@media (max-width:1023px){.ev-row-portrait{grid-template-columns:1fr}.ev-row-portrait .ev-media{max-width:240px}}
@media (max-width:699px){.ev-row-portrait .ev-media .frame{aspect-ratio:4/5}}
@media (max-width:699px){.ev-head .lead{display:none}}

/* ---- LAYOUT 2026-10-26 (toned down same night: photos, dropdowns and cards only — lists, forms
   and panels keep the plain site style): the boxed layout for the rest of the site (html[data-boxed]) ---- */
html[data-boxed] .section{padding:clamp(48px,6vw,80px) 0}
html[data-boxed] .section-ruled>.container::before{display:none}
html[data-boxed] .block+.block{margin-top:40px}
html[data-boxed] .block.stack .stack-head h2{max-width:24ch}
/* photo rows inside a section */
html[data-boxed] .ev-row .ev-copy h2{font-size:var(--fs-h2);line-height:1.12;margin-bottom:16px}
html[data-boxed] .ev-row .ev-copy .eyebrow{margin-bottom:10px}
html[data-boxed] .ev-row .deflist,html[data-boxed] .ev-row .checklist{max-width:none}
/* columns become cards */
html[data-boxed] .cols{gap:16px}
html[data-boxed] .cols>li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
/* read more */
.more{margin-top:12px}
.more summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--font-body);color:var(--ink);min-height:44px}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"+";font-size:20px;font-weight:400;color:var(--gold)}
.more[open] summary::after{content:"–"}
.more[open] summary{margin-bottom:6px}
.more p+p{margin-top:12px}
@media (max-width:699px){
  html[data-boxed] .block+.block{margin-top:28px}
}
/* folded forms */
.form-fold>summary{list-style:none;cursor:pointer;display:inline-flex}
.form-fold>summary::-webkit-details-marker{display:none}
.form-fold[open]>summary{display:none}
.trophy-fold>summary{font-size:17px}
.trophy-fold[open] .trophy-list{margin-top:12px}
/* phones: card rows swipe sideways instead of stacking */
@media (max-width:699px){
  html[data-boxed] .hero-copy .lead{display:none}
  html[data-boxed] .cols{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 8px;scrollbar-width:none}
  html[data-boxed] .cols::-webkit-scrollbar{display:none}
  html[data-boxed] .cols>li{flex:0 0 84%;scroll-snap-align:start}
  html[data-boxed] .deal-steps>li{flex-basis:84%}
}
/* OWNER 2026-10-26: hero alert for the next class */
.hero-alert{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:8px 14px 8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:#fff;font:500 14px/1.3 var(--font-body);text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero-alert:hover{background:rgba(255,255,255,.14);text-decoration:none;color:#fff}
.hero-alert em{font-style:italic;font-weight:600;color:var(--gold)}
.ha-dot{position:relative;width:9px;height:9px;border-radius:50%;background:#E5484D;flex:none}
.ha-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #E5484D;opacity:0;animation:ha-pulse 1.8s ease-out infinite}
@keyframes ha-pulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.ha-dot::after{animation:none}}
.ha-arr{opacity:.7}
/* compact deal cards */
.deal-cards{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.deal-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.deal-card-fig{background:var(--bg-paper);border-radius:10px;padding:8px;margin-bottom:16px}
.deal-card-fig svg{display:block;width:100%;height:auto;max-height:170px}
.deal-card h3{font-size:20px;margin-bottom:6px}
.deal-card p{font-size:15px;margin:0}
@media (max-width:899px){.deal-cards{grid-template-columns:1fr}}
@media (max-width:699px){.hero-alert{font-size:13px;margin-bottom:14px}}

.deal-card{padding:24px 26px;border-top:3px solid var(--gold)}
.deal-card .num{display:block;font:600 13px/1 var(--font-body);letter-spacing:.08em;color:#8a6d2f;margin-bottom:12px}
.deal-card h3{font-size:22px;margin-bottom:8px}
.deal-card p{font-size:16px;line-height:1.55}
.ha-seats{font-weight:600;color:#fff}

html[data-boxed] .ev-row-portrait{align-items:start}
html[data-boxed] .ev-row-portrait .ev-media{position:sticky;top:calc(var(--stick-top, 80px) + 16px)}
@media (max-width:1023px){html[data-boxed] .ev-row-portrait .ev-media{position:static}}
/* OWNER 2026-10-27: blocks that follow a photo row line up under its text column */
@media (min-width:1024px){
  html[data-boxed] .ev-row:not(.ev-row-flip):not(.ev-row-portrait) ~ .block.stack{padding-left:calc(50% + 32px)}
  html[data-boxed] .ev-row ~ .block.stack{margin-top:24px}
}
/* OWNER 2026-10-27: the hero pill stays on one line */
.hero-alert{white-space:nowrap;max-width:none}
@media (max-width:1100px){.ha-city{display:none}}
@media (max-width:480px){.ha-next{display:none}.hero-alert{gap:8px;padding:7px 12px 7px 10px}}
/* OWNER 2026-10-27: share strip + /share flyer page */
.share{margin-top:20px;padding:22px 24px;border:1px dashed var(--line-strong);border-radius:16px;background:rgba(255,255,255,.6)}
.share-h{font:500 22px/1.25 var(--font-display);color:var(--ink);margin:0 0 4px}
.share-sub{margin:0 0 14px;font-size:15px}
.share-btns{display:flex;flex-wrap:wrap;gap:10px}
.share-btns .btn{min-height:44px;padding:0 18px}
.flyer-page{display:grid;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:48px;align-items:start}
.flyer-img img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 30px 60px -30px rgba(14,23,38,.45)}
.flyer-side .actions{margin:0 0 8px;flex-direction:column;align-items:flex-start}
@media (max-width:899px){.flyer-page{grid-template-columns:1fr;gap:24px}.flyer-side .actions{flex-direction:column;align-items:stretch}}
/* OWNER 2026-10-27: on a computer the home hero fills the first screen — no white sliver */
@media (min-width:900px){
  .hero.hero-ink{min-height:100vh;min-height:100svh}
}
/* OWNER 2026-10-27 mobile sweep: /about already shows his headshot and the room photo up top */
@media (max-width:699px){html[data-boxed] .ev-row-portrait .ev-media{display:none}}
.share-dl{margin:14px 0 0;font-size:14px}.share-dl a{color:var(--ink);font-weight:600}
