/* ============================================================
   THE DESI TROOP EVENTS — MASTER OVERHAUL CSS v2.0
   Brand: Bollywood Luxury Black & Gold
   ============================================================ */

:root {
  --tdt-black:       #080808;
  --tdt-black2:      #0d0b09;
  --tdt-black3:      #111111;
  --tdt-black4:      #181818;
  --tdt-gold:        #C8952A;
  --tdt-gold2:       #E0B04B;
  --tdt-gold-dim:    rgba(200,149,42,0.22);
  --tdt-gold-glow:   rgba(200,149,42,0.18);
  --tdt-text:        rgba(245,240,232,0.92);
  --tdt-muted:       rgba(245,240,232,0.52);
  --tdt-faint:       rgba(245,240,232,0.15);
  --tdt-font-h:      'Cinzel', Georgia, serif;
  --tdt-font-b:      'Cormorant Garamond', Georgia, serif;
}

/* === GLOBAL === */
body, .fusion-body {
  background: var(--tdt-black) !important;
  color: var(--tdt-text) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--tdt-black); }
::-webkit-scrollbar-thumb { background: var(--tdt-gold); border-radius: 2px; }

/* === STICKY HEADER === */
#wrapper, #header-sticky, .fusion-header-wrapper {
  background: var(--tdt-black) !important;
}
.fusion-header {
  background: rgba(8,8,8,0.97) !important;
  border-bottom: 1px solid var(--tdt-gold-dim) !important;
  backdrop-filter: blur(8px);
}
.fusion-sticky-header-enabled #header-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

/* === LOGO === */
.fusion-logo { display: flex; align-items: center; }
.fusion-logo img { max-height: 48px !important; }

/* === NAVIGATION === */
.fusion-main-menu > ul > li > a,
.fusion-main-menu > ul > li > span {
  font-family: var(--tdt-font-h) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--tdt-muted) !important;
  padding: 0 14px !important;
}
.fusion-main-menu > ul > li:hover > a,
.fusion-main-menu > ul > li.current-menu-item > a {
  color: var(--tdt-gold) !important;
}

/* City pills row */
.tdt-city-pills {
  display: flex; gap: 6px; align-items: center;
  padding: 0 12px;
}
.tdt-city-pill {
  font-size: 9px; letter-spacing: 0.1em;
  background: rgba(200,149,42,0.1);
  border: 0.5px solid var(--tdt-gold-dim);
  color: var(--tdt-gold);
  padding: 4px 10px; border-radius: 20px;
  text-decoration: none !important;
  transition: all 0.2s;
}
.tdt-city-pill:hover, .tdt-city-pill.active {
  background: var(--tdt-gold);
  color: var(--tdt-black) !important;
}

/* GET TICKETS nav CTA */
.tdt-nav-cta,
.fusion-main-menu ul li a.tdt-nav-cta {
  background: var(--tdt-gold) !important;
  color: var(--tdt-black) !important;
  font-family: var(--tdt-font-h) !important;
  font-size: 9px !important;
  letter-spacing: 0.15em !important;
  padding: 9px 18px !important;
  border-radius: 3px !important;
  font-weight: 600 !important;
  margin-left: 12px;
  transition: background 0.2s;
}
.tdt-nav-cta:hover { background: var(--tdt-gold2) !important; }

/* Dropdown menus */
.fusion-main-menu .sub-menu {
  background: #0d0b09 !important;
  border: 1px solid var(--tdt-gold-dim) !important;
  border-top: 2px solid var(--tdt-gold) !important;
  border-radius: 0 0 6px 6px !important;
}
.fusion-main-menu .sub-menu li a {
  color: var(--tdt-muted) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  padding: 10px 18px !important;
  border-bottom: 0.5px solid rgba(200,149,42,0.1) !important;
}
.fusion-main-menu .sub-menu li a:hover {
  color: var(--tdt-gold) !important;
  background: rgba(200,149,42,0.06) !important;
}

/* === HERO SECTION === */
.tdt-hero {
  min-height: 100vh;
  background: var(--tdt-black);
  display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding: 120px 5% 80px;
}
/* Gold grid texture overlay */
.tdt-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(200,149,42,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,149,42,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}
.tdt-hero-eyebrow {
  font-size: 9px; letter-spacing: 0.5em;
  text-transform: uppercase;
  color: rgba(200,149,42,0.6);
  margin-bottom: 20px;
  font-family: system-ui, sans-serif;
}
.tdt-hero h1 {
  font-family: var(--tdt-font-h) !important;
  font-size: clamp(2.4rem, 5vw, 4.5rem) !important;
  font-weight: 400 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin-bottom: 16px !important;
}
.tdt-hero-sub {
  font-family: var(--tdt-font-b);
  font-size: 1.1rem;
  color: var(--tdt-muted);
  margin-bottom: 36px;
}
.tdt-hero-poster {
  position: absolute; right: 5%; top: 50%;
  transform: translateY(-50%);
  width: 38%; max-width: 480px;
  border: 1px solid var(--tdt-gold-dim);
  box-shadow: 0 0 60px rgba(200,149,42,0.15);
  border-radius: 4px; overflow: hidden;
}
.tdt-hero-poster img { width: 100%; display: block; }

