:root {
  --jubo-header-z: 999;
  --jubo-header-bg: rgba(28, 22, 18, 0.92);
  --jubo-header-bg-solid: rgba(24, 19, 16, 0.97);
  --jubo-header-bg-soft: rgba(36, 29, 24, 0.72);
  --jubo-panel-bg: rgba(20, 16, 14, 0.98);
}

.jubo-header-spacer { display:none; }
.jubo-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: var(--jubo-header-z);
  color: var(--jubo-text);
  transition: background var(--jubo-transition), transform var(--jubo-transition), box-shadow var(--jubo-transition);
}
.jubo-header.is-default,
.jubo-header.is-sticky {
  background: var(--jubo-header-bg-solid);
  box-shadow: var(--jubo-shadow);
}
.jubo-header.is-transparent {
  background: transparent;
}
.jubo-header a { color: inherit; text-decoration: none; }
.jubo-header img { max-width: 100%; height: auto; display:block; }
.jubo-announcement,
.jubo-brand-header,
.jubo-utility-bar,
.jubo-mobile-header { width:100%; }

.jubo-announcement {
  background: rgba(18, 14, 12, 0.84);
  border-bottom: 1px solid var(--jubo-border);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.jubo-announcement__desktop, .jubo-brand-header__inner, .jubo-utility-bar__inner, .jubo-mobile-header__inner { max-width: 1440px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.jubo-announcement__desktop { display:flex; min-height: 34px; align-items:center; justify-content:center; overflow:hidden; }
.jubo-announcement__track { width:100%; position:relative; min-height: 18px; text-align:center; }
.jubo-announcement__item {
  position: absolute;
  inset: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 280ms ease, visibility 280ms ease;
  color: var(--jubo-muted);
}
.jubo-announcement__item.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.jubo-announcement__item a:hover { color: var(--jubo-gold); }
.jubo-announcement__mobile { display:none; }

.jubo-brand-header {
  background: rgba(22, 17, 15, 0.56);
  border-bottom: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(12px);
}
.jubo-header.is-default .jubo-brand-header,
.jubo-header.is-sticky .jubo-brand-header {
  background: transparent;
}
.jubo-brand-header__inner { display:grid; grid-template-columns: minmax(220px, 320px) 1fr auto; align-items:center; gap: 24px; min-height: 92px; }
.jubo-logo-link { display:block; width:100%; max-width: 280px; }
.jubo-logo { display:block; width:auto; height:auto; max-height: 56px; }
.jubo-brand-header .jubo-logo--sticky { display:none !important; }
.jubo-logo-fallback { font-size: 30px; font-weight: 600; letter-spacing: .04em; }
.jubo-primary-menu { display:flex; align-items:center; justify-content:center; gap: 28px; list-style:none; margin:0; padding:0; }
.jubo-primary-menu > li { position:relative; }
.jubo-primary-menu > li > a { display:inline-flex; align-items:center; min-height: 92px; font-size: 15px; letter-spacing: .03em; }
.jubo-primary-menu > li:hover > a { color: var(--jubo-gold); }
.jubo-header-cta { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--jubo-gold); color: var(--jubo-text); border-radius: var(--jubo-radius); padding: 13px 20px; white-space:nowrap; background: rgba(200,165,106,.08); }
.jubo-header-cta:hover { background: var(--jubo-gold); color:#111; }

.jubo-utility-bar {
  border-bottom:1px solid rgba(255,255,255,.05);
  background: rgba(26, 21, 18, 0.82);
  backdrop-filter: blur(12px);
}
.jubo-header.is-default .jubo-utility-bar,
.jubo-header.is-sticky .jubo-utility-bar {
  background: rgba(24, 19, 16, 0.92);
}
.jubo-utility-bar__inner { display:grid; grid-template-columns: 1fr minmax(300px, 640px) auto; gap: 24px; align-items:center; min-height: 58px; }

.jubo-socials { list-style:none; display:flex; gap: 10px; margin:0; padding:0; }
.jubo-socials a,
.jubo-socials span {
  width:32px;
  height:32px;
  border:1px solid var(--jubo-border);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--jubo-muted);
  font-size:12px;
  background: rgba(255,255,255,.02);
}
.jubo-socials a:hover { border-color: var(--jubo-gold); color: var(--jubo-gold); }
.jubo-socials span[aria-hidden="true"] { opacity:.72; }

.jubo-search-form {
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:12px;
  min-height: 46px;
  border:1px solid var(--jubo-border);
  border-radius: var(--jubo-radius);
  background: rgba(255,255,255,.04);
  padding: 0 8px 0 16px;
  transition: border-color var(--jubo-transition), background var(--jubo-transition), box-shadow var(--jubo-transition);
}
.jubo-search-form:focus-within { border-color: rgba(200,165,106,.7); background: rgba(255,255,255,.06); box-shadow: 0 0 0 4px rgba(200,165,106,.08); }
.jubo-search-form__field,
.jubo-search-form__field:hover,
.jubo-search-form__field:focus,
.jubo-search-form__submit {
  -webkit-appearance: none;
  appearance: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.jubo-search-form__field { color: var(--jubo-text); min-width: 0; padding: 12px 0; }
.jubo-search-form__field:focus { outline:none; }
.jubo-search-form__field::placeholder { color: var(--jubo-muted); }
.jubo-search-form__submit { color: var(--jubo-gold); padding: 8px 12px; }

.jubo-utility-bar__actions { display:flex; align-items:center; gap: 10px; }
.jubo-action-link { width:42px; height:42px; border-radius:50%; border:1px solid var(--jubo-border); display:flex; align-items:center; justify-content:center; color: var(--jubo-text); background: rgba(255,255,255,.02); }
.jubo-action-link:hover { border-color: var(--jubo-gold); color: var(--jubo-gold); }
.jubo-mini-cart { position:relative; }
.jubo-cart-count { display:inline-flex; min-width: 18px; height:18px; align-items:center; justify-content:center; padding:0 5px; background: var(--jubo-gold); color:#111; border-radius:999px; font-size:11px; font-weight:700; }
.jubo-mini-cart__toggle { gap:6px; width:auto; padding:0 10px; border-radius:999px; }
.jubo-mini-cart__panel { position:absolute; right:0; top:calc(100% + 14px); width:360px; padding:18px; background: var(--jubo-panel-bg); border:1px solid var(--jubo-border); box-shadow: var(--jubo-shadow); opacity:0; visibility:hidden; transform: translateY(6px); transition: all var(--jubo-transition); }
.jubo-mini-cart:hover .jubo-mini-cart__panel,
.jubo-mini-cart:focus-within .jubo-mini-cart__panel { opacity:1; visibility:visible; transform: translateY(0); }
.jubo-mini-cart__footer-links { display:flex; justify-content:space-between; gap:12px; margin-top:16px; }
.jubo-mini-cart__footer-links a { color: var(--jubo-gold); }

.jubo-mega-menu { position:absolute; left:50%; top:100%; transform: translateX(-50%); min-width: 980px; display:grid; grid-template-columns: 290px 1fr; gap: 28px; padding: 28px; background: var(--jubo-panel-bg); border:1px solid var(--jubo-border); box-shadow: var(--jubo-shadow); opacity:0; visibility:hidden; pointer-events:none; transition: all var(--jubo-transition); }
.menu-item-events:hover > .jubo-mega-menu,
.menu-item-events:focus-within > .jubo-mega-menu { opacity:1; visibility:visible; pointer-events:auto; }
.jubo-mega-menu__featured { border-right:1px solid var(--jubo-border); padding-right: 24px; }
.jubo-mega-menu__all-events { display:flex; flex-direction:column; gap:12px; color: var(--jubo-text); }
.jubo-mega-menu__eyebrow { color: var(--jubo-gold); text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
.jubo-mega-menu__groups { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.jubo-mega-menu__group h3 { margin:0 0 10px; color: var(--jubo-gold); font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }
.jubo-mega-menu__group ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.jubo-mega-menu__group a { color: var(--jubo-muted); }
.jubo-mega-menu__group a:hover { color: var(--jubo-text); }

.jubo-mobile-header, .jubo-mobile-drawer { display:none; }
.admin-bar .jubo-header { top:32px; }
body.jubo-has-header { padding-top: 184px; }
body.jubo-has-header.has-announcement { padding-top: 218px; }
.storefront-primary-navigation, .site-search, .site-branding, .site-header-cart, .secondary-navigation { display:none !important; }
