/* Guru Food promotional category page; shares live catalog cards and checkout. */
#sitePromotionsPage[hidden]{display:none!important}
body.gf-promotions-page-open main.wrap>:not(#sitePromotionsPage):not(#status):not(#items){display:none!important}
.gf-promotions-page{width:100%;margin:0 auto}
.gf-promotions-hero{min-height:clamp(250px,32vw,355px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);overflow:hidden;border:1px solid #694324;border-radius:20px;background:radial-gradient(circle at 85% 20%,#70401c 0%,transparent 52%),linear-gradient(120deg,#211914 0%,#121212 75%);box-shadow:0 16px 34px #0006}
.gf-promotions-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:clamp(22px,5vw,56px)}
.gf-promotions-eyebrow{color:#f58b25;font-size:clamp(10px,1.4vw,13px);font-weight:800;letter-spacing:.15em}
.gf-promotions-hero h1{font-size:clamp(54px,8vw,110px);font-weight:900;line-height:1;letter-spacing:-.045em;text-transform:uppercase;margin:0;color:#fff;text-shadow:0 3px 14px #000b}
.gf-promotions-hero h1:after{content:'';display:block;width:min(85%,260px);height:7px;margin-top:14px;border-radius:100px;background:#f58b25;transform:rotate(-2deg)}
.gf-promotions-hero p{font-size:clamp(14px,1.8vw,19px);color:#e8d9cc;line-height:1.55;max-width:490px;margin:0}
.gf-promotions-back{display:inline-flex;justify-content:center;align-items:center;min-height:44px;margin-top:5px;border-radius:10px;border:1px solid #f58b25;color:#16100c;background:#f58b25;padding:10px 19px;font-weight:800;text-decoration:none}
.gf-promotions-back:hover{background:#ffa241}
.gf-promotions-back:focus-visible{outline:2px solid #fff;outline-offset:3px}
.gf-promotions-hero-photo{position:relative;overflow:hidden;min-height:220px;background:radial-gradient(circle at center,#633a24,#211711)}
.gf-promotions-hero-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15110f 0%,#15110f11 45%),var(--gf-promotions-photo,linear-gradient(135deg,#4f281b,#181513));background-size:cover;background-position:center}
.gf-promotions-placeholder{position:absolute;right:20px;bottom:20px;letter-spacing:.12em;color:#ffffff65;font-size:clamp(18px,3vw,32px);font-weight:800}
.gf-promotions-hero-photo[data-has-image="true"] .gf-promotions-placeholder{display:none}
.gf-promotions-list-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin:clamp(22px,4vw,34px) 0 2px;padding-bottom:12px;border-bottom:1px solid #514039}
.gf-promotions-list-heading h2{margin:0;font-size:clamp(23px,3vw,31px);line-height:1.2;color:#fff}
.gf-promotions-list-heading span{font-size:14px;color:#e0b88f}
body.gf-promotions-page-open main.wrap #status{margin:10px 0 16px;padding:0;color:#ccc;font-size:14px}
body.gf-promotions-page-open main.wrap #items.grid{margin-bottom:40px;align-content:start}
@media(max-width:650px){
 .gf-promotions-hero{grid-template-columns:1fr;min-height:0}
 .gf-promotions-hero-copy{padding:24px 20px;gap:12px}
 .gf-promotions-hero h1{font-size:clamp(54px,15vw,82px)}
 .gf-promotions-hero-photo{min-height:175px;max-height:240px}
 .gf-promotions-hero-photo:before{background:linear-gradient(0deg,#15110f00,#15110f30),var(--gf-promotions-photo,linear-gradient(135deg,#4f281b,#181513));background-size:cover;background-position:center}
 .gf-promotions-list-heading{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.gf-promotions-back{scroll-behavior:auto}}

/* Explicitly published Promotions hero artwork overrides fallback dish photography. */
.gf-promotions-hero-photo:before{
 background-image:linear-gradient(90deg,#15110f 0%,#15110f22 42%,transparent 80%),linear-gradient(rgba(0,0,0,var(--gf-promotions-overlay,0)),rgba(0,0,0,var(--gf-promotions-overlay,0))),var(--gf-promotions-photo,linear-gradient(135deg,#4f281b,#181513));
 background-size:cover; background-position:var(--gf-promotions-x,50%) var(--gf-promotions-y,50%);
}
@media(max-width:650px){
 .gf-promotions-hero-photo:before{
  background-image:linear-gradient(0deg,#15110f00,#15110f30),linear-gradient(rgba(0,0,0,var(--gf-promotions-overlay,0)),rgba(0,0,0,var(--gf-promotions-overlay,0))),var(--gf-promotions-mobile-photo,var(--gf-promotions-photo,linear-gradient(135deg,#4f281b,#181513)));
  background-size:cover;background-position:var(--gf-promotions-mobile-x,50%) var(--gf-promotions-mobile-y,50%);
 }
}

/* Promotions page polish: soft uninterrupted hero transition. No changes to uploaded imagery. */
body.gf-promotions-page-open .gf-promotions-hero{
 position:relative;
 grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
 background:linear-gradient(108deg,#221914 0%,#201712 56%,#171412 100%);
}
body.gf-promotions-page-open .gf-promotions-hero-copy{z-index:2}
body.gf-promotions-page-open .gf-promotions-hero-photo{isolation:isolate}
body.gf-promotions-page-open .gf-promotions-hero-photo::after{
 content:'';position:absolute;z-index:1;inset:0 auto 0 0;width:min(44%,180px);
 background:linear-gradient(90deg,#201712 0%,rgba(32,23,18,.80) 22%,rgba(32,23,18,.30) 66%,transparent 100%);
 pointer-events:none;
}
body.gf-promotions-page-open .gf-promotions-list-heading{margin-top:clamp(18px,3vw,28px);padding-bottom:9px}
body.gf-promotions-page-open main.wrap #status[hidden]{display:none!important}
body.gf-promotions-page-open main.wrap #status:not([hidden]){margin:12px 0 14px}
body.gf-promotions-page-open main.wrap #items.grid{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:clamp(14px,2.2vw,22px);
 margin-top:clamp(13px,2vw,20px);
 margin-bottom:clamp(18px,3vw,28px);
}
body.gf-promotions-page-open main.wrap #items .item{
 min-width:0;border-radius:16px;border-color:#554237;
 background:#24211f;box-shadow:0 8px 20px #0003;
}
body.gf-promotions-page-open main.wrap #items .item > img{
 aspect-ratio:4/3;height:auto;object-fit:cover;
}
body.gf-promotions-page-open main.wrap #items .item .content{
 padding:clamp(15px,2.5vw,24px);gap:10px;
}
body.gf-promotions-page-open main.wrap #items .item h3{
 font-size:clamp(18px,2.4vw,24px);line-height:1.25;min-height:0;
}
body.gf-promotions-page-open main.wrap #items .item .dish-footer{
 display:flex;flex-direction:row;align-items:center;justify-content:space-between;
 flex-wrap:wrap;gap:12px;margin-top:auto;
}
body.gf-promotions-page-open main.wrap #items .price{font-size:clamp(20px,2.7vw,25px);font-weight:800}
body.gf-promotions-page-open main.wrap #items .add-cart{
 width:auto;min-width:110px;min-height:44px;align-self:auto;
 padding:10px 18px;border-radius:10px;font-size:15px;
}
body.gf-promotions-page-open main.wrap #items .catalog-section-title{
 font-size:19px;margin:2px 0 0;padding-bottom:8px;
}
@media(max-width:650px){
 body.gf-promotions-page-open .gf-promotions-hero{grid-template-columns:1fr}
 body.gf-promotions-page-open .gf-promotions-hero-photo::after{
  inset:0 0 auto 0;width:100%;height:35%;
  background:linear-gradient(180deg,#201712,rgba(32,23,18,.55) 45%,transparent);
 }
 body.gf-promotions-page-open main.wrap #items.grid{grid-template-columns:1fr!important;gap:14px}
 body.gf-promotions-page-open main.wrap #items .item > img{aspect-ratio:4/3}
 body.gf-promotions-page-open main.wrap #items .item .content{padding:16px}
 body.gf-promotions-page-open main.wrap #items .item h3{font-size:20px;min-height:0}
 body.gf-promotions-page-open main.wrap #items .item .dish-footer{
  flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;
 }
 body.gf-promotions-page-open main.wrap #items .add-cart{width:auto;min-width:100px}
}

/* Match the main mobile catalog's published two-column card configuration.
   Desktop promotional cards and the banner are unchanged. */
@media(max-width:600px){
 body.gf-promotions-page-open main.wrap #items.grid{
  grid-template-columns:repeat(var(--gf-mc-cols,2),minmax(0,1fr))!important;
  gap:var(--gf-mc-gap,10px)!important;
 }
 body.gf-promotions-page-open main.wrap #items .item{
  min-width:0;border-radius:var(--gf-mc-radius,12px);
 }
 body.gf-promotions-page-open main.wrap #items .item > img{
  width:100%;height:auto;
  aspect-ratio:var(--gf-mc-ratio,1 / 1);
  border-radius:var(--gf-mc-image-radius,10px);
  object-fit:cover;
 }
 body.gf-promotions-page-open main.wrap #items .item .content{
  padding:var(--gf-mc-padding,10px);
  gap:var(--gf-mc-content-gap,8px);
 }
 body.gf-promotions-page-open main.wrap #items .item h3{
  font-size:var(--gf-mc-title-size,15px);
  line-height:1.3;
  min-height:calc(var(--gf-mc-title-lines,2) * 1.3em);
 }
 body.gf-promotions-page-open main.wrap #items .item .dish-footer{
  flex-direction:column;align-items:stretch;
  gap:var(--gf-mc-button-gap,8px);
  padding-top:8px;
 }
 body.gf-promotions-page-open main.wrap #items .price{
  font-size:var(--gf-mc-price-size,17px);
  color:var(--gf-mc-price-color,#fff);
  text-align:var(--gf-mc-price-align,left);
 }
 body.gf-promotions-page-open main.wrap #items .add-cart{
  width:100%;min-width:0;
  min-height:var(--gf-mc-button-height,42px);
  padding:8px;
  border-radius:var(--gf-mc-button-radius,10px);
  font-size:var(--gf-mc-button-size,14px);
  background:var(--gf-mc-button-bg,#f58b25);
  color:var(--gf-mc-button-color,#191919);
  white-space:normal;
 }
 body.gf-promotions-page-open main.wrap #items.gf-mc-button-compact .item .add-cart{
  width:auto;align-self:center;padding-inline:16px;
 }
}
