/* ---- Font Faces (placeholders) ---- */

/* =========================
   Neulis Cursive (Display/Headings)
   Weights used: 400, 500, 600, 700, 800, 900
   ========================= */
@font-face {
  font-family: "Neulis Cursive";
  src:
    local("Neulis Cursive Regular"),
    url("/cmsdata/olivegarden/fonts/neulis-cursive/neulis_cursive_regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Cursive";
  src:
    local("Neulis Cursive Medium"),
    url("/cmsdata/olivegarden/fonts/neulis-cursive/neulis_cursive_medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Cursive";
  src:
    local("Neulis Cursive Semi Bold"),
    url("/cmsdata/olivegarden/fonts/neulis-cursive/neulis_cursive_semi_bold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Cursive";
  src:
    local("Neulis Cursive Bold"),
    url("/cmsdata/olivegarden/fonts/neulis-cursive/neulis_cursive_bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Cursive";
  src:
    local("Neulis Cursive Extra Bold"),
    url("/cmsdata/olivegarden/fonts/neulis-cursive/neulis_cursive_extra_bold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Cursive";
  src:
    local("Neulis Cursive Black"),
    url("/cmsdata/olivegarden/fonts/neulis-cursive/neulis_cursive_black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* =========================
   Neulis Neue (Subheadings)
   Weights used: 400, 500, 700, 900
   ========================= */
@font-face {
  font-family: "Neulis Neue";
  src:
    local("Neulis Neue Regular"),
    url("/cmsdata/olivegarden/fonts/neulis-neue/neulis_neue_regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Neue";
  src:
    local("Neulis Neue Medium"),
    url("/cmsdata/olivegarden/fonts/neulis-neue/neulis_neue_medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Neue";
  src:
    local("Neulis Neue Bold"),
    url("/cmsdata/olivegarden/fonts/neulis-neue/neulis_neue_bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Neue";
  src:
    local("Neulis Neue Black"),
    url("/cmsdata/olivegarden/fonts/neulis-neue/neulis_neue_black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* =========================
   Neulis Sans (Body/Caption)
   Weights used: 400, 500, 600, 700, 800, 900
   ========================= */
@font-face {
  font-family: "Neulis Sans";
  src:
    local("Neulis Sans Regular"),
    url("/cmsdata/olivegarden/fonts/neulis-sans/neulis_sans_regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Sans";
  src:
    local("Neulis Sans Medium"),
    url("/cmsdata/olivegarden/fonts/neulis-sans/neulis_sans_medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Sans";
  src:
    local("Neulis Sans Semi Bold"),
    url("/cmsdata/olivegarden/fonts/neulis-sans/neulis_sans_semi_bold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Sans";
  src:
    local("Neulis Sans Bold"),
    url("/cmsdata/olivegarden/fonts/neulis-sans/neulis_sans_bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Sans";
  src:
    local("Neulis Sans Extra Bold"),
    url("/cmsdata/olivegarden/fonts/neulis-sans/neulis_sans_extra_bold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neulis Sans";
  src:
    local("Neulis Sans Black"),
    url("/cmsdata/olivegarden/fonts/neulis-sans/neulis_sans_black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* =========================
   Royal Palms (Accent)
   Your files look like style variants, not weights. 
   Use distinct family names OR map to weights if the foundry recommends it.
   ========================= */

/* If each file is a distinct style, define separate families: */
@font-face {
  font-family: "Royal Palms";
  src:
    local("Royal Palms"),
    url("/cmsdata/olivegarden/fonts/royal-palms/royalpalms-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Royal Palms";
  src:
    local("Royal Palms"),
    url("/cmsdata/olivegarden/fonts/royal-palms/royalpalms-signature.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Royal Palms";
  src:
    local("Royal Palms"),
    url("/cmsdata/olivegarden/fonts/royal-palms/royalpalms-signaturealt.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}




/* ---- Base (mobile-first) ---- */
:root {
  /* Families */
  --ff-display: "Neulis Cursive", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ff-heading: "Neulis Cursive", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ff-subheading: "Neulis Neue", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ff-body: "Neulis Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --ff-accent: "Royal Palms", "Neulis Cursive", cursive;

  /* Weights (adjust if your files differ) */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;

  /* Line-heights & tracking defaults */
  --lh-tight: 1.05;
  --lh-normal: 1.4;
  --lh-loose: 1.6;
  --ls-tight: -0.02em;
  --ls-normal: 0;

  /* ===== Size tokens (mobile default) ===== */
  /* Display/Hero (your requirement) */
  --fs-display: 54px;
  /* mobile */
  --lh-display: var(--lh-tight);

  /* Headings (Neulis Cursive) – based on the guide, downscaled for mobile */
  --fs-h1: 42px;
  --fs-h2: 36px;
  --fs-h3: 32px;
  --fs-h4: 20px;
  --fs-h5: 18px;
  --fs-h6: 16px;

  /* Subheading (Neulis Neue) */
  --fs-sub-xl: 18px;
  --fs-sub-lg: 16px;

  /* Body (Neulis Sans) */
  --fs-body-lg: 14px;
  --fs-body-md: 14px;
  --fs-body-sm: 13px;

  /* Caption */
  --fs-caption-lg: 10px;
  --fs-caption-sm: 10px;
}

/* ---- Tablet (e.g., 768–1199px) ---- */
@media (min-width: 768px) {
  :root {
    /* Your explicit tablet target for Display */
    --fs-display: 60px;

    /* Headings (step up slightly) */
    --fs-h1: 48px;
    --fs-h2: 42px;
    --fs-h3: 32px;
    --fs-h4: 20px;
    --fs-h5: 18px;
    --fs-h6: 16px;

    /* Subheading per guide */
    --fs-sub-xl: 18px;
    /* md: 18px */
    --fs-sub-lg: 16px;
    /* sm: 16px */

    /* Body per guide */
    --fs-body-lg: 14px;
    /* md: 14px */
    --fs-body-md: 14px;
    --fs-body-sm: 13px;

    /* Captions */
    --fs-caption-lg: 12px;
    --fs-caption-sm: 10px;
  }
}

/* ---- Desktop (≥1200px) ---- */
@media (min-width: 1200px) {
  :root {
    /* Your explicit desktop target for Display */
    --fs-display: 100px;

    /* Headings per guide */
    --fs-h1: 54px;
    /* xl: 54px */
    --fs-h2: 48px;
    --fs-h2-mobile: 28px;
    /* lg: 48px */
    --fs-h3: 42px;
    /* md: 42px */
    --fs-h4: 32px;
    /* sm: 32px */
    --fs-h5: 20px;
    /* xs: 20px */
    --fs-h6: 18px;

    /* Subheading per guide */
    --fs-sub-xl: 24px;
    /* xl: 24px */
    --fs-sub-lg: 20px;
    /* lg: 20px */

    /* Body per guide */
    --fs-body-lg: 16px;
    /* lg: 16px */
    --fs-body-md: 14px;
    /* md: 14px */
    --fs-body-sm: 14px;
    /* sm: 14px */

    /* Captions per guide */
    --fs-caption-lg: 12px;
    /* lg: 12px */
    --fs-caption-sm: 10px;
    /* sm: 10px */
  }
}


.font-neulis-cursive {
  font-family: var(--ff-heading);
}

.font-neulis-neus {
  font-family: var(--ff-subheading);
}

.font-neulis-sans {
  font-family: var(--ff-body);
}

.font-royal-palms {
  font-family: var(--ff-accent);
}

.btn {
  font-family: var(--ff-body, "Neulis Sans", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif);
  text-transform: uppercase;
  border-radius: 30px;
  font-size: 0.875rem;
  font-weight: 700;
  border: none;
}

.btn--green {
  background-color: #a8ad00;
  color: #000000;

}

.btn--green:hover,
.btn--green:focus,
.btn--green:active {
  background-color: #98982f;
}

.btn--light-pink {
  background-color: #ffedd8;
  color: #000;
}

.btn--light-pink:hover,
.btn--light-pink:focus,
.btn--light-pink:active {
  background-color: var(--btn-hover-bg, #000);
  color: var(--btn-hover-color, #fff);
}

/* Display / Hero */
.typo-display {
  font-family: var(--ff-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-display);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-tight);
}


/* Headings (Neulis Cursive) */
.typo-h1 {
  font-family: var(--ff-heading);
  font-weight: var(--fw-bold);
  font-size: var(--fs-h1);
  line-height: 1.1;
  letter-spacing: var(--ls-tight);
}

.typo-h2 {
  font-family: var(--ff-heading);
  font-weight: var(--fw-bold);
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: var(--ls-tight);
}

.typo-h3 {
  font-family: var(--ff-heading);
  font-weight: var(--fw-bold);
  font-size: var(--fs-h3);
  line-height: 1.2;
  letter-spacing: var(--ls-tight);
}

.typo-h4 {
  font-family: var(--ff-heading);
  font-weight: var(--fw-bold);
  font-size: var(--fs-h4);
  line-height: 1.2;
}

.typo-h5 {
  font-family: var(--ff-heading);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-h5);
  line-height: 1.25;
}

.typo-h6 {
  font-family: var(--ff-heading);
  font-weight: var(--fw-medium);
  font-size: var(--fs-h6);
  line-height: 1.3;
}

/* Subheadings (Neulis Neue) */
.typo-sub-xl {
  font-family: var(--ff-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-sub-xl);
  line-height: 1.25;
  letter-spacing: var(--ls-tight);
}

.typo-sub-lg {
  font-family: var(--ff-subheading);
  font-weight: var(--fw-bold);
  font-size: var(--fs-sub-lg);
  line-height: 1.3;
}

.typo-sub-sm {
  font-family: var(--ff-subheading);
  font-weight: var(--fw-bold);
  font-size: var(--fs-body-lg);
  line-height: 1.2;
}

/* Body (Neulis Sans) */
.typo-body-lg {
  font-family: var(--ff-body);
  font-weight: var(--fw-medium);
  font-size: var(--fs-body-lg);
  line-height: var(--lh-normal);
}

.typo-body-md {
  font-family: var(--ff-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-body-md);
  line-height: var(--lh-loose);
}

.typo-body-sm {
  font-family: var(--ff-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-body-sm);
  line-height: var(--lh-loose);
}

/* Caption */
.typo-caption-lg {
  font-family: var(--ff-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-caption-lg);
  line-height: 1.35;
  opacity: .85;
}

.typo-caption-sm {
  font-family: var(--ff-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-caption-sm);
  line-height: 1.35;
  opacity: .85;
}

/* Accent (Royal Palms) – freestyle size; use utilities below or set inline */
.typo-accent {
  font-family: var(--ff-accent);
  font-weight: var(--fw-regular);
  line-height: 1.1;
}

.fnt-w5 {
  font-weight: 600;
}

.fnt-w6 {
  font-weight: 600;
}

.fnt-w7 {
  font-weight: 700;
}

button {
  font-family: var(--ff-subheading);
}


/* .typo-h2 {
  font-size: var(--font-desktop);
} */

@media (max-width: 767px) {
  .typo-h1 {
    font-size: 40px;
  }

  .typo-h2 {
    font-size: var(--font-mobile);
  }
}


/* ///Newmain.css */

/* Olive Garden Theme CSS - Reusable across all pages */
:root {
  /* Olive Garden Green */
  --og-green-900: #a8ad00;
  --og-green-800: #989C00;
  --og-green-700: #303e1e;
  --og-green-500: #babf69;
  --og-green-400: #d2d598;
  --og-green-100: #e8eacd;

  /* Pasta Yellow */
  --pasta-yellow-900: #f0a74c;
  --pasta-yellow-500: #f4bd79;
  --pasta-yellow-400: #f7d3a5;
  --pasta-yellow-100: #fbe9d2;

  /* Tomato Red */
  --tomato-red-900: #f15a3d;
  --tomato-red-500: #f4836d;
  --tomato-red-400: #f8ac9e;
  --tomato-red-100: #fbd6ce;

  /* Mediterranean Blue */
  --med-blue-900: #9ac9cd;
  --med-blue-500: #aed4d7;
  --med-blue-400: #c2dfe1;
  --med-blue-100: #d7e9eb;

  /* Oregano (Dark/Earthy) */
  --oregano-900: #303e1e;
  --oregano-500: #546548;
  --oregano-400: #838878;
  --oregano-100: #acb2a5;

  /* Parmesan (Light/Cream) */
  --parmesan-900: #ffedd8;
  --parmesan-500: #fcf0e1;
  --parmesan-400: #fdf4e8;
  --parmesan-100: #fdf7f0;

  /* Additional Colors */
  --og-orange: #fda330;
  --og-orange-hover: #e59329;
  --og-orange-light: #ffe8ce;
  --og-red: #da291c;
  --og-green-bg: #304732;
  --og-green-footer: #2e3d2d;
  --text-dark: #333333;
  --text-light: #ffffff;
  --text-black: #000000;
  --bg-light: #f8f8f8;
  --bg-peach: #ffecd6;
  --og-error-red: #D30000;
}

/* * { font-family: "og_neulis_regular"} */

/* ============================================
   Typography
   ============================================ */
body {
  color: var(--text-black);
  font-size: 16px;
  line-height: 1.6;
}

/* 
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "og_neulis_bold";
  font-weight: 700;
  color: var(--oregano-dark);
  line-height: 1.2;
} */

/* Offset utilities to mimic Bootstrap 5 */
.bottom-0 {
  bottom: 0 !important;
}

/* Logical start/end for LTR & RTL support */
.start-0 {
  left: 0 !important;
}

.end-0 {
  right: 0 !important;
}

/* ===============================
   Bootstrap-like Gap Utilities
   Scale: 0, .25rem, .5rem, 1rem, 1.5rem, 3rem
   Breakpoints: sm (≥576px), md (≥768px), lg (≥992px), xl (≥1200px), xxl (≥1400px)
   =============================== */

/* ---- Base scale (no breakpoint) ---- */
.gap-0 {
  gap: 0;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 1rem;
}

.gap-4 {
  gap: 1.5rem;
}

.gap-5 {
  gap: 3rem;
}

.row {
  margin-right: -15px;
  margin-left: -15px;
}

.row-gap-0 {
  row-gap: 0;
}

.row-gap-1 {
  row-gap: 0.25rem;
}

.row-gap-2 {
  row-gap: 0.5rem;
}

.row-gap-3 {
  row-gap: 1rem;
}

.row-gap-4 {
  row-gap: 1.5rem;
}

.row-gap-5 {
  row-gap: 3rem;
}

.column-gap-0 {
  column-gap: 0;
}

.column-gap-1 {
  column-gap: 0.25rem;
}

.column-gap-2 {
  column-gap: 0.5rem;
}

.column-gap-3 {
  column-gap: 1rem;
}

.column-gap-4 {
  column-gap: 1.5rem;
}

.column-gap-5 {
  column-gap: 3rem;
}

/* ====================================
   Responsive variants
   (Use the same pattern for row-gap-* and column-gap-*)
   ==================================== */

/* >= 576px (sm) */
@media (min-width: 576px) {
  .gap-sm-0 {
    gap: 0;
  }

  .gap-sm-1 {
    gap: 0.25rem;
  }

  .gap-sm-2 {
    gap: 0.5rem;
  }

  .gap-sm-3 {
    gap: 1rem;
  }

  .gap-sm-4 {
    gap: 1.5rem;
  }

  .gap-sm-5 {
    gap: 3rem;
  }

  .row-gap-sm-0 {
    row-gap: 0;
  }

  .row-gap-sm-1 {
    row-gap: 0.25rem;
  }

  .row-gap-sm-2 {
    row-gap: 0.5rem;
  }

  .row-gap-sm-3 {
    row-gap: 1rem;
  }

  .row-gap-sm-4 {
    row-gap: 1.5rem;
  }

  .row-gap-sm-5 {
    row-gap: 3rem;
  }

  .column-gap-sm-0 {
    column-gap: 0;
  }

  .column-gap-sm-1 {
    column-gap: 0.25rem;
  }

  .column-gap-sm-2 {
    column-gap: 0.5rem;
  }

  .column-gap-sm-3 {
    column-gap: 1rem;
  }

  .column-gap-sm-4 {
    column-gap: 1.5rem;
  }

  .column-gap-sm-5 {
    column-gap: 3rem;
  }
}

/* >= 768px (md) */
@media (min-width: 768px) {
  .gap-md-0 {
    gap: 0;
  }

  .gap-md-1 {
    gap: 0.25rem;
  }

  .gap-md-2 {
    gap: 0.5rem;
  }

  .gap-md-3 {
    gap: 1rem;
  }

  .gap-md-4 {
    gap: 1.5rem;
  }

  .gap-md-5 {
    gap: 3rem;
  }

  .row-gap-md-0 {
    row-gap: 0;
  }

  .row-gap-md-1 {
    row-gap: 0.25rem;
  }

  .row-gap-md-2 {
    row-gap: 0.5rem;
  }

  .row-gap-md-3 {
    row-gap: 1rem;
  }

  .row-gap-md-4 {
    row-gap: 1.5rem;
  }

  .row-gap-md-5 {
    row-gap: 3rem;
  }

  .column-gap-md-0 {
    column-gap: 0;
  }

  .column-gap-md-1 {
    column-gap: 0.25rem;
  }

  .column-gap-md-2 {
    column-gap: 0.5rem;
  }

  .column-gap-md-3 {
    column-gap: 1rem;
  }

  .column-gap-md-4 {
    column-gap: 1.5rem;
  }

  .column-gap-md-5 {
    column-gap: 3rem;
  }
}

/* >= 992px (lg) */
@media (min-width: 992px) {
  .gap-lg-0 {
    gap: 0;
  }

  .gap-lg-1 {
    gap: 0.25rem;
  }

  .gap-lg-2 {
    gap: 0.5rem;
  }

  .gap-lg-3 {
    gap: 1rem;
  }

  .gap-lg-4 {
    gap: 1.5rem;
  }

  .gap-lg-5 {
    gap: 3rem;
  }

  .row-gap-lg-0 {
    row-gap: 0;
  }

  .row-gap-lg-1 {
    row-gap: 0.25rem;
  }

  .row-gap-lg-2 {
    row-gap: 0.5rem;
  }

  .row-gap-lg-3 {
    row-gap: 1rem;
  }

  .row-gap-lg-4 {
    row-gap: 1.5rem;
  }

  .row-gap-lg-5 {
    row-gap: 3rem;
  }

  .column-gap-lg-0 {
    column-gap: 0;
  }

  .column-gap-lg-1 {
    column-gap: 0.25rem;
  }

  .column-gap-lg-2 {
    column-gap: 0.5rem;
  }

  .column-gap-lg-3 {
    column-gap: 1rem;
  }

  .column-gap-lg-4 {
    column-gap: 1.5rem;
  }

  .column-gap-lg-5 {
    column-gap: 3rem;
  }
}

/* >= 1200px (xl) */
@media (min-width: 1200px) {
  .gap-xl-0 {
    gap: 0;
  }

  .gap-xl-1 {
    gap: 0.25rem;
  }

  .gap-xl-2 {
    gap: 0.5rem;
  }

  .gap-xl-3 {
    gap: 1rem;
  }

  .gap-xl-4 {
    gap: 1.5rem;
  }

  .gap-xl-5 {
    gap: 3rem;
  }

  .row-gap-xl-0 {
    row-gap: 0;
  }

  .row-gap-xl-1 {
    row-gap: 0.25rem;
  }

  .row-gap-xl-2 {
    row-gap: 0.5rem;
  }

  .row-gap-xl-3 {
    row-gap: 1rem;
  }

  .row-gap-xl-4 {
    row-gap: 1.5rem;
  }

  .row-gap-xl-5 {
    row-gap: 3rem;
  }

  .column-gap-xl-0 {
    column-gap: 0;
  }

  .column-gap-xl-1 {
    column-gap: 0.25rem;
  }

  .column-gap-xl-2 {
    column-gap: 0.5rem;
  }

  .column-gap-xl-3 {
    column-gap: 1rem;
  }

  .column-gap-xl-4 {
    column-gap: 1.5rem;
  }

  .column-gap-xl-5 {
    column-gap: 3rem;
  }
}

/* >= 1400px (xxl) */
@media (min-width: 1400px) {
  .gap-xxl-0 {
    gap: 0;
  }

  .gap-xxl-1 {
    gap: 0.25rem;
  }

  .gap-xxl-2 {
    gap: 0.5rem;
  }

  .gap-xxl-3 {
    gap: 1rem;
  }

  .gap-xxl-4 {
    gap: 1.5rem;
  }

  .gap-xxl-5 {
    gap: 3rem;
  }

  .row-gap-xxl-0 {
    row-gap: 0;
  }

  .row-gap-xxl-1 {
    row-gap: 0.25rem;
  }

  .row-gap-xxl-2 {
    row-gap: 0.5rem;
  }

  .row-gap-xxl-3 {
    row-gap: 1rem;
  }

  .row-gap-xxl-4 {
    row-gap: 1.5rem;
  }

  .row-gap-xxl-5 {
    row-gap: 3rem;
  }

  .column-gap-xxl-0 {
    column-gap: 0;
  }

  .column-gap-xxl-1 {
    column-gap: 0.25rem;
  }

  .column-gap-xxl-2 {
    column-gap: 0.5rem;
  }

  .column-gap-xxl-3 {
    column-gap: 1rem;
  }

  .column-gap-xxl-4 {
    column-gap: 1.5rem;
  }

  .column-gap-xxl-5 {
    column-gap: 3rem;
  }
}

@media (max-width: 768px) {
  .mobile-px-20 {
    padding-left: 20px;
    padding-right: 20px;
  }
}


.text-transform-none {
  text-transform: none !important;
}

/* ============================================
   Buttons
   ============================================ */
.btn {
  font-family: var(--ff-subheading);
  border-radius: 50px;
  padding: 12px 20px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 14px;
  transition: all 0.3s ease;
  border: none;
}

@media (max-width: 768px) {
  .btn {
    padding: 12px 20px;
  }
}

.btn-large {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
  width: 100% !important;
}

.btn-small {
  padding: 9px 12px !important;
}

.btn-primary-og {
  background-color: var(--og-orange);
  color: var(--text-black);
}

.btn-primary-og:hover {
  background-color: var(--og-orange-hover);
  color: var(--text-light);
}

.btn-secondary-og {
  background-color: var(--og-green-dark);
  color: var(--text-light);
}

.btn-secondary-og:hover {
  background-color: var(--og-green-medium);
  color: var(--text-light);
}

.btn-outline-og {
  background-color: transparent;
  color: var(--text-black);
  border: 2px solid var(--text-black);
}

.btn-outline-og:hover {
  background-color: var(--text-dark);
  color: var(--text-light) !important;
  border: 2px solid var(--text-light);
}

.btn-outline-light-og {
  background-color: transparent;
  color: var(--text-light);
  border: 2px solid var(--text-light);
}

.btn-outline-light-og:hover {
  background-color: var(--text-light);
  color: var(--text-dark);
}

.btn-white-og {
  background-color: var(--text-light);
  color: var(--text-dark);
}

.btn-white-og:hover {
  background-color: var(--og-orange-light);
  color: var(--text-dark);
}

.btn-peach-og {
  background-color: var(--bg-peach);
  color: var(--text-black);
}

.btn-peach-og:hover {
  background-color: var(--og-orange-light);
  color: var(--text-black);
}

.btn-blue-og {
  background-color: var(--med-blue-100);
  color: var(--text-black);
}

.btn-blue-og:hover {
  background-color: var(--bg-light);
}


.btn-blue-900-og {
  background-color: var(--med-blue-900);
  color: var(--text-black);
}

.btn-blue-900-og:hover {
  background-color: var(--bg-light);
}

.btn-green-og {
  background-color: var(--og-green-100);
  color: var(--text-black);
}

.btn-green-og:hover {
  background-color: var(--bg-light);
}

.btn-outline-parmesan-og {
  color: var(--parmesan-900);
  border: 2px solid var(--parmesan-900);
  background-color: rgba(0, 0, 0, 0.5);
}

.btn-outline-parmesan-og:hover {
  color: var(--parmesan-900);
}

.btn-parmesan-og {
  background-color: var(--parmesan-900);
  color: var(--text-black);
}

.btn-parmesan-og:hover {
  background-color: var(--og-orange-light);
}

.btn-tomato-100-og {
  background-color: var(--tomato-red-100);
  color: var(--text-black);
}

.btn-tomato-100-og:hover {
  background-color: var(--tomato-red-400);
  /* TODO: NEED TO BE CHANGE AS PER CLIENT UPDATE */
}

.btn-green-900-og {
  background-color: var(--og-green-900);
  color: var(--text-black);
}

.btn-green-900-og:hover {
  background-color: var(--og-green-800);
}

/* ============================================
   Background Colors
   ============================================ */
.bg-parmesan {
  background-color: var(--parmesan-900);
}

.bg-og-green {
  background-color: var(--og-green-dark);
}

.bg-og-green-light {
  background-color: var(--og-green-pale);
}

.bg-og-green-dark {
  background-color: var(--og-green-bg);
}

.bg-footer {
  background-color: var(--og-green-footer);
}

.bg-pasta-yellow {
  background-color: var(--pasta-yellow-pale);
}

.bg-tomato-red {
  background-color: var(--tomato-red-pale);
}

.bg-med-blue {
  background-color: var(--med-blue-pale);
}

/* ============================================
   Text Colors
   ============================================ */
.text-og-green {
  color: var(--og-green-dark);
}

.text-og-orange {
  color: var(--og-orange);
}

.text-oregano-dark {
  color: var(--oregano-dark);
}

/* ============================================
   Cards
   ============================================ */
.card-og {
  border-radius: 12px;
  overflow: hidden;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  border: none;
  height: 100%;
}

.card-og:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.card-og .card-img-top {
  transition: transform 0.3s ease;
  overflow: hidden;
}

.card-og:hover .card-img-top {
  transform: scale(1.1);
}

.w-fit-content {
  width: fit-content;
}

@media (max-width: 768px) {
  .page--home {
    background-color: #fff;
  }
}

.navbar-og {
  border: 1px solid #d0d0d0;
  padding: 1rem 0;
}

.navbar-og .navbar-brand {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--og-green-dark);
}

.navbar-og .nav-link {
  color: var(--text-dark);
  font-weight: 600;
  text-transform: uppercase;
  padding: 0.5rem 1rem;
  transition: color 0.3s ease;
}

.navbar-og .nav-link:hover {
  color: var(--og-orange);
}

/* Hamburger Menu Styles */
.hamburger-menu {
  padding: 1.75rem;
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999;
  transition: right 0.3s ease;
  overflow-y: auto;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
}

.hamburger-menu.active {
  right: 0;
}

.hamburger-menu-header {
  padding: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.hamburger-menu-header h5 {
  margin: 0;
  color: var(--text-dark);
  font-size: 1.1rem;
}

.hamburger-menu-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: var(--text-dark);
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hamburger-menu-user {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-dark);
  font-weight: 600;
  padding: 0 1.5rem;
  margin-top: 1rem;
}

.hamburger-menu-content {
  padding: 1.5rem 0;
}

.nav-primary {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nav-primary li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0rem;
  color: var(--text-dark);
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.nav-primary li a:hover {
  background-color: var(--parmesan-pale);
}

.nav-primary li a::after {
  content: ">";
  font-weight: 700;
}

.nav-secondary {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
  border-top: 2px dotted #d0d0d0;
  padding-top: 1rem;
}

.nav-secondary li a {
  display: block;
  padding: 0.75rem 0rem;
  color: var(--text-dark);
  text-decoration: none;
  font-weight: 400;
  font-size: 0.95rem;
  transition: background-color 0.3s ease;
}

.nav-secondary li a:hover {
  background-color: var(--parmesan-pale);
}

.hamburger-menu-actions {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem;
  background-color: #fff;
  border-top: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.hamburger-menu-actions .btn {
  width: 100%;
  border-radius: 50px;
  padding: 12px 24px;
}

.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  display: none;
}

.menu-overlay.active {
  display: block;
}

/* Generic Component Styles */
.heading-container-h2 {
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .heading-container-h2 {
    margin-bottom: 1.5rem;
  }

  .heading-container-h2 h2 {
    font-size: 28px;
  }
}

/* ============================================
   Hero Section
   ============================================ */
.hero-section {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3));
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--text-light);
}

.hero-content h1 {
  color: var(--text-light);
  font-size: 3rem;
  margin-bottom: 1.5rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* ============================================
   Section Styles
   ============================================ */
.section-title {
  text-align: center;
  margin-bottom: 3rem;
}

.section-title .script-font {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
}

.section-title h2 {
  font-size: 2.5rem;
  margin: 0;
}

/* ============================================
   Form Styles
   ============================================ */
.form-control-og {
  border-radius: 50px;
  border: 1px solid #ddd;
  padding: 12px 20px;
  font-size: 14px;
}

.form-control-og:focus {
  border-color: var(--og-orange);
  box-shadow: 0 0 0 0.2rem rgba(228, 141, 46, 0.25);
}

/* ============================================
   Badges
   ============================================ */
.badge-new {
  background-color: var(--tomato-red-dark);
  color: var(--text-light);
  padding: 0.5rem 1rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 10;
}

/* ============================================
   Responsive Utilities
   ============================================ */

/* ============================================
   Spacing Utilities
   ============================================ */
.menu-highlites-og {
  margin: 0 auto;
  margin-top: calc(var(--ml-top-mobile, 0) * 1px);
  margin-bottom: calc(var(--ml-bottom-mobile, 0) * 1px);
}

.section-og {
  max-width: 1200px;
  margin: 0 auto;
  margin-top: calc(var(--ml-top-mobile, 0) * 1px);
  margin-bottom: calc(var(--ml-bottom-mobile, 0) * 1px);
  padding-top: calc(var(--padding-top-desktop, 0) * 1px);
  padding-bottom: calc(var(--padding-bottom-desktop, 0) * 1px);
}

@media (max-width: 992px) {

  .section-og,
  .menu-highlites-og {
    max-width: calc(100% - 32px);
  }
}

/* Desktop breakpoint (adjust to your project’s breakpoint) */
@media (min-width: 992px) {

  .section-og,
  .menu-highlites-og {
    margin-top: calc(var(--ml-top-desktop, var(--ml-top-mobile, 0)) * 1px);
    margin-bottom: calc(var(--ml-bottom-desktop, var(--ml-bottom-mobile, 0)) * 1px);
  }
}

@media (max-width: 768px) {
  .section-og {
    margin-top: calc(var(--ml-top-mobile, 0) * 1px);
    margin-bottom: calc(var(--ml-bottom-mobile, 0) * 1px);
    padding-top: calc(var(--padding-top-mobile, 0) * 1px);
    padding-bottom: calc(var(--padding-bottom-mobile, 0) * 1px);
  }
}



/* ============================================
   Home Page
   ============================================ */

.hero-section {
  background-image: url("https://images.unsplash.com/photo-1621996346565-e3dbc646d9a9?w=1366&h=768&fit=crop");
  min-height: 500px;
}

@media (max-width: 768px) {
  .hero-section {
    min-height: 400px;
  }
}

.menu-highlites-container {
  margin: 0 84px;
}

/* Base card layout */
.menu-highlight-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 390px;
  height: 390px;
  display: flex;
  align-items: end;
  justify-content: flex-start;
  padding: 32px;
  background-image: var(--desktop-img);
  background-size: cover;
  background-position: center;
  aspect-ratio: 1 / 1;
  width: clamp(200px, 40vw, 392px);
}

.menu-highlight h2:first-of-type {
  margin-bottom: 24px;
}

.menu-highlight-card img {
  position: absolute;
  top: 0;
  right: 0;
  width: 390px;
  height: 198px;
  object-fit: cover;
  z-index: 1;
  transition: transform 0.3s ease;
}

@media (max-width: 768px) {
  .menu-highlight-card {
    border-radius: 12px;
    min-width: calc(100% - 32px);
    color: white;
    transition: transform 0.3s ease;
  }

  .menu-highlight-card img {
    width: 100%;
    height: auto;
  }

  .menu-highlight-card h4 {
    font-size: 24px !important;
  }
}

.menu-highlight-card:hover img {
  transform: scale(1.1);
}

.menu-highlight-card .content {
  position: relative;
  margin: 32px 0 0 32px;
}

.promotion-card-img {
  margin-bottom: 20px;
}

.special-card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem;
  color: white;
  aspect-ratio: 389 / 435;
  background-size: cover;
  background-position: center;
  max-width: 389px;
  max-height: 435px;
}

.special-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.special-card .content {
  position: relative;
  z-index: 2;
}

/* Specials slider */
.specials-slider {
  position: relative;
}

.specials-slider .slick-slide {
  padding: 0 16px 0 0;
}

/* .specials-slider .special-card {
  min-height: 360px;
} */

.specials-slider .slick-list {
  margin: 0 -12px;
}

.specials-slider .slick-prev,
.specials-slider .slick-next {

  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  /* THIS MUST ALWAYS STAY */
  z-index: 2;
  background: #ffecd6;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
  transform-origin: center center;
  transition: transform 0.25s ease;
  will-change: transform;
}

.slick-next:before,
.slick-prev:before {
  color: #000;
  content: "";
}

.specials-slider .slick-prev:hover,
.specials-slider .slick-next:hover {
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.18);
}

.specials-slider .slick-prev {
  left: -20px;
}

.specials-slider .slick-next {
  right: -20px;
}

/* Completely hide arrows when Slick marks them as disabled (at ends) */
.specials-slider .slick-prev.slick-disabled,
.specials-slider .slick-next.slick-disabled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 991.98px) {

  .specials-slider .slick-prev,
  .specials-slider .slick-next {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .slick-slide {
    width: 280px !important;
  }

  .special-card {
    aspect-ratio: 280 / 312;
    max-width: 280px;
    max-height: 312px;
    padding: 1rem;
  }
}

.specials-slider {
  gap: 16px;
  width: 100%;
  height: 100%;
}

.engagement-card {
  flex: 1 1 calc(25% - 16px);
  /* 4 cards in one row */
}

/* Tablet: 2 cards per row */
@media (max-width: 1024px) {
  .engagement-card {
    flex: 1 1 calc(50% - 16px);
  }
}

/* Mobile: 1 card per row */
@media (max-width: 600px) {
  .engagement-card {
    flex: 1 1 100%;
  }
}

.engagement-card {
  background-color: var(--og-orange);
  border-radius: 1rem;
  padding-bottom: 2rem;
  text-align: center;
  transition: transform 0.3s ease;
  width: 100%;
  max-width: 288px;
  aspect-ratio: 288 / 350;
  max-height: 350px;
  position: relative;
}

.engagement-card .text-btn-section {
  bottom: 32px;
  position: absolute;
  width: 100%;
}

.engagement-card:hover {
  transform: translateY(-5px);
}

.engagement-card i {
  font-size: 3rem;
  color: var(--oregano-dark);
  margin-bottom: 1rem;
}

.engagement-card h5 {
  color: var(--oregano-dark);
  margin-bottom: 1rem;
}

@media (max-width: 600px) {
  .engagement-card {
    border-radius: 1rem;
    padding: 12px;
    text-align: center;
    width: 100%;
    max-width: 343px;
    aspect-ratio: 343 / 132;
    max-height: 132px;
    display: flex;
    gap: 0 16px;
  }

  .engagement-card h5 {
    text-align: left;
    margin-bottom: 0;
  }

  .engagement-card a {
    padding: 9px 32px;
    font-size: 14px;
    margin-top: 12px;
  }
}

/*  ============================================
    Header  Page
    ============================================ */

.header-wrapper {
  padding: 0.73rem 5.18rem;
  box-shadow: rgb(204, 204, 204) 0.125rem 0.125rem 0.5rem;
  height: 100px;
  background: #fff;
}

.header .desktop-nav-wrapper {
  font-family: var(--ff-subheading);
  font-weight: var(--fw-bold);
  margin-left: 2.65rem;
}

.header .desktop-nav-wrapper .desktop-nav .desktop-nav-link {
  color: #000;
}

.header .cart-location-wrapper .cart-location-item .cart-location-link {
  color: #000;
  font-family: var(--ff-subheading);
  font-weight: var(--fw-bold);
}

.header .cart-location-wrapper .cart-location {
  gap: 1rem;
}

.header .visually-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0px, 0px, 0px, 0px);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0px;
  border: 0px;
}

.ae-img-tir {
  width: 224px;
  top: 32%;
  right: 0;
}

@media (max-width: 600px) {
  .ae-img-cart {
    width: 34px;
  }

  .ae-img-logo {
    width: 5rem;
  }

  .header .cart-location-wrapper .cart-location {
    gap: 12px;
  }

  .header-wrapper {
    padding: 1.57rem 26px;
    height: 84px;
  }
}

.header .hamburger-button {
  background: transparent;
  border: none;
  margin: 0 20px 0 0;
  padding: 0px;
}

.header .hamburger-button:focus,
.header .hamburger-button:focus-within,
.header .hamburger-button:active {
  outline: none;
}

.header .hamburger-button .hamburger {
  width: 20px;
  height: 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: top 0.5s ease 0s;
}

.header .hamburger-button .hamburger i {
  width: 100%;
  height: 0.16rem;
  opacity: 1;
  background-color: #000;
  transition:
    transform 0.175s cubic-bezier(0.215, 0.61, 0.355, 1) 0s,
    -webkit-transform 0.175s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}

.header .hamburger-button .hamburger i.middle {
  align-self: flex-start;
}

.header .hamburger-button .hamburger.slider-open i.top {
  transform: translateY(6px) rotate(45deg);
}

.header .hamburger-button .hamburger.slider-open i.middle {
  opacity: 0;
}

.header .hamburger-button .hamburger.slider-open i.bottom {
  transform: translateY(-5px) rotate(-45deg);
}

.header .mobile-nav-slider-wrapper {
  font-family: var(--ff-subheading);
  font-weight: var(--fw-bold);
  width: 100vw;
  height: 100vh;
  top: 84px;
  left: 0;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  z-index: 98;
  overflow-y: auto;
  box-shadow: rgb(204, 204, 204) -2px 7px 6px -6px inset;
}

@media (min-width: 56.25em) {
  .header .mobile-nav-slider-wrapper {
    display: none;
  }
}

@media (min-height: 50.75em) and (min-width: 23.4375em) {
  .header .mobile-nav-slider-wrapper .mobile-nav-item {
    margin-bottom: 1.5rem;
  }


  .header .mobile-nav-slider-wrapper .mobile-nav-item:last-child {
    margin-bottom: 0;
  }

}

.header .mobile-nav-slider-wrapper .mobile-nav-link {
  font-weight: 600;
  font-size: 20px;
  text-transform: uppercase;
  color: #000;
}

.header .mobile-nav-slider-wrapper.is-open {
  transform: translateX(0);
}

.header .mobile-nav-slider-wrapper .mobile-nav {
  margin: 0px 0.5rem;
}

.header .mobile-nav-slider-wrapper .mobile-nav.mobile-nav-primary {
  border-bottom: 0.1rem solid rgb(204, 204, 204);
}

.header .mobile-nav-slider-wrapper .mobile-nav {
  padding: 24px 16px;
}

#no-location-selected {
  font-family: var(--ff-subheading);
}

/* ___________________________ */

@media (min-width: 992px) {

  /* lg and up */
  .brand {
    position: static;
    transform: none;
  }
}

/* Round “LOGIN” button look */
/* .btn-login {
  border: 2px solid #000;
  border-radius: 30px;
  padding: 13px 19px;
} */

/* Cart icon circle look */
.btn-cart {
  width: 40px;
  height: 40px;
  border: 2px solid #000;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  position: relative;
}

.btn-cart .badge {
  position: absolute;
  top: -6px;
  right: -6px;
}

/* Simple hamburger icon lines (if not using an svg) */
.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #000;
  margin: 4px 0;
}

/* Desktop Nav Menu */

.desktop-nav-menu {
  align-items: center;
  margin: 0 60px;
  gap: 32px;
  color: #000;
}

.desktop-nav-menu a {
  color: #000;
  font-weight: 700;
}

/* Desktop Nav Menu */

.desktop-nav-menu {
  align-items: center;
  margin: 0 60px;
  gap: 32px;
  color: #000;
}

.desktop-nav-menu a {
  color: #000;
  font-weight: 700;
}


/* MOBILE FOOTER */
#mobile-footer {
  height: 82px;
  z-index: 10;
}

@media (max-width: 767px) {
  .mb-mobile-footer {
    margin-bottom: 82px;
  }
}

/* VIDEO BANNER */
.video-banner {
  min-height: 768px;
  width: 100%;
  background-color: #000;
}

/* Media container (video + overlay) */
.video-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Content stack */
.video-content {
  position: relative;
  z-index: 1;
  min-height: 768px;
  padding: 4rem 1rem;
  justify-content: center;
}

.video-title {
  font-family: "og_neulis_bold";
  font-weight: 700;
  font-size: 100px;
  line-height: 90%;
  text-align: center;
  color: #fff;
}

.vide-banner-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

/* ===== Responsive Type ===== */
@media (max-width: 1200px) {
  .video-content {
    min-height: 620px;
  }
}

@media (max-width: 992px) {

  /* tablets */
  .video-content {
    min-height: 520px;
  }

  .video-title {
    font-size: 56px;
  }
}

@media (max-width: 768px) {

  .vide-banner-btn {
    flex-direction: column;
  }

  /* phones */
  .video-content {
    min-height: 420px;
    padding: 3rem 1rem;
  }

  .video-title {
    font-size: 60px;
    line-height: 112.00000000000001%;
    white-space: nowrap;
  }

  .video-cta {
    padding: 0.75rem 1.25rem;
  }
}

/* ========= ECLUB SECTION START ========== */

.eclub-section {
  background: var(--med-blue-900);
  padding: 24px 48px;
  display: flex;
  align-items: center;
}


.eclub-input {
  padding: 8px 16px;
  border-radius: 26px;
  border: 1px solid var(--med-blue-900);
  background: #fff;
  font-size: 14px;
  font-family: "Neulis Sans";
  line-height: 1.2;
}

.eclub-input::placeholder {
  color: #979797 !important;
}

.eclub-btn {
  display: flex;
  border-radius: 30px;
  height: 52px;
  padding: 20px 28px;
  justify-content: center;
  align-items: center;
  font-family: "Neulis Neue";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 18px;
}

.eclub-btn:hover {
  color: #000000;
}

.invalid-feedback {
  color: var(--text-black);
}

/* has() ONLY WORK IN LATEST BROWSER */
.eclub-section:has(.eclub-input.is-invalid) .invalid-feedback-mobile {
  margin-top: 12px;
  margin-bottom: 12px;
}

.eclub-input.is-invalid {
  border-color: var(--og-error-red);
  border: 2px solid;
  color: var(--og-error-red);
}

.eclub-input.is-invalid::placeholder {
  color: var(--og-error-red);
}

.eclub-success-msg {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: left;
  justify-content: center;
  gap: 16px;
}

.eclub-success-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.eclub-success-content {
  max-width: 640px;
}

.eclub-desktop-line {
  gap: 16px !important;
}

.eclub-gap-16 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.eclub-form-layout {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  justify-content: center;
}

.eclub-heading-block {
  grid-area: heading;
}

.eclub-fields-row {
  grid-area: fields;
}

.eclub-errors-mobile {
  grid-area: errors;
}

.eclub-submit-wrap {
  grid-area: submit;
}

.eclub-footnote--mobile {
  grid-area: footnote;
}

.eclub-heading-block {
  flex: 0 0 auto;
  margin-right: 37px;
}

.eclub-fields-row {
  display: flex;
  gap: 16px;
  min-width: 0;
}

.eclub-submit-wrap {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.eclub-footnote--desktop {
  display: block;
}


.eclub-errors-mobile {
  display: none;
}

.eclub-footnote--mobile {
  display: none;
}

@media (max-width: 991px) {
  .eclub-section {
    background: var(--med-blue-900);
    padding: 24px 16px;
    display: flex;
    align-items: center;

    .container-fluid {
      padding-left: 0;
      padding-right: 0;
    }
  }

  .eclub-title {
    font-size: 18px;
  }

  .eclub-input {
    height: 48px;
    border-radius: 24px;
    font-size: 12px;
  }

  .eclub-btn {
    display: flex;
    height: 48px;
    padding: 6px 24px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    align-self: stretch;

    font-size: 16px;
    font-weight: 600;
    line-height: normal;
    width: 100%;
  }

  .eclub-success-msg {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 58px 80px;
  }

  .eclub-success-content {
    max-width: 100%;
  }

  .eclub-form-layout {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "fields"
      "errors"
      "submit"
      "footnote";
    row-gap: 12px;
    align-items: start;
  }

  .eclub-heading-block {
    text-align: center;
    margin: 0;
  }

  .eclub-fields-row {
    gap: 8px;
    width: 100%;
  }

  .email-col {
    flex: 1 1 auto;
    min-width: 0;
  }

  .zip-col {
    flex: 0 0 40%;
    min-width: 120px;
    max-width: 260px;
  }

  .eclub-footnote--mobile {
    display: block;
    font-size: 12px;
    font-weight: 500;
  }

  .eclub-footnote--desktop {
    display: none;
  }

  .invalid-feedback--desktop {
    display: none !important;
  }

  .eclub-errors-mobile {
    display: block;
  }
}

@media (min-width: 992px) {
  .eclub-input {
    height: 52px;
  }

  .invalid-feedback {
    height: 0;
    position: relative;
    margin-top: 6px;
  }

  /* has() ONLY WORK IN LATEST BROWSER */
  .eclub-section:has(.eclub-input.is-invalid) #submit-ab-eclub {
    margin-bottom: 6px;
  }

  .eclub-submit-wrap {
    width: fit-content;
  }

  .zip-col {
    flex: 0 0 180px;
  }

  .email-col {
    width: 340px;
  }
}


@media (min-width: 1400px) {
  #eclub_form .col-xxl-10 {
    max-width: 1366px;
    margin: 0 auto;
  }
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* ========= ECLUB SECTION END ========== */

/* ========= IMAGE BANNER SECTION START ========== */
.image-banner-section {
  background-color: #ffedd8;
  padding-top: 64px;
  padding-bottom: 64px;
  gap: 24px;
}

.image-banner-wrapper {
  width: 100%;
  height: 136px;
}

.image-banner {
  max-width: 730px;
  max-height: 132px;
  display: block;
  margin: 0 auto;
}

.image-banner-title {
  font-family: "Neulis Cursive";
  font-weight: 700;
  font-size: 90px;
  line-height: 90px;
  letter-spacing: 0;
  text-align: center;
  color: #000000;
  text-wrap: nowrap;
}

.image-banner-subtitle {
  font-family: "Neulis Cursive";
  font-weight: 700;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 0;
  vertical-align: middle;
  color: #000000;
}

.image-banner-code {
  display: none;
}

/* Mobile Eclub */
@media (max-width: 1023px) {
  .image-banner-title {
    font-size: 48px;
    line-height: 48px;
    text-wrap: wrap;
  }

  .image-banner-section {
    height: 325px;
    padding-top: 17px;
    padding-bottom: 24px;
  }

  .image-banner-wrapper {
    height: 64px;
  }

  .image-banner-subtitle {
    display: none;
  }

  .image-banner-code {
    display: block;
    font-family: "Neulis Neue";
    font-weight: 600;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0;
    color: #000000;
  }
}

/* ========= IMAGE BANNER SECTION END ========== */

/* ========= FAQS SECTION START ========== */
.faqs-holder {
  max-width: 800px;
  margin-bottom: 4.5rem;
  width: 100%;
}

.faq-section {
  .heading-container-h2 {
    margin-top: 2.625rem;
  }
}

.faq-section {
  background: #d3eaee;
  padding: 24px 0;
}

.faq-items {
  border-bottom: 1px solid #c5c5c5;
  width: 100%;
  display: block;
}

.faq-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.question {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.faqs-h2 {
  font-size: clamp(2rem, 3.125vw, 3rem);
  text-align: center;
  /* font-size: 3rem; */
  color: black;
}

.faqs-h3 {
  font-size: 1rem;
  font-weight: 500;
  color: black;
  cursor: pointer;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.faqs-h3 .arrow {
  transition: transform 0.1s ease;
}

.faqs-h3:not(.collapsed) .arrow {
  transform: rotate(45deg);
}

.content.collapse {
  width: 100% !important;
  transition: height 0.2s ease;
  overflow: hidden;
}

@media (max-width: 768px) {
  .faqs-holder {
    max-width: calc(100% - 32px);
    padding: 0 8px;
  }

  .faq-items,
  .faq-inner,
  .question,
  .faqs-h3,
  .content.collapse {
    width: 100% !important;
    box-sizing: border-box;
  }
}

/* ========= FAQS SECTION END ========== */

/* ============================
   Carousel Section Home Page
============================ */

.carousel-section {
  margin-bottom: 64px;
  padding: 60px 84px 0 60px;
}

.special-card {
  background-image: var(--desktop-img);
}

@media (max-width: 767px) {
  .carousel-section {
    margin-bottom: 0px;
    padding: 40px 16px 0 16px;
  }

  .special-card {
    background-image: var(--mobile-img);
  }
}

/* ============================
   MENU HIGHLIGHTS GRID LAYOUT
============================ */

.menu-highlight {
  padding: 0 84px;
  margin-bottom: 64px;
}

.menu-grid-container {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 1220px;
  margin: 0 auto;
}



/* Content container */
.menu-card-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Title */
.menu-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  line-height: 1.2;
  margin-bottom: 40px;
}

/* ============================
   DESKTOP (≥992px)
============================ */
@media (min-width: 992px) {
  .menu-grid-container {
    justify-content: center;
  }

  .menu-highlight-card {
    max-width: 390px;
    height: 392px;
  }
}

@media (max-width: 767px) {
  .menu-card-title {
    margin-bottom: 24px;
  }

  .menu-highlight-card {
    background-image: var(--mobile-img);
    max-height: 234px;
  }
}

/* ============================
   TABLET (600px–991px)
============================ */
@media (min-width: 600px) and (max-width: 991px) {
  .menu-highlight {
    padding: 0 32px;
    margin-bottom: 32px;
  }

  .menu-highlight-card {
    max-width: 100%;
  }
}

/* ============================
   MOBILE (≤768px)
============================ */
@media (max-width: 768px) {
  .menu-highlight {
    padding: 0;
  }

  .menu-highlight-card {
    width: 100%;
    max-width: 100%;
    height: 180px;
    padding: 20px 0 20px 20px;
    border-radius: 12px;
  }

  .menu-card-title {
    font-size: 24px;
  }
}

@media (min-width: 769px) {
  .menu-highlight-card {
    max-width: 390px;
  }
}

/* Icons */
.banner-icon {
  width: 70px;
}

/* Heading */
.banner-heading {
  font-size: 48px;
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 10px;
}

/* Subheading text */
.banner-subtext {
  font-family: var(--ff-heading);
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
}

/* CTA */
.banner-btn {
  border-radius: 50px;
  font-weight: 600;
}

/* ============================= */
/* RESPONSIVE MOBILE OVERRIDES   */
/* ============================= */

@media (max-width: 767px) {
  .banner-icon {
    width: 45px;
  }

  .dotted-line {
    width: 40px;
  }

  .banner-heading {
    font-size: 32px;
    line-height: 1.2;
  }

  .banner-subtext {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

/* Main Section */
.image-banner-section {
  display: flex;
  justify-content: center;
}

.image-banner-section {
  background-image: var(--bg-desktop);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 750px auto;
  /* <-- do NOT stretch */
  padding: 140px 20px 60px;
}

/* MOBILE */
@media (max-width: 767px) {
  .image-banner-section {
    background-size: 90% auto;
    /* smaller icons on mobile */
    padding-top: 120px;
    /* adjust as needed */
  }
}

.promo-banner img {
  text-align: center;
  width: 100%;
}

/* Top Image */
/* .banner-image-wrapper {
  display: flex;
  justify-content: center;
} */

/* CTA Button */
.banner-btn {
  padding: 10px 30px;
  font-size: 16px;
  background: transparent;
  border: 2px solid #000;
  border-radius: 40px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.2s ease;
}

.banner-btn:hover {
  background: #000;
  color: #fff;
}

/* ----------------------- */
/*      MOBILE VIEW        */
/* ----------------------- */
@media (max-width: 767px) {
  .image-banner-section {
    padding: 100px 16px 28px 16px;
  }

  .banner-top-image {
    max-width: 160px;
  }

  .banner-btn {
    padding: 8px 24px;
    font-size: 14px;
  }
}

/* Promo Cards */


.quickaction-grid {
  display: grid;
  grid-template-columns: 1fr;
  /* Mobile 1×1 */
  gap: 20px;
  margin: 0 auto;
  max-width: 1212px;
}

/* Tablet: 2 × 2 matrix */
@media (min-width: 768px) {

  .quickaction-grid {
    grid-template-columns: repeat(auto-fit, minmax(246px, 1fr));
  }
}

/* Desktop: single row (4 columns) */
@media (min-width: 1200px) {

  .quickaction-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* --- Card --- */
.quickaction-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;

  /* Color fallback */
  background-color: var(--card-bg-color, #eee);

  /* Default: Mobile background image */
  background-image:
    linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.1) 100%),
    var(--bg-mobile);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  aspect-ratio: 288 / 350;
  max-height: 350px;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease;
}

.quickaction-card-btn {
  min-width: 165px
}

/* Swap to desktop image at desktop breakpoint */
@media (min-width: 768px) {
  .quickaction-card {
    background-image:
      linear-gradient(180deg, rgba(0, 0, 0, 0) 30%), var(--bg-desktop);
    aspect-ratio: 288 / 350;
    max-height: 350px;
  }
}

@media (max-width: 768px) {
  .quickaction-card {
    aspect-ratio: 1;
    min-height: 132px;
    width: 100%;
    max-height: 150px;
  }

  .quickaction-card-btn {
    min-width: 151px;
  }
}

.quickaction-card:hover {
  transform: translateY(-2px);
}

/* Extra overlay for readability */
.quickaction-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Content */

.quickaction-content {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  /* center for mobile/tablet */
  gap: 14px;
  padding: 20px;
  text-align: center;
  color: var(--card-text, #111);
}

@media (max-width: 768px) {
  .quickaction-content {
    width: 66%;
    left: 34%;
    place-items: baseline;
    padding: 24px 0;
  }

  .quickaction-title {
    text-align: left;
  }

  .quickaction-content-inner {
    display: flex;
    align-items: center;
    height: 100%;
  }
}

@media (min-width: 768px) {
  .quickaction-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    /* push content to bottom */
    align-items: center;
    padding: 18px 22px 32px;
    /* <-- 32px bottom padding */
    gap: 12px;
    text-align: center;
  }
}

.quickaction-title {
  margin: 0;
  font-weight: 700;
  line-height: 1.15;
  color: var(--card-text, #111);
  font-size: clamp(22px, 2.2vw, 22px);
}

/* ---------- Pair block behavior ---------- */
/* Mobile/Tablet: unwrap the pair so children act like normal grid items */
.card-pair {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.card-pair>.menu-card.is-half {
  transition: transform 0.3s ease;
}

/* Desktop: keep both half cards inside one grid cell and stack */
@media (min-width: 1200px) {
  .card-pair {
    display: flex;
    aspect-ratio: 1 / 1;
    flex-direction: column;
    max-width: 390px;
    gap: 20px;
  }

  /* Let each half fill its row inside the pair */
  .card-pair>.menu-card.is-half {
    max-height: 186px;
    max-width: 390px;
    padding: 32px;
  }
}

@media (min-width: 768px) {
  .card-pair>.menu-card.is-half {
    padding: 32px;
  }
}

.menu-card {
  border-radius: 16px;
  overflow: hidden;
  background-color: #ece7df;
  background-image: var(--mobile-img);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  aspect-ratio: 1 / 1;
  /* full block looks square */
  max-height: 188px;
  max-width: 390px;
  width: 390px;
  display: flex;
  align-items: end;
}

.menu-half-card-content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (max-width: 767px) {
  .card-pair {
    width: 100%;
  }

  .menu-card {
    max-width: 100%;
    width: 100%;
  }

  .menu-half-card-content {
    padding: 20px;
    max-width: 60%;
  }
}

/* Footer Section */
.og-footer {
  background: var(--og-green-700);
  color: #fff;
  font-family: var(--ff-body);
  position: relative;
  overflow: hidden;
}

.og-footer__inner {
  margin: 0 auto;
  max-width: var(1200px);
  padding: 40px 16px;
  display: grid;
  gap: 40px;
  position: relative;
}

/* ===== Columns ===== */
.og-footer__cols {
  display: grid;
  grid-template-columns: 1fr;
  /* mobile: 1 column */
  gap: 24px;
  /* vertical space between sections */
}

.og-footer__heading {
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 700;
  font-size: 20px;
  font-family: var(--ff-display);
  color: #fff;
}

.og-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.og-footer__links a {
  text-decoration: none;
  font-weight: 500;
  color: #fff;
}

.og-footer__links a:hover,
.og-footer__links a:focus-visible {
  color: #fff;
  text-decoration: underline;
}

/* ===== Social & Apps ===== */
.og-footer__mid {
  display: grid;
  gap: 24px;
}

.og-footer__subheading {
  text-transform: uppercase;
  font-family: var(--ff-body);
  letter-spacing: 0.6px;
  margin: 0 0 12px;
  font-weight: 500;
  font-size: 16px;
  color: #fff;
}

.og-social {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 12px;
}

.og-social__btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--og-green-700);
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.og-social__btn:hover {
  filter: brightness(1.1);
}

.og-badges {
  display: flex;
  gap: 12px;
  align-items: center;
}

.og-badge {
  display: inline-block;
  width: 105px;
  height: 35px;
  border-radius: 8px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* ===== Legal ===== */
.og-footer__legal {
  display: grid;
  gap: 16px;
}

.og-footer__legal-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.og-footer__legal-links a {
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  text-transform: capitalize;
  white-space: nowrap;
}

.og-footer__legal-links a:hover,
.og-footer__legal-links a:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.og-footer__copy {
  margin: 0;
  color: #fff;
  font-size: 12px;
}

/* ===== Brand mark bottom-right (desktop comp) ===== */
.og-footer__brand {
  position: absolute;
  right: 0px;
  bottom: 24px;
  width: 160px;
  height: 120px;
  background: url("/cmsdata/olivegarden/images/og_while_logo.svg") no-repeat right bottom / contain;
  pointer-events: none;
}

/* ===== Accessibility ===== */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

/* ================== Tablet (iPad) ================== */
@media (min-width: 768px) {
  .og-footer__inner {
    gap: 40px;
  }

  .og-footer__cols {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    column-gap: 36px;
    row-gap: 36px;
  }

  .og-footer__mid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .og-footer__legal-links {
    grid-template-columns: repeat(3, auto);
    column-gap: 24px;
    row-gap: 10px;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .og-footer__inner {
    padding-left: 60px;
    padding-right: 60px;
  }
}

@media (min-width: 1600px) {

  /* {styles for wide monitors and large laptops */
  .og-footer__xl {
    max-width: 1344px;
    margin: 0 auto;
  }
}

/* ================== Desktop ================== */
@media (min-width: 1200px) {
  .og-footer__inner {
    padding: 62px 84px 32px 84px;
    /* 84px top/bottom as per comp */
    gap: 36px;
    /* gap to legal row ~36px */
  }

  .og-footer__cols {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 64px;
  }

  .og-footer__mid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 64px;
    align-items: center;
  }

  .og-footer__legal-links {
    grid-template-columns: repeat(12, auto);
    column-gap: 22px;
    align-items: center;
  }

  .og-footer__brand {
    right: 0px;
    bottom: 136px;
    width: 220px;
    height: 150px;
  }
}

/* ================== Mobile (<= 767.98px) ================== */
@media (max-width: 767.98px) {

  /* Center text for all headings, links, and paragraphs */
  .og-footer__inner,
  .og-footer__cols,
  .og-footer__col,
  .og-footer__heading,
  .og-footer__links,
  .og-footer__links li,
  .og-footer__links a,
  .og-footer__subheading,
  .og-footer__legal,
  .og-footer__legal-links,
  .og-footer__copy {
    text-align: center;
  }

  .og-footer__col {
    margin-bottom: 24px
  }

  .og-footer__heading {
    margin-bottom: 14px;
  }

  .og-footer__links {
    gap: 14px;
  }

  .og-footer__subheading {
    margin-bottom: 14px;
  }

  .og-footer__inner {
    margin-bottom: 60px;
  }

  /* If your lists are CSS Grid, center their items */

  .og-footer__legal-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  /* Social icons centered in a row */
  .og-social {
    justify-content: center;
  }

  /* App badges centered */
  .og-badges {
    justify-content: center;
  }

  /* Optional: widen tap targets a bit for mobile */
  .og-footer__links a,
  .og-footer__legal-links a {
    display: inline-block;
    padding: 6px 0;
    line-height: 1;
  }

  /* If any columns used flex, normalize */
  .og-footer__mid {
    justify-items: center;
  }

  /* Ensure brand mark doesn’t overlap centered content on very small screens */
  .og-footer__brand {
    margin: 0 auto;
    position: inherit;
  }
}

.og-typography {
  font-size: var(--font-desktop);
  font-weight: var(--weight-desktop);
  font-family: var(--font-family-desktop);
  line-height: var(--line-height-desktop, 1);
  text-align: var(--text-align-desktop);
  color: var(--color-desktop);
  margin-top: var(--margin-top-desktop, 0);
  margin-bottom: var(--margin-bottom-desktop, 0);
  width: var(--desktop-width, 100%);
}

.og-typography span {
  width: 100% !important;
}

@media (max-width: 768px) {
  .og-typography {
    font-size: var(--font-mobile);
    font-weight: var(--weight-mobile);
    font-family: var(--font-family-mobile);
    line-height: var(--line-height-mobile, 1);
    text-align: var(--text-align-mobile);
    color: var(--color-mobile);
    display: block;
    margin-top: var(--margin-top-mobile, 0);
    margin-bottom: var(--margin-bottom-mobile, 0);
    width: var(--mobile-width, 100%);
    /* margin: 0; */
  }
}

/* ========= CONTENT - POSITIONS ========== */

.banner-content {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* VERTICAL ALIGNMENT */
.position-top {
  top: 30px;
}

.position-middle {
  top: 50%;
  transform: translateY(-50%);
}

.position-bottom {
  bottom: 30px;
}

/* HORIZONTAL ALIGNMENT */
.position-left {
  left: 30px;
  /* text-align: left; */
}

.position-center {
  left: 50%;
  transform: translateX(-50%);
  /* text-align: center; */
}

.position-right {
  right: 30px;
  /* text-align: right; */
}

.position-middle.position-center {
  transform: translate(-50%, -50%);
}

/* ========= CONTENT - POSITIONS ========== */

.image-banner-container {
  position: relative;
  width: 100%;
  display: flex;
  height: var(--desktop-height, auto);
}

.image-banner-bg {
  width: 100%;
  display: block;
  height: 100%;
}

/* Content Overlay */
.image-banner-content {
  position: absolute;
  justify-content: var(--desktop-justify);
  align-items: var(--desktop-align);
  height: 100%;
  padding-top: var(--desktop-padding-top, 0);
  padding-bottom: var(--desktop-padding-bottom, 0);
  width: 100%;
}

.image-banner-container picture {
  width: 100%;
}

@media (max-width: 768px) {
  .image-banner-container {
    height: var(--mobile-height, auto);
  }

  .image-banner-content {
    padding-top: var(--mobile-padding-top, 0);
    padding-bottom: var(--mobile-padding-bottom, 0);
    padding-left: var(--mobile-padding-left, 0);
    padding-right: var(--mobile-padding-right, 0);
  }
}



.image-banner-title {
  font-size: 48px;
  font-weight: 800;
  color: black;
}

.image-banner-subtitle {
  font-size: 18px;
  margin-top: 12px;
  color: #333;
}

/* ============================================
  Dynamic Position Banner (use with HeroVideoBanner.jsx)
  ============================================ */

.dynamic-position-banner {
  margin-top: 0;
}

.dynamic-position-banner__wrapper {
  overflow: hidden;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  aspect-ratio: 1;
  height: 100%;
  width: 100%;
}

.video-banner-section {
  height: 750px;
}

@media (max-width: 769px) {
  .video-banner-section {
    max-height: 650px;
  }
}

.dynamic-position-banner__content-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: var(--mobile-justify, center);
  align-items: var(--mobile-align, center);
  padding-left: var(--mobile-padding-left, 0px);
  padding-right: var(--mobile-padding-right, 0px);
  padding-top: var(--mobile-padding-top, 0px);
  padding-bottom: var(--mobile-padding-bottom, 0px);
}

@media (min-width: 769px) {
  .dynamic-position-banner__content-overlay {
    justify-content: var(--desktop-justify, center);
    align-items: var(--desktop-align, center);

    padding-left: var(--desktop-padding-left, 0px);
    padding-right: var(--desktop-padding-right, 0px);
    padding-top: var(--desktop-padding-top, 0px);
    padding-bottom: var(--desktop-padding-bottom, 0px);
  }
}

.dynamic-position-banner__content-inner {
  max-width: var(--desktop-width, 100%);
  color: #fff;
}

@media (max-width: 768px) {
  .dynamic-position-banner__content-inner {
    max-width: var(--mobile-width, 100%);
  }
}

main.og-page-body {
  margin-top: 100px;
  background-color: var(--parmesan-100);
}

@media (max-width: 767px) {
  main.og-page-body {
    margin-top: 85px;
  }
}


/* ========== OG-BUTTON CSS ============== */
.og-button {
  background: var(--btn-bg, transparent);
  color: var(--btn-color, #fff);
  font-size: var(--btn-font-size, 18px);
  font-weight: var(--btn-font-weight, 700);
  font-family: var(--btn-font-family, inherit);
  border-radius: var(--btn-radius, 30px);
  border: var(--btn-border);
  text-align: var(--btn-text-align);
  cursor: pointer;
  line-height: var(--desktop-line-height, normal);
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}

.og-button:hover:not(:disabled) {
  background: var(--btn-hover-bg, var(--btn-bg, transparent));
  color: var(--btn-hover-color, var(--btn-color, #fff));
  border: var(--btn-hover-border);
}

.og-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 991px) {
  .og-button {
    background: var(--btn-bg-mobile, var(--btn-bg, transparent));
    color: var(--btn-color-mobile, var(--btn-color, #fff));
    font-size: var(--btn-font-size-mobile, var(--btn-font-size, 18px));
    font-weight: var(--btn-font-weight-mobile, var(--btn-font-weight, 700));
    font-family: var(--btn-font-family-mobile, var(--btn-font-family, inherit));
    border-radius: var(--btn-radius-mobile, var(--btn-radius, 30px));
    border: var(--btn-border-mobile, var(--btn-border));
    text-align: var(--btn-text-align-mobile);
    line-height: var(--mobile-line-height, normal);
  }

  .og-button:hover:not(:disabled) {
    background: var(--btn-hover-bg-mobile, var(--btn-hover-bg, var(--btn-bg, transparent)));
    color: var(--btn-hover-color-mobile, var(--btn-hover-color, var(--btn-color, #fff)));
    border: var(--btn-hover-border-mobile);
  }
}

/* For Handling Zoom Effect in Image */

.smooth-zoom {
  position: relative;
  overflow: hidden;
}

.smooth-zoom::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--mobile-img);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1);
  transition: transform 1.2s ease;
  will-change: transform;
}

/* ZOOM on hover */
.smooth-zoom:hover::before {
  transform: scale(1.1);
  /* 20% zoom */
}

@media (min-width: 768px) {
  .smooth-zoom::before {
    background-image: var(--desktop-img);
  }
}

/* .image-banner-with-text-image{
    background-image: var(--desktop-img);
    background-position: center;
    background-size: contain;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
} */


.image-banner-with-text {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  overflow: hidden;
}

.combo-image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.combo-image-container img {
  object-fit: fill;
  width: 100%;
}

.combo-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}




.banner-image-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Desktop height */
@media (min-width: 768px) {
  .banner-image-wrapper {
    height: var(--desktop-height);
  }
}

/* Mobile height */
/* @media (max-width: 767px) {
  .banner-image-wrapper {
    height: var(--mobile-height);
  }
} */

/* Make image cover the container */
.banner-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.multi-btn {
  display: flex;
  gap: 16px;
  justify-content: var(--button-horizontal-position, center);
  align-items: center;
}

@media (max-width: 767px) {
  .multi-btn {
    flex-wrap: wrap;
    justify-content: var(--mobile-button-horizontal-position, center);

  }
}

.slick-dotted.slick-slider {
  margin-bottom: 56px !important;
}

.slick-dots {
  bottom: -40px;
}

.slick-dots li.slick-active button:before {
  color: #A8AD00;
}

/**** CART POPUP CSS STARTS*/

#cart-empty__content {
  position: absolute;
  top: 5rem;
  right: 6rem;
  max-width: 25rem;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  z-index: 1070;
}


#cart-empty__content .cart-empty__header {
  padding: 16px 14px;
  background-color: var(--og-green-700);
  border-radius: 14px 14px 0px 0px;
}

#cart-empty__content .cart-empty__header h4 {
  color: #FFF;
  font-family: "Neulis Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin: 0px;
}

.btn-light-green {
  border-radius: 30px;
  background: #A8AD00;
  padding: 8px 16px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  width: 100%;
  margin-bottom: 8px;
}

.btn-light-green:last-child {
  margin-bottom: 0px;
}



#cart-empty-popup .cart-empty__content p {
  color: #303030;
  font-family: "Neulis Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

/* === TRIANGLE POINTER ABOVE POPUP === */
#cart-empty-popup::before {
  content: "";
  position: absolute;
  top: -12px;
  /* moves triangle above the popup */
  right: 20px;
  /* adjust horizontally to match your design */
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid var(--og-green-700);
  ;
  /* same as popup background */
  filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.08));
  /* subtle shadow */
}

.close-cart-empty {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

.close-cart-empty img {
  width: 20px;
  height: 20px;
}

/**** CART POPUP CSS ENDS*/

/******Location popup starts******/

#header-location-name {
  color: #000;
  font-family: "Neulis Neue";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration-line: underline;
}

#header-location-number {
  color: #000;
  font-family: "Neulis Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.header-change-location-link {
  color: #000;
  font-family: "Neulis Neue";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.header-change-location-link:hover {
  color: #000;
}

.location-dropdown {
  background-color: #ffffff;
  border: 1px solid #d6d6d6;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  position: absolute;
  top: 5.25rem;
  right: 0;
  z-index: 1000;
}

.arrow-down {
  width: 0px;
  height: 0px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #54301a;
  display: inline-block;

}

.arrow-up {
  width: 0px;
  height: 0px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #54301a;
  display: inline-block;
  border-top: none;
}

.cart-item-count {
  color: #fff;
  font-family: "Neulis Neue";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: flex;
  width: 24px;
  height: 24px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12.5px;
  border-radius: 25px;
  background: #F15A3D;
  position: absolute;
  top: 25px;
  right: 70px;
  text-align: center;
  padding-top: 3px;
}

.location-popup-title {
  color: #303e1e;
  font-family: 'Neulis Neue', 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  margin: 0;
}

.location-dropdown__details {
  display: flex;
  flex-direction: column;
  gap: .875rem;
}

.location-dropdown__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.header .mobile-location-information .location-dropdown__address h3 {
  margin: 0;
  line-height: 1;
}

.header .mobile-location-information .location-dropdown__address h3,
.header .mobile-location-information .location-dropdown__address h3 a,
.header .mobile-location-information .location-dropdown__address h3 a:visited,
.location-name {
  color: #f15a3d;
  font-family: 'Neulis Sans', 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.header .mobile-location-information .location-dropdown__address h3 a:hover,
.header .mobile-location-information .location-dropdown__address h3 a:focus,
.header .mobile-location-information .location-dropdown__address h3 a:active {
  color: #B03D27;
}



.location-address {
  color: #2a2c25;
  font-family: 'Neulis Sans', 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: normal;
  margin: 0;
  white-space: nowrap;
}

/* .location-hours {
  display: flex;
  flex-direction: column;
  gap: 4px;
} */

.location-dropdown__hours #popRestHrs {
  color: #212529;
  font-family: 'Neulis Sans', 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: normal;
}

.hours-row p {
  margin: 0;
}

.view-hours-link {
  color: #f15a3d;
  font-family: 'Neulis Sans', 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-decoration: underline;
  cursor: pointer;
  margin: 0;
  background: none;
  border: none;
  padding: 0;
}

.location-divider {
  height: 1px;
  background-color: #d6d6d6;
}

.location-actions {
  display: flex;
  gap: 48px;
}

.action-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.action-link {
  color: #f15a3d;
  font-family: 'Neulis Sans', 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-decoration: underline;
  cursor: pointer;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  text-align: left;
}

.action-link:visited {
  color: #f15a3d;
}

.action-link:hover,
.action-link:focus,
.action-link:active {
  color: #B03D27;
}

.view-hours-link {
  text-align: left;
}

.find-location-btn {
  background-color: #a8ad00;
  color: #000000;
  border: none;
  border-radius: 30px;
  padding: 8px 16px;
  font-family: 'Neulis Sans', 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: 100%;
  text-transform: uppercase;
}

.find-location-btn:hover {
  background-color: #98982f;
}

@media (min-width:992px) {
  .location-dropdown {
    border-radius: 8px;
    padding: 16px;
    max-width: 20rem;
    top: 4rem;
    right: 12rem;
    z-index: 1000;
  }
}

/******Location popup ends******/





/* ========== Content Pages CSS ========== */
/* this is common css rule property apply to all content pages.  */
.content-page-cms {
  background: #E8EACD;
  color: #2a2c25;
  font-family: 'Neulis Sans', Arial, sans-serif;
  padding: 24px 8px 48px 8px;
  max-width: 100%;
  margin: 0 auto;
}

.content-page-cms section {
  max-width: 1140px;
  margin: 0 auto;
}

/* Headings */
.content-page-cms h1 {
  text-align: center;
  font-family: "Neulis Cursive";
  font-size: 48px;
  font-weight: 700;
  margin: 64px 0 50px;
}

.content-page-cms h2 {
  font-family: "Neulis Cursive";
  font-size: 32px;
  font-weight: 700;
  margin: 24px 0 8px;
}

/* Paragraphs */
.content-page-cms p {
  font-size: 1rem;
  margin-bottom: 16px;
}

/* Links */
.content-page-cms a {
  color: #f15a3d;
  text-decoration: underline;
}

/* Cards/Section wrapper */
.content-page-cms section {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Lists */
.content-page-cms ul {
  list-style: disc;
  padding-inline-start: 48px;
  margin: 8px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.content-page-cms li {
  font-size: 1rem;
  line-height: 1.5;
}

/* International separator (special h2 text) */
.content-page-cms h2:first-of-type {
  border-bottom: 2px solid #e6e6e6;
  padding-bottom: 8px;
}

/* Mobile */
@media (max-width: 600px) {
  .content-page-cms section {
    border-radius: 0;
  }

  .content-page-cms {
    padding: 12px 2vw 24px;
  }

  .content-page-cms section {
    padding: 32px 16px;
  }

  .content-page-cms h1 {
    font-size: 24px;
    margin-bottom: 18px;
  }

  .content-page-cms h2 {
    font-size: 28px;
  }

  .content-page-cms li {
    font-size: 0.95rem;
  }
}


.order-online-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.order-online-card {
  max-width: 428px;
}

.order-online-card .classic-card {
  background-position: center !important
}

/* #location-show-arrow {
  position: relative;
  top: -30px;
  left: 100%;
}

#header-location-number {
  margin-top: -20px;
} */

#header-login-link a {

  display: block;
  margin: 2px 0;
  color: #000;
  text-transform: uppercase;
  font-family: "Neulis Neue";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

}


/* Catering.css */
/* ========= CATERING-CARD-SECTION START ========== */

.common-heading {
  margin-top: 72px;
  margin-bottom: 32px;
}

.common-heading h2 {
  margin-bottom: 0;
}

@media (max-width: 992px) {
  .common-heading {
    margin-top: 64px;
    margin-bottom: 24px;
  }
}

.catering-cards-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 16px;
}

@media (max-width: 992px) {
  .catering-cards-container {
    flex-wrap: wrap;
  }
}

.occasion-cards {
  padding: 2.5rem 1rem 3rem;
  background-color: var(--parmesan-pale, #fdf7f0);
}

.occasion-cards__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.occasion-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  min-height: var(--mobile-height, 200px);
  min-width: var(--mobile-width, 343px);
  display: flex;
  flex-direction: column;
}

.occasion-card__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
  background-position: center;
}

.occasion-card__bg--desktop {
  display: none;
}

.occasion-card__bg--mobile {
  display: none;
}

/* ============ Mobile ============ */
@media (max-width: 768px) {
  .occasion-card__bg--mobile {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    background-position: left;
    background-size: cover;
  }

  .occasion-card {
    flex-direction: row;
    min-height: var(--mobile-height, 220px);
    min-width: var(--mobile-width, 343px);
    overflow: hidden;
    width: 100%;
    /* Use variables controlled by data attributes */
    justify-content: var(--mobile-horizontal,
        center);
    /* left/center/right -> flex-start/center/flex-end */
    align-items: var(--mobile-vertical,
        center);
    /* top/center/bottom  -> flex-start/center/flex-end */
  }

  .occasion-card__content {
    position: relative;
    z-index: 1;
    width: var(--mobile-width, 70%);
    min-width: 220px;
    padding-top: var(--mobile-padding-top);
    padding-left: var(--mobile-padding-left);
    padding-right: var(--mobile-padding-right);
    padding-bottom: var(--mobile-padding-bottom);
    display: flex;
    flex-direction: column;

    /* text alignment comes from variable */
    text-align: var(--mobile-content-text-align, center);
  }

  .occasion-card__content ul {
    padding-left: 20px;
  }
}

/* ============ Desktop ============ */
@media (min-width: 769px) {
  .occasion-cards__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

  .occasion-card__bg--desktop {
    display: block;
  }

  .occasion-card__bg--mobile {
    display: none;
  }

  .occasion-card {
    flex-direction: column;
    overflow: hidden;
    min-height: var(--desktop-height, 450px);
    min-width: var(--desktop-width, 390px);

    /* Map variables to proper axes for column */
    align-items: var(--desktop-horizontal,
        center);
    /* left/center/right -> flex-start/center/flex-end */
    justify-content: var(--desktop-vertical,
        center);
    /* top/center/bottom -> flex-start/center/flex-end */
  }

  .occasion-card__content {
    position: relative;
    z-index: 1;
    padding-top: var(--desktop-padding-top);
    padding-left: var(--desktop-padding-left);
    padding-right: var(--desktop-padding-right);
    padding-bottom: var(--desktop-padding-bottom);
    background: transparent;

    /* text alignment comes from variable */
    text-align: var(--desktop-content-text-align, center);
    max-width: 100%;

    h4,
    p {
      margin-bottom: 20px;
    }
  }

  .occasion-card__content ul {
    padding-left: 20px;
  }
}

/* ========= CATERING-CARD-SECTION END ========== */

/* ========= DELIVERY-CARD-SECTION START ========== */
/* ---------- GRID CONTAINER ---------- */
.delivery-cards-container {
  margin: 0 auto;
  max-width: 1200px;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
}

/* ---------- CARD WRAPPER ---------- */
.delivery-card-box {
  display: flex;
  border-radius: 16px;
  background: #fff;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 3px 8px rgba(0, 0, 0, 0.06);
  min-width: 0;
  overflow: hidden;
  min-width: var(--desktop-width);
}

.delivery-card-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0;
  width: 100%;
  height: 100%;
}

/* ---------- IMAGE ---------- */
.delivery-card-body picture {
  width: 100%;
  height: auto;
  display: block;
}

.delivery-card-icon {
  width: 100%;
  height: 205px;
  display: block;
  object-fit: cover;
}

.delivery-card-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: var(--desktop-padding-top);
  padding-right: var(--desktop-padding-right);
  padding-bottom: var(--desktop-padding-bottom);
  padding-left: var(--desktop-padding-left);

  justify-content: var(--desktop-vertical);
  align-items: var(--desktop-horizontal);
}

.delivery-foot-note {
  margin-top: 8px;
}

@media (max-width: 1023px) {
  .delivery-cards-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .delivery-cards-container {
    grid-template-columns: 1fr;
  }

  .delivery-card-box {
    min-width: var(--mobile-width);
  }

  .delivery-card-body {
    display: grid;
    grid-template-columns: 1fr 3fr;
    align-items: stretch;
    gap: 0;
    padding: 0;
    width: 100%;
  }

  .delivery-card-icon {
    width: 100%;
    height: var(--mobile-height);
    object-fit: cover;
    display: block;
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
  }

  .delivery-card-content {
    padding-top: var(--mobile-padding-top);
    padding-left: var(--mobile-padding-left);
    padding-right: var(--mobile-padding-right);
    padding-bottom: var(--mobile-padding-bottom);
    justify-content: var(--mobile-vertical);
    align-items: var(--mobile-horizontal);
  }

  .delivery-card-content p {
    overflow-wrap: anywhere;
  }

  .delivery-foot-note {
    margin-top: 12px;
  }
}

/* ========= DELIVERY-CARD-SECTION START ========== */

/* ========= CATERING-MENU-HIGHLIGHTS START ========== */
section.catering-menu-highlights {
  .catering-menu-container {
    margin: 0 auto;
    max-width: 1200px;

    ul {
      padding-left: 16px;
    }
  }

  .catering-menu-card {
    min-width: var(--desktop-width, auto);
    min-height: var(--desktop-height, auto);

    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    margin-bottom: 24px;
  }

  .catering-menu-card:last-child {
    margin-bottom: 0;
  }

  .catering-menu-content {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: stretch;
  }

  .catering-menu-text {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    align-items: var(--desktop-horizontal, flex-start);
    justify-content: var(--desktop-vertical, center);
    padding-top: var(--desktop-padding-top);
    padding-right: var(--desktop-padding-right);
    padding-bottom: var(--desktop-padding-bottom);
    padding-left: var(--desktop-padding-left);
  }

  .catering-view-menu-btn {
    display: inline-flex;
    align-self: auto;
    /* let align-items control this by default */
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
    white-space: nowrap;
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .catering-menu-image {
    flex: 1 1 50%;
    position: relative;
    min-height: var(--desktop-height, auto);
  }

  .catering-menu-image img,
  .catering-menu-image picture {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (max-width: 1023px) {
    .catering-menu-content {
      flex-direction: column-reverse;
      /* your original behavior */
    }

    .catering-menu-card {
      min-width: var(--mobile-width, 100%);
      margin-bottom: 16px;
    }

    .catering-menu-card:last-child {
      margin-bottom: 0;
    }

    .catering-menu-text {
      width: 100%;
      align-items: var(--mobile-horizontal, flex-start);
      justify-content: var(--mobile-vertical, center);
      text-align: var(--mobile-content-text-align, left);
      padding-top: var(--mobile-padding-top);
      padding-right: var(--mobile-padding-right);
      padding-bottom: var(--mobile-padding-bottom);
      padding-left: var(--mobile-padding-left);
    }

    .catering-menu-image {
      width: 100%;
      min-height: auto;
    }

    .catering-menu-image img {
      height: auto;
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
    }

    .catering-view-menu-btn {
      margin-top: 12px;
      margin-bottom: 12px;
    }
  }
}

/* ========= CATERING-MENU-HIGHLIGHTS END ========== */

/* ============================================
   Classics Cards - Perfect For Any Classics
   Responsive: desktop 3-col, mobile stacked.
   Bg + icon: separate desktop/mobile images.
   Content-driven height; desktop content position configurable.
   ============================================ */

/* Container grid unchanged */
.classic-cards-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 16px;
  align-items: stretch;
}

@media (max-width: 1024px) {
  .classic-cards-container {
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: center;
  }
}

/* Card */
.classic-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  min-height: var(--desktop-height);
  width: 100%;
  display: flex;
  /* flex container for positioning */
  flex-direction: column;
  /* ↓↓↓ Use variables to position .classic-card-content ↓↓↓ */
  justify-content: var(--desktop-content-vertical, center);
  /* vertical */
  align-items: var(--desktop-content-align, center);
  /* horizontal */
  background: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: var(--desktop-bg);
}

.classic-card-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  margin-top: 0;
  text-align: var(--desktop-content-text-align, center);
  padding-top: var(--desktop-padding-top);
  padding-left: var(--desktop-padding-left);
  padding-right: var(--desktop-padding-right);
  padding-bottom: var(--desktop-padding-bottom);
}

.classic-card-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}

.classic-card-actions a {
  width: fit-content;
}

@media (max-width: 450px) {
  .classic-card {
    aspect-ratio: 343 / 313;
  }
}

@media (max-width: 768px) {
  .classic-card {
    max-width: 343px;
    min-width: var(--mobile-width, 343px);
    background-position: unset;
    background-image: var(--mobile-bg);
    justify-content: var(--mobile-content-vertical, center);
    align-items: var(--mobile-content-align, center);
    min-height: var(--mobile-height);
  }

  .classic-card-content {
    text-align: var(--mobile-content-text-align, center);
    padding-top: var(--mobile-padding-top);
    padding-left: var(--mobile-padding-left);
    padding-right: var(--mobile-padding-right);
    padding-bottom: var(--mobile-padding-bottom);
  }

  .classic-card-actions {
    flex-direction: column;
    gap: 8px;
  }
}

/* Map data-attributes to variables on the article (inherited by children) */
.classic-card[data-desktop-content-position="left"] {
  --desktop-content-align: flex-start;
  /* cross-axis (horizontal) */
  --desktop-content-text-align: left;
}

.classic-card[data-desktop-content-position="center"] {
  --desktop-content-align: center;
  --desktop-content-text-align: center;
}

.classic-card[data-desktop-content-position="right"] {
  --desktop-content-align: flex-end;
  --desktop-content-text-align: right;
}

.classic-card[data-desktop-content-vertical="top"] {
  --desktop-content-vertical: flex-start;
  /* main-axis (vertical) */
}

.classic-card[data-desktop-content-vertical="center"] {
  --desktop-content-vertical: center;
}

.classic-card[data-desktop-content-vertical="bottom"] {
  --desktop-content-vertical: flex-end;
}

/* Mobile */
.classic-card[data-mobile-content-position="left"] {
  --mobile-content-align: flex-start;
  --mobile-content-text-align: left;
}

.classic-card[data-mobile-content-position="center"] {
  --mobile-content-align: center;
  --mobile-content-text-align: center;
}

.classic-card[data-mobile-content-position="right"] {
  --mobile-content-align: flex-end;
  --mobile-content-text-align: right;
}

.classic-card[data-mobile-content-vertical="top"] {
  --mobile-content-vertical: flex-start;
}

.classic-card[data-mobile-content-vertical="center"] {
  --mobile-content-vertical: center;
}

.classic-card[data-mobile-content-vertical="bottom"] {
  --mobile-content-vertical: flex-end;
}

/* New half Banner */

.half-image-banner,
.new-hero-banner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.rounded-card {
  border-radius: 16px;
  max-width: 1200px;
  margin: 0 auto;
}

.half-image-banner picture,
.new-hero-banner picture {
  display: block;
}

.half-image,
.new-hero-banner-image {
  width: 100%;
  object-fit: fill;
  display: block;
  height: var(--desktop-height, auto);
}

.half-image-footer-note {
  width: 345px;
}

.half-image-banner::before {
  content: "";
  position: absolute;
  inset: 0;
}

.half-image-text {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  padding: 40px 20px 40px 60px;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.half-banner-btn-wrapper {
  display: flex;
  justify-content: var(--justify-content, center);
  align-items: center;
  gap: 24px;
  margin-top: calc(var(--margin-top-desktop, 0) * 1px);
  margin-bottom: calc(var(--margin-bottom-desktop, 0) * 1px);
}

.half-image-text {
  padding-top: calc(var(--padding-top-desktop, 0) * 1px);
  padding-bottom: calc(var(--padding-bottom-desktop, 0) * 1px);
}

.half-image-text.left {
  left: 0;
}

.half-image-text.right {
  right: 0;
}

.half-banner-btn {

  width: fit-content;
}

.half-image-btn-group {
  display: flex;
  gap: 16px;
  justify-content: var(--button-horizontal-position, center);
  align-items: center;
}

@media (max-width: 768px) {

  .half-image {
    height: 500px;
  }

  .rounded-card {
    max-width: calc(100% - 32px);
  }

  .half-banner-btn-wrapper {
    margin-top: calc(var(--margin-top-mobile, 0) * 1px);
    margin-bottom: calc(var(--margin-bottom-mobile, 0) * 1px);
  }

  .half-image-text {
    padding-top: calc(var(--padding-top-mobile, 0) * 1px);
    padding-bottom: calc(var(--padding-bottom-mobile, 0) * 1px);
  }

  .half-image-text.right {
    top: 40%;
  }

  .half-image-text {
    width: 100%;
    padding: 24px;
    height: 60%;
  }

  .half-image-footer-note {
    width: 100%;
    text-align: center;
  }

  .half-image,
  .new-hero-banner-image {
    height: var(--mobile-height, auto);
  }

  .half-banner-btn {
    margin: 0 auto;
    width: fit-content;
  }
}


/* Aboutus.css */
/* -------------------- */
/* Base (Mobile First)  */
/* -------------------- */

.card-bg {
  background-color: var(--bg-color) !important
}

.bg-img {
  background-image: var(--bg-mobile);
  background-size: 100% 100%;
}

.og-hero-banner {
  min-height: 400px;
}



.hero-banner-wrapper p,
.mixed-layout p {
  margin: 0
}

.hero-banner-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: var(--mobile-align, center);
  align-items: var(--mobile-justify, center);
  padding-left: var(--mobile-padding-left, 0px);
  padding-right: var(--mobile-padding-right, 0px);
  padding-top: var(--mobile-padding-top, 0px);
  padding-bottom: var(--mobile-padding-bottom, 0px);
  height: var(--mobile-height, auto);
  width: 100%;
}

/* -------------------- */
/* Tablet ≥ 576px       */
/* -------------------- */


/* -------------------- */
/* Tablet Large ≥ 768px */
/* -------------------- */
@media (min-width: 768px) {
  .hero-banner-wrapper {
    justify-content: var(--desktop-align, center);
    align-items: var(--desktop-justify, center);
    padding-left: var(--desktop-padding-left, 0px);
    padding-right: var(--desktop-padding-right, 0px);
    padding-top: var(--desktop-padding-top, 0px);
    padding-bottom: var(--desktop-padding-bottom, 0px);
    /* max-width: var(--desktop-width, 100%); */
    height: var(--desktop-height, 100%);
    width: 100%;
  }



  .bg-img {
    background-image: var(--bg-desktop);
  }
}

/* -------------------- */
/* Desktop ≥ 992px      */
/* -------------------- */


/* -------------------- */
/* Large Desktop ≥ 1200px */
/* -------------------- */



/* -------------------- */
/* Connect With us card */
/* -------------------- */

/* Overall card rounding */
.connect-card {
  max-width: 1200px;
  border-radius: 1rem;
  overflow: hidden;
}

.connect-outer {
  display: flex;
  flex-direction: column;
  justify-content: var(--mobile-align);
  align-items: var(--mobile-justify);
  height: 100%;
  padding-top: var(--mobile-padding-top);
  padding-right: var(--mobile-padding-right);
  padding-bottom: var(--mobile-padding-bottom);
  padding-left: var(--mobile-padding-left);
}

@media (min-width: 576px) {
  .connect-outer {
    justify-content: var(--desktop-align);
    align-items: var(--desktop-justify);
    padding-top: var(--desktop-padding-top);
    padding-right: var(--desktop-padding-right);
    padding-bottom: var(--desktop-padding-bottom);
    padding-left: var(--desktop-padding-left);
  }

  .connect-inner {
    max-width: var(--desktop-width);
  }
}

/* Ensure the media fills its column nicely */
.connect-image-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 220px;
  /* mobile fallback height */
}

.connect-card .object-cover {
  object-fit: cover;
  object-position: center;
}

/* Social buttons: circular, outlined */
.connect-card .social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #000;
  border-radius: 50%;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* Desktop enhancements */
@media (min-width: 992px) {
  .connect-image-wrap {
    min-height: 320px;
    /* taller visual on desktop */
  }
}


/* -------------------- */
/* Mixed kayout section card */
/* -------------------- */

/* ===== Grid container: columns of "pairs" on desktop ===== */
.mixed-layout .rcg-grid {
  max-width: 1200px;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}

/* Desktop: 2 columns & equal heights */
.mixed-layout .rcg-pair {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  align-items: stretch !important;
  /* Equal height */
}

.rcg-inner-description {
  display: flex;
  justify-content: var(--desktop-justify);
}

.rcg-footnote {
  margin-top: auto;
}

@media (min-width: 425px) {
  .rcg-inner-description p {
    max-width: 368px;
  }
}

@media (max-width: 767px) {
  .og-hero-banner {
    min-height: 300px;
  }
}

.mixed-layout .rcg-card.rcg-content {
  background-color: var(--bg-color);
  background-image: var(--bg-desktop-image);
  background-size: cover;
}

/* ===== MOBILE & TABLET FIX (equal height) ===== */
@media (max-width: 992px) {

  /* ===== Mobile: stack pairs in one column, reorder inside each pair ===== */
  .mixed-layout .rcg-grid {
    max-width: 526px;
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .mixed-layout .rcg-pair {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 16px;
  }

  /* Maintain ordering */
  .mixed-layout .rcg-pair .rcg-card.rcg-image {
    order: 0;
  }

  .mixed-layout .rcg-pair .rcg-card.rcg-content {
    order: 1;
  }

  .mixed-layout .rcg-card.rcg-content {
    background-image: var(--bg-mobile-image);
  }
}

.mixed-layout .rcg-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid #eef0f3;
  height: 100%;
}

/* Image card matches height of row */
.mixed-layout .rcg-image .rcg-media {
  height: 100%;
}

.mixed-layout .rcg-media img,
.mixed-layout .rcg-media picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Content card */
.mixed-layout .rcg-outer-content {
  display: flex;
  justify-content: var(--desktop-justify);
  align-items: var(--desktop-align);
  padding-top: var(--desktop-padding-top);
  padding-right: var(--desktop-padding-right);
  padding-bottom: var(--desktop-padding-bottom);
  padding-left: var(--desktop-padding-left);
  height: 100%;
}

.mixed-layout .rcg-inner-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 100%;
  max-width: 100%;
}

@media (max-width: 992px) {
  .mixed-layout .rcg-outer-content {
    justify-content: var(--mobile-justify);
    align-items: var(--mobile-align);
    padding-top: var(--mobile-padding-top);
    padding-right: var(--mobile-padding-right);
    padding-bottom: var(--mobile-padding-bottom);
    padding-left: var(--mobile-padding-left);
  }

  .mixed-layout .rcg-inner-content {
    gap: 16px;
  }
}




.mixed-layout .rcg-title {
  margin: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
  display: block;
}

.mixed-layout .rcg-desc {
  margin: 0;
  display: block;
  overflow-wrap: anywhere;
  max-width: 52ch;
}



.community-engagement-section ul {
  padding-inline-start: 22px;
}

.community-engagement-section .row {
  margin-right: 0;
  margin-left: 0;
}

@media (min-width: 481px) and (max-width: 1200px) {
  .mixed-layout h2.og-typography {
    font-size: clamp(var(--font-mobile),
        calc((var(--font-desktop) * (100vw - 992px) + var(--font-mobile) * (1200px - 100vw)) / 208px),
        var(--font-desktop));
  }

  .mixed-layout p.og-typography {
    font-size: var(--font-mobile);
  }

  .mixed-layout .rcg-outer-content {
    padding-top: max(16px, calc(var(--desktop-padding-top, 20px) - 20px));
    padding-right: max(16px, calc(var(--desktop-padding-right, 20px) - 20px));
    padding-bottom: max(16px, calc(var(--desktop-padding-bottom, 20px) - 20px));
    padding-left: max(16px, calc(var(--desktop-padding-left, 20px) - 20px));
  }

  .mixed-layout .rcg-inner-content {
    gap: 16px
  }
}


/* Orderonline.css */
.gap-2 {
  gap: 0.5rem;
}

.font-og-bro-xtra-bold {
  font-family: "Neulis Cursive";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: #000;
}

@media (min-width: 768px) {
  .font-og-bro-xtra-bold {
    font-size: 20px;
  }
}

#togoModal {
  background-color: #00000080;

  a:hover {
    text-decoration: none;
  }
}

#togoModal .modal-dialog {
  margin: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 300px;
}

#togoModal .modal-content {
  border-radius: 12px;
}

#togoModal .modal-header {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  text-align: center;
  border-bottom: none;

  h5 {
    display: inline-block;
    padding-left: 32px;
  }

  .close {
    margin: -1rem 0rem -1rem 0;
    padding: 1rem 0;
  }
}

#togoModal .modal-body {
  text-align: center;

  p.text-balance {
    font-family: "Neulis Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0.75rem 0 1.25rem;
  }

  .togo-options {
    padding: 0 16px;
  }

  .pickup-cta {
    background-image: url('https://media.olivegarden.com/images/OG_Redesign_Assets/Desktop/Desktop_Order_Triage_Popup_Pickup.png');
  }

  .delivery-cta {
    background-image: url('https://media.olivegarden.com/images/OG_Redesign_Assets/Desktop/Desktop_Order_Triage_Popup_Delivery.png');
  }

  .order-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 128px;
    height: 154px;
    padding-bottom: 28px;
    background-size: contain;
    background-repeat: no-repeat;
    text-align: center;
    color: #000;
    font-family: "Neulis Neue";
    font-size: 14px;
    font-weight: 700;
  }

}

#togoModal .modal-footer {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  border-top: none;
  text-align: center;

  p {
    color: #606060;
    font-family: "Neulis Neue";
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
  }

  .separator {
    border-bottom: 1px solid #00000033;
    width: 100%;
  }

  a {
    color: #B03D27;
    text-align: center;
    font-family: "Neulis Neue";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
  }
}

