/* Directory Heroes 3.0.97 — independently editable photographic banners.
 * Deliberately NO artificial gradient overlays on editor-uploaded photographs.
 * Existing directory styling is preserved until an editor selects an image. */
.empe-dir-hero.has-empe-dir-image{
  background-color:#000e2d!important;
  background-image:var(--empe-dir-hero-img)!important;
  background-position:center var(--empe-dir-hero-desktop-position,center)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  color:#fff!important;
}
.empe-dir-hero.has-empe-dir-image::before,
.empe-dir-hero.has-empe-dir-image::after{
  background:none!important;
  content:none!important;
}
.empe-dir-hero.has-empe-dir-image h1,
.empe-dir-hero.has-empe-dir-image h2,
.empe-dir-hero.has-empe-dir-image p,
.empe-dir-hero.has-empe-dir-image .empe-hub-kicker,
.empe-dir-hero.has-empe-dir-image .empe-pdr-kicker,
.empe-dir-hero.has-empe-dir-image .empe-pdr-hero-stats,
.empe-dir-hero.has-empe-dir-image .empe-vd-hero-stats,
.empe-dir-hero.has-empe-dir-image .empe-type-eyebrow,
.empe-dir-hero.has-empe-dir-image .empe-type-breadcrumb,
.empe-dir-hero.has-empe-dir-image .empe-od-eyebrow,
.empe-dir-hero.has-empe-dir-image .empe-od-hero-copy,
.empe-dir-hero.has-empe-dir-image .empe-vd-eyebrow{
  color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.55)!important;
}
.empe-dir-hero.has-empe-dir-image .empe-type-breadcrumb a,
.empe-dir-hero.has-empe-dir-image .empe-pdr-breadcrumb,
.empe-dir-hero.has-empe-dir-image .empe-pdr-breadcrumb a,
.empe-dir-hero.has-empe-dir-image .empe-vd-breadcrumb,
.empe-dir-hero.has-empe-dir-image .empe-vd-breadcrumb a{
  color:#fff!important;
}
.empe-dir-hero-button{
  display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  margin-top:16px!important;padding:11px 17px!important;min-height:43px;
  border:1px solid #ff4e00!important;border-radius:5px!important;
  background:#ff4e00!important;color:#fff!important;text-decoration:none!important;
  font:750 13px/1.25 Inter,ui-sans-serif,system-ui,sans-serif!important;
  text-shadow:none!important;
}
.empe-dir-hero-button:hover,.empe-dir-hero-button:focus-visible{
  background:#df4400!important;border-color:#df4400!important;color:#fff!important;
}
/* All directory pages are more compact than the main Events campaign. */
.empe-events-hub .empe-hub-hero.empe-dir-hero{min-height:350px!important;}
.empe-events-hub .empe-hub-hero.empe-dir-hero .empe-hub-hero-inner{
  min-height:350px!important;padding:60px 0 52px!important;
}
.empe-events-hub .empe-hub-hero.empe-dir-hero h1{font-size:clamp(38px,4.8vw,60px)!important;}
.empe-pdr .empe-pdr-hero.empe-dir-hero{min-height:0!important;padding:52px 0 55px!important;}
.empe-pdr .empe-pdr-hero.empe-dir-hero h1{font-size:clamp(38px,4.7vw,58px)!important;}
.empe-venues-directory .empe-vd-hero.empe-dir-hero{min-height:0!important;}
.empe-venues-directory .empe-vd-hero.empe-dir-hero .empe-vd-hero-inner{min-height:360px!important;padding:102px 0 68px!important;}
.empe-venues-directory .empe-vd-hero.empe-dir-hero h1{font-size:clamp(38px,4.8vw,60px)!important;}
.empe-organizers-directory .empe-od-hero.empe-dir-hero{min-height:0!important;padding-bottom:54px!important;}
.empe-organizers-directory .empe-od-hero.empe-dir-hero h1{font-size:clamp(38px,4.8vw,60px)!important;}
.empe-event-types-page .empe-type-hero.empe-dir-hero{min-height:0!important;padding:65px 0 55px!important;}
.empe-event-types-page .empe-type-hero.empe-dir-hero h1{font-size:clamp(38px,4.8vw,56px)!important;}
.empe-event-type-single .empe-type-single-hero.empe-dir-hero{padding:48px 0!important;}
@media(max-width:782px){
  .empe-dir-hero.has-empe-dir-image{
    background-image:var(--empe-dir-hero-mobile)!important;
    background-position:center var(--empe-dir-hero-mobile-position,center)!important;
  }
  .empe-events-hub .empe-hub-hero.empe-dir-hero{min-height:0!important;}
  .empe-events-hub .empe-hub-hero.empe-dir-hero .empe-hub-hero-inner{
    min-height:205px!important;padding:29px 0 27px!important;
  }
  .empe-events-hub .empe-hub-hero.empe-dir-hero h1{font-size:clamp(27px,8vw,36px)!important;}
  .empe-events-hub .empe-hub-hero.empe-dir-hero p{font-size:12px!important;line-height:1.45!important;}
  .empe-pdr .empe-pdr-hero.empe-dir-hero{padding:36px 0 36px!important;}
  .empe-pdr .empe-pdr-hero.empe-dir-hero h1{font-size:clamp(28px,8vw,37px)!important;}
  .empe-venues-directory .empe-vd-hero.empe-dir-hero .empe-vd-hero-inner{
    min-height:0!important;padding:70px 0 62px!important;align-items:center!important;
  }
  .empe-venues-directory .empe-vd-hero.empe-dir-hero h1{font-size:clamp(29px,8vw,38px)!important;}
  .empe-organizers-directory .empe-od-hero.empe-dir-hero{padding:45px 0 43px!important;}
  .empe-organizers-directory .empe-od-hero.empe-dir-hero h1{font-size:clamp(30px,8vw,39px)!important;}
  .empe-event-types-page .empe-type-hero.empe-dir-hero{padding:39px 0 40px!important;}
  .empe-event-types-page .empe-type-hero.empe-dir-hero h1{font-size:clamp(29px,8vw,38px)!important;}
  .empe-dir-hero-button{min-height:42px;padding:10px 14px!important;font-size:12px!important;}
}

