:root{--forest:#173126;--sage:#7f9887;--cream:#f4f0e7;--gold:#d7b77b;--ink:#17221b}.bbgh{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#173126;position:relative;width:100vw;height:100vh;overflow:hidden}.bbgh *{box-sizing:border-box}.bbgh__slides,.bbgh__slide{position:absolute;inset:0}.bbgh__slide{opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity 1.1s ease,transform 7s ease;background:radial-gradient(circle at 80% 10%,#385744,#173126 65%);padding:clamp(34px,5vw,88px);display:flex;align-items:center}.bbgh__slide.is-active{opacity:1;visibility:visible;transform:scale(1);z-index:2}.bbgh__slide.has-image{background-image:linear-gradient(90deg,rgba(8,20,14,.88),rgba(13,31,21,.56) 58%,rgba(8,18,13,.72)),var(--bbgh-slide-image);background-position:center;background-size:cover}.bbgh__slide--light{background:var(--cream);color:var(--ink)}.bbgh__slide--offer{background:linear-gradient(135deg,#1e3d2d,#496250)}.bbgh__slide-content{width:min(1280px,90vw);margin:auto}.bbgh__slide-content--bottom{align-self:flex-end;margin:0 0 7vh 3vw}.bbgh__slide-content--card{max-width:950px;margin-left:4vw;padding:clamp(25px,3.2vw,52px);border-radius:28px;background:rgba(15,29,21,.76);backdrop-filter:blur(14px);box-shadow:0 25px 75px rgba(0,0,0,.28)}.bbgh__eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.2em;font-weight:900;font-size:clamp(12px,1.05vw,18px);color:var(--gold)}.bbgh h1,.bbgh h2{margin:0;line-height:.98;letter-spacing:-.035em}.bbgh h1{font-size:clamp(54px,7.2vw,132px);text-shadow:0 4px 24px rgba(0,0,0,.7)}.bbgh h2{font-size:clamp(44px,5.2vw,92px)}.bbgh__lead{max-width:900px;font-size:clamp(20px,2vw,34px);line-height:1.35}.bbgh__date{font-size:clamp(18px,1.5vw,26px)}.bbgh__weather{position:absolute;right:4vw;top:5vh;display:grid;grid-template-columns:auto auto;gap:4px 14px;align-items:center;padding:18px 24px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(15,31,22,.58);backdrop-filter:blur(13px)}.bbgh__weather-icon{grid-row:1/4;font-size:48px}.bbgh__temp{font-size:32px}.bbgh__sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:34px}.bbgh__session{display:grid;grid-template-columns:92px 1fr 25px;align-items:center;gap:15px;padding:20px;border-radius:17px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.1);border-left:5px solid var(--sage)}.bbgh__session time{font-size:21px;font-weight:900;color:var(--forest)}.bbgh__session span{display:flex;flex-direction:column}.bbgh__session strong{font-size:20px}.bbgh__session small{margin-top:5px;color:#587064;font-weight:800}.bbgh__feature-grid,.bbgh__fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:35px}.bbgh__feature-grid>div,.bbgh__fact-grid>div{padding:23px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}.bbgh__feature-grid strong,.bbgh__fact-grid strong{display:block;font-size:clamp(20px,1.8vw,30px)}.bbgh__feature-grid span,.bbgh__fact-grid span{display:block;margin-top:7px;font-size:18px;opacity:.82}.bbgh__slide--light .bbgh__fact-grid>div{background:#fff}.bbgh__fact-grid span{color:#66786c}.bbgh__qr-inline{display:flex;align-items:center;gap:22px;margin-top:28px}.bbgh__qr-inline img{width:120px;height:120px;background:#fff;padding:8px;border-radius:12px}.bbgh__steps{font-size:clamp(20px,1.8vw,30px);line-height:1.45;padding-left:1.3em}.bbgh__steps li{margin:10px 0}.bbgh__warning,.bbgh__notice{margin-top:26px;padding:17px 21px;border-radius:14px;background:rgba(215,183,123,.18);border-left:5px solid var(--gold);font-size:19px;font-weight:800}.bbgh__food-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.bbgh__food-columns h3{font-size:30px;margin:0 0 10px}.bbgh__food-columns p{font-size:23px;line-height:1.55}.bbgh__tomorrow-weather{display:flex;gap:18px;align-items:center;margin:28px 0;font-size:27px}.bbgh__tomorrow-icon{font-size:50px}.bbgh__empty{font-size:24px;padding:24px;border-radius:16px;background:rgba(255,255,255,.75)}.bbgh__controls{position:absolute;z-index:5;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:rgba(9,22,15,.58);backdrop-filter:blur(12px)}.bbgh__controls button{appearance:none;border:0;background:transparent;color:#fff;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.bbgh__controls button:hover,.bbgh__controls button:focus{background:rgba(255,255,255,.16)}.bbgh__dots{display:flex;gap:7px}.bbgh__dots button{width:9px;height:9px;padding:0;background:rgba(255,255,255,.38)}.bbgh__dots button.is-active{background:#fff;transform:scale(1.35)}.bbgh__footer{position:absolute;z-index:5;left:28px;right:28px;bottom:28px;display:flex;justify-content:space-between;pointer-events:none;font-size:14px;letter-spacing:.08em;opacity:.75}.bbgh__clock{font-size:20px;font-weight:900}@media(max-width:800px){.bbgh{height:auto;min-height:100vh;overflow:visible}.bbgh__slides,.bbgh__slide{position:relative;inset:auto}.bbgh__slide{display:none;min-height:100vh;padding:30px 20px}.bbgh__slide.is-active{display:flex}.bbgh__slide-content--bottom,.bbgh__slide-content--card{margin:auto}.bbgh__weather{position:relative;right:auto;top:auto;margin:20px 0 0}.bbgh__sessions,.bbgh__feature-grid,.bbgh__fact-grid,.bbgh__food-columns{grid-template-columns:1fr}.bbgh__controls{position:fixed}.bbgh__footer{position:fixed;bottom:15px}.bbgh__footer span:first-child{display:none}}
html,body.bbgh-tv-page{margin:0!important;padding:0!important;background:#173126}body.bbgh-tv-page #wpadminbar{display:none!important}

/* v3.1.1: keep primary headings readable over photographic backgrounds. */
.bbgh__slide.has-image h1,
.bbgh__slide.has-image h2,
.bbgh__slide.has-image h3,
.bbgh__slide--offer h1,
.bbgh__slide--offer h2,
.bbgh__slide--offer h3 {
  color: #fff !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.72) !important;
}
.bbgh__slide--light h1,
.bbgh__slide--light h2,
.bbgh__slide--light h3 {
  color: var(--ink) !important;
  text-shadow: none !important;
}

/* Video guidance: QR on TV/desktop, direct link on handheld screens. */
.bbgh__guide-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:clamp(24px,4vw,64px);align-items:center}
.bbgh__video-guide{text-align:center}
.bbgh__video-qr{display:flex;flex-direction:column;align-items:center;gap:7px;color:#fff;text-decoration:none}
.bbgh__video-qr img{width:min(220px,18vw);height:auto;aspect-ratio:1;background:#fff;padding:10px;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.28)}
.bbgh__video-qr strong{font-size:22px;margin-top:4px}
.bbgh__video-qr span{font-size:16px;opacity:.86}
.bbgh__watch-button{display:none;padding:15px 22px;border-radius:999px;background:var(--gold);color:var(--forest);font-weight:900;text-decoration:none;text-align:center}
@media(max-width:800px){.bbgh__guide-layout{grid-template-columns:1fr}.bbgh__video-qr{display:none}.bbgh__watch-button{display:block}.bbgh__video-guide{margin-top:12px}}

/* v3.2.1: Samsung/Tizen TV browser compatibility and full-screen layout fix.
   Older TV browsers may ignore min() and clamp(), causing flex content to
   shrink to its intrinsic width on the left of the screen. These declarations
   provide reliable fallbacks without changing the mobile layout. */
html,
body.bbgh-tv-page {
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
}
body.bbgh-tv-page {
  margin: 0 !important;
  padding: 0 !important;
}
.bbgh {
  width: 100%;
  max-width: none;
  height: 100vh;
  min-height: 100vh;
  margin: 0;
}
.bbgh__slides,
.bbgh__slide {
  width: 100%;
  height: 100%;
}
.bbgh__slide {
  padding: 48px;
  padding: clamp(34px,5vw,88px);
}
.bbgh__slide-content {
  width: 90%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  flex: 0 1 1280px;
}
.bbgh__slide-content--bottom {
  width: 90%;
  max-width: none;
  margin-left: 3%;
  margin-right: 3%;
}
.bbgh__slide-content--card {
  width: 86%;
  max-width: 950px;
  margin-left: 4%;
  margin-right: auto;
  padding: 36px;
  padding: clamp(25px,3.2vw,52px);
}
.bbgh h1 {
  font-size: 72px;
  font-size: clamp(54px,7.2vw,132px);
}
.bbgh h2 {
  font-size: 56px;
  font-size: clamp(44px,5.2vw,92px);
}
.bbgh__lead {
  font-size: 26px;
  font-size: clamp(20px,2vw,34px);
}
.bbgh__eyebrow {
  font-size: 15px;
  font-size: clamp(12px,1.05vw,18px);
}
.bbgh__steps {
  font-size: 24px;
  font-size: clamp(20px,1.8vw,30px);
}
.bbgh__feature-grid strong,
.bbgh__fact-grid strong {
  font-size: 24px;
  font-size: clamp(20px,1.8vw,30px);
}

/* Large-screen TV tuning. */
@media (min-width: 1100px) {
  .bbgh__slide-content { width: 88%; }
  .bbgh__fact-grid,
  .bbgh__feature-grid { width: 100%; }
  .bbgh__footer { left: 36px; right: 36px; }
}

/* Preserve the existing handheld experience. */
@media (max-width: 800px) {
  html,
  body.bbgh-tv-page { overflow: auto; }
  .bbgh { width: 100%; height: auto; min-height: 100vh; }
  .bbgh__slides,
  .bbgh__slide { width: 100%; height: auto; }
  .bbgh__slide-content,
  .bbgh__slide-content--bottom,
  .bbgh__slide-content--card {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    flex-basis: auto;
  }
}


/* v4.0.0 TV Edition: purpose-built 16:9 layouts for lounge viewing. */
@media (min-width: 1000px) {
  .bbgh__slide { padding: 52px 68px 76px; }
  .bbgh__slide-content { width: 100%; max-width: 1660px; flex-basis: 1660px; }
  .bbgh h2 { font-size: 68px; line-height: 1; }
  .bbgh__lead { max-width: 1050px; }

  .bbgh__day-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 34px; }
  .bbgh__next-event { max-width: 470px; padding: 17px 24px; border-radius: 18px; background: #173126; color: #fff; font-size: 20px; font-weight: 800; text-align: right; box-shadow: 0 12px 30px rgba(23,49,38,.18); }

  .bbgh__slide--day .bbgh__sessions,
  .bbgh__slide--tomorrow .bbgh__sessions { grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 0; }
  .bbgh__slide--day .bbgh__session,
  .bbgh__slide--tomorrow .bbgh__session { display: flex; min-height: 205px; padding: 28px; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 14px; border-left: 0; border-top: 7px solid var(--sage); }
  .bbgh__slide--day .bbgh__session time,
  .bbgh__slide--tomorrow .bbgh__session time { font-size: 34px; }
  .bbgh__slide--day .bbgh__session strong,
  .bbgh__slide--tomorrow .bbgh__session strong { font-size: 25px; line-height: 1.15; }
  .bbgh__slide--day .bbgh__session small,
  .bbgh__slide--tomorrow .bbgh__session small { font-size: 16px; line-height: 1.3; }
  .bbgh__slide--day .bbgh__session b,
  .bbgh__slide--tomorrow .bbgh__session b { position: absolute; right: 24px; bottom: 20px; font-size: 24px; }
  .bbgh__slide--day .bbgh__session,
  .bbgh__slide--tomorrow .bbgh__session { position: relative; }

  .bbgh__slide--facts .bbgh__fact-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 34px; }
  .bbgh__slide--facts .bbgh__fact-grid > div { min-height: 145px; padding: 28px 30px; display: flex; flex-direction: column; justify-content: center; border-radius: 22px; box-shadow: 0 12px 35px rgba(23,49,38,.08); border: 1px solid rgba(23,49,38,.08); }
  .bbgh__slide--facts .bbgh__fact-grid span { font-size: 18px; margin: 0 0 12px; text-transform: uppercase; letter-spacing: .08em; }
  .bbgh__slide--facts .bbgh__fact-grid strong { font-size: 31px; }
  .bbgh__slide--facts .bbgh__notice { margin-top: 25px; font-size: 18px; }

  .bbgh__slide--offer .bbgh__feature-grid { grid-template-columns: repeat(4, 1fr); }
  .bbgh__slide--offer .bbgh__feature-grid > div { min-height: 150px; padding: 27px; }
  .bbgh__slide--offer .bbgh__qr-inline { max-width: 1050px; }

  .bbgh__tomorrow-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(310px, 1fr); gap: 42px; align-items: stretch; }
  .bbgh__tomorrow-main { min-width: 0; }
  .bbgh__tomorrow-main .bbgh__sessions { grid-template-columns: repeat(2, 1fr); margin-top: 34px; }
  .bbgh__tomorrow-main .bbgh__session { min-height: 165px; }
  .bbgh__tomorrow-panel { min-height: 430px; border-radius: 30px; padding: 42px 30px; background: linear-gradient(155deg,#173126,#395a48); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; box-shadow: 0 25px 60px rgba(23,49,38,.2); }
  .bbgh__tomorrow-panel .bbgh__tomorrow-icon { font-size: 90px; line-height: 1; }
  .bbgh__tomorrow-panel .bbgh__tomorrow-temp { margin-top: 24px; font-size: 48px; }
  .bbgh__tomorrow-panel .bbgh__tomorrow-condition { margin-top: 12px; font-size: 25px; }
  .bbgh__tomorrow-panel small { margin-top: 18px; opacity: .72; font-size: 16px; }

  .bbgh__slide-content--card { width: 92%; max-width: 1450px; margin-left: auto; margin-right: auto; }
  .bbgh__guide-layout { grid-template-columns: minmax(0, 1fr) 270px; }
  .bbgh__food-columns p { font-size: 26px; }
  .bbgh__controls { bottom: 20px; }
}

@media (min-width: 1500px) {
  .bbgh__slide { padding-left: 92px; padding-right: 92px; }
  .bbgh h2 { font-size: 76px; }
  .bbgh__slide--day .bbgh__session,
  .bbgh__slide--tomorrow .bbgh__session { min-height: 230px; }
}

/* v4.0.1: dedicated television presentation layer.
   Applied by JavaScript only to wide landscape displays, avoiding changes to
   the handheld and normal desktop experience. Uses conservative flexbox and
   fixed safe-area sizing for older Samsung/Tizen browsers. */
.bbgh.bbgh--tv-layout .bbgh__slide {
  padding: 34px 56px 92px;
  align-items: center;
}
.bbgh.bbgh--tv-layout .bbgh__slide-content {
  width: 100%;
  max-width: 1500px;
  max-height: calc(100vh - 126px);
  margin: 0 auto;
  overflow: hidden;
  flex: none;
}
.bbgh.bbgh--tv-layout h1 { font-size: 76px; }
.bbgh.bbgh--tv-layout h2 { font-size: 56px; }
.bbgh.bbgh--tv-layout .bbgh__lead { font-size: 24px; }
.bbgh.bbgh--tv-layout .bbgh__eyebrow { margin-bottom: 8px; }

/* A permanent lower safe area prevents content, captions and QR codes from
   colliding with the controls or television overscan. */
.bbgh.bbgh--tv-layout .bbgh__controls {
  bottom: 18px;
  min-height: 42px;
}
.bbgh.bbgh--tv-layout .bbgh__footer {
  left: 34px;
  right: 34px;
  bottom: 22px;
  font-size: 12px;
}
.bbgh.bbgh--tv-layout .bbgh__notice,
.bbgh.bbgh--tv-layout .bbgh__warning {
  margin-top: 14px;
  padding: 12px 16px;
  font-size: 16px;
}

/* Today and Tomorrow: explicit two-column cards, avoiding CSS grid quirks in
   older embedded browsers. */
.bbgh.bbgh--tv-layout .bbgh__day-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 20px;
}
.bbgh.bbgh--tv-layout .bbgh__next-event {
  max-width: 390px;
  padding: 13px 18px;
  font-size: 17px;
}
.bbgh.bbgh--tv-layout .bbgh__sessions {
  display: flex;
  flex-wrap: wrap;
  margin: 20px -8px 0;
  gap: 0;
}
.bbgh.bbgh--tv-layout .bbgh__session {
  width: calc(50% - 16px);
  min-height: 122px;
  margin: 8px;
  padding: 17px 20px;
  grid-template-columns: 88px 1fr 24px;
}
.bbgh.bbgh--tv-layout .bbgh__session time { font-size: 24px; }
.bbgh.bbgh--tv-layout .bbgh__session strong { font-size: 20px; }
.bbgh.bbgh--tv-layout .bbgh__session small { font-size: 13px; }

/* Lodge facts: true 3 x 2 television card layout. */
.bbgh.bbgh--tv-layout .bbgh__slide--facts .bbgh__fact-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 18px -9px 0;
  gap: 0;
}
.bbgh.bbgh--tv-layout .bbgh__slide--facts .bbgh__fact-grid > div {
  width: calc(33.333% - 18px);
  min-height: 112px;
  margin: 9px;
  padding: 20px 24px;
}
.bbgh.bbgh--tv-layout .bbgh__slide--facts .bbgh__fact-grid span {
  margin-bottom: 7px;
  font-size: 14px;
}
.bbgh.bbgh--tv-layout .bbgh__slide--facts .bbgh__fact-grid strong {
  font-size: 26px;
}

/* Guide and photographic slides: lower overall height and keep QR fully above
   the television safe area. */
.bbgh.bbgh--tv-layout .bbgh__slide-content--card {
  width: 92%;
  max-width: 1380px;
  max-height: calc(100vh - 132px);
  margin: 0 auto;
  padding: 28px 36px;
  border-radius: 24px;
}
.bbgh.bbgh--tv-layout .bbgh__guide-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.bbgh.bbgh--tv-layout .bbgh__guide-layout > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}
.bbgh.bbgh--tv-layout .bbgh__steps {
  margin: 10px 0 0;
  font-size: 19px;
  line-height: 1.32;
}
.bbgh.bbgh--tv-layout .bbgh__steps li { margin: 6px 0; }
.bbgh.bbgh--tv-layout .bbgh__video-guide {
  flex: 0 0 190px;
}
.bbgh.bbgh--tv-layout .bbgh__video-qr img {
  width: 165px;
  height: 165px;
  padding: 8px;
  border-radius: 14px;
}
.bbgh.bbgh--tv-layout .bbgh__video-qr strong { font-size: 18px; }
.bbgh.bbgh--tv-layout .bbgh__video-qr span { font-size: 13px; }
.bbgh.bbgh--tv-layout .bbgh__feature-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 18px -7px 0;
  gap: 0;
}
.bbgh.bbgh--tv-layout .bbgh__feature-grid > div {
  width: calc(50% - 14px);
  min-height: 92px;
  margin: 7px;
  padding: 17px 20px;
}
.bbgh.bbgh--tv-layout .bbgh__feature-grid strong { font-size: 21px; }
.bbgh.bbgh--tv-layout .bbgh__feature-grid span { margin-top: 4px; font-size: 15px; }
.bbgh.bbgh--tv-layout .bbgh__food-columns { margin-top: 18px; }
.bbgh.bbgh--tv-layout .bbgh__food-columns h3 { font-size: 25px; }
.bbgh.bbgh--tv-layout .bbgh__food-columns p { font-size: 20px; line-height: 1.38; }

