/* WordPress / Elementor adjustments for the BME Site Shell — layout glue only, no design changes. */
body.bme-shell.admin-bar .nav{ top:32px; }
@media (max-width:782px){ body.bme-shell.admin-bar .nav{ top:46px; } }
body.bme-shell #wpadminbar{ z-index:100000; }

/* Elementor wrappers must be invisible: the sections carry their own spacing */
body.bme-shell .elementor, body.bme-shell .elementor-section-wrap{ position:static; }
body.bme-shell .e-con, body.bme-shell .e-con-inner, body.bme-shell .elementor-section, body.bme-shell .elementor-column, body.bme-shell .elementor-widget-wrap{ padding:0; margin:0; max-width:none; --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0; --margin-top:0; --margin-bottom:0; --content-width:100%; --width:100%; }
body.bme-shell .elementor-widget:not(:last-child){ margin-bottom:0; }
body.bme-shell .elementor-widget, body.bme-shell .elementor-widget-container{ display:block; }
body.bme-shell .e-con > .e-con-inner{ width:100%; }
body.bme-shell .elementor-element.elementor-widget > .elementor-widget-container{ transition:none; }

/* the portrait image in the home About frame */
.about-frame .about-portrait{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* a video link (YouTube / Vimeo) in the motion flyer player */
.mfl-embed{ width:min(92vw, calc(88vh * 9 / 16)); }
.mfl-embed iframe{ display:block; }

/* the honeypot field must never show */
#contactForm #website{ position:absolute; left:-9999px; }

/* "My tickets" panel — the order look-up form, in the site's own field styling */
.tkv-form{ display:grid; gap:14px; max-width:420px; margin:0 auto 22px; text-align:left; }
.tkv-form label{ display:grid; gap:6px; }
.tkv-form label span{ font-family:var(--mono); font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--mute); }
.tkv-form input{ width:100%; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); color:var(--paper); font:inherit; font-size:15px; outline:none; transition:border-color .3s var(--ease), background .3s var(--ease); }
.tkv-form input:focus{ border-color:rgba(232,182,47,.6); background:rgba(255,255,255,.08); }
.tkv-form .tkv-hp{ position:absolute; left:-9999px; }
.tkv-form .tkv-status{ margin:0; min-height:1.2em; font-size:13px; color:var(--gold-lite); }
.tkv-form .tkv-status.is-error{ color:#ff9b9b; }
.tkv-form .pill{ justify-self:center; }

/* Global template wrappers must not contain the fixed navigation/drawer. */
.bme-chrome-header,.bme-chrome-header>.elementor,.bme-chrome-header .elementor-section,.bme-chrome-header .elementor-container,.bme-chrome-header .elementor-column,.bme-chrome-header .elementor-widget-wrap,.bme-chrome-header .elementor-widget,.bme-chrome-header .elementor-widget-container { position:static; transform:none; }
.bme-chrome .elementor-widget-wrap { padding:0; }
.elementor-editor-active .elementor-widget-bme-header .nav { position:relative; }
.elementor-editor-active .elementor-widget-bme-footer .reveal { opacity:1; transform:none; }

/* Keep Hostinger entrance animations from trapping the fixed BME menu below page content. */
body.bme-shell .bme-chrome-header .hostinger-elementor-aos { transform:none !important; opacity:1 !important; }

/* Restore light hero titles on the dark BME pages; retain existing gold emphasis. */
body.bme-shell h1.hero-head { color:var(--paper, #f7f5f0) !important; }

/* Keep About section headings and artist names readable before hover. */
body.bme-shell.bme-style-about h2.h-sec { color:var(--paper, #f7f5f0) !important; }
body.bme-shell.bme-style-about .artist b { color:var(--gold-lite, #f3e3b0) !important; }
body.bme-shell.bme-style-about .artist { border-color:rgba(216,185,106,.45); background-color:rgba(216,185,106,.08); }


/* Equal motion flyer cards, complete posters and a dedicated caption area. */
body.bme-shell .mf { aspect-ratio:9 / 16; align-self:start; background:#08080b; }
body.bme-shell .mf .mf-art { position:absolute; inset:0 0 auto; width:100% !important; height:calc(100% - 96px) !important; max-width:100%; object-fit:contain; object-position:center; transform:none !important; }
body.bme-shell .mf .mf-title { position:absolute; inset:auto 0 0; height:96px; box-sizing:border-box; padding:14px 16px; margin:0; display:flex; flex-direction:column; justify-content:center; }
body.bme-shell .mf .mf-shade { display:none; }
body.bme-shell .mf .mf-play { inset:0 0 96px; height:auto; }
body.bme-shell .mf-title b { color:var(--paper,#f7f5f0) !important; }
body.bme-shell.bme-style-gallery .h-sec { color:var(--paper,#f7f5f0) !important; }

/* Readable homepage section headings and contact invitation. */
body.bme-shell.bme-style-home .h-sec { color:var(--paper,#f7f5f0) !important; }
body.bme-shell.bme-style-home div:has(> .h-sec) > .eyebrow { color:var(--paper,#f7f5f0) !important; }

/* Homepage archive footer uses only the all-events button. */
body.bme-shell.bme-style-home .events-foot > span { display:none; }

/* Homepage community introduction: landscape photo and descriptive highlights. */
body.bme-shell.bme-style-home #about .about-grid { align-items:center; }
body.bme-shell.bme-style-home #about .about-frame { aspect-ratio:1672 / 941; min-height:0; height:auto; width:100%; }
body.bme-shell.bme-style-home #about .about-portrait { height:100% !important; object-fit:contain !important; }
body.bme-shell.bme-style-home #about .about-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.bme-shell.bme-style-home #about .stat b { font-size:clamp(18px,1.65vw,25px); line-height:1.25; color:var(--gold-lite,#f3e3b0); overflow-wrap:normal; }
body.bme-shell.bme-style-home #about .stat span { display:block; margin-top:8px; font-size:10px; letter-spacing:.12em; }

/* Homepage finishing: readable highlights, concise archive, flowing gold ribbon. */
body.bme-shell.bme-style-home #about .stat b { color:var(--gold-lite,#f3e3b0) !important; opacity:1; }
body.bme-shell.bme-style-home #about .stat span { color:#fff !important; opacity:1; }
body.bme-shell.bme-style-home #gallery .section-head > .lede { display:none; }
body.bme-shell.bme-style-home .strip { background:linear-gradient(110deg,#805819 0%,#c89b3c 20%,#f0d78b 38%,#b8892e 54%,#e8c56e 72%,#916521 100%); background-size:240% 100%; border-top:1px solid #f0d78b; border-bottom:1px solid #aa7d2b; box-shadow:inset 0 1px 0 #fff4cf66,inset 0 -1px 0 #51330455,0 4px 24px #d8b96a20; animation:bme-liquid-gold 12s ease-in-out infinite alternate; }
body.bme-shell.bme-style-home .strip-track span, body.bme-shell.bme-style-home .strip-track b { color:#241b0b !important; opacity:1; text-shadow:0 1px 0 #fff1ba55; }
@keyframes bme-liquid-gold { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@media(prefers-reduced-motion:reduce) { body.bme-shell.bme-style-home .strip { animation:none; } }

/* Readable artist name on the homepage upcoming event card. */
body.bme-shell.bme-style-home .up-artist { color:#fff !important; }

/* Improve the gold ribbon slogan readability. */
body.bme-shell.bme-style-home .strip-track span { font-weight:700; font-size:13px; }

/* Highlight the supporting DJ on the homepage upcoming event. */
body.bme-shell.bme-style-home .up-facts li:nth-child(2) { color:var(--gold-lite,#f3e3b0) !important; font-size:clamp(22px,2.2vw,30px); font-weight:700; line-height:1.3; letter-spacing:.02em; padding:12px 18px; margin:10px 0; border-left:3px solid #d8b96a; border-radius:0 12px 12px 0; background:linear-gradient(90deg,rgba(216,185,106,.18),rgba(216,185,106,.03)); list-style:none; }
body.bme-shell.bme-style-home .up-facts li:nth-child(2)::before { display:none; }

/* Ticket recovery panel: readable title; omit unrelated archive purchase link. */
body.bme-shell .tkv-head { color:#fff !important; }
body.bme-shell #tkvBody .tkv-empty > a.pill-gold { display:none; }

/* The narrow-screen gallery uses the single image when the ring is hidden. */
@media(max-width:820px) { body.bme-shell.bme-style-gallery .lightbox.ring-on #lbFrame { opacity:1; pointer-events:auto; } }

/* Keep gallery navigation on opposite screen edges above the image ring. */
body.bme-shell #lightbox .lb-nav { position:fixed !important; top:50% !important; bottom:auto !important; width:52px; height:52px; margin:0 !important; transform:translateY(-50%) !important; z-index:100; display:grid; place-items:center; padding:0; font-size:32px; line-height:1; color:#fff; background:rgba(15,15,18,.85); border:1px solid rgba(216,185,106,.65); }
body.bme-shell #lightbox #lbPrev { left:clamp(12px,3vw,48px) !important; right:auto !important; }
body.bme-shell #lightbox #lbNext { right:clamp(12px,3vw,48px) !important; left:auto !important; }

/* High-contrast gallery controls: gold surfaces and dark symbols. */
body.bme-shell #lightbox .lb-nav, body.bme-shell #lightbox #lbClose { background:linear-gradient(135deg,#f3dfa0,#d8b96a 55%,#b58a32) !important; color:#15120b !important; border:1px solid #f3dfa0 !important; opacity:1; box-shadow:0 4px 18px #0007; font-weight:700; }
body.bme-shell #lightbox #lbClose { position:fixed !important; top:calc(20px + var(--wp-admin--admin-bar--height,0px)) !important; right:clamp(12px,3vw,48px) !important; bottom:auto !important; left:auto !important; transform:none !important; width:52px; height:52px; display:grid; place-items:center; padding:0; font-size:26px; line-height:1; border-radius:50%; z-index:101; }
body.bme-shell #lightbox .lb-nav:focus-visible, body.bme-shell #lightbox #lbClose:focus-visible { outline:3px solid #fff; outline-offset:4px; }

/* Inline manual photo rings replace the static photo grids. */
body.bme-shell .inline-photo-ring { display:block; position:relative; height:clamp(330px,44vw,650px); margin-top:36px; perspective:1400px; isolation:isolate; overflow:hidden; }
body.bme-shell .inline-photo-ring .shot { position:absolute; left:50%; top:48%; width:62%; height:70%; min-height:0; aspect-ratio:auto; padding:0; margin:0; grid-column:auto; border-radius:16px; border:1px solid #d8b96a55; background:#08080b; box-shadow:0 20px 45px #0008; opacity:var(--ring-opacity,0) !important; z-index:var(--ring-z,0); transform:translate(-50%,-50%) translate(var(--ring-x,0px),var(--ring-y,0px)) scale(var(--ring-scale,1)) !important; transition:transform .7s cubic-bezier(.22,.61,.36,1),opacity .5s; }
body.bme-shell .inline-photo-ring .shot::before,body.bme-shell .inline-photo-ring .shot::after { display:none; }
body.bme-shell .inline-photo-ring .shot img { position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:contain; transform:none !important; filter:none; }
body.bme-shell .inline-photo-ring .shot.ring-current { border-color:#d8b96a; }
body.bme-shell .inline-ring-arrow { position:absolute; top:48%; transform:translateY(-50%); z-index:60; width:52px; height:52px; padding:0; margin:0; border-radius:50%; border:1px solid #f3dfa0; display:grid; place-items:center; background:linear-gradient(135deg,#f3dfa0,#d8b96a 55%,#b58a32); color:#15120b; box-shadow:0 4px 18px #0007; cursor:pointer; }
body.bme-shell .inline-ring-prev { left:8px; } body.bme-shell .inline-ring-next { right:8px; }
body.bme-shell .inline-ring-arrow svg,body.bme-shell #lightbox .lb-nav svg,body.bme-shell #lightbox #lbClose svg { display:block; width:24px; height:24px; margin:0; flex-shrink:0; }
body.bme-shell .inline-ring-caption { position:absolute; bottom:5px; left:10%; width:80%; margin:0; text-align:center; color:#fff; font-size:15px; z-index:50; }
body.bme-shell .inline-ring-arrow:focus-visible,body.bme-shell .inline-photo-ring .ring-current:focus-visible { outline:3px solid #fff; outline-offset:3px; }
body.bme-shell.bme-inline-gallery #lightbox .lb-ring { display:none !important; }
body.bme-shell.bme-inline-gallery #lightbox #lbFrame { opacity:1 !important; pointer-events:auto; }
@media(max-width:600px) { body.bme-shell .inline-photo-ring { height:340px; } body.bme-shell .inline-photo-ring .shot { width:76%; height:65%; } body.bme-shell .inline-ring-arrow { width:44px; height:44px; } }
@media(prefers-reduced-motion:reduce) { body.bme-shell .inline-photo-ring .shot { transition:none; } }

/* Give the inline galleries a larger, screen-filling photo stage. */
body.bme-shell.bme-inline-gallery #stage > .wrap, body.bme-shell.bme-inline-gallery #crowd > .wrap { max-width:1800px; width:100%; }
body.bme-shell .inline-photo-ring { height:clamp(440px,58vw,960px); margin-top:24px; }
body.bme-shell .inline-photo-ring .shot { width:76%; height:82%; }
@media(max-width:600px) { body.bme-shell .inline-photo-ring { height:420px; } body.bme-shell .inline-photo-ring .shot { width:86%; height:76%; } }

/* One continuous motion-flyer row at every screen width. */
body.bme-shell #motionGrid.motion-rail { display:flex; flex-wrap:nowrap; gap:24px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:8px 2px 20px; scrollbar-width:thin; scrollbar-color:#d8b96a #171511; direction:ltr; }
body.bme-shell #motionGrid.motion-rail > .mf { flex:0 0 calc((100% - 48px) / 3); min-width:0; margin:0; scroll-snap-align:start; scroll-snap-stop:normal; }
body.bme-shell .motion-rail-controls { display:flex; justify-content:flex-end; gap:14px; margin:20px 0 12px; }
body.bme-shell .motion-rail-arrow { width:52px; height:52px; border-radius:50%; padding:0; display:grid; place-items:center; background:linear-gradient(135deg,#f3dfa0,#d8b96a 55%,#b58a32); border:1px solid #f3dfa0; color:#15120b; cursor:pointer; }
body.bme-shell .motion-rail-arrow svg { width:24px; height:24px; display:block; margin:0; }
body.bme-shell .motion-rail-arrow:disabled { opacity:.35; cursor:default; }
body.bme-shell .motion-rail-arrow:focus-visible,body.bme-shell #motionGrid:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:1024px) { body.bme-shell #motionGrid.motion-rail > .mf { flex-basis:calc((100% - 24px) / 2); } }
@media(max-width:600px) { body.bme-shell #motionGrid.motion-rail { gap:16px; } body.bme-shell #motionGrid.motion-rail > .mf { flex-basis:86%; } }

/* Accessible flyer player and clearer navigation. */
body.bme-shell #mfPlayer {position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-width:none!important;z-index:100000!important;box-sizing:border-box;padding:84px 20px 48px!important;background:rgba(0,0,0,.94)}
body.bme-shell #mfPlayer[hidden] {display:none!important}
body.bme-shell #mfPlayer .mfl-stage {width:100%;max-width:900px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}
body.bme-shell #mfHolder {min-height:0;max-height:100%;display:flex;align-items:center;justify-content:center}
body.bme-shell #mfHolder video,body.bme-shell #mfHolder iframe {max-height:calc(100dvh - 180px)!important;max-width:100%!important;width:auto;object-fit:contain}
body.bme-shell #mfPlayer .mfl-cap {position:static;flex-shrink:0;margin:12px 0 0;color:#fff;text-align:center}
body.bme-shell #mfClose {position:fixed!important;top:calc(14px + var(--wp-admin--admin-bar--height,0px))!important;right:20px!important;bottom:auto!important;left:auto!important;transform:none!important;z-index:100001!important;display:flex!important;align-items:center;justify-content:center;gap:8px;min-width:112px;height:48px;padding:10px 18px!important;border:1px solid #f8e7ae;border-radius:28px;background:linear-gradient(135deg,#f3dfa0,#d8b96a 55%,#b58a32)!important;color:#15120b!important;font-size:14px;font-weight:700;line-height:1;box-shadow:0 4px 20px #0008;cursor:pointer}
body.bme-shell #mfClose svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;flex-shrink:0}
body.bme-shell #mfClose:focus-visible {outline:3px solid #fff;outline-offset:4px}
body.bme-shell .wrap:has(> #motionGrid) > .section-head > .lede {display:none!important}
body.bme-shell .nav-links {padding:7px;gap:4px}
body.bme-shell .nav-links .nav-link {font-size:14px;font-weight:650;letter-spacing:.12em;padding:12px 22px;color:#f5f0e3}
@media(min-width:980px) and (max-width:1200px){body.bme-shell .nav-links .nav-link{font-size:13px;padding:12px 14px}}

/* Keep controls close to the content they operate. */
body.bme-shell .motion-rail-controls {justify-content:center;gap:20px}
body.bme-shell #mfPlayer .mfl-stage {height:auto;max-height:100%}
body.bme-shell #mfClose {position:static!important;inset:auto!important;transform:none!important;flex-shrink:0;align-self:center;order:-1;margin:0 0 12px!important}
body.bme-shell #mfHolder video,body.bme-shell #mfHolder iframe {max-height:calc(100dvh - 240px)!important}
@media(min-width:1201px){body.bme-shell .nav-links {gap:8px;padding:8px 12px}body.bme-shell .nav-links .nav-link {padding:13px 28px;font-size:15px}}

/* Account preview: working ticket recovery, future account clearly marked. */
body.bme-shell #ticketsView {position:fixed!important;inset:0!important;z-index:100000!important;overflow-y:auto;padding:70px 20px 30px;box-sizing:border-box}
body.bme-shell #ticketsView[hidden] {display:none!important}
body.bme-shell #ticketsView .tkv-panel {max-height:calc(100dvh - 110px);overflow-y:auto;width:min(640px,100%);box-sizing:border-box}
body.bme-shell #ticketsView .account-section-title {color:#e7cc83;font-size:22px;margin:20px 0 12px}
body.bme-shell #ticketsView .account-next {border-top:1px solid #d8b96a55;margin-top:28px;padding-top:8px}
body.bme-shell #ticketsView .account-next p {color:#f2ede2;font-size:15px}
body.bme-shell #ticketsView .account-support {display:inline-block;margin-top:20px;color:#e7cc83;text-decoration:underline}
body.bme-shell #ticketsView .tkv-form button {background:linear-gradient(135deg,#f3dfa0,#d8b96a 55%,#b58a32);color:#15120b;font-weight:700}
body.bme-shell #contact a[href="#tickets"] {background:linear-gradient(135deg,#f3dfa0,#d8b96a 55%,#b58a32);color:#15120b;border-radius:16px;padding:18px 22px;font-weight:700}
body.bme-shell #contact a[href="#tickets"] span {color:#302716}

/* Golden Night: keep the landing pages independent of the existing Elementor kit. */
body.bme-shell { background-color: var(--ink, #090909) !important; color: var(--paper, #f5f0e6); }

/* Venue pages share the Golden Night chrome; reserve its natural height above the poster. */
body.bme-shell.single-eh_event .bme-chrome-header .nav { position:relative; top:0 !important; }
body.bme-shell.single-eh_event .eh-legend, body.bme-shell.single-eh_event .eh-muted, body.bme-shell.single-eh_event .eh-map-hint { color:#d4d0c7; }