.empe-dir-organizer-mobile-cta{display:none!important}
@media(max-width:782px){.empe-dir-organizer-mobile-cta{display:block!important}}


/* v3.0.99 — All uploaded Events-section hero images are clear artwork banners.
 * No inherited headings or descriptions sit over them; the compact identity
 * strip follows below on white. Image containment prevents cropped artwork. */
.empe-dir-hero.has-empe-dir-image{
  display:block!important;
  padding:0!important;
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  background:#fff!important;
  color:#000e2d!important;
  overflow:visible!important;
  isolation:isolate;
}
.empe-dir-hero.has-empe-dir-image::before,
.empe-dir-hero.has-empe-dir-image::after{
  content:none!important;display:none!important;
}
.empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  height:auto!important;
  background:#000e2d!important;
  overflow:hidden!important;
  z-index:1;
}
.empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner picture{display:block!important;width:100%!important;height:auto!important;}
.empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:440px!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center var(--empe-visual-desktop-position,center)!important;
  background:#000e2d!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
/* Text, breadcrumbs, filters and counts remain readable but never overlay art. */
.empe-dir-hero.has-empe-dir-image > :not(.empe-dir-visual-banner){
  position:relative!important;
  z-index:2!important;
}
.empe-dir-hero.has-empe-dir-image .empe-type-single-hero-inner,
.empe-dir-hero.has-empe-dir-image .empe-type-hero-grid,
.empe-dir-hero.has-empe-dir-image .empe-hub-hero-inner,
.empe-dir-hero.has-empe-dir-image .empe-vd-hero-inner,
.empe-dir-hero.has-empe-dir-image .empe-od-container,
.empe-dir-hero.has-empe-dir-image .empe-pdr-hero-inner{
  min-height:0!important;
  max-height:none!important;
  padding-top:20px!important;
  padding-bottom:22px!important;
  background:#fff!important;
  align-items:center!important;
}
.empe-dir-hero.has-empe-dir-image .empe-type-hero-grid,
.empe-dir-hero.has-empe-dir-image .empe-od-hero-grid{
  display:block!important;
}
.empe-dir-hero.has-empe-dir-image .empe-type-search-card{
  display:block!important;
  margin-top:14px!important;
  max-width:700px!important;
}
.empe-dir-hero.has-empe-dir-image .empe-od-hero-side:empty{display:none!important}
.empe-dir-hero.has-empe-dir-image .empe-type-hero-copy,
.empe-dir-hero.has-empe-dir-image .empe-hub-hero-copy,
.empe-dir-hero.has-empe-dir-image .empe-vd-hero-copy,
.empe-dir-hero.has-empe-dir-image .empe-od-hero-copy,
.empe-dir-hero.has-empe-dir-image .empe-pdr-hero-inner{
  max-width:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  text-align:left!important;
}
.empe-dir-hero.has-empe-dir-image h1,
.empe-dir-hero.has-empe-dir-image h2{
  color:#000e2d!important;
  text-shadow:none!important;
  font-size:clamp(27px,3.2vw,42px)!important;
  line-height:1.13!important;
  letter-spacing:-.026em!important;
  margin:5px 0 6px!important;
}
.empe-dir-hero.has-empe-dir-image p,
.empe-dir-hero.has-empe-dir-image .empe-type-eyebrow,
.empe-dir-hero.has-empe-dir-image .empe-hub-kicker,
.empe-dir-hero.has-empe-dir-image .empe-vd-eyebrow,
.empe-dir-hero.has-empe-dir-image .empe-od-eyebrow,
.empe-dir-hero.has-empe-dir-image .empe-pdr-kicker{
  color:#000e2d!important;
  text-shadow:none!important;
}
.empe-dir-hero.has-empe-dir-image p:empty,
.empe-dir-hero.has-empe-dir-image .empe-type-eyebrow:empty,
.empe-dir-hero.has-empe-dir-image .empe-hub-kicker:empty,
.empe-dir-hero.has-empe-dir-image .empe-vd-eyebrow:empty,
.empe-dir-hero.has-empe-dir-image .empe-od-eyebrow:empty{display:none!important}
.empe-dir-hero.has-empe-dir-image .empe-type-breadcrumb,
.empe-dir-hero.has-empe-dir-image .empe-type-breadcrumb a,
.empe-dir-hero.has-empe-dir-image .empe-pdr-breadcrumb,
.empe-dir-hero.has-empe-dir-image .empe-pdr-breadcrumb a,
.empe-dir-hero.has-empe-dir-image .empe-vd-breadcrumb,
.empe-dir-hero.has-empe-dir-image .empe-vd-breadcrumb a{
  color:#000e2d!important;text-shadow:none!important;
}
.empe-event-type-single .empe-type-single-hero.empe-dir-hero.has-empe-dir-image{padding:0!important}
.empe-event-type-single .empe-type-single-hero.has-empe-dir-image .empe-type-single-summary{
  margin:10px 0 0!important;
  color:#000e2d!important;
  background:#fff!important;
  border:1px solid #e4e8f0!important;
}
.empe-event-type-single .empe-type-single-hero.has-empe-dir-image + .empe-type-filter-wrap{
  margin-top:0!important;
}
.empe-event-types-page .empe-type-hero.empe-dir-hero.has-empe-dir-image{padding:0!important}
.empe-event-types-page .empe-type-hero.has-empe-dir-image .empe-type-directory-summary{margin-top:10px!important}
.empe-events-hub .empe-hub-hero.empe-dir-hero.has-empe-dir-image{
  min-height:0!important;margin-top:0!important;padding:0!important;
}
.empe-events-hub .empe-hub-hero.has-empe-dir-image .empe-hub-hero-inner{
  display:block!important;
  min-height:0!important;
  padding-top:20px!important;padding-bottom:22px!important;
}
.empe-events-hub .empe-hub-hero.has-empe-dir-image .empe-hub-hero-copy{
  margin:0!important;text-align:left!important;max-width:100%!important;
}
.empe-venues-directory .empe-vd-hero.empe-dir-hero.has-empe-dir-image{
  margin-top:0!important;padding:0!important;
}
.empe-venues-directory .empe-vd-hero.has-empe-dir-image .empe-vd-hero-inner{
  min-height:0!important;padding-top:20px!important;padding-bottom:22px!important;
}
.empe-organizers-directory .empe-od-hero.empe-dir-hero.has-empe-dir-image{padding:0!important}
.empe-organizers-directory .empe-od-hero.has-empe-dir-image .empe-od-hero-grid{display:block!important}
.empe-organizers-directory .empe-od-hero.has-empe-dir-image .empe-od-hero-side{margin-top:8px}
.empe-pdr .empe-pdr-hero.empe-dir-hero.has-empe-dir-image{padding:0!important}
.empe-pdr .empe-pdr-hero.has-empe-dir-image .empe-pdr-breadcrumb{
  background:#fff!important;
  padding:14px max(16px,calc((100% - 1160px)/2)) 0!important;
  margin:0!important;
}
.empe-dir-hero.has-empe-dir-image .empe-dir-hero-button{margin-top:8px!important}
@media(max-width:782px){
  .empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner img{
    width:100%!important;
    height:auto!important;
    max-height:260px!important;
    object-fit:contain!important;
    object-position:center var(--empe-visual-mobile-position,center)!important;
  }
  .empe-dir-hero.has-empe-dir-image .empe-type-single-hero-inner,
  .empe-dir-hero.has-empe-dir-image .empe-type-hero-grid,
  .empe-dir-hero.has-empe-dir-image .empe-hub-hero-inner,
  .empe-dir-hero.has-empe-dir-image .empe-vd-hero-inner,
  .empe-dir-hero.has-empe-dir-image .empe-od-container,
  .empe-dir-hero.has-empe-dir-image .empe-pdr-hero-inner{
    padding-top:14px!important;padding-bottom:16px!important;
  }
  .empe-dir-hero.has-empe-dir-image h1,
  .empe-dir-hero.has-empe-dir-image h2{
    font-size:clamp(23px,6vw,31px)!important;
    margin:4px 0 6px!important;
  }
  .empe-event-type-single .empe-type-single-hero.has-empe-dir-image + .empe-type-filter-wrap{margin-top:0!important}
}

