/* Bubba Hub — Activity Detail (tidied)
   One rule per component, mobile-last. Values are the winners of the previous
   cascade, so the desktop look is unchanged except where marked /* FIX */.
   !important is kept on purpose until this is verified against the site's base CSS.

   Contents: 0 Tokens & frame · 1 Header · 2 Search · 3 Hero · 4 Body grid
             5 About · 6 Schedule · 7 Contact · 8 Organiser · 9 Hours card · 10 Footer */

/* 0. TOKENS & PAGE FRAME ------------------------------------------------ */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}

body:not(.bh-home){
  --ad-ink:#144400; --ad-forest:#1B4D3E; --ad-teal:#3c8e96;
  --ad-mint:#e7f1ea; --ad-pale:#d9eadf; --ad-line:#d8e6db; --ad-line-soft:#d9e5dc;
  --ad-font:"Quicksand",sans-serif;
  padding-left:clamp(16px,3vw,50px)!important;
  padding-right:clamp(16px,3vw,50px)!important;
  overflow-x:hidden!important;
}
body:not(.bh-home) .app-shell,
body:not(.bh-home) > main.app-shell{
  position:relative!important;z-index:1!important;
  width:100%!important;max-width:none!important;height:auto!important;
  margin:0!important;padding:0!important;overflow:visible!important;
}
body:not(.bh-home) .app-shell > .listing-page{
  position:relative!important;z-index:1!important;
  width:100%!important;max-width:none!important;margin:0!important;padding:0 0 40px!important;
}

