/* Consistent inside-page headings for The Bulls Head.
   Same height, vertical alignment, Cinzel weight and gold band as the Food/Visit heroes.
   Home intentionally retains its distinct full-height hero. */
:root{
  --bh-inner-hero-full-height:clamp(640px, calc(100svh - 80px), 840px);
  --bh-inner-hero-height:calc(var(--bh-inner-hero-full-height) * 0.6667);
}
html.bh-warm-preview main .bh-simple-hero{
  position:relative;isolation:isolate;box-sizing:border-box;
  min-height:var(--bh-inner-hero-height);height:var(--bh-inner-hero-height);
  display:grid;place-items:center;overflow:hidden;
  padding:clamp(90px,11vh,132px) 24px clamp(42px,5vh,60px);
  background:radial-gradient(ellipse at 50% 0%,#37513a 0%,#293d2b 54%,#223326 100%);
  border-bottom:9px solid #c9a77d;
  color:#fff8ed;
}
html.bh-warm-preview main .bh-simple-hero__content{
  box-sizing:border-box;width:min(1200px,100%);margin:0 auto;text-align:center;
}
html.bh-warm-preview main .bh-simple-hero__eyebrow{
  margin:0 auto 21px;color:#f1dcbd;
  font:700 .73rem/1.55 "Inter",sans-serif;letter-spacing:.26em;text-transform:uppercase;
}
html.bh-warm-preview main .bh-simple-hero__title{
  color:#fff8ed!important;max-width:none;margin:0 auto;
  text-align:center;font-family:var(--bulls-heading-font,"Cinzel",Georgia,serif)!important;
  font-size:clamp(2rem,4.8vw,4.4rem)!important;
  font-weight:800!important;line-height:1.12;letter-spacing:-.025em;
  text-wrap:balance;
}
html.bh-warm-preview main .bh-simple-hero__intro{
  max-width:690px;margin:23px auto 0;
  color:#fff6e9;
  font:500 clamp(.92rem,1.3vw,1.15rem)/1.65 "Inter",sans-serif;
  text-align:center;
}
html.bh-warm-preview main .bh-simple-hero__title--long{
  font-size:clamp(1.4rem,3.4vw,3.35rem)!important;
}
html.bh-warm-preview main .bh-simple-hero__title--drinks{
  font-size:clamp(1.2rem,3.8vw,3.65rem)!important;
  white-space:nowrap;text-wrap:nowrap;
  overflow-wrap:normal;
}
/* Match the prominent typography on the existing image heroes. */
html.bh-warm-preview main .bh-food-hero__title,
html.bh-warm-preview main .bh-visit-hero h1{
  font-family:var(--bulls-heading-font,"Cinzel",Georgia,serif)!important;
  font-size:clamp(2rem,4.8vw,4.4rem)!important;
  font-weight:800!important;
  line-height:1.12;letter-spacing:-.025em;
}
html.bh-warm-preview main > section.page.bh-after-hero{
  box-sizing:border-box;min-height:0;
  padding-top:clamp(52px,6vw,82px)!important;
  padding-bottom:clamp(65px,8vw,110px);
}
html.bh-warm-preview main > section.bh-after-hero .wrap > img[data-chipin-image]{
  margin-top:0;
}
@media(max-width:767px){
  :root{--bh-inner-hero-full-height:clamp(580px, calc(100svh - 72px), 720px)}
  html.bh-warm-preview main .bh-simple-hero{
    padding:100px 18px 40px;border-bottom-width:7px;
  }
  html.bh-warm-preview main .bh-simple-hero__eyebrow{
    margin-bottom:15px;font-size:.66rem;letter-spacing:.19em;
  }
  html.bh-warm-preview main .bh-simple-hero__title,
  html.bh-warm-preview main .bh-food-hero__title,
  html.bh-warm-preview main .bh-visit-hero h1{
    font-size:clamp(1.9rem,7.6vw,3.1rem)!important;
  }
  html.bh-warm-preview main .bh-simple-hero__title--long{
    font-size:clamp(1.4rem,5.7vw,2rem)!important;
    white-space:normal;
  }
  html.bh-warm-preview main .bh-simple-hero__title--drinks{
    font-size:clamp(.98rem,4vw,1.7rem)!important;
    white-space:nowrap;
  }
  html.bh-warm-preview main .bh-simple-hero__intro{
    font-size:clamp(.85rem,3.55vw,.96rem);
    line-height:1.5;margin-top:15px;
  }
  html.bh-warm-preview main > section.page.bh-after-hero{padding-top:40px!important}
}

/* The Live page uses the existing music photograph as its banner,
   retaining exactly the same dimensions and type hierarchy as other pages. */
html.bh-warm-preview main .bh-simple-hero--live{
  background:#223326;
}
html.bh-warm-preview main .bh-simple-hero--live .bh-simple-hero__image{
  position:absolute;inset:0;z-index:0;
  display:block;width:100%;height:100%;
  max-width:none;min-height:0;padding:0;margin:0;
  object-fit:cover;object-position:center 47%;
  border:0;border-radius:0;box-shadow:none;
}
html.bh-warm-preview main .bh-simple-hero--live .bh-simple-hero__shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,27,18,.55) 0%,rgba(15,27,18,.49) 42%,rgba(10,20,13,.72) 100%);
}
html.bh-warm-preview main .bh-simple-hero--live .bh-simple-hero__content{
  position:relative;z-index:2;
}

