@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap');

:root {
  --font-display: "Sora", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --type-body: 16px;
  --type-small: 13px;
  --type-label: 14px;
  --type-nav: 15px;
  --type-button: 15px;
}

html {
  font-size: 16px;
}

body,
input,
select,
textarea,
button {
  font-family: var(--font-body) !important;
}

body {
  font-size: var(--type-body);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title {
  font-family: var(--font-display) !important;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.5rem, 5vw, 4.5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
  font-weight: 800 !important;
}

h2,
.section-title {
  font-size: clamp(1.9rem, 3.5vw, 2.75rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  font-weight: 700 !important;
}

h3 {
  font-size: clamp(1.3rem, 2.2vw, 1.75rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
  font-weight: 700 !important;
}

h4 {
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 700;
}

p,
.long-copy,
.section-copy {
  font-family: var(--font-body) !important;
}

p,
.section-copy {
  line-height: 1.7;
}

.section-copy,
.hero-copy,
.hero p,
.detail-copy > p,
.event-detail-heading p {
  font-size: clamp(1rem, 1.25vw, 1.125rem) !important;
  line-height: 1.7 !important;
}

.desktop-nav a,
.mobile-nav a,
.site-nav a,
.nav-link,
.footer-links a {
  font-family: var(--font-body) !important;
  font-size: var(--type-nav) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

.btn,
button,
.button,
.cta,
.back-link {
  font-family: var(--font-body) !important;
  font-size: var(--type-button) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

label,
.form-field label,
.field label {
  font-family: var(--font-body) !important;
  font-size: var(--type-label) !important;
  font-weight: 700 !important;
}

input,
select,
textarea {
  font-size: 16px !important;
  line-height: 1.45;
}

.eyebrow,
.event-month,
.event-status,
.detail-status,
.trip-status,
.destination-location,
.sold-out,
.closed,
.sold-out-label,
.gallery-badge {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
}

.event-location,
.trip-main p,
.trip-destination,
.trip-price small,
.ticket p,
.ticket-price small,
.fact p,
.footer-copy,
.footer-bottom,
small {
  font-size: var(--type-small) !important;
  line-height: 1.6;
}

/* Preserve a compact hierarchy in the admin area while using the same typefaces. */
.admin-layout h1,
.login-panel h1 {
  font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
  line-height: 1.08 !important;
}

.admin-layout h2 {
  font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
}

.admin-layout h3 {
  font-size: clamp(1.1rem, 1.5vw, 1.35rem) !important;
}

.sidebar-brand,
.brand {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
}

.sidebar-nav a,
.logout-button,
.admin-topbar,
.admin-layout table,
.admin-layout input,
.admin-layout select,
.admin-layout textarea {
  font-family: var(--font-body) !important;
}

@media (max-width: 640px) {
  h1 {
    font-size: clamp(2.5rem, 12vw, 2.875rem) !important;
    line-height: 1.04 !important;
  }

  h2,
  .section-title {
    font-size: clamp(1.75rem, 8vw, 2.125rem) !important;
  }

  h3 {
    font-size: clamp(1.25rem, 6vw, 1.5rem) !important;
  }

  body {
    font-size: 16px;
  }

  .desktop-nav a,
  .mobile-nav a,
  .site-nav a,
  .nav-link,
  .btn,
  button,
  .button,
  .cta,
  .back-link {
    font-size: 15px !important;
  }
}


/* ===== BWET public premium refinement ===== */
::selection{background:#c99a2f;color:#090909}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(201,154,47,.45);outline-offset:3px}
.btn,.header-cta,.contact-action,.checkout-button{transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn:hover,.header-cta:hover,.contact-action:hover,.checkout-button:hover:not(:disabled){transform:translateY(-2px)}
.btn-gold:hover{box-shadow:0 10px 30px rgba(201,154,47,.18)}
.gallery-item img,.division-media img,.page-hero-media img,.detail-hero-media img,.band-media img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.gallery-item:hover img,.division-media:hover img,.band-media:hover img{transform:scale(1.025)}
.ui-loading{min-height:110px;display:flex;align-items:center;justify-content:center;gap:10px;color:#756f63;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);background-size:220% 100%;animation:bwet-public-shimmer 1.6s linear infinite}
.ui-spinner{width:18px;height:18px;border:2px solid rgba(148,106,18,.2);border-top-color:#946a12;border-radius:50%;animation:bwet-public-spin .72s linear infinite}
@keyframes bwet-public-spin{to{transform:rotate(360deg)}}
@keyframes bwet-public-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero:hover::before{transform:scale(1.01)!important}}
