/* Event detail presentation only. Native booking structure and behaviour retained. */
.single-event .fgj-event-editorial { --event-rule:#d8d2c8; --event-muted:#66635d; }
.single-event .fgj-event-editorial .fgj-event-return { max-width:880px; margin:0 auto; padding:36px 32px 22px; }
.single-event .fgj-event-editorial .back-link { margin:0; font-size:13px; line-height:1.7; letter-spacing:.04em; }
.single-event .fgj-event-editorial .fgj-event-cover { max-width:880px; margin:0 auto; padding:0 32px; }
.single-event .fgj-event-editorial .fgj-event-cover img { display:block; width:auto; max-width:100%; height:auto; max-height:460px; object-fit:contain; margin:0 auto; border-radius:0; }
.single-event .fgj-event-editorial .fgj-event-cover a { display:block; }
.single-event .fgj-event-editorial .detail-hero { max-width:784px; padding:36px 32px 30px; margin:0 auto; }
.single-event .fgj-event-editorial .detail-hero__meta { font-size:12px; line-height:1.7; letter-spacing:.05em; margin:0 0 16px; }
.single-event .fgj-event-editorial .detail-hero h1 { font-size:28px; line-height:1.65; letter-spacing:.01em; margin:0; overflow-wrap:anywhere; word-break:normal; }
.single-event .fgj-event-editorial .detail-layout { display:block; max-width:784px; padding:0 32px 80px; margin:0 auto; }
.single-event .fgj-event-editorial .detail-body { width:100%; min-width:0; }
.single-event .fgj-event-editorial .em.em-event-single { --default-border:var(--event-rule); color:#25231f; }
.single-event .fgj-event-editorial .em.em-event-single .em-item-header { display:block; padding:28px 0 32px; margin:0 0 42px; border:0; border-top:1px solid var(--event-rule); border-bottom:1px solid var(--event-rule); background:transparent; }
.single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta { display:grid !important; grid-template-columns:1fr 1fr !important; gap:24px 32px !important; width:100% !important; padding:0 !important; margin:0 !important; }
.single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta-column { display:flex !important; flex-direction:column !important; gap:22px !important; min-width:0 !important; margin:0 !important; padding:0 !important; }
.single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta-column > section { margin:0 !important; padding:0 !important; }
.single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta h3 { font-family:var(--fgj-font-body) !important; font-size:14px !important; font-weight:400 !important; line-height:1.7 !important; letter-spacing:.04em !important; color:var(--event-muted) !important; margin:0 0 8px !important; }
.single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta-line { font-family:var(--fgj-font-body) !important; font-size:15px !important; line-height:1.8 !important; letter-spacing:normal !important; overflow-wrap:anywhere !important; }
.single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta .em-event-add-to-calendar { font-size:12px !important; line-height:1.6 !important; margin:12px 0 0 !important; padding:6px 0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; text-decoration:underline !important; text-underline-offset:4px !important; color:var(--event-muted) !important; }
.single-event .fgj-event-editorial .em .em-event-content { margin:0; }
.single-event .fgj-event-editorial .em .em-event-bookings-meta a[href="#em-event-booking-form"] { display:inline-flex !important; align-items:center; gap:10px; min-height:44px; padding:10px 16px !important; border:1px solid #a69e92 !important; border-radius:2px !important; background:transparent !important; color:#25231f !important; font:700 14px/1.6 var(--fgj-font-body) !important; letter-spacing:normal !important; text-decoration:none !important; }
.single-event .fgj-event-editorial .em .em-event-bookings-meta a[href="#em-event-booking-form"] .em-icon { position:static !important; margin:0 !important; }
.single-event .fgj-event-editorial .em .em-event-bookings { margin-top:64px; padding-top:40px; border-top:1px solid var(--event-rule); }
.single-event .fgj-event-editorial .em .em-event-bookings > h2 { font-family:var(--fgj-font-body) !important; font-size:24px !important; font-weight:700 !important; line-height:1.6 !important; letter-spacing:normal !important; margin:0 0 24px !important; }
.single-event .fgj-event-editorial .em .em-booking-form { max-width:none; width:100%; margin:0; padding:0; }
.single-event .fgj-event-editorial .em .em-booking-form > section { margin:0; padding:28px 0; border:0; border-top:1px solid var(--event-rule); background:transparent; }
.single-event .fgj-event-editorial .em .em-booking-form .em-booking-section-title { font-family:var(--fgj-font-body) !important; font-size:18px !important; line-height:1.7 !important; letter-spacing:normal !important; color:#25231f !important; font-weight:700 !important; margin:0 0 22px !important; padding:0 !important; border:0 !important; background:none !important; }
.single-event .fgj-event-editorial .em .em-booking-section { margin:0; padding:0; border:0; background:transparent; }
.single-event .fgj-event-editorial .em .em-booking-form-details > p { display:block; margin:0 0 24px; padding:0; }
.single-event .fgj-event-editorial .em .em-booking-form-details > p:last-child { margin-bottom:0; }
.single-event .fgj-event-editorial .em .em-booking-form :is(label,.ticket-desc,.ticket-price,.em-consent-checkbox) { font-family:var(--fgj-font-body); font-size:15px; line-height:1.85; letter-spacing:normal; }
.single-event .fgj-event-editorial .em .em-booking-form-details > p > label { display:block; width:auto; float:none; margin:0 0 8px; font-weight:400; }
.single-event .fgj-event-editorial .em .em-form-required { color:#8d3b2f; font-size:14px; margin-left:4px; }
.single-event .fgj-event-editorial .em .em-booking-form :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea:not(.g-recaptcha-response)) { box-sizing:border-box; width:100%; max-width:100%; min-height:48px; padding:11px 14px !important; border:1px solid #b8b1a6 !important; border-radius:2px !important; background-color:#fff !important; color:#25231f !important; font:400 16px/1.6 var(--fgj-font-body) !important; letter-spacing:normal !important; box-shadow:none !important; }
.single-event .fgj-event-editorial .em .em-booking-form textarea:not(.g-recaptcha-response) { min-height:128px !important; resize:vertical; }
.single-event .fgj-event-editorial .em .em-booking-form :is(input,select,textarea,button,a):focus-visible { outline:2px solid #514a40 !important; outline-offset:3px; }
.single-event .fgj-event-editorial .em .em-booking-form .em-ticket { max-width:none; }
.single-event .fgj-event-editorial .em .em-booking-form .ticket-price { display:flex; gap:20px; align-items:baseline; margin:0 0 18px; }
.single-event .fgj-event-editorial .em .em-booking-form .ticket-price label { width:auto; min-width:0; }
.single-event .fgj-event-editorial .em .em-booking-form .em-tickets-spaces { display:flex !important; gap:20px !important; align-items:center !important; margin:0 !important; }
.single-event .fgj-event-editorial .em .em-booking-form .em-tickets-spaces label { width:auto !important; min-width:0 !important; margin:0 !important; }
.single-event .fgj-event-editorial .em .em-booking-form .em-tickets-spaces select { width:120px !important; }
.single-event .fgj-event-editorial .em .em-booking-form .em-consent-checkbox label { padding:0; }
.single-event .fgj-event-editorial .em .em-booking-form input[type="checkbox"] { width:18px; height:18px; margin:4px 8px 0 0; accent-color:#25231f; vertical-align:top; }
.single-event .fgj-event-editorial .em .em-booking-form .privacy-policy-link { text-decoration:underline; text-underline-offset:3px; }
.single-event .fgj-event-editorial .em .em-booking-form .g-recaptcha { margin:24px 0; max-width:100%; overflow-x:auto; padding:3px; }
.single-event .fgj-event-editorial .em .em-booking-summary { padding:22px; border:0; background:#f2efe8; border-radius:0; font-family:var(--fgj-font-body); font-size:15px; line-height:1.8; letter-spacing:normal; }
.single-event .fgj-event-editorial .em .em-bs-row { gap:12px; }
.single-event .fgj-event-editorial .em .em-bs-cell-price { white-space:nowrap; }
.single-event .fgj-event-editorial .em .em-booking-form input.em-booking-submit.em-button { width:auto !important; max-width:100%; min-width:220px; min-height:52px; padding:15px 30px !important; border:1px solid #25231f !important; border-radius:2px !important; background:#25231f !important; color:#fff !important; font:700 15px/1.6 var(--fgj-font-body) !important; letter-spacing:.02em !important; box-shadow:none !important; }
.single-event .fgj-event-editorial .em .em-booking-form input.em-booking-submit.em-button:hover { background:#464039 !important; }
@media(max-width:767px) {
 .single-event .fgj-event-editorial { padding-top:72px; }
 .single-event .fgj-event-editorial .fgj-event-return { padding:24px 24px 18px; }
 .single-event .fgj-event-editorial .fgj-event-cover { padding:0 24px; }
 .single-event .fgj-event-editorial .fgj-event-cover img { max-height:380px; }
 .single-event .fgj-event-editorial .detail-hero { padding:28px 24px 24px; }
 .single-event .fgj-event-editorial .detail-hero h1 { font-size:22px; line-height:1.7; }
 .single-event .fgj-event-editorial .detail-hero__meta { font-size:12px; margin-bottom:12px; }
 .single-event .fgj-event-editorial .detail-layout { padding:0 24px 56px; }
 .single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta { grid-template-columns:1fr !important; gap:22px !important; }
 .single-event .fgj-event-editorial .em .em-item-header { padding:24px 0; margin-bottom:32px; }
 .single-event .fgj-event-editorial .em .em-event-bookings { margin-top:48px; padding-top:28px; }
 .single-event .fgj-event-editorial .em .em-booking-form > section { padding:24px 0; }
 .single-event .fgj-event-editorial .em .em-booking-summary { padding:18px 14px; }
 .single-event .fgj-event-editorial .em .em-booking-form input.em-booking-submit.em-button { width:100% !important; min-width:0; }
}
@media(prefers-reduced-motion:reduce) { .single-event .fgj-event-editorial * { scroll-behavior:auto; } }
@media(max-width:350px) {
 .single-event .fgj-event-editorial .em .em-booking-form .g-recaptcha { width:calc(100% + 32px); max-width:none; margin-inline:-16px; padding:0; }
}

.single-event .fgj-event-editorial .em.em-item.em-item-single .em-item-header .em-item-meta-column { width:auto !important; flex-basis:auto !important; }
.single-event .fgj-event-editorial .em .em-booking-form .em-tickets-spaces label { white-space:nowrap; flex-shrink:0; }

/* Match the approved plain booking surface despite legacy Elementor site CSS. */
.single-event .fgj-event-editorial .em .em-event-bookings { background-image:none; }