/* 1. HEADER ------------------------------------------------------------- */
body:not(.bh-home) > .site-header.activity-reference-header{
  position:relative!important;z-index:10!important;
  width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0 0 32px!important;padding:12px 15px 16px!important;
  background:var(--ad-line)!important;border:0!important;border-radius:0 0 18px 18px!important;
  box-shadow:none!important;overflow:visible!important;
}
body:not(.bh-home) .activity-reference-header .activity-header-top{
  position:relative!important;z-index:11!important;
  display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:18px!important;
  width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;margin:0 auto!important;
}
body:not(.bh-home) .activity-reference-header .brand{
  display:flex!important;flex:0 0 auto!important;align-items:center!important;
  width:auto!important;min-width:0!important;margin:0 auto 0 0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body:not(.bh-home) .activity-reference-header .brand strong,
body:not(.bh-home) .activity-reference-header .brand small{display:none!important}
body:not(.bh-home) .activity-reference-header .brand-logo{
  content:url("images/logos/mainlogo-20260924-221429-7e305d.jpg")!important;
  display:block!important;flex:0 0 auto!important;
  width:auto!important;height:100px!important;min-width:0!important;max-width:190px!important;
  object-fit:contain!important;object-position:left center!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
body:not(.bh-home) .activity-reference-header .main-nav{
  display:flex!important;flex:0 1 auto!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-end!important;
  gap:6px!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;
  white-space:nowrap!important;overflow:visible!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body:not(.bh-home) .activity-reference-header .main-nav a{
  display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;height:36px!important;min-height:36px!important;margin:0!important;padding:8px 11px!important;
  background:transparent!important;border:0!important;border-radius:8px!important;box-shadow:none!important;
  color:var(--ad-ink)!important;font-size:12px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;
}
body:not(.bh-home) .activity-reference-header .main-nav a:hover,
body:not(.bh-home) .activity-reference-header .main-nav a.active{background:rgba(255,255,255,.35)!important;color:var(--ad-ink)!important}
body:not(.bh-home) .activity-reference-header .activity-sign-in{
  flex:0 0 auto!important;min-width:max-content!important;height:36px!important;min-height:36px!important;margin:0!important;padding:7px 14px!important;
  background:var(--ad-teal)!important;border:0!important;border-radius:999px!important;box-shadow:none!important;
  color:#fff!important;font-size:12px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;
}

@media(max-width:1180px){
  body:not(.bh-home) .activity-reference-header .main-nav a{padding:7px 8px!important;font-size:11px!important}
  body:not(.bh-home) .activity-reference-header .activity-sign-in{padding:7px 10px!important;font-size:11px!important}
}
@media(max-width:1050px){
  body:not(.bh-home) .activity-reference-header .activity-header-top{gap:10px!important}
  body:not(.bh-home) .activity-reference-header .brand-logo{height:50px!important;max-width:165px!important}
}
@media(max-width:850px){
  /* FIX: previous cascade left the row on nowrap while forcing the nav to 100% basis */
  body:not(.bh-home) .activity-reference-header .activity-header-top{flex-wrap:wrap!important;gap:8px!important}
  body:not(.bh-home) .activity-reference-header .brand-logo{height:48px!important;max-width:155px!important}
  body:not(.bh-home) .activity-reference-header .main-nav{
    order:3!important;flex:1 0 100%!important;width:100%!important;justify-content:flex-start!important;
    padding:2px 0 4px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;
  }
  body:not(.bh-home) .activity-reference-header .main-nav::-webkit-scrollbar{display:none!important}
}
@media(max-width:650px){
  body:not(.bh-home){padding-left:0!important;padding-right:0!important}
  body:not(.bh-home) > .site-header.activity-reference-header{margin:0!important;padding:8px 10px 12px!important;border-radius:0!important}
  body:not(.bh-home) .activity-reference-header .activity-header-top{flex-flow:row nowrap!important}
  body:not(.bh-home) .activity-reference-header .brand-logo{width:44px!important;height:44px!important;max-width:44px!important}
  body:not(.bh-home) .activity-reference-header .activity-sign-in{min-width:70px!important;height:38px!important;min-height:38px!important;padding:7px 11px!important;font-size:11px!important}
  body:not(.bh-home) .activity-reference-header .main-nav{display:none!important}
  body:not(.bh-home) .activity-reference-header .mobile-nav-toggle{
    display:flex!important;flex:0 0 42px!important;width:42px!important;height:42px!important;margin:0!important;padding:0!important;
    background:var(--ad-line)!important;border:1px solid #c7dbcc!important;border-radius:12px!important;color:var(--ad-ink)!important;
  }
  body:not(.bh-home) .activity-reference-header.mobile-menu-open .main-nav{
    display:flex!important;position:absolute!important;left:10px!important;right:10px!important;top:58px!important;width:auto!important;z-index:500!important;
  }
}
@media(max-width:390px){
  body:not(.bh-home) .activity-reference-header .activity-sign-in{min-width:62px!important;padding-left:8px!important;padding-right:8px!important}
}

/* 2. HEADER SEARCH ------------------------------------------------------ */
body:not(.bh-home) .activity-reference-header .activity-header-search{
  position:relative!important;z-index:11!important;
  display:grid!important;
  grid-template-columns:minmax(180px,1.65fr) minmax(105px,.9fr) minmax(105px,.9fr) minmax(115px,1fr) minmax(95px,.8fr) 92px!important;
  grid-template-rows:46px!important;grid-auto-rows:46px!important;align-items:stretch!important;gap:8px!important;
  width:100%!important;max-width:1400px!important;height:46px!important;min-height:46px!important;max-height:46px!important;
  margin:18px auto 0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;
}
body:not(.bh-home) .activity-header-search .activity-search-field{
  display:flex!important;align-items:center!important;gap:6px!important;
  width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;max-height:46px!important;margin:0!important;padding:0 11px!important;
  background:#fff!important;border:1px solid var(--ad-line)!important;border-radius:999px!important;
  box-shadow:0 2px 8px rgba(18,63,49,.04)!important;color:var(--ad-teal)!important;overflow:hidden!important;white-space:nowrap!important;
}
body:not(.bh-home) .activity-header-search .activity-search-field > span{
  display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;
  width:20px!important;margin:0 6px 0 0!important;color:var(--ad-teal)!important;font-size:14px!important;font-weight:900!important;line-height:1!important;
}
body:not(.bh-home) .activity-header-search .activity-search-field input,
body:not(.bh-home) .activity-header-search .activity-search-field select{
  width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;max-height:42px!important;padding:8px 0!important;
  background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;
  color:#123f31!important;font-size:12px!important;line-height:1.2!important;text-overflow:ellipsis!important;
}
body:not(.bh-home) .activity-header-search .activity-search-button{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-width:0!important;height:46px!important;min-height:46px!important;max-height:46px!important;margin:0!important;padding:8px 14px!important;
  background:var(--ad-teal)!important;border:0!important;border-radius:999px!important;box-shadow:none!important;
  color:#fff!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;
}
@media(max-width:900px){
  body:not(.bh-home) .activity-reference-header .activity-header-search{grid-template-columns:minmax(150px,1.5fr) repeat(4,minmax(82px,1fr)) 82px!important;gap:6px!important}
  body:not(.bh-home) .activity-header-search .activity-search-field{padding:0 8px!important}
  body:not(.bh-home) .activity-header-search .activity-search-field input,
  body:not(.bh-home) .activity-header-search .activity-search-field select{font-size:11px!important}
}
@media(max-width:700px){
  body:not(.bh-home) .activity-reference-header .activity-header-search{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important}
  body:not(.bh-home) .activity-header-search .activity-search-field{padding:0 6px!important}
  body:not(.bh-home) .activity-header-search .activity-search-field > span{display:none!important}
  body:not(.bh-home) .activity-header-search .activity-search-field input,
  body:not(.bh-home) .activity-header-search .activity-search-field select,
  body:not(.bh-home) .activity-header-search .activity-search-button{font-size:10px!important}
}
@media(max-width:650px){
  body:not(.bh-home) .activity-reference-header .activity-header-search{
    grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:7px!important;
    height:auto!important;max-height:none!important;margin:10px 0 0!important;
  }
  body:not(.bh-home) .activity-reference-header .activity-header-search.is-collapsed{display:none!important}
  body:not(.bh-home) .activity-search-toggle{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;min-height:40px!important;margin:10px 0 0!important;padding:8px 13px!important;
    background:#eaf4ed!important;border:1px solid #c7dbcc!important;border-radius:12px!important;
    color:var(--ad-ink)!important;font:800 12px/1.2 var(--ad-font)!important;cursor:pointer!important;
  }
  body:not(.bh-home) .activity-search-toggle span{font-size:16px!important;line-height:1!important}
}
@media(max-width:520px){
  body:not(.bh-home) .activity-header-search .activity-search-field,
  body:not(.bh-home) .activity-header-search .activity-search-button{height:42px!important;min-height:42px!important;max-height:none!important}
}
.activity-search-toggle{display:none}

/* 3. HERO --------------------------------------------------------------- */
body:not(.bh-home) .app-shell > .listing-page .activity-hero{
  position:relative!important;z-index:1!important;
  display:grid!important;grid-template-columns:30% 70%!important;gap:0!important;align-items:center!important;
  /* full-bleed: breaks out of the body gutter (see review note) */
  width:100vw!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0 calc(50% - 50vw)!important;padding:24px 15px 28px!important;
  background:var(--ad-forest)!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
body:not(.bh-home) .activity-hero .listing-gallery{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:280px!important;min-height:280px!important;max-height:280px!important;min-width:0!important;padding:0!important;
  background:#fff!important;border-radius:18px!important;overflow:hidden!important;
}
body:not(.bh-home) .activity-hero .listing-gallery picture{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-height:100%!important}
body:not(.bh-home) .activity-hero .listing-gallery img,
body:not(.bh-home) .activity-hero .listing-gallery-placeholder{
  display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;background:#fff!important;border-radius:18px!important;
}
body:not(.bh-home) .activity-hero .listing-gallery img{flex:0 1 auto!important}
body:not(.bh-home) .activity-hero .listing-gallery img.listing-gallery-fallback{object-fit:cover!important}

body:not(.bh-home) .activity-hero .listing-summary{
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  width:100%!important;min-width:0!important;padding:12px 0 12px 34px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:#fff!important;overflow:hidden!important;overflow-wrap:anywhere!important;
}
body:not(.bh-home) .activity-hero .listing-summary > *{max-width:100%!important}
body:not(.bh-home) .activity-hero .listing-summary .eyebrow{
  display:inline-flex!important;width:max-content;max-width:100%;margin:0 0 12px!important;padding:7px 13px!important;
  background:var(--ad-pale)!important;border:1px solid var(--ad-line)!important;border-radius:999px!important;
  color:var(--ad-forest)!important;font-size:.74rem!important;font-weight:800!important;letter-spacing:0;text-transform:none;
}
body:not(.bh-home) .activity-hero .listing-summary h1{
  margin:0 0 10px!important;color:#fff!important;font-family:var(--ad-font);font-size:clamp(34px,4vw,58px)!important;font-weight:800;line-height:1.02!important;
}
body:not(.bh-home) .activity-hero .listing-summary .listing-intro{margin:10px 0 0!important;color:rgba(255,255,255,.94)!important;font-size:15px!important;line-height:1.45!important;font-weight:550}
/* kept in case the hero also carries .listing-description (can't see the HTML) */
body:not(.bh-home) .activity-hero .listing-summary .listing-description{max-width:760px!important;margin:0 0 18px!important;color:rgba(255,255,255,.9)!important;font-size:16px!important;line-height:1.55!important}
body:not(.bh-home) .activity-hero .listing-tags{display:none!important}

body:not(.bh-home) .activity-hero .hero-quick-facts{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:16px 0 14px!important}
body:not(.bh-home) .activity-hero .hero-quick-facts > span{
  display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;
  min-width:0!important;min-height:62px!important;padding:9px 10px!important;
  background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:12px!important;color:#fff!important;overflow:hidden!important;
}
body:not(.bh-home) .activity-hero .hero-quick-facts strong{display:block!important;color:var(--ad-pale)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;line-height:1.1!important;text-transform:uppercase!important}
body:not(.bh-home) .activity-hero .hero-quick-facts b{display:block!important;min-width:0;color:#fff!important;font-size:14px!important;font-weight:750!important;line-height:1.2!important;overflow-wrap:anywhere}

body:not(.bh-home) .activity-hero .listing-actions{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:7px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
body:not(.bh-home) .activity-hero .listing-actions .activity-action,
body:not(.bh-home) .activity-hero .listing-actions #visited,
body:not(.bh-home) .activity-hero .listing-actions .activity-book-button{
  display:inline-flex!important;flex:1 1 0!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:0!important;max-width:none!important;min-height:40px!important;margin:0!important;padding:8px 10px!important;
  border-radius:50px!important;font-size:11px!important;font-weight:800!important;line-height:1.2!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;cursor:pointer!important;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease!important;
}
body:not(.bh-home) .activity-hero .listing-actions .activity-action{background:#f3f8f4!important;border:1px solid var(--ad-pale)!important;box-shadow:none!important;color:var(--ad-forest)!important}
body:not(.bh-home) .activity-hero .listing-actions .activity-action:hover,
body:not(.bh-home) .activity-hero .listing-actions .activity-action:focus-visible{background:#fff!important;border-color:#b9d8c5!important;box-shadow:0 5px 14px rgba(18,61,48,.14)!important;color:#123d30!important;transform:translateY(-1px)!important}
body:not(.bh-home) .activity-hero .listing-actions #planner{background:var(--ad-pale)!important;border-color:var(--ad-pale)!important;color:var(--ad-forest)!important}
body:not(.bh-home) .activity-hero .listing-actions #planner::first-letter{font-size:24px} /* only sensible if the label starts with an icon */
body:not(.bh-home) .activity-hero .listing-actions .activity-book-button{flex:1.1 1 0!important;background:#f6c84a!important;border:1px solid #f6c84a!important;box-shadow:0 5px 14px rgba(20,68,0,.16)!important;color:var(--ad-ink)!important;text-shadow:none!important}
body:not(.bh-home) .activity-hero .listing-actions .activity-book-button:hover,
body:not(.bh-home) .activity-hero .listing-actions .activity-book-button:focus-visible{background:#f1b92e!important;border-color:#f1b92e!important;color:var(--ad-ink)!important;transform:translateY(-1px)!important}

@media(max-width:1100px){
  /* FIX: previous cascade went 6 → 3 → 6 → 2 columns */
  body:not(.bh-home) .activity-hero .hero-quick-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:950px){
  body:not(.bh-home) .app-shell > .listing-page .activity-hero{grid-template-columns:1fr!important;padding-top:22px!important;padding-bottom:26px!important}
  body:not(.bh-home) .activity-hero .listing-gallery{height:240px!important;min-height:240px!important;max-height:240px!important}
  body:not(.bh-home) .activity-hero .listing-summary{padding:24px 0 0!important}
  body:not(.bh-home) .activity-hero .listing-actions{flex-wrap:wrap!important}
  body:not(.bh-home) .activity-hero .listing-actions .activity-action,
  body:not(.bh-home) .activity-hero .listing-actions .activity-book-button{flex:1 1 calc(20% - 7px)!important}
}
@media(max-width:650px){
  body:not(.bh-home) .app-shell > .listing-page .activity-hero{gap:12px!important;padding:14px 12px 18px!important}
  body:not(.bh-home) .activity-hero .listing-gallery{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/10;border-radius:14px!important}
  body:not(.bh-home) .activity-hero .listing-gallery img,
  body:not(.bh-home) .activity-hero .listing-gallery picture{border-radius:14px!important}
  body:not(.bh-home) .activity-hero .listing-summary{padding:18px 14px!important;border-radius:14px!important;overflow:visible!important}
  body:not(.bh-home) .activity-hero .listing-summary h1{font-size:30px!important;line-height:1.08!important}
  body:not(.bh-home) .activity-hero .hero-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:14px 0!important}
  body:not(.bh-home) .activity-hero .hero-quick-facts > span{height:auto!important;justify-content:flex-start!important;overflow:visible!important}
  body:not(.bh-home) .activity-hero .hero-quick-facts b{overflow:visible!important}
  body:not(.bh-home) .activity-hero .listing-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.bh-home) .activity-hero .listing-actions .activity-action,
  body:not(.bh-home) .activity-hero .listing-actions #visited,
  body:not(.bh-home) .activity-hero .listing-actions .activity-book-button{width:100%!important;min-height:42px!important;padding:8px 7px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  body:not(.bh-home) .activity-hero .listing-actions .activity-book-button{grid-column:1 / -1!important}
}
@media(max-width:390px){
  body:not(.bh-home) .activity-hero .listing-summary h1{font-size:27px!important}
  body:not(.bh-home) .activity-hero .listing-summary .listing-intro{font-size:14px!important}
  body:not(.bh-home) .activity-hero .hero-quick-facts b{font-size:11px!important}
}

/* 4. BODY GRID ---------------------------------------------------------- */
/* Legacy cards replaced by the activity-reference-* blocks */
body:not(.bh-home) .listing-main .good-to-know-card,
body:not(.bh-home) .listing-main .listing-card:nth-of-type(3):not(.activity-reference-schedule),
body:not(.bh-home) .listing-main .where-card,
body:not(.bh-home) .listing-side .organiser-card,
body:not(.bh-home) .listing-side .booking-card,
body:not(.bh-home) .listing-side .contact-card{display:none!important}

body:not(.bh-home) .listing-page > .listing-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto!important;
  column-gap:40px!important;row-gap:0!important;align-items:start!important;
  width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0 15px!important;background:#fff!important;
}
body:not(.bh-home) .listing-page > .listing-layout > .listing-main,
body:not(.bh-home) .listing-page > .listing-layout > .listing-side{display:contents!important}

@media(max-width:950px){
  body:not(.bh-home) .listing-page > .listing-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;column-gap:0!important}
}
@media(max-width:650px){
  body:not(.bh-home) .listing-page > .listing-layout{display:block!important;padding:0 12px!important}
  body:not(.bh-home) .listing-page > .listing-layout > .listing-main{display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin:0!important;padding:0!important}
  body:not(.bh-home) .listing-page > .listing-layout > .listing-side{display:none!important}
}

/* 5. ABOUT -------------------------------------------------------------- */
body:not(.bh-home) .listing-page > .listing-layout .activity-reference-about{
  grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;margin:0!important;padding:36px 0 28px!important;
  background:#fff!important;border:0!important;box-shadow:none!important;
}
body:not(.bh-home) .activity-reference-about .eyebrow{display:none}
body:not(.bh-home) .activity-reference-about h2{margin:0 0 15px!important;color:var(--ad-ink)!important;font-family:var(--ad-font);font-size:30px!important;font-weight:800;letter-spacing:-.02em}
body:not(.bh-home) .activity-reference-about .listing-description{max-width:820px!important;color:var(--ad-teal)!important;font-size:15px!important;line-height:1.7!important;overflow-wrap:anywhere!important}
body:not(.bh-home) .activity-keyword-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
body:not(.bh-home) .activity-keyword-tags:empty{display:none}
body:not(.bh-home) .activity-keyword-tags span{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;background:var(--ad-mint);border:1px solid var(--ad-line);border-radius:999px;color:#416651;font-size:11px;font-weight:750}
body:not(.bh-home) .activity-reference-facts{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:16px}
body:not(.bh-home) .activity-reference-facts span{padding:6px 12px;background:var(--ad-mint);border-radius:999px;color:var(--ad-teal);font-size:11px;font-weight:700}
@media(max-width:950px){body:not(.bh-home) .listing-page > .listing-layout .activity-reference-about{padding:32px 0 24px!important}}
@media(max-width:650px){body:not(.bh-home) .listing-page > .listing-layout .activity-reference-about{padding:24px 0 20px!important;border-bottom:1px solid var(--ad-line)!important}}

/* 6. SCHEDULE ----------------------------------------------------------- */
body:not(.bh-home) .listing-page > .listing-layout .activity-reference-schedule{
  display:block!important;visibility:visible!important;opacity:1!important;
  grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;margin:0!important;padding:0 0 38px!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
body:not(.bh-home) .activity-reference-schedule .eyebrow{display:block!important;margin-bottom:6px!important;color:#617261!important;font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body:not(.bh-home) .activity-reference-schedule h2{margin:0 0 14px!important;color:var(--ad-ink)!important;font-size:23px!important}
body:not(.bh-home) .activity-reference-schedule .schedule-list{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;margin-top:16px!important;background:#fff!important;border:1px solid var(--ad-line-soft)!important;border-radius:14px!important;overflow:hidden!important}
body:not(.bh-home) .activity-reference-schedule .venue-schedule{display:block!important;visibility:visible!important;padding:18px!important;border-top:0!important; /* FIX: was doubling the list border */ border-bottom:1px solid var(--ad-line-soft)!important;color:var(--ad-ink)!important}
body:not(.bh-home) .activity-reference-schedule .venue-schedule:last-child{border-bottom:0!important}
body:not(.bh-home) .activity-reference-schedule .venue-schedule h3{margin:0 0 4px!important;color:var(--ad-ink)!important;font-size:18px!important}
body:not(.bh-home) .activity-reference-schedule .venue-schedule p{margin:0!important;color:#53685a!important;font-size:12px!important}
body:not(.bh-home) .activity-reference-schedule .session-list{display:block!important;width:100%!important;margin-top:12px!important;border-top:1px solid #e4ece6!important}
body:not(.bh-home) .activity-reference-schedule .session-row{
  display:grid!important;visibility:visible!important;align-items:center!important;gap:10px!important;
  grid-template-columns:minmax(90px,1fr) minmax(120px,1.3fr) minmax(70px,.7fr) minmax(70px,.7fr)!important;
  min-width:0!important;margin:0!important;padding:11px 0!important; /* FIX: dropped leftover tint/radius/margin that sat flush against zero padding */
  border-bottom:1px solid #edf2ee!important;color:var(--ad-ink)!important;font-size:12px!important;
}
body:not(.bh-home) .activity-reference-schedule .session-row:last-child{border-bottom:0!important}
body:not(.bh-home) .activity-reference-schedule .session-row strong,
body:not(.bh-home) .activity-reference-schedule .session-row span{min-width:0!important;color:#31563d!important;font-size:12px!important;overflow-wrap:anywhere}
body:not(.bh-home) .activity-reference-schedule .session-row strong{font-weight:800!important}
@media(max-width:950px){body:not(.bh-home) .listing-page > .listing-layout .activity-reference-schedule{padding-bottom:32px!important}}
@media(max-width:650px){
  body:not(.bh-home) .listing-page > .listing-layout .activity-reference-schedule{padding:22px 0!important;border-bottom:1px solid var(--ad-line)!important}
  /* FIX: the 2-column mobile row was being overridden by the 4-column rule */
  body:not(.bh-home) .activity-reference-schedule .session-row{grid-template-columns:1fr 1fr!important}
}

/* 7. CONTACT / MAP / ADDRESSES ----------------------------------------- */
body:not(.bh-home) .listing-page > .listing-layout .activity-reference-contact{
  grid-column:2!important;grid-row:1 / span 2!important;align-self:stretch!important;
  width:100%!important;min-width:0!important;margin:0!important;padding:36px 0 38px 30px!important;
  background:#fff!important;border-left:1px solid var(--ad-line-soft)!important;
}
body:not(.bh-home) .activity-reference-contact h2{margin:0 0 18px!important;color:var(--ad-ink);font-family:var(--ad-font);font-size:23px!important;font-weight:800}
body:not(.bh-home) .listing-page > .listing-layout .activity-reference-contact-map,
body:not(.bh-home) .listing-page > .listing-layout #listingMap{width:100%!important;height:360px!important;min-height:360px!important;margin:0 0 18px!important;background:#eaf4ed!important;border-radius:16px!important;overflow:hidden!important}
body:not(.bh-home) .activity-reference-addresses{display:flex;flex-direction:column;gap:8px;width:100%}
body:not(.bh-home) .activity-address-row{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;align-items:center;gap:10px;min-width:0;padding:11px 0;border-bottom:1px solid var(--ad-line)}
body:not(.bh-home) .activity-address-row > *{min-width:0!important}
body:not(.bh-home) .activity-address-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--ad-ink);font-size:18px}
body:not(.bh-home) .activity-address-row strong,
body:not(.bh-home) .activity-address-row span{display:block}
body:not(.bh-home) .activity-address-row strong{color:var(--ad-ink);font-size:13px}
body:not(.bh-home) .activity-address-row span{margin-top:2px;color:var(--ad-teal);font-size:12px;overflow-wrap:anywhere}
body:not(.bh-home) .activity-address-row .button{min-height:34px;padding:7px 11px;border-radius:999px;font-size:11px}
body:not(.bh-home) .activity-contact-row{display:grid!important;grid-template-columns:30px 86px minmax(0,1fr)!important;align-items:center;gap:10px;min-width:0;margin:13px 0!important;color:var(--ad-teal);font-size:12px!important}
body:not(.bh-home) .activity-contact-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--ad-ink);font-size:17px}
body:not(.bh-home) .activity-contact-label{color:var(--ad-ink);font-weight:700}
body:not(.bh-home) .activity-contact-value{overflow-wrap:anywhere}
body:not(.bh-home) .activity-contact-value a{color:var(--ad-teal)}
@media(max-width:950px){
  body:not(.bh-home) .listing-page > .listing-layout .activity-reference-contact{grid-column:1!important;grid-row:3!important;padding:0 0 32px!important;border-left:0!important;border-top:1px solid var(--ad-line-soft)!important}
  body:not(.bh-home) .listing-page > .listing-layout .activity-reference-contact-map,
  body:not(.bh-home) .listing-page > .listing-layout #listingMap{height:320px!important;min-height:320px!important}
}
@media(max-width:650px){
  body:not(.bh-home) .listing-page > .listing-layout .activity-reference-contact{padding:22px 0!important;border:0!important}
  body:not(.bh-home) .listing-page > .listing-layout .activity-reference-contact-map,
  body:not(.bh-home) .listing-page > .listing-layout #listingMap{height:230px!important;min-height:230px!important;margin-bottom:14px!important}
  body:not(.bh-home) .activity-address-row{grid-template-columns:28px minmax(0,1fr)!important;align-items:start;gap:8px;padding:10px 0}
  body:not(.bh-home) .activity-address-row .button{grid-column:2!important;justify-self:start!important;margin-top:2px}
}

/* 8. ORGANISER & BOTTOM ------------------------------------------------- */
body:not(.bh-home) .activity-reference-organiser{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  width:100%!important;max-width:none!important;margin:8px 0 0!important;padding:18px 15px!important;
  background:var(--ad-mint)!important;border:1px solid var(--ad-line)!important;border-radius:18px;box-shadow:none!important;color:var(--ad-ink);overflow:hidden!important;
}
body:not(.bh-home) .listing-bottom{width:100%!important;max-width:none!important;margin:0!important;padding:20px 15px 0!important}
body:not(.bh-home) .activity-organiser-left{display:flex;align-items:center;gap:16px}
body:not(.bh-home) .activity-organiser-icon{display:grid;place-items:center;width:54px;height:54px;background:var(--ad-line);border-radius:50%;color:var(--ad-ink);font-size:25px}
body:not(.bh-home) .activity-organiser-copy small,
body:not(.bh-home) .activity-organiser-copy strong{display:block}
body:not(.bh-home) .activity-organiser-copy small{font-size:12px;font-weight:800}
body:not(.bh-home) .activity-organiser-copy strong{margin-top:2px;font-size:16px}
body:not(.bh-home) .activity-organiser-link{font-size:14px;font-weight:700}
@media(max-width:650px){
  body:not(.bh-home) .activity-reference-organiser{margin:0!important;padding:16px 12px!important}
  body:not(.bh-home) .listing-bottom{padding:16px 12px!important}
}

/* Organiser edit modal */
body:not(.bh-home) .activity-organiser-edit-wrap{display:flex;justify-content:flex-end;margin-top:14px}
body:not(.bh-home) .activity-organiser-edit-button{min-height:36px;padding:8px 14px;background:#fff;border:1px solid #9fb7a5;border-radius:999px;color:var(--ad-ink);font-size:12px;font-weight:700;cursor:pointer}
body:not(.bh-home) .activity-organiser-edit-button:hover{background:var(--ad-mint)}
body:not(.bh-home) .activity-organiser-edit-modal-backdrop{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(20,68,0,.35)}
body:not(.bh-home) .activity-organiser-edit-modal{position:relative;width:min(520px,100%);max-height:min(720px,calc(100vh - 40px));padding:28px;background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(20,68,0,.22);color:var(--ad-ink);overflow:auto}
body:not(.bh-home) .activity-organiser-edit-modal h2{margin:0 0 8px;color:var(--ad-ink);font-size:26px}
body:not(.bh-home) .activity-organiser-edit-modal p{margin:0 0 20px;color:var(--ad-teal);line-height:1.5}
body:not(.bh-home) .activity-organiser-edit-modal label{display:block;margin:14px 0 6px;color:var(--ad-ink);font-size:13px;font-weight:700}
body:not(.bh-home) .activity-organiser-edit-modal select{width:100%;min-height:46px;padding:10px 12px;background:#fff;border:1px solid #c8d8cc;border-radius:12px;color:var(--ad-ink);font:inherit}
body:not(.bh-home) .activity-organiser-edit-modal .edit-note{margin-top:8px;font-size:12px}
body:not(.bh-home) .activity-organiser-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
body:not(.bh-home) .activity-organiser-edit-close{position:absolute;top:14px;right:16px;background:transparent;border:0;color:#416651;font-size:28px;cursor:pointer}
body:not(.bh-home) .activity-organiser-edit-status{min-height:20px;margin-top:12px;color:#416651;font-size:13px}
@media(max-width:650px){
  body:not(.bh-home) .activity-organiser-edit-modal{padding:22px}
  body:not(.bh-home) .activity-organiser-edit-actions{flex-direction:column-reverse}
  body:not(.bh-home) .activity-organiser-edit-actions .button{width:100%}
}

/* 9. SCHEDULE & HOURS CARD --------------------------------------------- */
body:not(.bh-home) .schedule-hours-card{width:100%;margin:0;background:#fff;border:1px solid #d7e2d9;border-radius:18px;box-shadow:0 8px 28px rgba(20,68,0,.08);color:var(--ad-ink);overflow:hidden}
body:not(.bh-home) .schedule-hours-header{display:flex;align-items:center;gap:12px;padding:18px 20px;background:#f8fbf8;border-bottom:1px solid #e3ebe5}
body:not(.bh-home) .schedule-hours-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;background:#617261;border-radius:50%;color:#ced7c7;font-size:19px}
body:not(.bh-home) .schedule-hours-title{margin:0;color:var(--ad-ink);font-size:20px;font-weight:700;line-height:1.2}
body:not(.bh-home) .schedule-hours-list{padding:4px 20px 8px}
body:not(.bh-home) .schedule-hours-row{display:grid;grid-template-columns:minmax(105px,1fr) minmax(120px,auto);align-items:center;gap:18px;min-height:48px;padding:7px 0;border-bottom:1px solid #edf2ee}
body:not(.bh-home) .schedule-hours-row:last-child{border-bottom:0}
body:not(.bh-home) .schedule-hours-day{color:#31563d;font-weight:650}
body:not(.bh-home) .schedule-hours-time{color:var(--ad-ink);font-weight:600;text-align:right}
body:not(.bh-home) .schedule-hours-closed{color:#6e7f73;font-weight:600}
body:not(.bh-home) .schedule-hours-status{display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 40px);margin:6px 20px 18px;padding:9px 12px;background:var(--ad-mint);border-radius:999px;color:var(--ad-ink);font-size:11px;font-weight:800;letter-spacing:.04em}
body:not(.bh-home) .schedule-hours-status-dot{flex:0 0 8px;width:8px;height:8px;background:#617261;border-radius:50%}
body:not(.bh-home) .schedule-hours-status.is-closed{background:#f0f3f0;color:#53645a}
body:not(.bh-home) .schedule-hours-status.is-closed .schedule-hours-status-dot{background:#89968d}
@media(max-width:700px){
  body:not(.bh-home) .schedule-hours-header{padding:16px}
  body:not(.bh-home) .schedule-hours-list{padding:4px 16px 8px}
  body:not(.bh-home) .schedule-hours-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:46px}
  body:not(.bh-home) .schedule-hours-time{overflow-wrap:anywhere}
  body:not(.bh-home) .schedule-hours-status{margin-left:16px;margin-right:16px;max-width:calc(100% - 32px)}
}
@media(max-width:390px){
  body:not(.bh-home) .schedule-hours-row{grid-template-columns:1fr;gap:2px;padding:9px 0}
  body:not(.bh-home) .schedule-hours-time{text-align:left}
}

/* 10. FOOTER (unscoped — applies on every page that loads this file) ---- */
.site-footer{width:100%!important;max-width:none!important;margin:48px 0 0!important;padding:44px clamp(24px,5vw,72px) 20px!important;border-radius:0!important}
.site-footer-grid{width:100%!important;max-width:1400px!important;margin:0 auto!important}
.site-footer-bottom{width:100%!important;max-width:1400px!important;margin:28px auto 0!important}
.site-footer-logo img{width:110px!important;height:auto!important;max-width:100%!important;max-height:90px!important;object-fit:contain!important;object-position:left center!important;border-radius:0!important}
.site-footer-nav{display:none!important}
@media(max-width:650px){
  .site-footer{margin-top:36px!important;padding:36px 20px 18px!important}
  .site-footer-grid{grid-template-columns:1fr!important}
}
