/* Venue refresh — hospitality / live entertainment identity
   Aqua + cobalt + deep petrol. Scoped to venues only. */
.venues-page{
  --venue-aqua:#35d6e5;
  --venue-aqua-soft:#9be7ef;
  --venue-cobalt:#5b70e6;
  --venue-petrol:#0b1a21;
  --venue-graphite:#07090d;
  --venue-ink:#111a1e;
  --venue-muted:#68747b;
}

.venues-page .eyebrow{color:var(--venue-aqua)!important}
.venues-page .line-link{color:var(--venue-aqua)!important;border-color:rgba(53,214,229,.72)!important}
.venues-page .primary{
  background:linear-gradient(105deg,#168ea2 0%,var(--venue-cobalt) 58%,#445bcf 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(43,101,178,.18);
}
.venues-page .topbar nav>a.active{color:var(--venue-aqua)!important}

/* Hero */
.venues-page .venue-clean-hero{
  min-height:620px!important;
  padding-top:120px;
  padding-bottom:72px;
}
.venues-page .venue-clean-hero::before{
  background:
    linear-gradient(90deg,rgba(5,11,14,.96) 0%,rgba(7,16,20,.90) 35%,rgba(9,26,32,.54) 65%,rgba(8,18,24,.17) 88%),
    linear-gradient(145deg,rgba(31,93,111,.20),rgba(73,96,191,.12) 58%,transparent),
    url("photos/pub-bar-venue-dj-hero.webp") 62% center/cover no-repeat!important;
  filter:saturate(1.08) contrast(1.04)!important;
}
.venues-page .venue-clean-hero::after{opacity:.045!important}
.venues-page .venue-clean-hero .page-hero-inner{max-width:920px}
.venues-page .venue-clean-hero h1{
  max-width:850px;
  margin:12px 0 20px;
  font-size:clamp(3.7rem,6.1vw,6.35rem)!important;
  line-height:.9!important;
  letter-spacing:-.058em!important;
  text-transform:none!important;
  color:#f4fbfd!important;
  text-shadow:0 8px 28px rgba(0,0,0,.22);
}
.venues-page .venue-clean-hero h1 span{
  background:linear-gradient(108deg,#35d6e5 0%,#b8f5f3 42%,#8eb7ff 62%,#5b70e6 100%);
  background-size:180% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 16px rgba(53,214,229,.12));
}
.venues-page .venue-clean-hero .hero-intro{
  max-width:770px;
  color:#d1dce0;
  font-size:1.02rem;
  line-height:1.72;
}
.venues-page .venue-capabilities{
  display:flex;
  flex-wrap:wrap;
  gap:8px 9px;
  max-width:800px;
  margin:24px 0 4px;
}
.venues-page .venue-capabilities span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid rgba(123,227,235,.20);
  border-radius:999px;
  background:rgba(7,20,26,.54);
  color:#d9f3f5;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.venues-page .venue-capabilities span::before{
  content:"";
  width:5px;height:5px;
  margin-right:7px;
  border-radius:50%;
  background:var(--venue-aqua);
  box-shadow:0 0 10px rgba(53,214,229,.55);
}