/* Preserve existing Event Types search and organisers CTA behaviour. */
.empe-event-types-directory .empe-type-hero.has-empe-dir-image .empe-type-directory-search-card{
  display:block!important;
  margin:12px 0 0!important;
  max-width:700px!important;
}
.empe-organizers-directory .empe-od-hero.has-empe-dir-image .empe-dir-organizer-mobile-cta{display:none!important}
.empe-organizers-directory .empe-od-hero.has-empe-dir-image .empe-od-hero-side{display:block!important}

/* Beat legacy high-specificity "text-only" centering on /events/{area}/ pages. */
body.empe-events-hub-page .empe-events-hub .empe-hub-hero.is-text-only.empe-dir-hero.has-empe-dir-image .empe-hub-hero-inner,
body.empe-events-hub-active .empe-events-hub .empe-hub-hero.is-text-only.empe-dir-hero.has-empe-dir-image .empe-hub-hero-inner{
  min-height:0!important;
  padding:18px 0 20px!important;
  display:block!important;
  text-align:left!important;
}
body.empe-events-hub-page .empe-events-hub .empe-hub-hero.is-text-only.empe-dir-hero.has-empe-dir-image .empe-hub-hero-copy,
body.empe-events-hub-active .empe-events-hub .empe-hub-hero.is-text-only.empe-dir-hero.has-empe-dir-image .empe-hub-hero-copy{
  max-width:100%!important;
  margin:0!important;
  text-align:left!important;
}
@media(max-width:782px){
  body.empe-events-hub-page .empe-events-hub .empe-hub-hero.is-text-only.empe-dir-hero.has-empe-dir-image .empe-hub-hero-inner,
  body.empe-events-hub-active .empe-events-hub .empe-hub-hero.is-text-only.empe-dir-hero.has-empe-dir-image .empe-hub-hero-inner{
    padding:13px 0 15px!important;
  }
}