@media (min-width: 768px) {
  .font-og-bro-xtra-bold {
    font-size: 20px;
  }

  #togoModal .modal-body {
    .order-card {
      font-size: 16px;
    }
  }

  #togoModal .modal-footer {
    p {
      font-size: 18px;
    }

    a {
      font-size: 1rem;
    }
  }
}

@media (min-width: 992px) {
  #togoModal .modal-body {
    text-align: center;

    .gap-lg-3 {
      gap: 1rem;
    }

    p.text-balance {
      font-size: 14px;
    }
  }
}

.text-balance {
  text-wrap: balance !important;
  color: #606060;
}

#cateringModal {
  background-color: #00000080;

  a:hover {
    text-decoration: none;
  }
}

#cateringModal .modal-dialog {
  margin: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 300px;
}

#cateringModal .modal-content {
  border-radius: 12px;
}

#cateringModal .modal-header {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  text-align: center;
  border-bottom: none;

  h5 {
    display: inline-block;
    padding-left: 32px;
  }

  .close {
    margin: -1rem 0rem -1rem 0;
    padding: 1rem 0;
  }
}

#cateringModal .modal-body {
  text-align: center;

  .catering-card {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    height: 76px;
    border-radius: 12px;
    color: #000;
    font-family: "Neulis Neue";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    background-repeat: no-repeat;
    background-size: 100%;
    padding-left: 60px;
  }

  .pickup-cta {
    background-image: url('https://media.olivegarden.com/images/OG_Redesign_Assets/Mobile/Mobile_Order_Triage_Popup_Catering_Pickup.png');
  }

  .delivery-cta {
    background-image: url('https://media.olivegarden.com/images/OG_Redesign_Assets/Mobile/Mobile_Order_Triage_Popup_Catering_Delivery.png');
  }

  p.text-balance {
    /* text-align: center; */
    font-family: "Neulis Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0.75rem 0 1.25rem;
  }

  .catering-card:first-of-type {
    margin-bottom: 15px;
  }

  .catering-options {
    padding: 0 16px 24px 16px;
  }

  .catering-disclaimer {
    padding: 8px 16px;
    text-align: left;
    color: #606060;
    font-family: "Neulis Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;

    h6 {
      color: #303030;
      font-family: "Neulis Neue";
      font-size: 16px;
      font-style: normal;
      font-weight: 700;
      line-height: normal;
    }

    ul {
      padding-left: 1.5rem;
    }
  }
}