/* Tomorrow uses a stable flex split. The schedule remains a 2 x 2 grid and the
   forecast panel always stays visible on the right. */
.bbgh.bbgh--tv-layout .bbgh__tomorrow-layout {
  display: flex;
  width: 100%;
  align-items: stretch;
  gap: 26px;
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-main {
  flex: 1 1 auto;
  width: 72%;
  min-width: 0;
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-main .bbgh__sessions {
  margin-top: 18px;
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-main .bbgh__session {
  min-height: 118px;
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-panel {
  display: flex;
  flex: 0 0 25%;
  min-width: 240px;
  min-height: 410px;
  padding: 28px 18px;
  border-radius: 24px;
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-panel .bbgh__tomorrow-icon { font-size: 70px; }
.bbgh.bbgh--tv-layout .bbgh__tomorrow-panel .bbgh__tomorrow-temp { font-size: 38px; }
.bbgh.bbgh--tv-layout .bbgh__tomorrow-panel .bbgh__tomorrow-condition { font-size: 21px; }

/* Hero content is lifted above the common safe area. */
.bbgh.bbgh--tv-layout .bbgh__slide-content--bottom {
  align-self: flex-end;
  margin: 0 0 45px 2%;
  max-height: none;
}

/* Hide the browser pointer after inactivity for a signage-style presentation. */
.bbgh.bbgh--tv-layout.bbgh--cursor-hidden,
.bbgh.bbgh--tv-layout.bbgh--cursor-hidden * { cursor: none !important; }

/* Extra compression for common 720p television browser viewports. */
@media (min-width: 900px) and (max-height: 760px) {
  .bbgh.bbgh--tv-layout .bbgh__slide { padding-top: 24px; padding-bottom: 78px; }
  .bbgh.bbgh--tv-layout h1 { font-size: 62px; }
  .bbgh.bbgh--tv-layout h2 { font-size: 48px; }
  .bbgh.bbgh--tv-layout .bbgh__slide-content--card { padding: 22px 30px; }
  .bbgh.bbgh--tv-layout .bbgh__steps { font-size: 17px; }
  .bbgh.bbgh--tv-layout .bbgh__video-qr img { width: 145px; height: 145px; }
  .bbgh.bbgh--tv-layout .bbgh__session { min-height: 105px; padding-top: 13px; padding-bottom: 13px; }
  .bbgh.bbgh--tv-layout .bbgh__tomorrow-main .bbgh__session { min-height: 102px; }
  .bbgh.bbgh--tv-layout .bbgh__tomorrow-panel { min-height: 360px; }
  .bbgh.bbgh--tv-layout .bbgh__slide--facts .bbgh__fact-grid > div { min-height: 94px; }
}

/* v4.1.0: lodge-specific welcome treatment and Woodland Sauna slide. */
.bbgh__slide--hero h1{max-width:1200px}
.bbgh__slide--sauna:not(.has-image){background:linear-gradient(135deg,#173126,#496250)}
.bbgh__sauna-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:clamp(28px,4vw,64px);align-items:center}
.bbgh__sauna-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.bbgh__sauna-times>div{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.11)}
.bbgh__sauna-times time,.bbgh__sauna-times strong,.bbgh__sauna-times span{display:block}
.bbgh__sauna-times time{font-size:25px;font-weight:900;color:var(--gold)}
.bbgh__sauna-times strong{margin-top:7px;font-size:18px}
.bbgh__sauna-times span{margin-top:5px;font-size:14px;opacity:.82}
.bbgh__slide--sauna .bbgh__video-guide{align-self:center}
@media(max-width:800px){.bbgh__sauna-layout,.bbgh__sauna-times{grid-template-columns:1fr}.bbgh__slide--hero h1{font-size:46px}}
.bbgh.bbgh--tv-layout .bbgh__slide--sauna .bbgh__slide-content--card{max-width:1450px}
.bbgh.bbgh--tv-layout .bbgh__sauna-layout{display:flex;gap:36px}
.bbgh.bbgh--tv-layout .bbgh__sauna-layout>div:first-child{flex:1 1 auto;min-width:0}
.bbgh.bbgh--tv-layout .bbgh__sauna-times{display:flex;gap:12px}
.bbgh.bbgh--tv-layout .bbgh__sauna-times>div{flex:1 1 0;min-height:118px}
.bbgh.bbgh--tv-layout .bbgh__slide--sauna .bbgh__video-guide{flex:0 0 190px}
@media(min-width:900px) and (max-height:760px){.bbgh.bbgh--tv-layout .bbgh__sauna-times{margin-top:14px}.bbgh.bbgh--tv-layout .bbgh__sauna-times>div{min-height:98px;padding:13px}.bbgh.bbgh--tv-layout .bbgh__sauna-times time{font-size:21px}.bbgh.bbgh--tv-layout .bbgh__sauna-times strong{font-size:16px}}


/* v4.0.2: final television spacing and weather-card refinements. */
.bbgh.bbgh--tv-layout .bbgh__weather {
  display: flex;
  align-items: center;
  min-width: 355px;
  max-width: 430px;
  gap: 18px;
  padding: 20px 24px;
}
.bbgh.bbgh--tv-layout .bbgh__weather-icon {
  flex: 0 0 auto;
  font-size: 52px;
  line-height: 1;
}
.bbgh.bbgh--tv-layout .bbgh__weather-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.bbgh.bbgh--tv-layout .bbgh__weather .bbgh__temp {
  display: block;
  font-size: 34px;
  line-height: 1;
}
.bbgh.bbgh--tv-layout .bbgh__weather .bbgh__condition {
  display: block;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
}
.bbgh.bbgh--tv-layout .bbgh__weather .bbgh__weather-detail {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.3;
  opacity: .82;
  white-space: normal;
}
.bbgh.bbgh--tv-layout .bbgh__slide--offer .bbgh__qr-inline {
  gap: 38px;
  margin-top: 24px;
  padding-left: 10px;
}
.bbgh.bbgh--tv-layout .bbgh__slide--offer .bbgh__qr-inline span {
  max-width: 820px;
  font-size: 16px;
  line-height: 1.45;
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-layout {
  gap: 44px;
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-main {
  width: calc(72% - 18px);
}
.bbgh.bbgh--tv-layout .bbgh__tomorrow-panel {
  flex-basis: 24%;
}
@media (min-width: 900px) and (max-height: 760px) {
  .bbgh.bbgh--tv-layout .bbgh__weather {
    min-width: 330px;
    padding: 16px 20px;
  }
  .bbgh.bbgh--tv-layout .bbgh__weather-icon { font-size: 44px; }
  .bbgh.bbgh--tv-layout .bbgh__weather .bbgh__temp { font-size: 30px; }
  .bbgh.bbgh--tv-layout .bbgh__slide--offer .bbgh__qr-inline { gap: 32px; margin-top: 19px; }
  .bbgh.bbgh--tv-layout .bbgh__tomorrow-layout { gap: 38px; }
}

/* v5 managed wellness slides: explicit spacing for Samsung/Tizen. */
.bbgh__slide--managed:not(.has-image){background:linear-gradient(135deg,#173126,#496250)}
.bbgh__managed-layout{display:flex;align-items:center}.bbgh__managed-copy{flex:1;min-width:0;margin-right:60px}
.bbgh__booking{flex:0 0 270px;text-align:center}.bbgh__booking a{display:block;color:inherit;text-decoration:none}.bbgh__booking img{display:block;width:250px;height:250px;max-width:100%;background:#fff;padding:10px;border-radius:12px;margin:0 auto 20px}.bbgh__booking strong{display:block;font-size:26px}.bbgh__booking p{font-size:16px;line-height:1.5;margin-top:14px}
.bbgh__managed-times p{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:20px}.bbgh__managed-times strong{display:inline-block;min-width:90px;margin-right:16px}
.bbgh.bbgh--tv-layout .bbgh__slide--managed .bbgh__slide-content--card{max-width:1450px}
@media(min-width:900px) and (max-height:760px){.bbgh__booking{flex-basis:220px}.bbgh__booking img{width:200px;height:200px}.bbgh__managed-copy{margin-right:38px}.bbgh__managed-times p{padding:8px 0;font-size:18px}}
@media(max-width:899px){.bbgh__managed-layout{display:block}.bbgh__managed-copy{margin-right:0}.bbgh__booking{margin:28px auto 0;max-width:280px}.bbgh__slide--managed h2{font-size:36px}.bbgh__managed-times strong{display:block}.bbgh__booking img{width:230px;height:230px}}
