:root {
  --e8sp-night: #08080d;
  --e8sp-night-2: #101019;
  --e8sp-panel: #171522;
  --e8sp-ink: #fbf9ff;
  --e8sp-muted: #c2bccd;
  --e8sp-purple: #b487ff;
  --e8sp-purple-deep: #7446ff;
  --e8sp-lime: #d2ff72;
  --e8sp-green: #72f3ad;
  --e8sp-line: rgb(255 255 255 / 14%);
}

body.e8sp-shared-presentation {
  margin: 0;
  color: var(--e8sp-ink);
  background: radial-gradient(circle at 12% 4%, rgb(111 60 255 / 23%), transparent 34%), radial-gradient(circle at 88% 18%, rgb(105 240 168 / 12%), transparent 28%), linear-gradient(180deg, #0b0a12 0%, #11101a 46%, #09090f 100%);
  font-family: Arial, Helvetica, sans-serif;
}

body.e8sp-shared-presentation *,
body.e8sp-shared-presentation *::before,
body.e8sp-shared-presentation *::after { box-sizing: border-box; }

.e8sp-skip { position: fixed; z-index: 10000; top: 10px; left: 10px; padding: 10px 14px; color: #08080d; background: var(--e8sp-lime); transform: translateY(-150%); }
.e8sp-skip:focus { transform: translateY(0); }

.e8sp-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  min-height: 82px;
  padding: 0 max(20px, calc((100% - 1180px) / 2));
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid var(--e8sp-line);
  background: rgb(9 9 15 / 92%);
  box-shadow: 0 14px 40px rgb(0 0 0 / 26%);
  backdrop-filter: blur(18px);
}

.e8sp-brand { color: var(--e8sp-ink) !important; font-weight: 900; letter-spacing: .12em; text-decoration: none !important; white-space: nowrap; }
.e8sp-brand span { margin-right: .18rem; color: transparent; background: linear-gradient(100deg, var(--e8sp-purple), var(--e8sp-green)); background-clip: text; font-size: 1.55rem; letter-spacing: -.08em; }
.e8sp-primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 1.45vw, 24px); }
.e8sp-primary-nav a { color: #d9d4e5 !important; font-size: .85rem; font-weight: 700; text-decoration: none !important; }
.e8sp-primary-nav a:hover, .e8sp-primary-nav a:focus-visible { color: var(--e8sp-lime) !important; }
.e8sp-actions { display: flex; gap: 8px; align-items: center; }
.e8sp-actions a { display: inline-flex; min-height: 42px; padding: 10px 15px; align-items: center; justify-content: center; border-radius: 999px; font-size: .76rem; font-weight: 900; text-decoration: none !important; white-space: nowrap; }
.e8sp-book { color: #fff !important; background: linear-gradient(110deg, var(--e8sp-purple-deep), var(--e8sp-purple)); }
.e8sp-account { border: 1px solid rgb(210 255 114 / 60%); color: var(--e8sp-lime) !important; }
.e8sp-menu-toggle { display: none; min-height: 44px; border: 1px solid var(--e8sp-line); border-radius: 999px; color: var(--e8sp-ink); background: var(--e8sp-panel); font: inherit; font-weight: 900; }

body.e8sp-shared-presentation #content { width: min(1180px, calc(100% - 40px)); min-height: 58vh; margin: 0 auto; padding: 58px 0 86px; }
body.e8sp-shared-presentation #primary,
body.e8sp-shared-presentation .content-area { float: none; width: 100%; max-width: none; }
body.e8sp-shared-presentation #secondary,
body.e8sp-shared-presentation .widget-area { display: none; }
body.e8sp-shared-presentation .entry-title { color: var(--e8sp-ink); font-size: clamp(2.4rem, 5vw, 5rem); line-height: .95; letter-spacing: -.055em; }
body.e8sp-shared-presentation .entry-content { color: var(--e8sp-ink); }
body.e8sp-shared-presentation .entry-content :is(p, li, label) { color: var(--e8sp-muted); }
body.e8sp-shared-presentation :is(input, select, textarea) { max-width: 100%; }
body.e8sp-shared-presentation :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--e8sp-lime) !important; outline-offset: 3px; }

