/* Workshop-only styles; existing booking and shared layouts are untouched. */
.event-page { --event-rust: #8b4229; }
.event-main { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.event-hero, .event-details { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(32px, 5vw, 76px); align-items: center; padding: 64px 0; }
.event-hero h1 { font-size: clamp(2.6rem, 4.5vw, 4.4rem); line-height: 1.02; margin: 14px 0 22px; }
.event-subtitle { color: var(--event-rust); font-weight: 700; }
.event-facts { display: grid; gap: 16px; margin: 26px 0; }
.event-facts > div { border-top: 1px solid #dfcdbb; padding-top: 12px; display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 12px; }
.event-facts dt { color: var(--event-rust); font-weight: 700; }
.event-facts dd { margin: 0; }
.event-facts dd span { font-size: .92rem; }
.event-poster { margin: 0; }
.event-poster a { display: block; border-radius: 20px; overflow: hidden; box-shadow: 0 18px 48px #5e36151a; }
.event-poster img { display: block; width: 100%; height: auto; }
.event-poster figcaption { text-align: center; font-size: .85rem; color: #746657; margin-top: 10px; }
.event-details { border-top: 1px solid #dfcdbb; }
.event-main h2 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; margin: 10px 0 20px; }
.event-main h3 { margin-bottom: 8px; }
.event-kit { padding-left: 22px; }
.event-kit li { margin-bottom: 6px; }
.event-kit-poster { max-width: 390px; justify-self: center; }
.event-policy { background: #f3e8db; border: 1px solid #dfcdbb; border-radius: 24px; padding: clamp(22px, 4vw, 44px); margin-bottom: 50px; }
.event-inquiry { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 68px); padding: 12px 0 80px; scroll-margin-top: 110px; }
.event-form { display: grid; gap: 16px; background: #fffcf7; border: 1px solid #dfcdbb; border-radius: 24px; padding: clamp(22px, 3vw, 36px); }
.event-form label { display: grid; gap: 7px; font-weight: 650; }
.event-form input:not([type="hidden"]), .event-form textarea, .event-form select { width: 100%; min-width: 0; border: 1px solid #baa48b; border-radius: 10px; padding: 12px; font: inherit; font-size: 16px; line-height: 1.4; background: white; color: #2a211b; }
.event-form textarea { resize: vertical; }
.event-form small { margin-top: -12px; }
.event-form :focus-visible, .event-main a:focus-visible { outline: 3px solid var(--event-rust); outline-offset: 4px; }
.event-form .button { width: 100%; min-height: 48px; transform: none; cursor: pointer; }
.event-form .button:disabled { opacity: .65; cursor: wait; }
.event-fine { font-size: .88rem; line-height: 1.6; }
.event-form p { margin: 0; }
.event-notice { padding: 16px 20px; border-left: 3px solid var(--event-rust); background: #f3e8db; }
.event-honey { display: none; }
.event-form-status:empty { display: none; }
.event-skip { position: absolute; top: -200px; left: 20px; z-index: 100; background: white; padding: 16px; }
.event-skip:focus { top: 12px; }
@media(max-width: 850px) {
 .event-hero, .event-details, .event-inquiry { grid-template-columns: minmax(0, 1fr); }
 .event-hero { padding: 36px 0; gap: 26px; }
 .event-poster { max-width: 490px; width: 100%; justify-self: center; }
 .event-details { padding: 36px 0; gap: 26px; }
 .event-inquiry { padding-bottom: 45px; }
}
@media(prefers-reduced-motion: reduce) { .event-page .button { transition: none; } }

.event-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 16px; }
.event-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.event-form fieldset:disabled input, .event-form fieldset:disabled textarea, .event-form fieldset:disabled select { opacity: .7; }

.event-subnav { display:flex; flex-wrap:wrap; gap:12px 26px; padding-top:24px; font-weight:650; }
.event-archive { padding:40px 0 70px; border-top:1px solid #dfcdbb; scroll-margin-top:110px; }
.archive-card { display:grid; grid-template-columns:160px minmax(0,1fr); align-items:center; gap:30px; max-width:800px; padding:24px; border:1px solid #dfcdbb; border-radius:20px; background:#fffcf7; }
.archive-card-image img { display:block; width:100%; height:auto; border-radius:10px; }
.archive-card h3 { margin:0; font-size:1.8rem; }
.archive-intro { padding:36px 0 20px; max-width:850px; }
.archive-intro h1 { font-size:clamp(2.5rem,5vw,4rem); line-height:1.1; margin:14px 0; }
.archive-flyer { max-width:460px; margin:0 auto 50px; }
.archive-photo { margin:0; min-width:0; }
.archive-photo a { display:block; border-radius:14px; overflow:hidden; }
.archive-photo img { display:block; width:100%; height:auto; }
.archive-photo figcaption { font-size:.9rem; margin:10px 0 0; color:var(--muted); }
.archive-memories { padding-bottom:50px; }
.archive-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; margin-top:28px; }
@media(max-width:650px) { .archive-gallery { grid-template-columns:minmax(0,1fr); } .archive-card { grid-template-columns:90px minmax(0,1fr); gap:16px; padding:16px; } .archive-card h3 { font-size:1.35rem; } .archive-card .button { padding:12px; } }