/* === BUTTONS === */
.fusion-button, .button, input[type="submit"],
.tdt-btn {
  font-family: var(--tdt-font-h) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  transition: all 0.2s !important;
}
.tdt-btn-primary {
  background: var(--tdt-gold) !important;
  color: var(--tdt-black) !important;
  border: none !important;
  padding: 14px 28px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
.tdt-btn-primary:hover {
  background: var(--tdt-gold2) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(200,149,42,0.3) !important;
}
.tdt-btn-outline {
  background: transparent !important;
  color: var(--tdt-gold) !important;
  border: 1px solid var(--tdt-gold) !important;
  padding: 13px 28px !important;
  font-size: 11px !important;
}
.tdt-btn-outline:hover {
  background: rgba(200,149,42,0.1) !important;
}

/* === CITY FILTER TABS === */
.tdt-filter-tabs {
  display: flex; gap: 4px; flex-wrap: wrap;
  margin: 32px 0 40px;
}
.tdt-filter-tab {
  font-size: 10px; letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 8px 16px; border-radius: 2px;
  border: 0.5px solid var(--tdt-gold-dim);
  color: var(--tdt-muted);
  background: transparent;
  cursor: pointer; transition: all 0.18s;
}
.tdt-filter-tab:hover, .tdt-filter-tab.active {
  background: var(--tdt-gold);
  color: var(--tdt-black);
  border-color: var(--tdt-gold);
}

/* === EVENT CARD GRID === */
.tdt-events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 0 0 48px;
}
.tdt-event-card {
  background: var(--tdt-black3);
  border: 0.5px solid rgba(200,149,42,0.15);
  border-radius: 6px; overflow: hidden;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none !important;
  display: block;
}
.tdt-event-card:hover {
  border-color: var(--tdt-gold);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(200,149,42,0.18);
}
.tdt-event-card.featured {
  border: 1.5px solid var(--tdt-gold);
  box-shadow: 0 0 30px rgba(200,149,42,0.12);
}
.tdt-card-thumb {
  width: 100%; aspect-ratio: 1/1;
  object-fit: cover; display: block;
  background: #1a1610;
}
.tdt-card-body { padding: 16px; }
.tdt-card-city {
  font-size: 9px; letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--tdt-gold); margin-bottom: 8px;
}
.tdt-card-name {
  font-family: var(--tdt-font-h);
  font-size: 0.85rem; font-weight: 500;
  color: var(--tdt-text); margin-bottom: 8px;
  line-height: 1.3;
}
.tdt-card-meta {
  font-family: var(--tdt-font-b);
  font-size: 0.8rem;
  color: var(--tdt-muted); margin-bottom: 14px;
}
.tdt-card-btn {
  display: block; width: 100%;
  text-align: center;
  font-family: var(--tdt-font-h);
  font-size: 9px; letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 10px;
  border: 0.5px solid var(--tdt-gold);
  color: var(--tdt-gold) !important;
  border-radius: 2px;
  transition: all 0.18s;
  background: transparent;
  text-decoration: none !important;
}
.tdt-card-btn:hover {
  background: var(--tdt-gold);
  color: var(--tdt-black) !important;
}

/* === EVENT PAGE === */
.tdt-event-hero {
  position: relative; min-height: 65vh;
  display: flex; align-items: flex-end;
  padding: 60px 5% 48px;
  overflow: hidden;
}
.tdt-event-hero-bg {
  position: absolute; inset: 0;
  object-fit: cover; width: 100%; height: 100%;
  filter: brightness(0.35);
}
.tdt-event-hero::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,8,8,0.95) 0%, rgba(8,8,8,0.3) 60%, transparent 100%);
}
.tdt-event-hero-content { position: relative; z-index: 2; }
.tdt-event-city-tag {
  font-size: 9px; letter-spacing: 0.35em;
  text-transform: uppercase; color: var(--tdt-gold);
  margin-bottom: 12px;
}
.tdt-event-title {
  font-family: var(--tdt-font-h) !important;
  font-size: clamp(1.8rem, 4vw, 3.5rem) !important;
  color: #fff !important; line-height: 1.1 !important;
  margin-bottom: 12px !important;
}
.tdt-event-datevenue {
  font-family: var(--tdt-font-b);
  font-size: 1rem; color: var(--tdt-muted);
}

/* Two-column event page body */
.tdt-event-body {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px; padding: 48px 5%;
}
.tdt-event-description {
  font-family: var(--tdt-font-b);
  font-size: 1.05rem; line-height: 1.8;
  color: var(--tdt-text);
}
.tdt-ticket-sidebar {
  position: sticky; top: 80px;
  align-self: start;
}
.tdt-ticket-box {
  background: var(--tdt-black3);
  border: 1px solid var(--tdt-gold-dim);
  border-radius: 8px; padding: 24px;
}
.tdt-ticket-box-title {
  font-family: var(--tdt-font-h);
  font-size: 0.75rem; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--tdt-gold);
  margin-bottom: 16px;
}

/* Hide Ticket Tailor branding */
[class*="tt-attr"],
#tt-event-powered-by,
.tt-footer,
[class*="powered-by"],
[class*="tickettailor"] a[href*="tickettailor.com"] {
  display: none !important;
}

/* === SECTIONS === */
.tdt-section {
  padding: 64px 5%;
}
.tdt-section-eyebrow {
  font-size: 9px; letter-spacing: 0.4em;
  text-transform: uppercase; color: var(--tdt-gold);
  margin-bottom: 10px;
  font-family: system-ui, sans-serif;
}
.tdt-section-title {
  font-family: var(--tdt-font-h) !important;
  font-size: clamp(1.6rem, 3vw, 2.8rem) !important;
  color: var(--tdt-text) !important;
  margin-bottom: 32px !important;
}
.tdt-gold-divider {
  width: 48px; height: 1px;
  background: var(--tdt-gold);
  margin: 16px 0 32px;
}

/* === FOOTER === */
.fusion-footer-widget-area,
#footer, .fusion-footer {
  background: #060504 !important;
  border-top: 1px solid var(--tdt-gold-dim) !important;
}
.fusion-footer-copyright-area {
  background: #030201 !important;
  border-top: 0.5px solid rgba(200,149,42,0.1) !important;
}
.fusion-copyright-content,
.fusion-footer-copyright-area * {
  color: var(--tdt-muted) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
}
.fusion-widget-area h4, .fusion-widget-area .widget-title {
  font-family: var(--tdt-font-h) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--tdt-gold) !important;
  border-bottom: 0.5px solid var(--tdt-gold-dim) !important;
  padding-bottom: 8px !important;
  margin-bottom: 14px !important;
}
.fusion-widget-area a {
  color: var(--tdt-muted) !important;
  font-size: 12px !important;
  line-height: 1.9 !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}
.fusion-widget-area a:hover { color: var(--tdt-gold) !important; }

/* Social icons */
.fusion-social-links a {
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid var(--tdt-gold-dim) !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  color: var(--tdt-gold) !important;
  background: transparent !important;
  transition: all 0.18s !important;
}
.fusion-social-links a:hover {
  background: var(--tdt-gold) !important;
  color: var(--tdt-black) !important;
}

/* === MOBILE === */
@media (max-width: 1024px) {
  .tdt-events-grid { grid-template-columns: repeat(2, 1fr); }
  .tdt-event-body { grid-template-columns: 1fr; }
  .tdt-hero-poster { display: none; }
}
@media (max-width: 640px) {
  .tdt-events-grid { grid-template-columns: 1fr; }
  .tdt-hero { padding: 100px 5% 60px; min-height: 80vh; }
  .tdt-event-hero { min-height: 50vh; }
  /* Mobile ticket widget above description */
  .tdt-event-body { display: flex; flex-direction: column; }
  .tdt-ticket-sidebar { order: -1; position: static; }
  .tdt-ticket-sidebar .tdt-ticket-box { margin-bottom: 32px; }
}

