/* Public pages only: shared event cards, navigation and booking guidance. */
.public-header{padding-block:10px 16px}
.public-header .product-brand{display:flex;align-items:center;height:170px}
.public-header .product-logo{flex-shrink:0}
.header-account{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 15px;border:1px solid #d9bcaa;border-radius:12px;background:#fff2e8;color:#19375d;text-decoration:none;font-weight:650;white-space:nowrap}
.header-account:hover{background:#ffe5d0;border-color:#a64b0b}
.public-content{padding-top:8px}
.public-content p{line-height:1.75}
.site-hero.site-hero-events{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding:12px 0 36px}
.site-hero-events h1{font-size:clamp(2.3rem,3.8vw,3.5rem);line-height:1.12;margin:14px 0 20px}
.site-hero-events .site-lead{font-size:1.05rem;line-height:1.8}
.site-hero-events .actions{gap:18px;margin-top:24px}
.site-account-shortcut{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#19375d}
.site-hero-note{margin-bottom:0}.site-welcome-image{margin-top:24px}
.site-section{padding-block:26px}.site-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.catalogue-intro{padding-block:12px 20px}
.public-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.public-content .event-card{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;margin:0;padding:26px;border:1px solid #d5dee9;border-top:4px solid #d66517;border-radius:18px;background:#fff;box-shadow:0 8px 24px #19375d08;overflow-wrap:anywhere}
.public-content .event-card-featured{background:linear-gradient(160deg,#fff8f1 0%,#fff 58%);box-shadow:0 14px 36px #19375d10}
.event-card>.eyebrow{margin:0 0 16px;color:#89420f}
.event-card-top{display:flex;gap:16px;align-items:center}
.event-card-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:68px;padding:9px;border:1px solid #dbe3ed;border-radius:12px;background:#f1f5fa;color:#19375d;line-height:1.15}
.event-card-date>span{text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.05em}.event-card-date>strong{font-size:1.8rem}.event-card-date>small{font-size:.76rem}
.event-card-labels{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.event-card .badge{display:inline-flex;align-items:center;gap:5px}.event-card .badge>.icon{width:16px;height:16px}
.event-registration-state{font-size:.76rem;font-weight:650;color:#596677}.event-registration-state.is-open{color:#226043}
.public-content .event-card :is(h2,h3){font-size:1.35rem;line-height:1.4;margin:20px 0 12px;letter-spacing:-.015em}.public-content .event-card-featured :is(h2,h3){font-size:1.5rem}
.event-card :is(h2,h3) a{color:#19375d;text-decoration:none}.event-card :is(h2,h3) a:hover{text-decoration:underline;text-underline-offset:4px}
.event-card-description{font-size:.93rem;margin:0 0 16px;color:#43556c}
.event-card-facts{display:grid;gap:14px;margin:8px 0 20px}.event-card-facts>div{display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px}
.event-card-facts dt{display:flex;align-items:baseline;gap:7px;font-size:.8rem;color:#52647b;font-weight:650}.event-card-facts dt .icon{width:16px;height:16px;flex-shrink:0}
.event-card-facts dd{margin:0;font-size:.88rem;line-height:1.6;color:#19375d}.event-card-facts small{display:block;font-size:.78rem;color:#52647b}
.event-card-prices{margin-top:auto;padding:14px 0;border-top:1px solid #e0e6ee;font-size:.86rem;color:#19375d}
.event-card-prices>span{display:flex;gap:8px;align-items:center}.event-card-prices>div{display:flex;justify-content:space-between;gap:14px;margin:8px 0;line-height:1.5}.event-card-prices>div strong{white-space:nowrap}.event-card-prices small{display:block;font-size:.74rem;line-height:1.6;color:#52647b}
.event-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.event-card-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;padding:12px 16px;white-space:normal;text-align:center}
.event-card-note{font-size:.8rem;margin:14px 0 0;color:#52647b}
.booking-progress{margin:22px 0 26px}.booking-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:10px}
.booking-progress li{display:flex;align-items:center;gap:10px;padding:13px 10px;border-top:3px solid #d4dce6;color:#52647b;font-size:.82rem;line-height:1.45}
.booking-progress .step-number{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#e8edf3;color:#19375d;font-weight:700}
.booking-progress li.is-done{border-color:#3c7757;color:#2b5c42}.booking-progress li.is-done .step-number{background:#e6f1e9;color:#2b5c42}
.booking-progress li[aria-current=step]{border-color:#c66018;color:#19375d;font-weight:700;background:#fff2e8;border-radius:0 0 10px 10px}.booking-progress li[aria-current=step] .step-number{background:#19375d;color:#fff}
.booking-next{padding:24px;border:1px solid #ccd8e6;border-left:4px solid #d66517;border-radius:14px;background:#fff;margin:22px 0}
.booking-next>.eyebrow{margin:0 0 9px}.public-content .booking-next h2{font-size:1.45rem;margin:0 0 12px;line-height:1.35}
.booking-next p{margin:8px 0}.booking-next .booking-next-action{font-weight:650;color:#19375d}.booking-next .actions{margin-top:18px}.booking-next .button{white-space:normal}
.booking-next.is-success{border-left-color:#37704e}.booking-next.is-closed{border-left-color:#697486}
.public-content a:focus-visible,.public-header a:focus-visible,.public-header summary:focus-visible{outline:3px solid #1b5da2;outline-offset:4px}
@media(max-width:1000px){.site-hero.site-hero-events{gap:24px}.public-content .event-card{padding:22px}.event-card-facts>div{grid-template-columns:1fr;gap:4px}.event-card-actions .button{flex:1}.site-hero-events h1{font-size:2.5rem}}
@media(max-width:760px){.site-hero.site-hero-events{grid-template-columns:1fr;padding-top:4px}.site-hero-events h1{font-size:2.25rem;max-width:600px}.site-hero-events .actions{margin-top:18px}.site-hero-events .site-hero-note{margin-top:12px}.public-event-grid{grid-template-columns:1fr}.public-content .event-card :is(h2,h3){font-size:1.28rem}.event-card-facts>div{grid-template-columns:94px minmax(0,1fr);gap:10px}.booking-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-progress li{padding:10px 6px}.booking-next{padding:20px}.header-account{padding:10px}.public-header-actions{gap:8px}}
@media(max-width:600px){.public-header{padding:10px 16px 14px;gap:14px}.public-header-actions{display:grid;grid-template-columns:44px 44px;gap:6px;flex-shrink:0}.header-account,.header-search{width:44px;min-height:44px;padding:10px}.header-account span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.public-menu{grid-column:1/-1}.public-menu>summary{justify-content:center;min-height:44px;padding:9px;gap:7px}.public-menu .menu-chevron{display:none}.public-header .product-brand{width:160px;height:128px}.public-content{padding-top:4px}.site-hero-events .actions{align-items:flex-start}.site-hero-events .actions>.button{width:auto}.site-hero-events .site-account-shortcut{font-size:.86rem}.event-card-actions{flex-direction:column}.event-card-actions .button{width:100%}.booking-next .actions .button{width:100%}}
@media(max-width:380px){.public-content .event-card{padding:18px}.event-card-facts>div{grid-template-columns:1fr;gap:3px}.event-card-prices>div{flex-direction:column;gap:0}.booking-progress li{font-size:.75rem;gap:6px}.booking-progress .step-number{width:24px;height:24px}.site-hero-events h1{font-size:2rem}}
@media(forced-colors:active){.event-card,.booking-next,.header-account{border:1px solid CanvasText}.booking-progress li[aria-current=step]{outline:2px solid Highlight}}