/* Consistent banner-to-content rhythm, measured from the Visit page:
   the opening-hours panel, Google reviews frame and Food social panel
   start on the same horizontal line relative to their hero banners. */
:root{--bh-banner-to-panel-gap:clamp(52px,6.5vw,78px)}
html.bh-warm-preview main > section.page.bh-after-hero,
html.bh-warm-preview main > section.page.bh-food-updates{
  padding-top:var(--bh-banner-to-panel-gap)!important;
}
html.bh-warm-preview main .bh-visit-lower{
  padding-top:var(--bh-banner-to-panel-gap)!important;
}
/* Remove legacy per-card offsets; the section controls the spacing. */
html.bh-warm-preview main .bh-after-hero .bh-hours-card.hours{
  margin-top:0!important;
}
html.bh-warm-preview main .bh-food-updates .bh-food-social{
  margin-top:0!important;
}
html.bh-warm-preview main .bh-reviews-page .bh-reviews-showcase{
  margin-top:0!important;
}
@media(max-width:760px){
  :root{--bh-banner-to-panel-gap:53px}
}

/* One typographic grid across every interior hero (Home intentionally excluded).
   Fixed rows mean the kicker, title and description have matching vertical
   positions even when a particular page has no description. */
:root{
  --bh-interior-heading-size:clamp(1.65rem,3.75vw,3.6rem);
  --bh-interior-hero-grid-rows:25px 90px 90px;
}
html.bh-warm-preview main section.bh-simple-hero,
html.bh-warm-preview main section.bh-food-hero,
html.bh-warm-preview main section.bh-visit-hero{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
}
html.bh-warm-preview main .bh-visit-hero__inner{
  box-sizing:border-box;
  width:100%!important;
  max-width:none!important;
  min-width:0;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html.bh-warm-preview main .bh-simple-hero__content,
html.bh-warm-preview main .bh-food-hero__content,
html.bh-warm-preview main .bh-visit-hero__copy{
  box-sizing:border-box;
  position:relative;
  z-index:2;
  width:min(1200px,100%)!important;
  max-width:1200px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0 20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:var(--bh-interior-hero-grid-rows);
  row-gap:12px;
  align-content:center;
  align-items:center;
  justify-items:center;
  text-align:center!important;
}
html.bh-warm-preview main .bh-simple-hero__eyebrow,
html.bh-warm-preview main .bh-food-hero__eyebrow,
html.bh-warm-preview main .bh-visit-hero .bh-visit-eyebrow{
  align-self:center;
  margin:0!important;
  color:#f1dcbd!important;
  font:700 .73rem/1.55 "Inter",sans-serif!important;
  letter-spacing:.22em!important;
  text-transform:uppercase;
  text-align:center!important;
}
html.bh-warm-preview main .bh-simple-hero__title,
html.bh-warm-preview main .bh-simple-hero__title--long,
html.bh-warm-preview main .bh-simple-hero__title--drinks,
html.bh-warm-preview main .bh-food-hero__title,
html.bh-warm-preview main .bh-visit-hero h1{
  align-self:center;
  box-sizing:border-box;
  max-width:100%!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
  color:#fff8ed!important;
  font-family:var(--bulls-heading-font,"Cinzel",Georgia,serif)!important;
  font-size:var(--bh-interior-heading-size)!important;
  font-weight:800!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
  white-space:nowrap;
  text-wrap:nowrap;
}
html.bh-warm-preview main .bh-simple-hero__intro,
html.bh-warm-preview main .bh-food-hero__intro,
html.bh-warm-preview main .bh-visit-hero__intro{
  align-self:center;
  justify-self:center;
  box-sizing:border-box;
  max-width:710px!important;
  margin:0!important;
  padding:0!important;
  color:#fff6e9!important;
  font:500 clamp(.94rem,1.25vw,1.1rem)/1.57 "Inter",sans-serif!important;
  text-align:center!important;
}
@media(max-width:767px){
  :root{
    --bh-interior-heading-size:clamp(1.32rem,5.45vw,2.35rem);
    --bh-interior-hero-grid-rows:24px 90px 132px;
  }
  html.bh-warm-preview main .bh-simple-hero__content,
  html.bh-warm-preview main .bh-food-hero__content,
  html.bh-warm-preview main .bh-visit-hero__copy{
    padding:0 18px!important;
    row-gap:8px;
  }
  html.bh-warm-preview main .bh-simple-hero__title,
  html.bh-warm-preview main .bh-simple-hero__title--long,
  html.bh-warm-preview main .bh-simple-hero__title--drinks,
  html.bh-warm-preview main .bh-food-hero__title,
  html.bh-warm-preview main .bh-visit-hero h1{
    white-space:normal;
    text-wrap:balance;
    overflow-wrap:normal;
  }
  html.bh-warm-preview main .bh-simple-hero__title--drinks{
    font-size:clamp(.98rem,4vw,1.45rem)!important;
    white-space:nowrap;
    text-wrap:nowrap;
  }
  html.bh-warm-preview main .bh-simple-hero__eyebrow,
  html.bh-warm-preview main .bh-food-hero__eyebrow,
  html.bh-warm-preview main .bh-visit-hero .bh-visit-eyebrow{
    font-size:.66rem!important;
    letter-spacing:.18em!important;
  }
  html.bh-warm-preview main .bh-simple-hero__intro,
  html.bh-warm-preview main .bh-food-hero__intro,
  html.bh-warm-preview main .bh-visit-hero__intro{
    font-size:clamp(.84rem,3.45vw,.94rem)!important;
    line-height:1.48!important;
  }
}
/* The narrower Drinks title remains one line at the smallest mobile widths. */
@media(max-width:390px){
  html.bh-warm-preview main .bh-simple-hero__title--drinks{
    font-size:clamp(.85rem,3.9vw,1rem)!important;
  }
}

/* Real pub photography in the Drinks, Hours and Reviews banners (preview). */
html.bh-warm-preview main .bh-simple-hero[aria-labelledby="bh-drinks-page-title"],
html.bh-warm-preview main .bh-simple-hero[aria-labelledby="bh-hours-page-title"],
html.bh-warm-preview main .bh-simple-hero[aria-labelledby="bh-reviews-page-title"]{
  background-color:#223326;
  background-repeat:no-repeat;
  background-size:cover;
}
html.bh-warm-preview main .bh-simple-hero[aria-labelledby="bh-drinks-page-title"]{
  background-image:
    linear-gradient(180deg,rgba(15,27,18,.55) 0%,rgba(15,27,18,.49) 42%,rgba(10,20,13,.72) 100%),
    url("../bulls-head-assets/07-bar-spirits.png");
  background-position:center center,center 50%;
}
html.bh-warm-preview main .bh-simple-hero[aria-labelledby="bh-hours-page-title"]{
  background-image:
    linear-gradient(180deg,rgba(15,27,18,.52) 0%,rgba(15,27,18,.48) 42%,rgba(10,20,13,.70) 100%),
    url("../bulls-head-assets/02-bulls-head-interior-fireplace.png");
  background-position:center center,center 52%;
}
html.bh-warm-preview main .bh-simple-hero[aria-labelledby="bh-reviews-page-title"]{
  background-image:
    linear-gradient(180deg,rgba(15,27,18,.57) 0%,rgba(15,27,18,.51) 42%,rgba(10,20,13,.73) 100%),
    url("../bulls-head-assets/04-bulls-head-beer-garden.png");
  background-position:center center,center 55%;
}

/* Visit hero: avoid desktop zoom/rotation on narrow portrait screens. */
@media (max-width: 767px){
  html.bh-warm-preview main .bh-visit-hero__photo{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden;
  }
  html.bh-warm-preview main .bh-visit-hero__photo img{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none;
    object-fit:cover;
    object-position:50% 50%;
    transform:none!important;
  }
}


/* Mobile interior hero legibility: keep the whole text group below the fixed
   80px navigation, without the old 24/90/132px grid rows. Let text determine
   the required height instead of clipping it on small or zoomed screens. */
@media (max-width: 767px) {
  html.bh-warm-preview main section.bh-simple-hero,
  html.bh-warm-preview main section.bh-food-hero,
  html.bh-warm-preview main section.bh-visit-hero {
    box-sizing: border-box;
    height: auto!important;
    min-height: max(390px, var(--bh-inner-hero-height))!important;
    padding: calc(80px + clamp(18px, 3svh, 30px)) 18px clamp(26px, 5svh, 44px)!important;
    display: flex!important;
    flex-direction: column;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden;
  }

  html.bh-warm-preview main .bh-simple-hero__content,
  html.bh-warm-preview main .bh-food-hero__content,
  html.bh-warm-preview main .bh-visit-hero__copy {
    box-sizing: border-box;
    display: flex!important;
    flex-direction: column;
    align-items: center!important;
    justify-content: center!important;
    gap: clamp(12px, 2svh, 18px)!important;
    grid-template-rows: none!important;
    height: auto!important;
    min-height: 0;
    width: min(100%, 680px)!important;
    max-width: 100%!important;
    padding: 0!important;
    margin: 0 auto!important;
    text-align: center!important;
  }

  html.bh-warm-preview main .bh-simple-hero__eyebrow,
  html.bh-warm-preview main .bh-food-hero__eyebrow,
  html.bh-warm-preview main .bh-visit-hero .bh-visit-eyebrow {
    margin: 0!important;
    flex-shrink: 0;
  }

  html.bh-warm-preview main .bh-simple-hero__title,
  html.bh-warm-preview main .bh-food-hero__title,
  html.bh-warm-preview main .bh-visit-hero h1 {
    margin: 0!important;
    width: 100%;
    max-width: 100%!important;
    white-space: normal;
    text-wrap: balance;
  }

  html.bh-warm-preview main .bh-simple-hero__intro,
  html.bh-warm-preview main .bh-food-hero__intro,
  html.bh-warm-preview main .bh-visit-hero__intro {
    margin: 0!important;
    max-width: min(100%, 580px)!important;
    overflow-wrap: break-word;
  }
}

/* Very narrow portrait screens get smaller side margins without losing
   breathing room above the copy. */
@media (max-width: 360px) {
  html.bh-warm-preview main section.bh-simple-hero,
  html.bh-warm-preview main section.bh-food-hero,
  html.bh-warm-preview main section.bh-visit-hero {
    padding-right: 14px!important;
    padding-left: 14px!important;
  }
}