/* === MOBILE HAMBURGER MENU === */
.fusion-mobile-menu-design-modern .fusion-mobile-nav-holder {
  background: var(--tdt-black) !important;
}
.fusion-mobile-menu-design-modern .fusion-mobile-nav-holder a {
  font-family: var(--tdt-font-h) !important;
  color: var(--tdt-gold) !important;
  letter-spacing: 0.2em !important;
  border-bottom-color: var(--tdt-gold-dim) !important;
  font-size: 0.75rem !important;
}
.fusion-mobile-menu-design-modern .fusion-mobile-nav-holder a:hover {
  color: var(--tdt-gold2) !important;
}
.fusion-hamburger-menu .fusion-bar-1,
.fusion-hamburger-menu .fusion-bar-2,
.fusion-hamburger-menu .fusion-bar-3 {
  background-color: var(--tdt-gold) !important;
}

/* === AVADA OVERRIDES === */
.fusion-column-wrapper,
.fusion-layout-column,
.fusion-builder-column {
  background: transparent !important;
}
a { color: var(--tdt-gold) !important; }
a:hover { color: var(--tdt-gold2) !important; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--tdt-font-h) !important;
  color: var(--tdt-text) !important;
}
p { font-family: var(--tdt-font-b) !important; color: var(--tdt-muted) !important; }


/* === FIX: wpautop phantom <p> tags in grid === */
.tdt-events-grid > p {
  display: none !important;
}

/* === FIX: Mobile header (tablet) === */
@media (max-width: 800px) {
  .tdt-nav-cta,
  .fusion-main-menu ul li a.tdt-nav-cta,
  li.tdt-nav-cta > a {
    font-size: 7px !important;
    padding: 6px 10px !important;
    margin-left: 4px !important;
  }
  .fusion-header,
  .fusion-header-wrapper,
  .fusion-secondary-header {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .fusion-logo img {
    max-height: 36px !important;
  }
  .fusion-main-menu > ul > li > a,
  .fusion-main-menu > ul > li > span {
    padding: 0 6px !important;
    font-size: 0.48rem !important;
  }
}

/* === FIX: Mobile phone === */
@media (max-width: 640px) {
  .fusion-main-menu {
    display: none !important;
  }
  .fusion-mobile-menu-icons {
    display: flex !important;
    align-items: center !important;
  }
  .fusion-logo img {
    max-height: 32px !important;
  }
  .fusion-header .fusion-row {
    max-width: 100% !important;
    padding: 0 12px !important;
  }
  .tdt-hero .tdt-btn-primary,
  .tdt-hero .tdt-btn-outline {
    padding: 12px 20px !important;
    font-size: 10px !important;
  }
  .tdt-filter-tabs {
    gap: 6px;
    margin: 20px 0 24px;
  }
  .tdt-filter-tab {
    font-size: 9px;
    padding: 6px 12px;
  }
  .tdt-card-thumb {
    aspect-ratio: 1/1;
  }
}

/* === FIX: WP admin bar on mobile === */
@media (max-width: 782px) {
  html { margin-top: 0 !important; }
  #wpadminbar { position: fixed !important; }
}


/* ================================================================
   MOBILE HEADER & HAMBURGER FIXES
   ================================================================ */

/* Protect Avada icon font from our blanket font overrides */
.fusion-icon::before,
.awb-icon-bars::before,
.awb-icon-search::before,
[class*="awb-icon"]::before,
.fusion-mobile-menu-icons a::before {
  font-family: 'awb-icons' !important;
  color: var(--tdt-gold) !important;
  font-size: 22px !important;
}

/* The icon links themselves */
.fusion-mobile-menu-icons a {
  color: var(--tdt-gold) !important;
  font-family: 'awb-icons' !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  border: none !important;
  background: transparent !important;
}

/* Also fix the 3-bar hamburger variant if Avada switches to it */
.fusion-mobile-menu-icons .fusion-bar {
  background-color: var(--tdt-gold) !important;
}

/* === MOBILE NAV PANEL (the dropdown) === */
.fusion-mobile-nav-holder,
.fusion-mobile-nav-holder > ul,
.fusion-mobile-nav-holder ul {
  background: var(--tdt-black) !important;
  background-color: #080808 !important;
}

.fusion-mobile-nav-holder ul li {
  background: transparent !important;
  border-bottom: 0.5px solid var(--tdt-gold-dim) !important;
}

.fusion-mobile-nav-holder ul li a {
  font-family: var(--tdt-font-h) !important;
  color: var(--tdt-gold) !important;
  letter-spacing: 0.15em !important;
  font-size: 0.7rem !important;
  padding: 12px 20px !important;
  background: transparent !important;
}

.fusion-mobile-nav-holder ul li a:hover {
  color: var(--tdt-gold2) !important;
  background: rgba(200,149,42,0.06) !important;
}

/* Sub-menu items in mobile */
.fusion-mobile-nav-holder ul ul li a {
  padding-left: 36px !important;
  font-size: 0.6rem !important;
  color: var(--tdt-muted) !important;
}

.fusion-mobile-nav-holder ul ul li a:hover {
  color: var(--tdt-gold) !important;
}

/* Sub-menu toggle arrow buttons */
.fusion-mobile-nav-holder .fusion-open-nav-submenu,
.fusion-mobile-nav-holder button[class*="submenu"],
.fusion-mobile-nav-holder .fusion-arrow {
  color: var(--tdt-gold) !important;
  background: transparent !important;
  border: none !important;
  border-left: 0.5px solid var(--tdt-gold-dim) !important;
}

/* Mobile search bar */
.fusion-mobile-menu-search {
  background: var(--tdt-black) !important;
}
.fusion-mobile-menu-search input {
  background: var(--tdt-black3) !important;
  color: var(--tdt-text) !important;
  border: 1px solid var(--tdt-gold-dim) !important;
}

/* === Fix the "tdt-nav-cta" item in mobile menu === */
.fusion-mobile-nav-holder li.tdt-nav-cta a {
  background: var(--tdt-gold) !important;
  color: var(--tdt-black) !important;
  margin: 8px 20px !important;
  border-radius: 3px !important;
  text-align: center !important;
  font-weight: 600 !important;
}

/* === HIGH SPECIFICITY: Mobile nav link gold color === */
.fusion-header .fusion-mobile-nav-holder ul.fusion-menu li a,
.fusion-header .fusion-mobile-nav-holder ul.fusion-menu li a.fusion-bar-highlight,
nav.fusion-mobile-nav-holder ul li a {
  color: var(--tdt-gold) !important;
}
.fusion-header .fusion-mobile-nav-holder ul.fusion-menu ul li a,
nav.fusion-mobile-nav-holder ul ul li a {
  color: var(--tdt-muted) !important;
}
.fusion-header .fusion-mobile-nav-holder ul.fusion-menu ul li a:hover,
nav.fusion-mobile-nav-holder ul ul li a:hover {
  color: var(--tdt-gold) !important;
}

/* Submenu toggle buttons - ensure gold arrow and dark bg */
.fusion-mobile-nav-holder .fusion-mobile-nav-item .fusion-open-nav-submenu {
  color: var(--tdt-gold) !important;
  background: transparent !important;
  border-color: var(--tdt-gold-dim) !important;
}
.fusion-mobile-nav-holder .fusion-mobile-nav-item .fusion-open-nav-submenu::after,
.fusion-mobile-nav-holder .fusion-mobile-nav-item .fusion-open-nav-submenu::before {
  color: var(--tdt-gold) !important;
  border-color: var(--tdt-gold) !important;
}

/* === #wrapper specificity override for Avada dynamic CSS === */
#wrapper .fusion-mobile-nav-holder .fusion-mobile-nav-item a,
#wrapper .fusion-mobile-nav-holder .fusion-mobile-nav-item > a,
#wrapper .fusion-mobile-nav-holder .fusion-mobile-nav-item a.fusion-bar-highlight {
  color: #C8952A !important;
  font-family: "Cinzel", Georgia, serif !important;
  background-color: transparent !important;
}
#wrapper .fusion-mobile-nav-holder .fusion-mobile-nav-item a:hover {
  color: #E0B04B !important;
  background-color: rgba(200,149,42,0.06) !important;
}
#wrapper .fusion-mobile-menu-icons a {
  color: #C8952A !important;
  font-family: "awb-icons" !important;
}
#wrapper .fusion-mobile-menu-icons a::before {
  font-family: "awb-icons" !important;
  color: #C8952A !important;
}
/* Sub-menu items slightly muted */
#wrapper .fusion-mobile-nav-holder .fusion-mobile-nav-item .fusion-mobile-nav-item a {
  color: rgba(245,240,232,0.55) !important;
  font-size: 0.6rem !important;
  padding-left: 36px !important;
}
#wrapper .fusion-mobile-nav-holder .fusion-mobile-nav-item .fusion-mobile-nav-item a:hover {
  color: #C8952A !important;
}
/* Mobile nav panel background */
#wrapper .fusion-mobile-nav-holder,
#wrapper .fusion-mobile-nav-holder > ul {
  background: #080808 !important;
  background-color: #080808 !important;
}
/* Submenu expand button */
#wrapper .fusion-mobile-nav-holder .fusion-open-nav-submenu,
#wrapper .fusion-mobile-nav-holder .fusion-open-submenu {
  color: #C8952A !important;
  background: transparent !important;
  border-left: 0.5px solid rgba(200,149,42,0.22) !important;
}
/* Get Tickets CTA in mobile nav */
#wrapper .fusion-mobile-nav-holder li.tdt-nav-cta > a {
  background: #C8952A !important;
  color: #080808 !important;
  margin: 8px 20px !important;
  border-radius: 3px !important;
  text-align: center !important;
  font-weight: 600 !important;
}

