.event-detail { max-width: 1200px; margin: 0 auto; padding: 112px 28px 72px; color: #21526d; }
.event-breadcrumb { display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:11px; color:#587080; margin-bottom:28px; }.event-breadcrumb a:hover { color:#21526d; text-decoration:underline; }
.event-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }.event-heading h1 { font-size:clamp(26px,3.4vw,44px); line-height:1.25; font-weight:700; margin:12px 0 16px; max-width:860px; }.event-eyebrow { display:flex; flex-wrap:wrap; gap:8px; }.event-eyebrow span { padding:6px 12px; border:1px solid #dbe6ee; border-radius:30px; font-size:11px; background:#fff; }.event-heading-meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; color:#587080; font-size:12px; }.event-heading-meta .material-symbols-outlined { font-size:18px; }
.event-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 22px; border:0; border-radius:12px; background:#21526d; color:#fff; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; }.event-button:hover { background:#183f56; color:white; }.event-button .material-symbols-outlined { font-size:18px; }
.event-cover { height:450px; position:relative; overflow:hidden; border-radius:24px; background:#e8f1f6; }.event-cover>img { width:100%; height:100%; object-fit:cover; }.event-cover-label { position:absolute; left:24px; bottom:24px; display:flex; align-items:center; gap:10px; padding:12px 18px; background:rgba(255,255,255,.94); color:#21526d; border-radius:12px; font-size:12px; font-weight:600; }
.event-gallery { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-top:14px; }.event-gallery button { border:0; padding:0; background:#e8f1f6; border-radius:12px; overflow:hidden; cursor:zoom-in; }.event-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.event-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:26px; background:white; border:1px solid #dfe8ed; border-radius:20px; margin:24px 0; }.event-facts>div { display:flex; gap:12px; }.event-facts .material-symbols-outlined { color:#21526d; background:#edf3f6; padding:10px; height:44px; border-radius:12px; }.event-facts dt { color:#587080; font-size:10px; margin-bottom:7px; }.event-facts dd { font-weight:600; font-size:12px; overflow-wrap:anywhere; }
.event-sections { display:flex; gap:24px; border-bottom:1px solid #dfe8ed; padding:8px 0 20px; margin-bottom:28px; overflow:auto; white-space:nowrap; font-size:12px; font-weight:600; }.event-sections a:hover { color:#21526d; text-decoration:underline; }
.event-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:28px; align-items:start; }.event-content { display:grid; gap:24px; min-width:0; }.event-panel { background:#fff; padding:32px; border:1px solid #dfe8ed; border-radius:20px; scroll-margin-top:110px; }.event-panel h2,.event-related h2 { font-size:22px; font-weight:700; margin:8px 0 22px; line-height:1.35; }.event-kicker { font-size:10px; font-weight:600; letter-spacing:1px; color:#587080; }.event-prose { font-size:13px; line-height:1.95; color:#587080; overflow-wrap:anywhere; }.event-extra-facts { display:grid; gap:12px; margin-top:24px; padding-top:24px; border-top:1px solid #e8f1f6; }.event-extra-facts div { display:grid; grid-template-columns:140px 1fr; gap:12px; font-size:12px; }.event-extra-facts dt { color:#587080; }.event-extra-facts dd { font-weight:600; }
.event-timeline { padding:0; list-style:none; }.event-timeline li { display:flex; align-items:start; gap:18px; position:relative; padding-bottom:28px; }.event-timeline li:last-child { padding-bottom:0; }.event-timeline li:not(:last-child)::before { content:''; position:absolute; left:17px; top:36px; bottom:4px; width:1px; background:#dfe8ed; }.event-timeline-mark { width:36px; height:36px; border-radius:50%; flex:0 0 36px; display:grid; place-items:center; background:#edf3f6; color:#21526d; font-size:12px; font-weight:700; }.event-timeline h3 { font-weight:600; font-size:14px; margin-bottom:8px; }.event-timeline p { color:#587080; font-size:12px; line-height:1.7; }.event-timeline .event-program-time { color:#21526d; font-size:11px; margin-bottom:5px; font-weight:600; }.event-empty { padding:20px; border:1px dashed #cadbe5; border-radius:12px; font-size:12px; line-height:1.8; color:#587080; background:#f7fbfd; }
.event-package-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.event-package h3 { font-size:13px; font-weight:600; margin-bottom:16px; }.event-package li { display:flex; align-items:start; gap:10px; margin-bottom:12px; font-size:12px; line-height:1.7; color:#587080; }.event-package .material-symbols-outlined { color:#16835b; font-size:18px; }.event-package--excluded .material-symbols-outlined { color:#b67917; }.event-video { aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:#edf3f6; }.event-video iframe { width:100%; height:100%; border:0; }
.event-form-note { font-size:12px; color:#587080; line-height:1.8; margin-bottom:24px; }.event-booking-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.event-booking-form label { font-size:11px; font-weight:600; }.event-booking-form label { color:#21526d; }.event-booking-form label>span { color:inherit; }.event-booking-form label>.event-required { color:#c63939; }.event-booking-form label>small { color:#587080; font-weight:400; margin-left:6px; }.event-booking-form input,.event-booking-form textarea { display:block; width:100%; margin-top:8px; padding:12px 14px; border:1px solid #dfe8ed; border-radius:12px; color:#21526d; background:#f7fbfd; font-size:12px; font-weight:400; }.event-form-wide { grid-column:1/-1; }.event-form-bottom { display:flex; gap:16px; align-items:center; justify-content:space-between; }.event-form-bottom p { font-size:10px; color:#587080; }.event-result { font-size:12px; line-height:1.7; padding:16px; border-radius:12px; margin-bottom:22px; }.event-result--error { background:#fcebec; color:#c63939; }.event-result--success { background:#e7f6ef; color:#16835b; }
.event-sidebar { position:sticky; top:104px; }.event-summary { padding:26px; border-radius:20px; background:#fff; border:1px solid #dfe8ed; }.event-summary h2 { font-size:18px; line-height:1.5; font-weight:700; margin:10px 0 22px; }.event-price { font-size:26px; font-weight:700; color:#21526d; }.event-price-note { color:#587080; font-size:11px; margin-top:6px; line-height:1.7; }.event-summary hr { border:0; border-top:1px solid #e8f1f6; margin:24px 0; }.event-summary dl { display:grid; gap:18px; margin-bottom:24px; }.event-summary dt { font-size:10px; color:#587080; margin-bottom:6px; }.event-summary dd { font-size:12px; font-weight:600; }.event-summary .event-button { width:100%; }.event-summary-note { display:flex; align-items:start; gap:8px; font-size:10px; line-height:1.8; color:#587080; margin-top:16px; }.event-summary-note .material-symbols-outlined { font-size:18px; }
.event-related { margin-top:52px; }.event-related-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }.event-related-heading>a { font-size:12px; color:#21526d; }.event-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.event-related-card { overflow:hidden; border-radius:20px; background:#fff; border:1px solid #dfe8ed; transition:box-shadow .2s; }.event-related-card:hover { box-shadow:0 8px 28px rgba(33,82,109,.1); }.event-related-card>img { width:100%; height:185px; object-fit:cover; }.event-related-card>div { padding:20px; }.event-related-card span { color:#587080; font-size:10px; }.event-related-card h3 { font-size:15px; font-weight:600; line-height:1.5; margin:8px 0 12px; }.event-related-card p { font-size:11px; color:#587080; margin-top:6px; }
.event-photo-dialog { max-width:min(1000px,calc(100vw - 24px)); max-height:90vh; border:0; background:#fff; padding:40px 12px 12px; border-radius:16px; }.event-photo-dialog::backdrop { background:rgba(15,30,45,.8); }.event-photo-dialog img { max-height:calc(90vh - 60px); max-width:100%; object-fit:contain; }.event-photo-dialog button { position:absolute; right:10px; top:4px; font-size:28px; background:transparent; border:0; cursor:pointer; color:#21526d; }
.event-detail a:focus-visible,.event-detail button:focus-visible,.event-detail input:focus-visible,.event-detail textarea:focus-visible,.event-photo-dialog button:focus-visible { outline:3px solid #8eaebb; outline-offset:3px; }
@media(max-width:1000px) { .event-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; }.event-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }.event-panel { padding:26px; } }
@media(max-width:767px) { .event-detail { padding:96px 18px 48px; }.event-heading { align-items:start; flex-direction:column; gap:16px; }.event-cover { height:290px; border-radius:18px; }.event-cover-label { left:16px; bottom:16px; font-size:11px; padding:10px 12px; }.event-layout { grid-template-columns:minmax(0,1fr); }.event-sidebar { position:static; grid-row:1; }.event-summary h2,.event-summary dl,.event-summary hr,.event-summary-note { display:none; }.event-summary { padding:20px; display:grid; grid-template-columns:1fr auto; gap:8px 16px; align-items:center; }.event-summary .event-kicker { grid-column:1; }.event-summary .event-price { grid-column:1; font-size:22px; }.event-summary .event-price-note { grid-column:1; }.event-summary .event-button { grid-column:2; grid-row:1/4; }.event-panel { padding:24px 20px; }.event-panel h2 { font-size:20px; }.event-related-grid { grid-template-columns:minmax(0,1fr); }.event-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }.event-related-card { display:grid; grid-template-columns:120px 1fr; }.event-related-card>img { height:100%; min-height:150px; }.event-related-card>div { padding:16px; } }
@media(max-width:479px) { .event-heading-meta { font-size:11px; }.event-facts { padding:18px; gap:20px 12px; }.event-facts>div { flex-direction:column; gap:10px; }.event-facts .material-symbols-outlined { align-self:start; }.event-booking-form,.event-package-grid { grid-template-columns:minmax(0,1fr); }.event-form-bottom { flex-direction:column; align-items:stretch; }.event-extra-facts div { grid-template-columns:minmax(0,1fr); gap:6px; }.event-summary { gap:8px; }.event-summary .event-button { padding:12px; font-size:11px; }.event-related-heading { align-items:start; }.event-related-heading>a { white-space:nowrap; } }
.ap-glass-content .event-detail { padding-top: 32px; }
@media(max-width:767px) { .ap-glass-content .event-detail { padding-top:24px; } }
.event-catalog-intro { padding:48px 28px 32px; max-width:1200px; margin:auto; }.event-catalog-intro h1 { font-size:clamp(18px,2vw,26px); font-weight:700; line-height:1.25; }.event-catalog-description { max-width:720px; margin:22px auto 0; font-size:14px; line-height:1.85; color:#587080; }
.event-how-it-works { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }.event-how-it-works li { display:flex; align-items:start; gap:14px; padding:22px; border:1px solid #dfe8ed; background:rgba(255,255,255,.85); border-radius:18px; }.event-how-it-works li>span { flex:0 0 32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#edf3f6; color:#21526d; font-weight:700; font-size:12px; }.event-how-it-works h2 { font-size:13px; font-weight:600; margin-bottom:8px; }.event-how-it-works p { font-size:11px; line-height:1.8; color:#587080; }
.event-booking-form select { display:block; width:100%; margin-top:8px; padding:12px 14px; border:1px solid #dfe8ed; border-radius:12px; color:#21526d; background:#f7fbfd; font-size:12px; font-weight:400; }.event-booking-form label>small { display:block; margin:8px 0 0; line-height:1.6; }.event-booking-form label>small:first-of-type:not(:last-child) { display:inline; margin-left:5px; }.event-booking-form [hidden] { display:none; }
.event-selected-package { display:flex; align-items:start; gap:12px; background:#edf3f6; border:1px solid #dbe6ee; padding:16px; border-radius:12px; }.event-selected-package small { color:#587080; font-size:10px; }.event-selected-package strong { display:block; margin-top:5px; font-size:13px; }.event-selected-package p { font-size:11px; color:#587080; margin-top:5px; }.event-contact-heading { font-size:14px; font-weight:600; padding-top:16px; border-top:1px solid #e8f1f6; }.event-detail select:focus-visible { outline:3px solid #8eaebb; outline-offset:3px; }
@media(max-width:767px) { .event-catalog-intro { padding:28px 18px; }.event-catalog-description { font-size:12px; }.event-how-it-works { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:24px; }.event-how-it-works li { padding:18px; } }

@media(max-width:767px){.event-booking-form>.event-buyer-choice{order:-1;grid-column:1/-1;margin:0}}