/* Breadcrumbs, counts and filter docks belong beneath the artwork. */
.empe-pdr .empe-pdr-hero.has-empe-dir-image .empe-pdr-breadcrumb{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  transform:none!important;
  width:min(1180px,calc(100% - 34px))!important;
  margin:0 auto!important;
  padding:14px 0 0!important;
  color:#000e2d!important;
}
.empe-venues-directory .empe-vd-hero.has-empe-dir-image .empe-vd-breadcrumb{
  position:static!important;
  top:auto!important;
  left:auto!important;
  margin:0 0 10px!important;
}
.empe-venues-directory .empe-vd-hero.has-empe-dir-image .empe-vd-breadcrumb strong,
.empe-venues-directory .empe-vd-hero.has-empe-dir-image .empe-vd-hero-stats,
.empe-venues-directory .empe-vd-hero.has-empe-dir-image .empe-vd-hero-stats strong,
.empe-pdr .empe-pdr-hero.has-empe-dir-image .empe-pdr-hero-stats{
  color:#000e2d!important;
  text-shadow:none!important;
}
.empe-venues-directory .empe-vd-hero.has-empe-dir-image + .empe-vd-search-dock,
.empe-pdr .empe-pdr-hero.has-empe-dir-image + .empe-pdr-discovery-wrap{
  margin-top:0!important;
}


/* 3.0.101 — Taller desktop Events-section hero banners (380–520px).
   All uploaded artwork still fills the banner, and the 175–235px
   mobile rule below is unchanged.
   3.0.100 — Events directory hero images fill the banner by default.
   3.0.99 limited the image to 440px with object-fit:contain, causing
   dark sidebars when artwork was narrower than the viewport.
   Fit is editable per hero; no image gradients or overlaid text. */
.empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner{
  width:100%!important;
  height:clamp(380px,30vw,520px)!important;
  min-height:0!important;
  max-height:none!important;
  background:#fff!important;
  overflow:hidden!important;
}
.empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center var(--empe-visual-desktop-position,center)!important;
  background:#fff!important;
}
.empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner.empe-dir-fit-contain img{
  object-fit:contain!important;
}
@media(max-width:782px){
  .empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner{
    height:clamp(175px,44vw,235px)!important;
  }
  .empe-dir-hero.has-empe-dir-image .empe-dir-visual-banner img{
    object-position:center var(--empe-visual-mobile-position,center)!important;
  }
}