/* === BUG FIX: ALL BLUE BUTTONS → GOLD === */
:root, .fusion-body {
  --awb-color4: #E0B04B;
  --awb-color5: #C8952A;
}
.fusion-button,
.fusion-button-default,
a.fusion-button,
button.fusion-button,
input[type="submit"],
.wp-block-button__link,
.wpcf7-submit {
  background: #C8952A !important;
  background-image: none !important;
  background-color: #C8952A !important;
  color: #080808 !important;
  border-color: #C8952A !important;
  font-family: 'Cinzel', Georgia, serif !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  transition: all 0.2s !important;
}
.fusion-button:hover,
a.fusion-button:hover,
button.fusion-button:hover {
  background: #E0B04B !important;
  background-color: #E0B04B !important;
  color: #080808 !important;
  border-color: #E0B04B !important;
  box-shadow: 0 6px 20px rgba(200,149,42,0.3) !important;
  transform: translateY(-1px);
}
/* "View Event" / "View Details" as outline variant */
.fusion-read-more,
.fusion-carousel-item .fusion-button,
.fusion-portfolio .fusion-button,
.fusion-blog .fusion-button {
  background: transparent !important;
  background-color: transparent !important;
  color: #C8952A !important;
  border: 1px solid #C8952A !important;
}
.fusion-read-more:hover,
.fusion-carousel-item .fusion-button:hover,
.fusion-portfolio .fusion-button:hover {
  background: #C8952A !important;
  color: #080808 !important;
}
/* Nuclear: catch any remaining inline blue */
[style*="#198fd9"] { background-color: #C8952A !important; }

/* === BUG FIX: TICKET TAILOR WIDGET === */
.tt-widget {
  background: #0d0b09 !important;
  border: 1px solid rgba(200,149,42,0.22) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.tt-widget iframe { border: none !important; width: 100% !important; }
/* Hide TT branding in outer HTML */
.tt-widget-fallback small,
a.tt-widget-powered,
a[href*="tickettailor.com"][class*="powered"] { display: none !important; }

/* ============================================================
   PAGE TYPE CSS — Upcoming, Past Events, City Hubs, Year Archives
   ============================================================ */

/* Shared hero variants */
.tdt-hero-full  { min-height: 55vh; padding: 120px 5% 64px; }
.tdt-hero-mid   { min-height: 40vh; padding: 110px 5% 48px; }
.tdt-hero-compact { padding: 100px 5% 40px; }

/* Gold grid texture used in all heroes */
.tdt-grid-bg::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(200,149,42,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,149,42,.03) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* City filter tabs — used on /upcoming-events/ */
.tdt-city-tabs {
  display: flex; gap: 6px; flex-wrap: wrap;
  padding: 28px 0 0;
}
.tdt-city-tab {
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  padding: 8px 16px; border-radius: 2px;
  border: .5px solid rgba(200,149,42,.3);
  color: rgba(200,149,42,.75);
  background: transparent;
  text-decoration: none !important;
  transition: all .18s;
}
.tdt-city-tab.active,
.tdt-city-tab:hover {
  background: #C8952A;
  color: #080808 !important;
  border-color: #C8952A;
}

/* City switcher — used on city hub pages (inline, below hero) */
.tdt-city-switcher {
  display: flex; gap: 6px; flex-wrap: wrap;
  padding: 20px 5% 24px;
  border-bottom: .5px solid rgba(200,149,42,.12);
  background: #080808;
}
.tdt-city-sw {
  font-size: 9px; letter-spacing: .14em; text-transform: uppercase;
  padding: 7px 14px; border-radius: 2px;
  border: .5px solid rgba(200,149,42,.25);
  color: rgba(200,149,42,.65);
  text-decoration: none !important;
  transition: all .18s;
}
.tdt-city-sw.active,
.tdt-city-sw:hover {
  background: #C8952A;
  color: #080808 !important;
  border-color: #C8952A;
}

/* Year cards — used on past events city hub pages */
.tdt-year-grid {
  display: flex; gap: 12px; flex-wrap: wrap;
  padding: 32px 0 0;
}
.tdt-year-card {
  flex: 1; min-width: 110px;
  background: #111;
  border: .5px solid rgba(200,149,42,.2);
  border-radius: 6px; padding: 28px 16px;
  text-align: center; text-decoration: none !important;
  transition: all .2s;
}
.tdt-year-card.active { border: 1.5px solid #C8952A; }
.tdt-year-card:hover, .tdt-year-card.active {
  background: #C8952A;
}
.tdt-year-card-n {
  font-family: 'Cinzel', Georgia, serif;
  font-size: 1.7rem; font-weight: 400;
  color: rgba(245,240,232,.9); display: block; margin-bottom: 5px;
  transition: color .2s;
}
.tdt-year-card-c {
  font-size: 9px; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(245,240,232,.4); transition: color .2s;
}
.tdt-year-card:hover .tdt-year-card-n,
.tdt-year-card.active .tdt-year-card-n { color: #080808; }
.tdt-year-card:hover .tdt-year-card-c,
.tdt-year-card.active .tdt-year-card-c { color: rgba(8,8,8,.65); }

/* Year tab strip — used at top of year archive pages */
.tdt-year-tabs {
  display: flex; gap: 0;
  border-bottom: 1px solid rgba(200,149,42,.15);
  background: #080808;
  padding: 0 5%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.tdt-year-tab {
  font-family: 'Cinzel', Georgia, serif;
  font-size: .62rem; letter-spacing: .2em; text-transform: uppercase;
  padding: 16px 22px;
  color: rgba(245,240,232,.45);
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
  transition: all .18s;
}
.tdt-year-tab:hover { color: #C8952A; }
.tdt-year-tab.active {
  color: #C8952A;
  border-bottom-color: #C8952A;
}

/* Breadcrumb */
.tdt-breadcrumb {
  font-size: 10px; letter-spacing: .1em;
  color: rgba(245,240,232,.4);
  padding: 16px 5%;
  background: #080808;
  border-bottom: .5px solid rgba(200,149,42,.08);
  font-family: system-ui, sans-serif;
}
.tdt-breadcrumb a {
  color: rgba(245,240,232,.4) !important;
  text-decoration: none !important;
}
.tdt-breadcrumb a:hover { color: #C8952A !important; }
.tdt-breadcrumb span { margin: 0 8px; opacity: .35; }

/* Past event card grid — 4col desktop, 2 tablet, 1 mobile */
.tdt-past-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
/* Past event cards: greyed poster, no ticket button */
.tdt-past-card .tdt-card-thumb { filter: brightness(.72) saturate(.8); }
.tdt-past-card:hover .tdt-card-thumb { filter: brightness(.9) saturate(1); }

/* Stats strip — /past-events/ global page */
.tdt-stats {
  display: flex;
  border-top: .5px solid rgba(200,149,42,.15);
  border-bottom: .5px solid rgba(200,149,42,.15);
}
.tdt-stat {
  flex: 1; text-align: center; padding: 36px 20px;
  border-right: .5px solid rgba(200,149,42,.12);
}
.tdt-stat:last-child { border-right: none; }
.tdt-stat-n {
  font-family: 'Cinzel', Georgia, serif;
  font-size: 2.1rem; color: #C8952A;
  display: block; margin-bottom: 6px;
}
.tdt-stat-l {
  font-size: 9px; letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(245,240,232,.4);
  font-family: system-ui, sans-serif;
}

/* City archive cards — /past-events/ global page */
.tdt-city-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.tdt-city-archive-card {
  background: #111;
  border: .5px solid rgba(200,149,42,.2);
  border-radius: 6px; padding: 32px 24px;
  text-decoration: none !important;
  transition: all .2s;
}
.tdt-city-archive-card:hover {
  border-color: #C8952A;
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(200,149,42,.15);
}
.tdt-city-archive-name {
  font-family: 'Cinzel', Georgia, serif;
  font-size: 1.25rem; color: rgba(245,240,232,.9);
  margin-bottom: 6px; display: block;
}
.tdt-city-archive-range {
  font-size: 9px; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(200,149,42,.55); font-family: system-ui, sans-serif;
}

/* Responsive */
@media (max-width: 1024px) {
  .tdt-past-grid { grid-template-columns: repeat(2, 1fr); }
  .tdt-city-archive-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .tdt-past-grid { grid-template-columns: 1fr; }
  .tdt-city-archive-grid { grid-template-columns: 1fr; }
  .tdt-year-grid { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; }
  .tdt-year-card { min-width: 80px; padding: 18px 12px; }
  .tdt-year-card-n { font-size: 1.3rem; }
  .tdt-stats { flex-direction: column; }
  .tdt-stat { border-right: none; border-bottom: .5px solid rgba(200,149,42,.12); }
}

/* === MOBILE FIX: About & Contact inline grid columns === */
@media (max-width: 768px) {
  /* About page: origin story two-col → single col */
  .fusion-page-title-bar ~ .fusion-page-content-wrapper [style*="grid-template-columns:1fr 1fr"],
  .post-5519 [style*="grid-template-columns:1fr 1fr"],
  .post-5521 [style*="grid-template-columns:1fr 1fr"],
  .page-id-5519 [style*="grid-template-columns:1fr 1fr"],
  .page-id-5521 [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  /* City contact cards: 3-col → 1-col */
  .page-id-5521 [style*="grid-template-columns:repeat(3,1fr)"],
  .post-5521 [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
  }
  /* About: what we do 3-col → 1-col */
  .page-id-5519 [style*="grid-template-columns:repeat(3,1fr)"],
  .post-5519 [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
  }
  /* About: city cards 3-col → 2-col */
  .page-id-5519 [style*="grid-template-columns:repeat(3,1fr)"] ~ * {
    grid-template-columns: repeat(2,1fr) !important;
  }
  /* Reduce hero padding on mobile */
  .page-id-5519 [style*="padding:120px 5%"],
  .page-id-5521 [style*="padding:120px 5%"] {
    padding-top: 90px !important;
    padding-bottom: 40px !important;
  }
  /* Stats strip: horizontal → vertical */
  .page-id-5519 [style*="display:flex;background:#080808;border-bottom"],
  .page-id-5521 .tdt-stats {
    flex-direction: column !important;
  }
  .page-id-5519 [style*="display:flex;background:#080808;border-bottom"] > div,
  .page-id-5521 .tdt-stats .tdt-stat {
    border-right: none !important;
    border-bottom: .5px solid rgba(200,149,42,.12) !important;
  }
  /* General: any inline 80px gap → 32px on mobile */
  [style*="gap:80px"] { gap: 32px !important; }
  /* Contact social rows */
  .page-id-5521 [style*="flex-direction:column"] { gap: 10px !important; }
}
@media (max-width: 480px) {
  .page-id-5519 [style*="grid-template-columns:repeat(3,1fr)"],
  .post-5519 [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
  }
}

/* === FIX: INVISIBLE BUTTON TEXT — boost specificity === */
.fusion-body a.tdt-btn,
.fusion-body a.tdt-btn-primary,
.fusion-body .tdt-btn.tdt-btn-primary,
a.tdt-btn.tdt-btn-primary,
.tdt-btn.tdt-btn-primary {
  color: #080808 !important;
  text-decoration: none !important;
}
.fusion-body a.tdt-btn-outline,
.fusion-body .tdt-btn.tdt-btn-outline,
a.tdt-btn.tdt-btn-outline,
.tdt-btn.tdt-btn-outline {
  color: #C8952A !important;
  text-decoration: none !important;
}
.fusion-body a.tdt-btn-primary:hover,
.fusion-body .tdt-btn.tdt-btn-primary:hover {
  color: #080808 !important;
}
.fusion-body a.tdt-btn-outline:hover,
.fusion-body .tdt-btn.tdt-btn-outline:hover {
  color: #080808 !important;
}
/* Card buttons */
.fusion-body .tdt-card-btn,
.fusion-body a .tdt-card-btn {
  color: #C8952A !important;
}
.fusion-body .tdt-event-card:hover .tdt-card-btn,
.fusion-body a.tdt-event-card:hover .tdt-card-btn {
  color: #080808 !important;
}
/* City pills */
.fusion-body a.tdt-city-pill,
.fusion-body .tdt-city-pill {
  color: #C8952A !important;
  text-decoration: none !important;
}
.fusion-body a.tdt-city-pill:hover,
.fusion-body .tdt-city-pill.active {
  color: #080808 !important;
}
/* Filter tabs */
.fusion-body a.tdt-filter-tab,
.fusion-body .tdt-filter-tab {
  color: rgba(245,240,232,0.6) !important;
  text-decoration: none !important;
}
.fusion-body a.tdt-filter-tab:hover,
.fusion-body .tdt-filter-tab.active {
  color: #080808 !important;
}
/* Year cards */
.fusion-body a.tdt-year-card { text-decoration: none !important; }
.fusion-body a.tdt-year-card:hover .tdt-year-card-n,
.fusion-body a.tdt-year-card.active .tdt-year-card-n { color: #080808 !important; }
/* City archive cards */
.fusion-body a.tdt-city-archive-card { text-decoration: none !important; }
.fusion-body a.tdt-city-archive-card .tdt-city-archive-name { color: rgba(245,240,232,.9) !important; }
/* City switcher */
.fusion-body a.tdt-city-sw { color: rgba(200,149,42,.65) !important; text-decoration: none !important; }
.fusion-body a.tdt-city-sw:hover,
.fusion-body a.tdt-city-sw.active { color: #080808 !important; }
/* Event card links */
.fusion-body a.tdt-event-card { text-decoration: none !important; }
.fusion-body a.tdt-event-card .tdt-card-name { color: rgba(245,240,232,.92) !important; }
.fusion-body a.tdt-event-card .tdt-card-meta { color: rgba(245,240,232,.5) !important; }

/* Dropdown section labels (non-clickable dividers) */
.fusion-main-menu .sub-menu li a[href="#"] {
  color: rgba(200,149,42,0.4) !important;
  font-size: 0.52rem !important;
  letter-spacing: 0.3em !important;
  pointer-events: none !important;
  cursor: default !important;
  padding-top: 14px !important;
  border-top: .5px solid rgba(200,149,42,0.12) !important;
  margin-top: 4px !important;
}
.fusion-main-menu .sub-menu li:first-child a[href="#"] {
  border-top: none !important;
  padding-top: 10px !important;
}

/* === PAST EVENT TILE GRID === */
.tdt-past-tile-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.tdt-past-tile:hover img { filter: brightness(.95) saturate(1) !important; }
.tdt-past-tile:hover {
  border-color: rgba(200,149,42,.45) !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(200,149,42,.14);
}
@media (max-width: 1024px) { .tdt-past-tile-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 640px)  { .tdt-past-tile-grid { grid-template-columns: repeat(2,1fr); gap:10px; } }
@media (max-width: 380px)  { .tdt-past-tile-grid { grid-template-columns: 1fr; } }

/* === COMPACT FOOTER === */
.fusion-footer-widget-area { padding: 32px 0 !important; }
.fusion-footer-copyright-area { padding: 14px 0 !important; }
/* Remove the background image that creates extra visual bulk */
.fusion-footer-widget-area .fusion-fullwidth[style*="background-image"] {
  background-image: none !important;
}
/* Tighten widget spacing */
.fusion-footer-widget-area .fusion-column-wrapper { padding: 0 24px !important; }
.fusion-widget-area .widget { margin-bottom: 0 !important; }
/* Footer nav menu: horizontal on desktop */
.fusion-footer-widget-area .menu {
  display: flex; flex-wrap: wrap; gap: 6px 20px;
  list-style: none; padding: 0; margin: 0;
}
.fusion-footer-widget-area .menu li a {
  font-size: 10px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(245,240,232,.5) !important;
  text-decoration: none !important;
}
.fusion-footer-widget-area .menu li a:hover { color: #C8952A !important; }
/* Copyright bar */
.fusion-copyright-content {
  font-size: 10px !important;
  color: rgba(245,240,232,.3) !important;
}
@media (max-width: 640px) {
  .fusion-footer-widget-area .menu { flex-direction: column; gap: 8px; }
}

/* === FIX 3: Hide hero poster on mobile === */
@media (max-width: 768px) {
  .tdt-hero-poster,
  .tdt-hero .fusion-column-last,
  .tdt-hero [class*="fusion_builder_column"][class*="2_5"] {
    display: none !important;
  }
}

/* === FIX 2: DRASTICALLY COMPACT FOOTER === */
/* Kill all footer widget area padding and content */
.fusion-footer { max-height: none; }
.fusion-footer-widget-area {
  padding: 20px 0 !important;
}
.fusion-footer-widget-area .fusion-row {
  max-width: 1200px !important;
  padding: 0 5% !important;
}
/* Hide background images and extra bulk */
.fusion-footer-widget-area .fusion-fullwidth,
.fusion-footer-widget-area .fusion-fullwidth[style*="background-image"] {
  background-image: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}
/* Hide empty widget columns */
.fusion-footer-widget-area .fusion-column:empty,
.fusion-footer-widget-area .fusion-column-wrapper:empty {
  display: none !important;
}
/* Super compact widget content */
.fusion-footer-widget-area .fusion-column-wrapper {
  padding: 8px 16px !important;
}
.fusion-footer-widget-area .widget {
  margin: 0 !important;
  padding: 0 !important;
}
/* Footer copyright bar */
.fusion-footer-copyright-area {
  padding: 10px 0 !important;
}
.fusion-copyright-content {
  font-size: 9px !important;
  letter-spacing: .1em !important;
  color: rgba(245,240,232,.25) !important;
}
/* Hide any extra footer sections that Avada adds */
.fusion-footer .fusion-footer-widget-area .fusion-builder-row > .fusion-layout-column:nth-child(n+4) {
  display: none !important;
}

/* === FIX 6: Contact page invisible elements === */
/* Contact category cards */
.page-id-5521 a[href*="mailto:"] {
  color: rgba(245,240,232,.85) !important;
}
.page-id-5521 a[href*="mailto:"] div[style*="font-family:Cinzel"] {
  color: #C8952A !important;
}
/* Social links */
.page-id-5521 a[href*="instagram"],
.page-id-5521 a[href*="facebook"],
.page-id-5521 a[href*="tiktok"],
.page-id-5521 a[target="_blank"][style*="font-family:Cinzel"] {
  color: #C8952A !important;
  border: .5px solid rgba(200,149,42,.3) !important;
}
.page-id-5521 a[target="_blank"][style*="font-family:Cinzel"]:hover {
  background: #C8952A !important;
  color: #080808 !important;
}
/* Any link inside contact page that's missing color */
.fusion-body .page-id-5521 a[style*="border-radius:6px"] {
  color: rgba(245,240,232,.85) !important;
}
.fusion-body .page-id-5521 a[style*="border-radius:6px"] span,
.fusion-body .page-id-5521 a[style*="border-radius:6px"] div {
  color: inherit !important;
}
/* Sponsorships section gold button with invisible text */
.fusion-body .page-id-5521 a[style*="background:#C8952A"],
.fusion-body .page-id-5519 a[style*="background:#C8952A"] {
  color: #080808 !important;
}

/* === FIX 7: About page mobile text cropping + invisible buttons === */
@media (max-width: 768px) {
  /* Ensure about page text doesn't crop */
  .page-id-5519 [style*="max-width"] {
    max-width: 100% !important;
  }
  .page-id-5519 [style*="overflow:hidden"],
  .page-id-5519 [style*="overflow: hidden"] {
    overflow: visible !important;
  }
  /* Origin story two-col: ensure full width on mobile */
  .page-id-5519 [style*="display:grid"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  /* About hero: let text breathe */
  .page-id-5519 [style*="min-height:55vh"] {
    min-height: auto !important;
    padding-top: 80px !important;
    padding-bottom: 40px !important;
  }
}
/* About page invisible button text */
.fusion-body .page-id-5519 a[style*="padding:14px"],
.fusion-body .page-id-5519 a[style*="padding: 14px"] {
  color: #080808 !important;
}
/* Catch all inline-styled gold buttons across About + Contact */
.fusion-body a[style*="background:#C8952A"] {
  color: #080808 !important;
}
.fusion-body a[style*="background:#C8952A"]:hover {
  background: #E0B04B !important;
  color: #080808 !important;
}

/* === FIX: Footer fullwidth excessive margin === */
.fusion-footer-widget-area .fusion-fullwidth {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Force footer columns to stack properly */
.fusion-footer-widget-area .fusion-fullwidth .fusion-row {
  flex-direction: column !important;
}
.fusion-footer-widget-area .fusion-layout-column {
  width: 100% !important;
  max-width: 100% !important;
}

/* ========================================
   TDT Overhaul v5 — Final Fixes
   ======================================== */

/* === Fix 1: About & Contact mobile vertical orientation cropping === */
@media (max-width: 768px) {
  /* About page: prevent content overflow */
  .page-id-5519 .fusion-fullwidth,
  .page-id-5519 .fusion-builder-row,
  .page-id-5519 .fusion-layout-column {
    overflow: visible !important;
    max-width: 100vw !important;
  }
  .page-id-5519 [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  .page-id-5519 [style*="display:grid"],
  .page-id-5519 [style*="display: grid"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .page-id-5519 [style*="max-width:620px"],
  .page-id-5519 [style*="max-width: 620px"],
  .page-id-5519 [style*="max-width:50%"],
  .page-id-5519 [style*="max-width: 50%"] {
    max-width: 100% !important;
  }
  .page-id-5519 [style*="padding:"] {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }
  .page-id-5519 h1 {
    font-size: 2rem !important;
  }
  .page-id-5519 h2 {
    font-size: 1.3rem !important;
  }

  /* Contact page: stack the 2-column layout */
  .page-id-5521 [style*="grid-template-columns: 1fr 1fr"],
  .page-id-5521 [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .page-id-5521 [style*="padding:72px 5%"],
  .page-id-5521 [style*="padding: 72px 5%"] {
    padding: 40px 5% !important;
  }
  .page-id-5521 h1 {
    font-size: 2rem !important;
  }
  /* Ensure all text visible on Contact */
  .page-id-5521 span,
  .page-id-5521 div,
  .page-id-5521 p {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* === Fix 4: Floating back button for mobile === */
@media (max-width: 768px) {
  .tdt-mobile-back {
    position: fixed !important;
    bottom: 24px;
    left: 12px;
    z-index: 99999;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(8,8,8,.85);
    border: 0.5px solid rgba(200,149,42,.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C8952A;
    font-size: 18px;
    text-decoration: none;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 8px rgba(0,0,0,.4);
    transition: opacity .2s, background .2s;
  }
  .tdt-mobile-back:hover {
    background: rgba(200,149,42,.15);
  }
}
@media (min-width: 769px) {
  .tdt-mobile-back {
    display: none !important;
  }
}

/* === Past event tile grid responsive === */
@media (max-width: 768px) {
  .tdt-past-tile-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}
@media (max-width: 480px) {
  .tdt-past-tile-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* === Visual polish === */
/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Better text rendering */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Footer link hover */
.fusion-footer-widget-area a:hover {
  color: #E0B04B !important;
}

/* Event card hover animation */
.tdt-past-tile:hover img,
.tdt-past-tile-grid a:hover img {
  transform: scale(1.03);
  transition: transform .3s ease;
}
.tdt-past-tile img,
.tdt-past-tile-grid a img {
  transition: transform .3s ease;
}

/* Year cards on hub pages */
.tdt-year-card:hover {
  border-color: rgba(200,149,42,.4) !important;
  background: rgba(200,149,42,.06) !important;
}

/* Fix contact mailto cards — ensure text color consistency */
.page-id-5521 a[href^="mailto:"] span {
  color: inherit !important;
}

/* Mobile: improve tap targets */
@media (max-width: 768px) {
  #wrapper .fusion-main-menu > ul > li > a {
    padding: 12px 16px !important;
  }
  /* Wider touch targets for city pills */
  .tdt-city-pill, .tdt-tab {
    min-height: 40px !important;
    padding: 10px 16px !important;
  }
}

/* Improve nav dropdown mobile */
@media (max-width: 768px) {
  .fusion-mobile-nav-holder ul {
    background: #080808 !important;
  }
  .fusion-mobile-nav-holder ul li a {
    color: rgba(245,240,232,.85) !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(200,149,42,.08) !important;
  }
}

/* Fix: ensure page content doesn't overflow on any page mobile */
@media (max-width: 768px) {
  #wrapper, .fusion-body, #main {
    overflow-x: hidden !important;
  }
  .fusion-fullwidth {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
}


/* ============================================================
   Dashboard page (page-id-5438) — dark-on-light fix + improved layout
   ============================================================ */

/* --- Dark theme the entire dashboard to match the site --- */
.page-id-5438 .post-content div[style*="max-width:1200px"] {
  color: rgba(245,240,232,.92) !important;
}

/* City section cards — dark background instead of white */
.page-id-5438 div[style*="border:1px solid #ddd"] {
  background: #111 !important;
  border-color: rgba(200,149,42,.2) !important;
  padding: 20px 24px !important;
}

/* City headings — gold */
.page-id-5438 div[style*="border:1px solid #ddd"] > h3 {
  color: #C8952A !important;
  border-bottom: .5px solid rgba(200,149,42,.12) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
  font-family: Cinzel, Georgia, serif !important;
}

/* Source headings (Ticket Tailor / Eventbrite) */
.page-id-5438 h4 {
  color: rgba(245,240,232,.7) !important;
  font-family: Cinzel, Georgia, serif !important;
  font-size: 1rem !important;
  letter-spacing: .08em !important;
}

/* Event card containers — dark instead of #fafafa */
.page-id-5438 div[style*="background:#fafafa"] {
  background: rgba(200,149,42,.04) !important;
  border: .5px solid rgba(200,149,42,.12) !important;
  border-radius: 8px !important;
  padding: 16px !important;
}

/* Event titles (strong tags inside the cards) */
.page-id-5438 div[style*="background:#fafafa"] strong,
.page-id-5438 div[style*="background:#fafafa"] b {
  color: #C8952A !important;
  font-family: Cinzel, Georgia, serif !important;
  font-size: .95rem !important;
}

/* End date text */
.page-id-5438 div[style*="color:#666"] {
  color: rgba(245,240,232,.4) !important;
}

/* Table header row */
.page-id-5438 table th {
  color: rgba(200,149,42,.7) !important;
  border-bottom-color: rgba(200,149,42,.15) !important;
  font-family: system-ui, sans-serif !important;
  font-size: .75rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  padding: 8px 12px !important;
}

/* Table data cells */
.page-id-5438 table td {
  color: rgba(245,240,232,.85) !important;
  border-bottom-color: rgba(200,149,42,.06) !important;
  padding: 10px 12px !important;
  font-family: Cormorant Garamond, Georgia, serif !important;
  font-size: 1rem !important;
}

/* Error text — keep red but readable */
.page-id-5438 p[style*="color:#b00020"] {
  color: #ff6b6b !important;
}

/* Dashboard title */
.page-id-5438 .post-content h2:first-of-type {
  color: #C8952A !important;
  font-family: Cinzel, Georgia, serif !important;
}

/* Last updated + filter info text */
.page-id-5438 .post-content > div > p,
.page-id-5438 .post-content div[style*="max-width"] > p {
  color: rgba(245,240,232,.45) !important;
}

/* --- Mobile responsive improvements --- */
@media (max-width: 768px) {
  .page-id-5438 div[style*="border:1px solid #ddd"] {
    padding: 14px 12px !important;
    margin: 16px 0 !important;
  }
  .page-id-5438 div[style*="background:#fafafa"] {
    padding: 10px !important;
  }
  .page-id-5438 table th,
  .page-id-5438 table td {
    padding: 8px 6px !important;
    font-size: .85rem !important;
  }
  .page-id-5438 div[style*="max-width:1200px"] {
    padding: 0 4px !important;
  }
}