.e8sp-footer { padding: 70px max(20px, calc((100% - 1180px) / 2)) 26px; border-top: 1px solid var(--e8sp-line); color: var(--e8sp-ink); background: #07070b; }
.e8sp-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.e8sp-footer-grid > div { display: flex; flex-direction: column; gap: 12px; }
.e8sp-footer p { max-width: 440px; margin: 0; color: #aaa4b4; line-height: 1.5; }
.e8sp-footer h2 { margin: 0 0 8px; color: var(--e8sp-lime); font-size: .78rem; letter-spacing: .15em; text-transform: uppercase; }
.e8sp-footer a { color: var(--e8sp-ink); text-decoration: none; }
.e8sp-footer a:hover, .e8sp-footer a:focus-visible { color: var(--e8sp-lime); }
.e8sp-legal { display: flex; margin-top: 42px; padding-top: 20px; align-items: center; flex-wrap: wrap; gap: 18px; border-top: 1px solid var(--e8sp-line); }
.e8sp-legal strong { color: var(--e8sp-lime); font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
.e8sp-legal a { text-decoration: underline; text-underline-offset: 4px; }

body.e8sp-shared-presentation .woocommerce,
body.e8sp-shared-presentation #amelia-container,
body.e8sp-shared-presentation .amelia-v2-booking,
body.e8sp-shared-presentation #e8-apply-form {
  border: 1px solid var(--e8sp-line);
  border-radius: 26px;
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 24px 60px rgb(0 0 0 / 24%);
}
body.e8sp-shared-presentation .woocommerce { padding: clamp(20px, 4vw, 42px); color: #17131f; }
body.e8sp-shared-presentation .woocommerce :is(p, li, label) { color: #514b59; }

.e8sp-book-entry,
.e8sp-account-shell { max-width: 1050px; margin: 0 auto; }
.e8sp-eyebrow { color: var(--e8sp-lime) !important; font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.e8sp-book-entry > h1,
.e8sp-account-shell > h1 { max-width: 900px; margin: 12px 0 22px; color: var(--e8sp-ink); font-size: clamp(3rem, 8vw, 7.5rem); line-height: .88; letter-spacing: -.065em; }
.e8sp-book-entry > p:not(.e8sp-eyebrow) { max-width: 720px; color: var(--e8sp-muted); font-size: 1.12rem; line-height: 1.6; }
.e8sp-route-grid { display: grid; margin-top: 42px; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.e8sp-route-grid a { display: flex; min-height: 190px; padding: 26px; flex-direction: column; justify-content: flex-end; border: 1px solid var(--e8sp-line); border-radius: 22px; color: var(--e8sp-ink) !important; background: linear-gradient(145deg, rgb(116 70 255 / 22%), rgb(114 243 173 / 7%)); text-decoration: none !important; }
.e8sp-route-grid strong { color: var(--e8sp-lime); font-size: 1.15rem; }
.e8sp-route-grid span { margin-top: 9px; color: var(--e8sp-muted); line-height: 1.45; }

@media (max-width: 1120px) {
  .e8sp-header { grid-template-columns: auto auto 1fr; }
  .e8sp-menu-toggle { display: inline-flex; grid-column: 2; align-items: center; justify-content: center; padding: 0 16px; }
  .e8sp-primary-nav { position: absolute; top: 72px; right: 16px; left: 16px; display: none; padding: 14px; flex-direction: column; align-items: stretch; gap: 2px; border: 1px solid var(--e8sp-line); border-radius: 18px; background: #11101a; box-shadow: 0 28px 70px rgb(0 0 0 / 42%); }
  .e8sp-primary-nav.is-open { display: flex; }
  .e8sp-primary-nav a { min-height: 44px; padding: 11px 14px; border-radius: 10px; }
  .e8sp-actions { justify-self: end; }
}

@media (max-width: 640px) {
  html,
  body.e8sp-shared-presentation { min-width: 0 !important; max-width: 100% !important; }
  body.e8sp-shared-presentation :is(#page, .site, #content, #primary, #main, .site-main, article, .hentry, .entry-content) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .e8sp-header { min-height: 70px; padding-inline: 14px; gap: 9px; }
  .e8sp-brand { font-size: .72rem; }
  .e8sp-brand span { font-size: 1.25rem; }
  .e8sp-actions .e8sp-account { display: none; }
  .e8sp-actions a { min-height: 40px; padding: 9px 11px; }
  body.e8sp-shared-presentation #content { width: 100% !important; margin: 0 !important; padding: 34px 16px 62px !important; }
  body.e8sp-shared-presentation :is(#content, #primary, article, .entry-content, .woocommerce, .e8-artists-hero, #e8-apply-form) {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.e8sp-shared-presentation :is(#content, #primary, article, .entry-content) > * { min-width: 0 !important; max-width: 100% !important; }
  body.e8sp-shared-presentation :is(.e8-artists-hero, .e8-artists-hero-copy, .e8-artists-hero-art, #e8-apply-form) { width: 100% !important; }
  body.e8sp-shared-presentation :is(.e8-artists-hero-copy, #e8-apply-form) { padding-right: 16px !important; padding-left: 16px !important; }
  body.e8sp-shared-presentation :is(#amelia-container, .amelia-v2-booking, .amelia-app-booking) {
    --am-mw-main: 100% !important;
    --am-mw-fsm: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden;
  }
  body.e8sp-shared-presentation :is(#amelia-container, .amelia-v2-booking, .amelia-app-booking) > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.e8sp-shared-presentation :is(.am-fs__main-heading, .am-fs__main-content, .am-fs__main-footer) {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  body.e8sp-shared-presentation :is(.amelia-v2-booking, #amelia-container, #amelia-container .am-fs__main, #amelia-container .am-fs__main-inner) { width: calc(100vw - 72px) !important; max-width: calc(100vw - 72px) !important; }
  body.e8sp-shared-presentation #amelia-container :is(.am-fs__main-inner, .am-fs__main-footer, .am-button-continue) { max-width: 100% !important; }
  body.e8sp-shared-presentation #amelia-container .am-button-continue { right: 16px !important; margin-right: 16px !important; }
  body.e8sp-shared-presentation .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.e8sp-shared-presentation ul.products[class*="columns-"] { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; }
  body.e8sp-shared-presentation ul.products[class*="columns-"] > li.product { width: 100% !important; max-width: 100% !important; }
  body.e8sp-shared-presentation ul.products { display: block !important; width: 100% !important; }
  body.e8sp-shared-presentation ul.products > li.product { float: none !important; clear: both !important; width: 100% !important; max-width: 100% !important; margin-right: 0 !important; margin-left: 0 !important; }
  body.e8sp-shared-presentation .woocommerce-info { white-space: normal !important; overflow-wrap: anywhere; letter-spacing: .08em; }
  body.e8sp-shared-presentation .wc-block-grid.has-4-columns .wc-block-grid__products,
  body.e8sp-shared-presentation .wc-block-grid__products { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; margin: 0 !important; }
  body.e8sp-shared-presentation .wc-block-grid__product { width: 100% !important; max-width: 100% !important; margin: 0 0 28px !important; }
  body.e8sp-shared-presentation :is(.wc-block-cart__empty-cart__title, .wp-block-heading) { max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere; }
  body.e8sp-shared-presentation .wc-block-cart__empty-cart__title { width: 100% !important; padding-inline: 8px !important; font-size: .86rem !important; letter-spacing: .12em !important; }
  body.e8sp-shared-presentation .wp-block-woocommerce-empty-cart-block > :is(.wp-block-separator, .wp-block-heading:not(.wc-block-cart__empty-cart__title), .wp-block-woocommerce-product-new) { display: none !important; }
  body.e8sp-shared-presentation .e8-artists-hero-copy * { max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere; }
  body.e8sp-shared-presentation .woocommerce { width: calc(100vw - 64px) !important; max-width: calc(100vw - 64px) !important; padding: 18px !important; }
  body.e8sp-shared-presentation .woocommerce :is(form.login, form.register, .form-row, input.input-text) { width: 100% !important; max-width: 100% !important; }
  body.e8sp-shared-presentation .e8sp-footer { width: 100% !important; max-width: 100% !important; }
  body.e8sp-shared-presentation .e8sp-footer :is(p, a) { max-width: 100% !important; overflow-wrap: anywhere; }
  body.e8sp-shared-presentation .woocommerce ul.products li.product {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.e8sp-shared-presentation .woocommerce ul.products li.product img { width: 100% !important; height: auto !important; }
  .e8sp-footer { padding: 50px 18px 22px; }
  .e8sp-route-grid { grid-template-columns: 1fr; }
  .e8sp-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .e8sp-legal { align-items: flex-start; flex-direction: column; }
}

/* My Account: contain the real flex/navigation shells without viewport-width
   rounding or blanket overflow clipping. */
@media (max-width: 640px) {
  body.e8sp-shared-presentation.woocommerce-account :is(
    .e8sp-account-shell,
    .woocommerce,
    .woocommerce-MyAccount-navigation,
    .woocommerce-MyAccount-content
  ) {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.e8sp-shared-presentation.woocommerce-account .woocommerce {
    width: 100% !important;
  }

  /* Keep the 300px Turnstile registration widget inside the account card. */
  body.e8sp-shared-presentation.woocommerce-account .woocommerce-form-register {
    padding-inline: 4px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.e8sp-shared-presentation *, body.e8sp-shared-presentation *::before, body.e8sp-shared-presentation *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Classic WooCommerce: keep sold-individually quantity as a distinct mobile row. */
@media (max-width: 768px) {
  body.e8sp-shared-presentation .woocommerce table.shop_table_responsive tr td.product-quantity:has(input.qty[type="hidden"]) {
    display: flex !important;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    clear: both;
  }
  body.e8sp-shared-presentation .woocommerce table.shop_table_responsive tr td.product-quantity:has(input.qty[type="hidden"])::before {
    float: none !important;
  }
  body.e8sp-shared-presentation .woocommerce table.shop_table_responsive tr td.product-quantity:has(input.qty[type="hidden"])::after {
    content: "1";
  }
}