#cateringModal .modal-footer {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  text-align: center;
  border-top: none;

  p {
    color: #606060;
    font-family: "Neulis Neue";
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
  }

  .separator {
    border-bottom: 1px solid #00000033;
    width: 100%;
  }

  a {
    color: #B03D27;
    text-align: center;
    font-family: "Neulis Neue";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
  }
}

@media (min-width: 768px) {
  #cateringModal .modal-body {
    .catering-card {
      font-size: 16px;
      background-size: contain;
    }

    .catering-disclaimer {
      h6 {
        font-size: 18px;
      }
    }

    .pickup-cta {
      background-image: url('https://media.olivegarden.com/images/OG_Redesign_Assets/Desktop/Desktop_Order_Triage_Popup_Catering_Pickup.png');
    }

    .delivery-cta {
      background-image: url('https://media.olivegarden.com/images/OG_Redesign_Assets/Desktop/Desktop_Order_Triage_Popup_Catering_Delivery.png');
    }
  }

  #cateringModal .modal-dialog {
    max-width: 396px;
  }
}

@media (min-width: 992px) {
  #cateringModal {
    li {
      font-size: 14px;
    }
  }

  #cateringModal .modal-body {
    .catering-options {
      padding: 0 16px 32px 16px;
    }

    p.text-balance {
      font-size: 14px;
    }
  }

  #cateringModal .modal-footer {
    p {
      font-size: 18px;
    }

    a {
      font-size: 1rem;
    }
  }
}


.header .mobile-location-information {
  display: none;
  font-size: 0.875rem;

}

.header .mobile-location-information.is-open {
  display: block;
}

.light-background {
  background: rgb(250, 250, 250);
  color: rgb(2, 0, 1);
}



.header .mobile-location-information a {
  color: #f15a3d;
  font-family: 'Neulis Sans', 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-decoration: underline;
}

.header .mobile-location-information a:visited {
  color: #f15a3d;
}

.header .mobile-location-information a:hover,
.header .mobile-location-information a:focus,
.header .mobile-location-information a:active {
  color: #B03D27;
}


.header .mobile-location-information #mobile-holiday_restaurant_message {
  color: #212529;
  font-family: "Neulis Sans";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: right;
}

.header .cart-location-item__pin img,
.header .cart-location-item__shopping-bag img {
  width: 35px;
}

.header .cart-location-item__shopping-bag a,
.header .cart-location-item__shopping-bag #cart-location-trigger {
  display: block;
}

@media(min-width:576px) {

  .header .cart-location-item__pin img,
  .header .cart-location-item__shopping-bag img {
    width: 42px;
  }
}