/* Venue options — shorter, commercial and easier to scan */
.venues-page .venue-options-section{
  background:linear-gradient(180deg,#f6f8f8 0%,#eef4f4 100%)!important;
}
.venues-page .venue-options-section .content-inner{padding-top:82px;padding-bottom:86px}
.venues-page .venue-options-section .eyebrow{color:#157d89!important}
.venues-page .venue-options-section .section-title{
  max-width:900px;
  margin:9px 0 34px!important;
  color:var(--venue-ink)!important;
  font-size:clamp(2.55rem,4.7vw,4.7rem)!important;
  line-height:.96!important;
  letter-spacing:-.05em!important;
  text-transform:none!important;
}
.venues-page .venue-option-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:0!important;
  border:0!important;
}
.venues-page .venue-option-grid article,
.venues-page .venue-option-grid article+article{
  min-height:220px!important;
  padding:24px 24px 25px!important;
  border:1px solid rgba(29,69,77,.12)!important;
  border-top:2px solid var(--venue-aqua)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:0 14px 34px rgba(20,50,58,.045)!important;
}
.venues-page .venue-option-grid article:nth-child(2){border-top-color:var(--venue-cobalt)!important}
.venues-page .venue-option-grid article:nth-child(3){border-top-color:#68bccb!important}
.venues-page .venue-option-grid article::before,.venues-page .venue-option-grid article::after{display:none!important}
.venues-page .venue-option-grid article span{
  color:#168b98!important;
  font-size:.58rem!important;
  letter-spacing:.17em!important;
  font-weight:900!important;
}
.venues-page .venue-option-grid article:nth-child(2) span{color:#5067d1!important}
.venues-page .venue-option-grid h3{
  margin:36px 0 12px!important;
  color:#10191d!important;
  font-size:clamp(1.55rem,2.25vw,2.35rem)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}
.venues-page .venue-option-grid p{
  margin:0!important;
  color:#5d696f!important;
  font-size:.94rem!important;
  line-height:1.62!important;
}
@media(hover:hover){
  .venues-page .venue-option-grid article:hover{
    transform:translateY(-3px)!important;
    border-color:rgba(53,214,229,.36)!important;
    box-shadow:0 20px 42px rgba(18,51,58,.08)!important;
  }
}

/* Sound & lighting image feature */
.venues-page .venue-photo-section{
  min-height:515px!important;
  background:var(--venue-petrol)!important;
}
.venues-page .venue-photo-section>img{
  object-position:center 38%!important;
  filter:saturate(1.03) contrast(1.03);
}
.venues-page .venue-photo-section::after{
  background:
    linear-gradient(90deg,rgba(5,14,18,.93) 0%,rgba(7,22,28,.76) 38%,rgba(7,20,26,.19) 76%),
    linear-gradient(0deg,rgba(4,12,16,.60),transparent 58%)!important;
}
.venues-page .venue-photo-section>div{padding:72px 0!important}
.venues-page .venue-photo-section h2{
  max-width:740px!important;
  margin:10px 0 18px!important;
  color:#f5fbfc!important;
  font-size:clamp(3.1rem,5.4vw,5.7rem)!important;
  line-height:.88!important;
  letter-spacing:-.052em!important;
  text-transform:none!important;
}
.venues-page .venue-photo-section p:not(.eyebrow){
  max-width:610px!important;
  color:#cfdbdf!important;
  font-size:1rem;
  line-height:1.7!important;
}

/* Themed nights — let poster artwork bring the extra colour */
.venues-page .venue-theme-section{
  background:
    radial-gradient(circle at 10% 10%,rgba(53,214,229,.07),transparent 28%),
    radial-gradient(circle at 88% 20%,rgba(91,112,230,.08),transparent 26%),
    #071016!important;
}
.venues-page .venue-theme-section .content-inner{padding-top:92px;padding-bottom:98px}
.venues-page .venue-theme-heading{gap:44px!important}
.venues-page .venue-theme-heading .section-title{
  max-width:760px;
  color:#f5f9fa!important;
  font-size:clamp(2.8rem,4.7vw,4.8rem)!important;
  line-height:.95!important;
  letter-spacing:-.05em!important;
  text-transform:none!important;
}
.venues-page .venue-theme-heading>div:last-child p{color:#a8b7bd!important}
.venues-page .venue-poster-grid{margin-top:38px!important}
.venues-page .venue-poster-grid img{
  border-color:rgba(129,219,228,.12)!important;
  border-radius:4px;
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}
.venues-page .venue-poster-grid span{color:#c5d3d8!important}
@media(hover:hover){
  .venues-page .venue-poster-grid a:hover img{border-color:var(--venue-aqua)!important}
  .venues-page .venue-poster-grid a:hover span{color:var(--venue-aqua)!important}
}

/* Recurring programme */
.venues-page .venue-programme-section{
  padding:clamp(78px,8vw,108px) clamp(24px,6vw,100px)!important;
  background:
    radial-gradient(ellipse 58% 44% at 7% 12%,rgba(53,214,229,.095),transparent 72%),
    radial-gradient(ellipse 54% 42% at 94% 80%,rgba(91,112,230,.10),transparent 74%),
    #081116!important;
}
.venues-page .venue-programme-head{gap:clamp(38px,7vw,90px)!important}
.venues-page .venue-programme-head .section-title{
  max-width:800px!important;
  color:#f5f9fa!important;
  font-size:clamp(2.8rem,4.9vw,5rem)!important;
  line-height:.95!important;
  letter-spacing:-.052em!important;
  text-transform:none!important;
}
.venues-page .venue-programme-intro p{color:#a9b8be!important;font-size:.98rem!important;line-height:1.66!important}
.venues-page .venue-programme-grid{gap:13px!important;margin-top:42px!important}
.venues-page .venue-programme-grid article{
  min-height:228px!important;
  padding:23px 24px 24px!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),rgba(8,15,20,.82)!important;
}
.venues-page .venue-programme-grid article::after{opacity:.045!important}
.venues-page .venue-programme-grid h3{
  margin:42px 0 11px!important;
  color:#f7fafb!important;
  font-size:clamp(1.42rem,1.95vw,2.05rem)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}
.venues-page .venue-programme-grid p{color:#a8b4b9!important;font-size:.91rem!important;line-height:1.58!important}

/* Example rotation becomes an actual desktop timeline */
.venues-page .venue-rotation-block{
  margin-top:14px!important;
  padding:30px 30px 32px!important;
  grid-template-columns:minmax(250px,.48fr) minmax(0,1.52fr)!important;
  gap:38px!important;
  border-color:rgba(104,196,211,.14)!important;
  background:linear-gradient(135deg,rgba(53,214,229,.055),rgba(255,255,255,.018) 45%,rgba(91,112,230,.065))!important;
}
.venues-page .venue-rotation-copy h3{
  font-size:clamp(1.7rem,2.55vw,2.7rem)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  text-transform:none!important;
}
.venues-page .venue-rotation-copy>p:not(.eyebrow){color:#a8b6bc!important;font-size:.91rem;line-height:1.58!important}
.venues-page .venue-rotation-track{
  position:relative;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  padding-top:17px;
}
.venues-page .venue-rotation-track::before{
  content:"";
  position:absolute;
  left:5%;right:5%;top:8px;
  height:1px;
  background:linear-gradient(90deg,var(--venue-aqua),rgba(155,231,239,.45),var(--venue-cobalt));
  opacity:.55;
}
.venues-page .venue-rotation-track span{
  position:relative;
  min-height:92px!important;
  padding:14px 11px 12px!important;
  justify-content:flex-start!important;
  gap:10px!important;
  border-radius:10px!important;
  border-color:rgba(123,200,211,.11)!important;
  background:rgba(255,255,255,.022)!important;
  color:#dce7ea!important;
  font-size:.62rem!important;
  letter-spacing:.05em!important;
  text-transform:none!important;
}
.venues-page .venue-rotation-track span::before{
  content:"";
  position:absolute;
  top:-14px;left:50%;
  width:7px;height:7px;
  margin-left:-3.5px;
  border-radius:50%;
  background:var(--venue-aqua);
  box-shadow:0 0 0 4px #081116,0 0 12px rgba(53,214,229,.36);
}
.venues-page .venue-rotation-track span:nth-child(even)::before{background:var(--venue-cobalt);box-shadow:0 0 0 4px #081116,0 0 12px rgba(91,112,230,.34)}
.venues-page .venue-rotation-track b,
.venues-page .venue-rotation-track span:nth-child(2n) b,
.venues-page .venue-rotation-track span:nth-child(3n) b{color:var(--venue-aqua)!important}
.venues-page .venue-rotation-track span:nth-child(even) b{color:#9cacff!important}

.venues-page .venue-programme-cta{
  margin-top:14px!important;
  padding:30px 32px!important;
  border-color:rgba(103,195,208,.14)!important;
  background:
    radial-gradient(circle at 12% 42%,rgba(53,214,229,.075),transparent 30%),
    radial-gradient(circle at 88% 34%,rgba(91,112,230,.075),transparent 27%),
    rgba(7,15,20,.88)!important;
}
.venues-page .venue-programme-cta h3{
  margin:8px 0 10px!important;
  font-size:clamp(1.9rem,3vw,3.15rem)!important;
  line-height:.98!important;
  letter-spacing:-.043em!important;
  text-transform:none!important;
}
.venues-page .venue-programme-cta>div>p:not(.eyebrow){color:#a8b6bc!important;line-height:1.6!important}

/* FAQs on a calm light panel */
.venues-page .venue-programme-section + .content-section{
  background:linear-gradient(180deg,#f4f7f7,#eef3f3)!important;
}
.venues-page .venue-programme-section + .content-section .content-inner{padding-top:82px;padding-bottom:88px}
.venues-page .venue-programme-section + .content-section .section-title{
  color:#10191d!important;
  font-size:clamp(2.65rem,4.4vw,4.6rem)!important;
  text-transform:none!important;
  letter-spacing:-.045em!important;
}
.venues-page .venue-programme-section + .content-section .eyebrow{color:#167d89!important}
.venues-page .faq-list details{border-color:rgba(24,66,74,.15)!important}
.venues-page .faq-list summary{color:#182328!important}
.venues-page .faq-list p{color:#5f6c72!important}

/* Venue-specific closing section */
.venues-page .venue-final-cta{
  position:relative;
  overflow:hidden;
  padding:82px 24px!important;
  background:
    radial-gradient(circle at 14% 18%,rgba(53,214,229,.12),transparent 28%),
    radial-gradient(circle at 86% 78%,rgba(91,112,230,.14),transparent 30%),
    linear-gradient(120deg,#071319 0%,#0b1a21 52%,#10192c 100%)!important;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
}
.venues-page .venue-final-cta-inner{position:relative;z-index:1;max-width:980px;margin:0 auto}
.venues-page .venue-final-cta h2{
  max-width:900px;
  margin:10px auto 15px;
  color:#f4fbfc;
  font-size:clamp(2.8rem,5.2vw,5.25rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.venues-page .venue-final-copy{max-width:720px;margin:0 auto;color:#bdcbd0;line-height:1.68;font-size:1rem}
.venues-page .venue-final-cta .page-actions{justify-content:center;margin-top:26px}

@media(max-width:980px){
  .venues-page .venue-clean-hero{min-height:590px!important}
  .venues-page .venue-option-grid{grid-template-columns:1fr!important}
  .venues-page .venue-option-grid article,.venues-page .venue-option-grid article+article{min-height:0!important}
  .venues-page .venue-programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .venues-page .venue-rotation-block{grid-template-columns:1fr!important}
  .venues-page .venue-rotation-track{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:22px!important}
  .venues-page .venue-rotation-track::before{display:none}
  .venues-page .venue-rotation-track span::before{display:none}
  .venues-page .venue-programme-cta{grid-template-columns:1fr!important}
  .venues-page .venue-programme-cta .page-actions{justify-content:flex-start!important}
}

@media(max-width:650px){
  .venues-page .venue-clean-hero{min-height:570px!important;padding-top:98px;padding-bottom:54px}
  .venues-page .venue-clean-hero::before{
    background:
      linear-gradient(0deg,rgba(5,12,16,.91),rgba(5,13,17,.45) 62%,rgba(6,16,21,.25)),
      linear-gradient(90deg,rgba(5,12,16,.74),rgba(6,20,25,.16)),
      url("photos/pub-bar-venue-dj-hero.webp") 67% center/cover no-repeat!important;
  }
  .venues-page .venue-clean-hero h1{font-size:clamp(3.05rem,14vw,4.65rem)!important;line-height:.91!important}
  .venues-page .venue-clean-hero .hero-intro{font-size:.93rem;line-height:1.62}
  .venues-page .venue-capabilities{gap:6px;margin-top:18px}
  .venues-page .venue-capabilities span{min-height:30px;padding:6px 9px;font-size:.56rem}
  .venues-page .venue-options-section .content-inner{padding-top:62px;padding-bottom:66px}
  .venues-page .venue-options-section .section-title{font-size:clamp(2.25rem,11vw,3.25rem)!important;margin-bottom:24px!important}
  .venues-page .venue-option-grid article,.venues-page .venue-option-grid article+article{padding:21px 20px 22px!important}
  .venues-page .venue-option-grid h3{margin-top:25px!important;font-size:1.65rem!important}
  .venues-page .venue-photo-section{min-height:470px!important}
  .venues-page .venue-photo-section>img{object-position:61% center!important}
  .venues-page .venue-photo-section>div{width:calc(100% - 40px)!important;padding:54px 0!important}
  .venues-page .venue-photo-section h2{font-size:clamp(2.85rem,13vw,4.35rem)!important}
  .venues-page .venue-theme-section .content-inner{padding-top:72px;padding-bottom:78px}
  .venues-page .venue-theme-heading .section-title{font-size:clamp(2.45rem,11vw,3.5rem)!important}
  .venues-page .venue-programme-section{padding:68px 20px!important}
  .venues-page .venue-programme-head .section-title{font-size:clamp(2.45rem,11vw,3.55rem)!important}
  .venues-page .venue-programme-grid{grid-template-columns:1fr!important}
  .venues-page .venue-programme-grid article{min-height:0!important;padding:22px 21px!important}
  .venues-page .venue-programme-grid h3{margin-top:30px!important;font-size:1.65rem!important}
  .venues-page .venue-rotation-block,.venues-page .venue-programme-cta{padding:22px 19px!important}
  .venues-page .venue-rotation-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .venues-page .venue-rotation-track span{min-height:78px!important}
  .venues-page .venue-programme-section + .content-section .content-inner{padding-top:64px;padding-bottom:70px}
  .venues-page .venue-final-cta{padding:68px 20px!important}
  .venues-page .venue-final-cta h2{font-size:clamp(2.5rem,12vw,4rem)}
}

@media(prefers-reduced-motion:reduce){
  .venues-page .venue-clean-hero h1 span{background-position:50% 50%}
}

/* v2 — keep venue option card copy readable on light cards at every breakpoint.
   This deliberately outranks the shared subpage white-section paragraph rule. */
.venues-page.subpage .venue-options-section.white-section .venue-option-grid article p{
  color:#46555c!important;
  opacity:1!important;
}
