/* Photo-led Food campaigns; category links and prices remain native. */
html[data-theme] body.reference-style[data-service="food"] .food-campaigns {
  padding:8px 0 20px;
  color:var(--fudo-text);
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-rail {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-columns:auto;
  grid-auto-flow:row;
  gap:18px;
  overflow-x:auto;
  padding:4px 0 12px;
  margin:0;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-rail::-webkit-scrollbar {
  display:none;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-card {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  width:auto;
  min-width:0;
  min-height:390px;
  height:clamp(390px,31vw,455px);
  aspect-ratio:auto;
  overflow:hidden;
  border:0;
  border-radius:28px;
  background:var(--fudo-photo);
  color:#fff;
  text-decoration:none;
  scroll-snap-align:start;
  box-shadow:0 5px 15px #0000000d;
  -webkit-tap-highlight-color:transparent;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-card::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,#17100b22 0%,transparent 29%,#17100b12 43%,#17100b9e 69%,#17100be6 100%);
  pointer-events:none;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-image {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  transform:scale(1.025);
  transition:transform .35s ease;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-copy {
  position:relative;
  z-index:1;
  padding:72px 22px 22px;
  margin:0;
  background:none;
  color:#fff;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-copy h2 {
  max-width:14ch;
  margin:0 0 10px;
  font-size:clamp(25px,2.4vw,35px);
  font-weight:750;
  line-height:1.04;
  letter-spacing:-.035em;
  color:#fff;
  text-wrap:balance;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-copy p {
  max-width:28ch;
  min-height:2.8em;
  margin:0 0 16px;
  color:#ffffffe0;
  font-size:13px;
  line-height:1.4;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-arrow {
  display:none;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaign-label,
html[data-theme] body.reference-style[data-service="food"] .food-campaign-price {
  position:absolute;
  z-index:2;
  top:18px;
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:7px 11px;
  border-radius:100px;
  font-size:11px;
  font-weight:750;
  line-height:1.1;
  white-space:nowrap;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaign-label {
  left:18px;
  max-width:calc(100% - 36px);
  background:#17100b55;
  color:#fff;
  letter-spacing:.035em;
  backdrop-filter:blur(12px);
}
html[data-theme] body.reference-style[data-service="food"] .food-campaign-price {
  top:56px;
  left:18px;
  background:#fff;
  color:#242329;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaign-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:42px;
  padding:11px 15px;
  border-radius:100px;
  background:var(--fudo-accent);
  color:var(--fudo-on-accent,#fff);
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  transition:background .18s ease,transform .18s ease;
}
html[data-theme] body.reference-style[data-service="food"] .food-campaign-action-arrow {
  font-size:19px;
  line-height:1;
}
html[data-theme] body.reference-style[data-service="food"] :is(.food-campaign-card,.food-menu-banner):focus-visible {
  outline:3px solid var(--fudo-focus,var(--fudo-accent));
  outline-offset:4px;
}

/* The menu interruptions are real category offers, with catalog cutouts. */
html[data-theme] body.reference-style[data-service="food"] .food-menu-promo {
  --campaign-pastel:#f5cfc7;
  --campaign-ink:#352124;
  margin:8px 0 54px;
  min-width:0;
  grid-column:1/-1;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-promo--drinks {
  --campaign-pastel:#dcecc3;
  --campaign-ink:#263c19;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:center;
  min-height:300px;
  overflow:hidden;
  border-radius:30px;
  background:var(--campaign-pastel);
  color:var(--campaign-ink);
  text-decoration:none;
}
html[data-theme="dark"] body.reference-style[data-service="food"] .food-menu-banner {
  background:color-mix(in srgb,var(--campaign-pastel) 87%,var(--fudo-surface));
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-copy {
  position:relative;
  z-index:2;
  padding:34px 12px 36px 40px;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-price {
  display:inline-flex;
  padding:8px 12px;
  margin-bottom:16px;
  border:1px solid currentColor;
  border-radius:100px;
  font-size:12px;
  font-weight:750;
  line-height:1.2;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner h3 {
  max-width:16ch;
  margin:0 0 12px;
  font-size:clamp(28px,3.1vw,44px);
  font-weight:750;
  line-height:1.04;
  letter-spacing:-.035em;
  color:var(--campaign-ink);
  text-wrap:balance;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner p {
  max-width:34ch;
  margin:0 0 22px;
  font-size:15px;
  line-height:1.4;
  color:var(--campaign-ink);
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner .food-campaign-action {
  background:var(--campaign-ink);
  color:#fff;
  min-height:44px;
  padding:12px 18px;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-art {
  position:absolute;
  inset:0 0 0 49%;
  z-index:1;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-art::before {
  content:"";
  position:absolute;
  width:85%;
  aspect-ratio:1;
  right:-9%;
  top:4%;
  border-radius:50%;
  background:#ffffff38;
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-cutout {
  position:absolute;
  width:72%;
  height:96%;
  top:5%;
  right:-4%;
  object-fit:contain;
  filter:drop-shadow(0 15px 14px #4c281d26);
  transform:rotate(10deg);
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-cutout--1 {
  z-index:2;
  right:29%;
  top:1%;
  transform:rotate(-11deg);
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-promo--cake .food-menu-banner-cutout {
  width:83%;
  height:89%;
  top:16%;
  right:-14%;
  transform:rotate(9deg);
}
html[data-theme] body.reference-style[data-service="food"] .food-menu-promo--cake .food-menu-banner-cutout--1 {
  right:25%;
  top:-5%;
  transform:rotate(-10deg);
}
@media (hover:hover) {
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-card:hover .reference-story-image {
    transform:scale(1.07);
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaign-card:hover .food-campaign-action {
    background:var(--fudo-accent-hover);
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner:hover .food-campaign-action {
    transform:translateX(3px);
  }
}
@media (min-width:641px) and (max-width:1024px) {
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-rail {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:38vw;
    justify-content:start;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-card {
    height:380px;
    min-height:380px;
  }
}
@media (max-width:640px) {
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns>.container {
    width:calc(100% - 32px);
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns {
    padding:0 0 8px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-rail {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:66vw;
    justify-content:start;
    gap:12px;
    overflow: auto hidden;
    margin-right:-16px;
    padding:4px 16px 12px 0;
    scroll-snap-type:x mandatory;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-card {
    height:340px;
    min-height:340px;
    border-radius:25px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-copy {
    padding:54px 18px 18px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-copy h2 {
    font-size:27px;
    margin-bottom:8px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-copy p {
    font-size:12px;
    margin-bottom:13px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaign-action {
    gap:10px;
    min-height:40px;
    padding:10px 13px;
    font-size:12px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaign-label,
  html[data-theme] body.reference-style[data-service="food"] .food-campaign-price {
    left:16px;
    font-size:10px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-promo {
    margin:0 0 38px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner {
    display:flex;
    align-items:flex-start;
    min-height:350px;
    border-radius:26px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-copy {
    width:69%;
    padding:24px 0 28px 23px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-price {
    max-width:100%;
    margin-bottom:15px;
    padding:7px 10px;
    font-size:11px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner h3 {
    max-width:12ch;
    font-size:clamp(27px,7.3vw,38px);
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner p {
    max-width:19ch;
    font-size:13px;
    margin-bottom:20px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-art {
    inset:35% -20% -12% 51%;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-cutout--1 {
    right:17%;
    top:14%;
    height:81%;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-cutout--2 {
    right:-6%;
    top:-8%;
    width:63%;
    height:81%;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-promo--cake .food-menu-banner-art {
    inset:44% -21% -15% 50%;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-promo--cake .food-menu-banner-cutout--1 {
    top:12%;
    right:8%;
    height:84%;
    width:80%;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-promo--cake .food-menu-banner-cutout--2 {
    top:-12%;
    right:-12%;
    width:73%;
  }
}
@media (max-width:360px) {
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-card {
    height:330px;
    min-height:330px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-copy h2 {
    font-size:24px;
  }
  html[data-theme] body.reference-style[data-service="food"] .food-menu-banner-copy {
    padding-left:19px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html[data-theme] body.reference-style[data-service="food"] .food-campaign-action,
  html[data-theme] body.reference-style[data-service="food"] .food-campaigns .reference-story-image {
    transition:none;
  }
}
