/* Independent row of 4 horizontal promo banners below the existing hero. */
#siteHomePromoBanners[hidden]{display:none!important}
#siteHomePromoBanners{margin:clamp(14px,2vw,24px) 0;min-width:0}
#siteHomePromoBanners .gf-promo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gf-promo-gap,12px)}
#siteHomePromoBanners .gf-promo-link{display:block;aspect-ratio:16/9;border-radius:var(--gf-promo-radius,12px);overflow:hidden;background:#28221e;outline-offset:3px}
#siteHomePromoBanners .gf-promo-link img{display:block;width:100%;height:100%;object-fit:cover}
#siteHomePromoBanners .gf-promo-link:hover img{transform:scale(1.025)}
#siteHomePromoBanners .gf-promo-link img{transition:transform .2s ease}
@media(max-width:760px){#siteHomePromoBanners .gf-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){#siteHomePromoBanners .gf-promo-link img{transition:none}}

#siteHomePromoBanners .gf-promo-static{cursor:default}
#siteHomePromoBanners .gf-promo-static:hover img{transform:none}
body.gf-promo-page-open main.wrap > :not(#siteHomePromoPage){display:none!important}
#siteHomePromoPage[hidden]{display:none!important}
#siteHomePromoPage{padding:clamp(16px,4vw,48px) 0}
.gf-promo-content-page .gf-promo-content-article{margin:0 auto;max-width:920px}
.gf-promo-content-top{display:flex;justify-content:flex-end;align-items:center;margin-bottom:16px}
.gf-promo-content-top a,.gf-promo-content-top button{display:inline-flex;min-height:40px;align-items:center;cursor:pointer;border:1px solid #786b5d;border-radius:8px;padding:8px 14px;background:#312924;color:#fff;text-decoration:none}
.gf-promo-content-article h1{font-size:clamp(24px,4vw,42px);line-height:1.2;margin:0 0 18px}
.gf-promo-content-article img{width:100%;display:block;object-fit:contain;border-radius:12px;max-height:65vh;margin-bottom:20px}
.gf-promo-content-article p{white-space:pre-wrap;line-height:1.65;margin:12px 0}
.gf-promo-content-button{display:inline-flex;align-items:center;justify-content:center;background:#f58b25;color:#171717;border-radius:10px;padding:11px 20px;text-decoration:none;font-weight:700;margin-top:16px}
.gf-promo-dialog{box-sizing:border-box;border:1px solid #544b46;border-radius:16px;background:#201d1b;color:#f6f1eb;width:min(92vw,720px);max-height:85dvh;padding:clamp(14px,3vw,30px);overflow:auto}
.gf-promo-dialog::backdrop{background:rgba(0,0,0,.76)}
.gf-promo-dialog .gf-promo-content-article h1{font-size:clamp(22px,3vw,32px)}
@media(max-width:760px){.gf-promo-dialog{width:96vw;max-height:90dvh}}

/* Published per-type design controls. Existing layout stays four desktop / two mobile. */
#siteHomePromoBanners .gf-promo-link{position:relative;box-sizing:border-box;aspect-ratio:var(--gf-tile-desktop-ratio,16/9);background:var(--gf-tile-bg,#28221e);border:var(--gf-tile-border,0 solid transparent);border-radius:var(--gf-tile-radius,var(--gf-promo-radius,12px));opacity:var(--gf-tile-opacity,1);padding:var(--gf-tile-padding,0px);display:flex;flex-direction:column;justify-content:flex-end}
#siteHomePromoBanners .gf-promo-link picture{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden}
#siteHomePromoBanners .gf-promo-link picture img{width:100%;height:100%;object-fit:var(--gf-tile-fit,cover);object-position:var(--gf-tile-x,50%) var(--gf-tile-y,50%)}
#siteHomePromoBanners .gf-promo-tile-copy{position:relative;z-index:1;display:grid;gap:4px;padding:8px;text-shadow:0 1px 4px #000}
#siteHomePromoBanners .gf-promo-overlay-button{position:relative;z-index:1;display:inline-flex;margin:4px 8px 8px;padding:7px 12px;font-weight:700}
#siteHomePromoBanners .gf-promo-link[data-animation="fade"]:hover img{opacity:.8}
#siteHomePromoBanners .gf-promo-link[data-animation="scale"]:hover img{transform:scale(1.04)}
.gf-promo-content-article iframe{display:block;width:100%;aspect-ratio:16/9;border:0;margin:16px 0;border-radius:10px}
.gf-promo-dialog::backdrop{background:var(--gf-modal-backdrop,#000);opacity:var(--gf-modal-opacity,.75)}
.gf-promo-dialog[data-position="top"]{margin-top:3vh}
.gf-promo-dialog[data-position="bottom"]{margin-top:auto;margin-bottom:3vh}
@media(max-width:760px){
 #siteHomePromoBanners .gf-promo-link{aspect-ratio:var(--gf-tile-mobile-ratio,16/9)}
 #siteHomePromoBanners .gf-promo-link picture img{object-fit:var(--gf-tile-mobile-fit,cover);object-position:var(--gf-tile-mobile-x,50%) var(--gf-tile-mobile-y,50%)}
 #siteHomePromoBanners .gf-promo-tile-copy{font-size:12px!important;padding:5px}
 #siteHomePromoBanners .gf-promo-overlay-button{font-size:11px!important;padding:5px 8px}
}

#siteHomePromoBanners .gf-promo-dish-details{position:relative;z-index:2;display:flex;gap:5px;flex-wrap:wrap;padding:4px 8px;font-size:12px;font-weight:650}
#siteHomePromoBanners .gf-promo-dish-details span{background:#201d1bdd;border-radius:6px;padding:3px 6px}
#siteHomePromoBanners .gf-promo-add-direct{position:relative;z-index:3;align-self:flex-end;margin:5px 8px 8px;padding:6px 12px;border-radius:8px;background:#f58b25;color:#1c1510;font-size:12px;font-weight:700;cursor:pointer}
#siteHomePromoBanners .gf-promo-add-direct:focus-visible{outline:3px solid white}
@media(max-width:760px){
 #siteHomePromoBanners .gf-promo-link{width:var(--gf-mobile-width,100%)!important;height:var(--gf-mobile-height,auto)!important}
 #siteHomePromoBanners .gf-promo-dish-details{font-size:10px;padding:3px}
 #siteHomePromoBanners .gf-promo-add-direct{font-size:10px;padding:4px 7px}
}

/* Unified four-banner container: identical tile dimensions regardless of banner type. */
#siteHomePromoBanners{
 box-sizing:border-box;
 width:100%;
 max-width:none;
 margin-inline:auto;
 padding:0;
 border-radius:0;
 background:transparent;
}
#siteHomePromoBanners .gf-promo-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
#siteHomePromoBanners .gf-promo-grid > .gf-promo-link{
 box-sizing:border-box;
 width:100%!important;
 height:auto!important;
 min-width:0;
 max-width:100%;
 aspect-ratio:var(--gf-shared-desktop-ratio,16 / 9)!important;
 height:var(--gf-shared-desktop-height,auto)!important;
 border-radius:var(--gf-promo-radius,12px);
}
@media(max-width:760px){
 #siteHomePromoBanners .gf-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #siteHomePromoBanners .gf-promo-grid > .gf-promo-link{
  width:100%!important;
  height:auto!important;
  aspect-ratio:var(--gf-shared-mobile-ratio,16 / 9)!important;
  height:var(--gf-shared-mobile-height,auto)!important;
 }
}

/* Only banner tiles receive decoration; the grid container stays invisible. */
#siteHomePromoBanners{
 border:0;
 box-shadow:none;
}
#siteHomePromoBanners .gf-promo-grid>.gf-promo-link{
 border:var(--gf-shared-tile-border,0 solid transparent)!important;
 box-shadow:var(--gf-shared-tile-shadow,none)!important;
 transition:transform var(--gf-shared-transition,200ms) ease,border-color var(--gf-shared-transition,200ms) ease,box-shadow var(--gf-shared-transition,200ms) ease;
 transform-origin:center;
}
@media(hover:hover) and (pointer:fine){
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link:hover{
  transform:translateY(calc(-1 * var(--gf-shared-hover-lift,0px))) scale(var(--gf-shared-hover-scale,1));
  border-color:var(--gf-shared-hover-border,#ffffff)!important;
  z-index:2;
 }
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link picture img,
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link[data-animation="scale"] picture img,
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link[data-animation="fade"] picture img{
  transition:filter var(--gf-shared-transition,200ms) ease!important;
 }
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link:hover picture img{
  transform:none!important;
  opacity:1!important;
  filter:brightness(var(--gf-shared-hover-brightness,1));
 }
}
@media(prefers-reduced-motion:reduce){
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link,
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link picture img{transition:none!important}
 #siteHomePromoBanners .gf-promo-grid>.gf-promo-link:hover{transform:none!important}
}

/* Mobile banner tiles: equal-sized cards, independent of their text content. */
@media(max-width:760px){
 #siteHomePromoBanners .gf-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;grid-auto-flow:row}
 #siteHomePromoBanners .gf-promo-grid > .gf-promo-link{
  position:relative;
  min-height:0!important;
  min-width:0;
  overflow:hidden;
  display:block;
  aspect-ratio:var(--gf-shared-mobile-ratio,1 / 1)!important;
  height:var(--gf-shared-mobile-height,auto)!important;
  padding:0!important;
 }
 #siteHomePromoBanners .gf-promo-link picture{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  overflow:hidden;pointer-events:none;
 }
 #siteHomePromoBanners .gf-promo-link picture img{
  display:block;width:100%;height:100%;object-fit:var(--gf-tile-mobile-fit,cover);
 }
 #siteHomePromoBanners .gf-promo-tile-copy{
  position:absolute!important;bottom:0;left:0;right:0;
  display:block;box-sizing:border-box;
  width:100%;max-height:46%;
  overflow:hidden;margin:0;padding:22px 6px 7px!important;
  background:linear-gradient(transparent,rgba(0,0,0,.86));
  text-align:center!important;font-size:clamp(11px,2.7vw,14px)!important;
  line-height:1.2!important;
  overflow-wrap:anywhere;
 }
 #siteHomePromoBanners .gf-promo-tile-copy strong{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  line-clamp:2;overflow:hidden;
 }
 #siteHomePromoBanners .gf-promo-tile-copy span:not(:first-child){display:none}
 #siteHomePromoBanners .gf-promo-overlay-button{
  position:absolute!important;top:5px;right:5px;left:auto;
  z-index:3;margin:0!important;padding:4px 6px!important;
  font-size:clamp(9px,2.5vw,12px)!important;line-height:1.15;
  max-width:55%;white-space:normal;text-align:center;
 }
 #siteHomePromoBanners .gf-promo-dish-details{
  position:absolute!important;top:4px;left:4px;right:4px;z-index:2;
  display:flex;gap:3px;flex-wrap:wrap;max-height:44px;overflow:hidden;
  padding:0!important;font-size:clamp(9px,2.3vw,11px)!important;
  pointer-events:none;
 }
 #siteHomePromoBanners .gf-promo-dish-details span{
  margin:0;padding:2px 4px;line-height:1.2;
 }
 #siteHomePromoBanners .gf-promo-dish-details span:nth-child(n+3){display:none}
 #siteHomePromoBanners .gf-promo-add-direct{
  position:absolute!important;right:5px;bottom:42px;top:auto;z-index:4;
  margin:0!important;padding:5px 7px!important;
  font-size:clamp(10px,2.4vw,12px)!important;
 }
 #siteHomePromoBanners .gf-promo-image-unavailable{
  background:linear-gradient(135deg,#382820,#191512)!important;
 }
 #siteHomePromoBanners .gf-promo-image-unavailable .gf-promo-tile-copy{
  background:linear-gradient(transparent,rgba(0,0,0,.5));
 }
}

/* Published banner settings limit the TOTAL visible tiles independently for each screen. */
#siteHomePromoBanners .gf-promo-grid{grid-template-columns:repeat(var(--gf-promo-desktop-columns,4),minmax(0,1fr))}
@media(max-width:760px){#siteHomePromoBanners .gf-promo-grid{grid-template-columns:repeat(var(--gf-promo-mobile-columns,2),minmax(0,1fr))}}

@media(min-width:761px){#siteHomePromoBanners .gf-promo-grid > .gf-promo-hide-desktop{display:none!important}}
@media(max-width:760px){#siteHomePromoBanners .gf-promo-grid > .gf-promo-hide-mobile{display:none!important}}
