:root {
    --navy: #073861;
    --navy-deep: #062e50;
    --olive: #60742f;
    --olive-deep: #4d6124;
    --cream: #fbf7ed;
    --paper: #fffdf8;
    --ink: #0b2f55;
    --muted: #5c6570;
    --line: rgba(11,47,85,.12);
    --card-shadow: 0 8px 22px rgba(24,36,48,.09);
  }

  * { box-sizing: border-box; }
  html { background: #e8e8e8; }
  body {
    margin: 0;
    color: var(--ink);
    background: var(--cream);
    font-family: Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
  }

  .page {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    background: var(--cream);
    min-height: 100vh;
    overflow: hidden;
  }

  .utility {
    height: 30px;
    background: var(--navy-deep);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 10px;
    font-size: 11px;
    letter-spacing: .01em;
    white-space: nowrap;
  }
  .utility .truck {
    font-size: 15px;
    line-height: 1;
  }
  .utility .divider {
    width: 1px;
    height: 14px;
    background: rgba(255,255,255,.55);
  }
  .utility em {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 11px;
    opacity: .96;
  }

  .hero {
    position: relative;
    min-height: 438px;
    background: var(--cream);
    isolation: isolate;
  }

  /* PHOTO LAYER
     Replace ONLY --hero-image later with the final owner-supplied photo.
     The fade/positioning stays intact. */
  .hero-photo {
    position: absolute;
    z-index: -3;
    top: 42px;
    right: -16px;
    width: 76%;
    height: 365px;
    background-image: url("angelinas-hero-gyros-mobile.webp");
    background-size: cover;
    background-position: 50% 48%;
    border-radius: 0 0 0 42px;
  }

  /* This cream fade is independent from the photo, so a real image can be
     swapped in later without redesigning the composition. */
  .hero-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg,
        var(--cream) 0%,
        rgba(251,247,237,.96) 8%,
        rgba(251,247,237,.74) 20%,
        rgba(251,247,237,.18) 40%,
        rgba(251,247,237,0) 58%),
      linear-gradient(180deg,
        rgba(251,247,237,.55) 0%,
        rgba(251,247,237,0) 18%,
        rgba(251,247,237,0) 82%,
        rgba(251,247,237,.18) 100%);
  }

  .nav {
    height: 88px;
    padding: 11px 18px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
    z-index: 3;
  }

  .logo {
    width: 196px;
    height: 87px;
    object-fit: cover;
    object-position: left top;
    mix-blend-mode: multiply;
    border-radius: 3px;
  }

  .menu-button {
    width: 42px;
    height: 42px;
    margin-top: 2px;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--navy-deep);
    padding: 0;
  }
  .menu-button span,
  .menu-button span::before,
  .menu-button span::after {
    display: block;
    width: 28px;
    height: 3px;
    border-radius: 10px;
    background: currentColor;
    content: "";
    position: relative;
  }
  .menu-button span::before { position:absolute; top:-9px; left:0; }
  .menu-button span::after  { position:absolute; top: 9px; left:0; }

  .hero-copy {
    padding: 20px 18px 0 20px;
    width: 52%;
    position: relative;
    z-index: 2;
  }

  .fresh {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--olive-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    letter-spacing: .17em;
    font-size: 12px;
    margin-bottom: 5px;
  }
  .fresh::after {
    content: "";
    width: 57px;
    height: 1px;
    background: var(--olive);
  }

  h1 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    font-size: clamp(47px, 13vw, 62px);
    line-height: .82;
    letter-spacing: -.045em;
  }

  .hero-copy p {
    margin: 14px 0 0;
    color: #193d5c;
    font-size: 14px;
    line-height: 1.18;
    max-width: 170px;
  }

  .cta-row {
    position: absolute;
    z-index: 3;
    left: 15px;
    right: 15px;
    bottom: 4px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .cta {
    min-height: 45px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-decoration: none;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    font-size: 19px;
    transition: transform .15s ease;
  }
  .cta:active { transform: scale(.985); }
  .cta-primary {
    background: var(--navy);
    color: #fff;
    border: 2px solid var(--navy);
  }
  .cta-secondary {
    background: rgba(255,253,248,.94);
    color: var(--olive-deep);
    border: 2px solid var(--olive);
  }
  .cta .arrow { font-family: Arial, sans-serif; font-size: 20px; }
  .bag {
    width: 15px;
    height: 17px;
    border: 2px solid currentColor;
    border-radius: 2px;
    position: relative;
  }
  .bag::before {
    content: "";
    position: absolute;
    left: 2px;
    right: 2px;
    top: -7px;
    height: 7px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
  }

  .social-proof {
    margin: 8px 15px 0;
    min-height: 60px;
    border-radius: 22px;
    background: rgba(255,255,255,.57);
    border: 1px solid rgba(93,77,48,.07);
    box-shadow: 0 6px 16px rgba(24,36,48,.035);
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 39px minmax(0,1fr) auto;
    gap: 9px;
    align-items: center;
  }
  .yelp-mark {
    color: #d91f26;
    font-size: 34px;
    line-height: 1;
    transform: rotate(9deg);
    text-align: center;
  }
  .proof-copy strong {
    display: block;
    font-size: 13px;
    color: #172d47;
    margin-bottom: 4px;
  }
  .proof-copy span {
    display: block;
    font-size: 10px;
    color: #68717b;
    white-space: nowrap;
  }
  .proof-link {
    border-left: 1px solid rgba(16,43,68,.25);
    padding-left: 12px;
    font-size: 10px;
    line-height: 1.15;
    color: #223f59;
    text-decoration: none;
    max-width: 100px;
  }

  .locations {
    padding: 10px 15px 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    position: relative;
  }
  .locations::after {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -8px;
    height: 22px;
    background:
      radial-gradient(100% 18px at 25% 0%, transparent 67%, #e8f1f8 69% 75%, transparent 77%),
      radial-gradient(100% 18px at 75% 0%, transparent 67%, #dcebf5 69% 75%, transparent 77%);
    opacity: .85;
    pointer-events: none;
  }

  .location-card {
    min-width: 0;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(10,49,83,.075);
    border-radius: 19px;
    box-shadow: var(--card-shadow);
    padding: 11px 10px 10px;
  }

  .location-top {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 8px;
    align-items: start;
  }
  .location-icon {
    width: 40px;
    height: 40px;
    background: var(--olive);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: white;
    font-size: 20px;
  }
  .location-card h2 {
    font-family: Georgia, 'Times New Roman', serif;
    color: var(--navy-deep);
    font-size: 17px;
    line-height: .98;
    margin: 2px 0 6px;
  }
  .location-card address {
    font-style: normal;
    color: #344d62;
    font-size: 10px;
    line-height: 1.27;
  }

  .location-actions {
    border-top: 1px solid rgba(10,49,83,.09);
    margin-top: 9px;
    padding-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
  }
  .mini-action {
    color: #425a1c;
    font-weight: 700;
    font-size: 10px;
    text-decoration: none;
    white-space: nowrap;
  }
  .mini-action .i { margin-right: 4px; font-size: 13px; }

  @media (max-width: 370px) {
    .utility { font-size: 10px; gap: 7px; }
    .nav { padding-left: 12px; padding-right: 12px; }
    .logo { width: 176px; }
    .hero-copy { padding-left: 14px; width: 55%; }
    h1 { font-size: 45px; }
    .hero-copy p { font-size: 12px; max-width: 145px; }
    .cta-row { left: 10px; right: 10px; gap: 8px; }
    .cta { font-size: 16px; }
    .social-proof { margin-left: 10px; margin-right: 10px; grid-template-columns: 32px 1fr; }
    .proof-link { display: none; }
    .locations { padding-left: 10px; padding-right: 10px; gap: 7px; }
    .location-top { grid-template-columns: 34px 1fr; gap: 6px; }
    .location-icon { width: 34px; height: 34px; font-size: 16px; }
    .location-card h2 { font-size: 15px; }
    .location-card address { font-size: 9px; }
    .mini-action { font-size: 9px; }
  }

  @media (min-width: 481px) {
    body { padding: 22px 0; }
    .page {
      border-radius: 28px;
      box-shadow: 0 16px 60px rgba(0,0,0,.12);
    }
  }

  /* V2 refinements ------------------------------------------------------- */


  .truck {
    display: inline-flex;
    align-items: center;
    color: #fff;
  }

  .order-wrap {
    position: relative;
    min-width: 0;
  }
  .order-trigger {
    width: 100%;
    cursor: pointer;
  }
  .order-popover {
    position: absolute;
    z-index: 20;
    right: 0;
    bottom: calc(100% + 10px);
    width: min(270px, calc(100vw - 32px));
    background: var(--paper);
    border: 1.5px solid rgba(96,116,47,.62);
    border-radius: 17px;
    padding: 10px;
    box-shadow: 0 16px 36px rgba(23,39,54,.20);
    opacity: 0;
    visibility: hidden;
    transform: translateY(7px) scale(.985);
    transform-origin: bottom right;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  }
  .order-popover::after {
    content: "";
    position: absolute;
    right: 38px;
    bottom: -7px;
    width: 12px;
    height: 12px;
    background: var(--paper);
    border-right: 1.5px solid rgba(96,116,47,.62);
    border-bottom: 1.5px solid rgba(96,116,47,.62);
    transform: rotate(45deg);
  }
  .order-wrap.is-open .order-popover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
  }
  .order-popover-title {
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 15px;
    font-weight: 700;
    padding: 3px 7px 8px;
  }
  .order-option {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) 12px;
    gap: 9px;
    align-items: center;
    min-height: 53px;
    color: var(--navy-deep);
    text-decoration: none;
    padding: 8px 7px;
    border-radius: 11px;
  }
  .order-option + .order-option {
    border-top: 1px solid rgba(11,47,85,.09);
    border-radius: 0 0 11px 11px;
  }
  .order-option:active {
    background: rgba(96,116,47,.08);
  }
  .order-option-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(96,116,47,.12);
    color: var(--olive-deep);
  }
  .order-option-icon svg {
    width: 20px;
    height: 20px;
  }
  .order-option strong {
    display: block;
    font-size: 13px;
    margin-bottom: 2px;
  }
  .order-option small {
    display: block;
    color: #67717a;
    font-size: 10px;
    line-height: 1.15;
  }
  .order-chevron {
    color: var(--olive);
    font-size: 22px;
    line-height: 1;
  }

  .location-card {
    display: flex;
    flex-direction: column;
  }
  .location-top {
    min-height: 79px;
  }
  .location-icon {
    color: #fff;
  }
  .location-icon svg {
    width: 22px;
    height: 22px;
  }

  .location-actions {
    margin-top: auto;
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 0;
    align-items: stretch;
    padding-top: 7px;
  }
  .mini-action {
    min-width: 0;
    min-height: 30px;
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-start;
    color: var(--olive-deep);
    line-height: 1;
  }
  .mini-action + .mini-action {
    border-left: 1px solid rgba(11,47,85,.10);
    padding-left: 8px;
  }
  .mini-action svg {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
  }
  .mini-action span:not(.mini-chevron) {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mini-chevron {
    margin-left: 2px;
    font-size: 13px;
    color: #6e7e50;
  }

  @media (max-width: 370px) {
    .location-top { min-height: 84px; }
    .location-actions { grid-template-columns: .72fr 1.28fr; }
    .mini-action { font-size: 8.5px; gap: 3px; }
    .mini-action + .mini-action { padding-left: 5px; }
    .mini-action svg { width: 12px; height: 12px; }
    .order-popover { right: -2px; }
  }


  /* V3: mobile hours bottom sheet --------------------------------------- */
  button.mini-action {
    appearance: none;
    -webkit-appearance: none;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    background: transparent;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
    font-family: inherit;
    cursor: pointer;
  }

  .hours-backdrop {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(6, 30, 51, .34);
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
  }

  .hours-sheet {
    position: fixed;
    z-index: 100;
    left: 50%;
    bottom: 12px;
    width: min(448px, calc(100% - 24px));
    max-height: min(74vh, 570px);
    overflow: auto;
    transform: translate(-50%, calc(100% + 28px));
    transition: transform .22s ease;
    background: var(--paper);
    border: 1px solid rgba(11,47,85,.13);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(6,30,51,.25);
    padding: 10px 16px 18px;
  }

  body.hours-open .hours-backdrop {
    opacity: 1;
    visibility: visible;
  }
  body.hours-open .hours-sheet {
    transform: translate(-50%, 0);
  }

  .hours-handle {
    width: 40px;
    height: 4px;
    margin: 1px auto 11px;
    border-radius: 99px;
    background: rgba(11,47,85,.16);
  }

  .hours-sheet-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
  }

  .hours-kicker {
    color: var(--olive-deep);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }

  .hours-sheet h3 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 23px;
    line-height: 1.04;
  }

  .hours-close {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(11,47,85,.06);
    color: var(--navy-deep);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
  }

  .hours-list {
    display: grid;
    gap: 8px;
  }

  .hours-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 11px 12px;
    border-radius: 14px;
    background: #fbfaf6;
    border: 1px solid rgba(11,47,85,.08);
  }

  .hours-row.featured {
    background: #eef3e4;
    border-color: rgba(96,116,47,.18);
  }

  .hours-row.closed {
    color: #fff;
    background: var(--olive);
    border-color: var(--olive);
  }

  .hours-period {
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.1;
  }

  .hours-row.closed .hours-period,
  .hours-row.closed .hours-details {
    color: #fff;
  }

  .hours-details {
    color: #43566a;
    text-align: right;
    font-size: 11px;
    line-height: 1.25;
  }

  .hours-note {
    margin: 10px 2px 0;
    color: #71808b;
    font-size: 10px;
    line-height: 1.35;
  }


  /* V5 branding + nav refinements ------------------------------------- */
  .nav {
    height: 100px;
    padding: 12px 14px 0 18px;
    background: var(--cream);
    align-items: flex-start;
  }

  .brand-logo {
    position: relative;
    width: 228px;
    height: 84px;
    display: flex;
    align-items: flex-start;
    gap: 1px;
    color: var(--navy-deep);
    background: transparent;
  }

  .brand-a-wrap {
    position: relative;
    width: 70px;
    height: 82px;
    flex: 0 0 70px;
  }

  .brand-a {
    position: absolute;
    left: 0;
    top: -13px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 82px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.07em;
    color: var(--navy-deep);
  }

  .brand-branch {
    position: absolute;
    left: 5px;
    top: 43px;
    width: 105px;
    height: 52px;
    z-index: 2;
    overflow: visible;
    pointer-events: none;
  }

  .brand-wordmark {
    padding-top: 9px;
    min-width: 0;
  }

  .brand-name {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 25px;
    line-height: .95;
    letter-spacing: .02em;
    white-space: nowrap;
  }

  .brand-sub {
    margin-top: 2px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 15px;
    line-height: 1;
    letter-spacing: .025em;
    white-space: nowrap;
  }

  .menu-button {
    position: relative;
    z-index: 8;
    width: 48px;
    height: 48px;
    margin-top: 1px;
    border: 1px solid rgba(11,47,85,.08);
    border-radius: 13px;
    background: rgba(255,253,248,.96);
    box-shadow: 0 4px 14px rgba(19,47,72,.07);
    cursor: pointer;
  }

  .menu-button:focus-visible {
    outline: 3px solid rgba(96,116,47,.30);
    outline-offset: 2px;
  }

  .hero-photo {
    top: 84px;
    right: -8px;
    width: 72%;
    height: 342px;
    border-radius: 0 0 0 42px;
  }

  .hero-copy {
    padding-top: 9px;
  }

  @media (max-width: 370px) {
    .brand-logo { width: 204px; }
    .brand-a-wrap { width: 63px; flex-basis: 63px; }
    .brand-a { font-size: 73px; }
    .brand-branch { width: 94px; top: 39px; }
    .brand-name { font-size: 22px; }
    .brand-sub { font-size: 13px; }
    .menu-button { width: 44px; height: 44px; }
    .hero-photo { top: 82px; }
  }


  /* V6: official user-supplied Angelina's logo ------------------------- */
  .official-logo-wrap {
    width: 242px;
    height: 84px;
    display: flex;
    align-items: flex-start;
    background: transparent;
    overflow: visible;
  }

  .official-logo {
    display: block;
    width: 236px;
    height: auto;
    max-height: 84px;
    object-fit: contain;
    object-position: left top;
    background: transparent;
  }

  /* Hide superseded temporary logo-building rules without disturbing
     the rest of the approved header layout. */
  .brand-a-wrap,
  .brand-a,
  .brand-branch,
  .brand-wordmark,
  .brand-name,
  .brand-sub {
    display: none !important;
  }

  @media (max-width: 370px) {
    .official-logo-wrap { width: 214px; }
    .official-logo { width: 208px; max-height: 78px; }
  }


  /* V7: subtle logo polish -------------------------------------------- */
  .nav {
    padding-top: 15px;
    padding-left: 20px;
    padding-right: 16px;
  }

  .official-logo-wrap {
    width: 222px;
    height: 80px;
    align-items: flex-start;
  }

  .official-logo {
    width: auto;
    height: 76px;
    max-height: 76px;
    object-fit: contain;
    object-position: left top;
  }

  @media (max-width: 370px) {
    .official-logo-wrap {
      width: 202px;
      height: 74px;
    }

    .official-logo {
      width: auto;
      height: 70px;
      max-height: 70px;
    }
  }


  /* V8: light-blue wave transition ------------------------------------ */
  .locations {
    padding-bottom: 5px;
  }

  .locations::after {
    display: none;
  }

  .blue-wave-transition {
    position: relative;
    height: 48px;
    margin-top: 0;
    overflow: hidden;
    background: var(--cream);
  }

  .blue-wave-transition svg {
    display: block;
    width: 100%;
    height: 58px;
  }

  /* V8: Customer Favorites -------------------------------------------- */
  .favorites-section {
    padding: 8px 0 25px;
    background: var(--cream);
  }

  .favorites-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding: 0 18px;
  }

  .section-kicker {
    color: var(--olive-deep);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .14em;
    margin-bottom: 4px;
  }

  .favorites-section h2 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 30px;
    line-height: .98;
    letter-spacing: -.025em;
  }

  .menu-inline-link {
    flex: 0 0 auto;
    color: var(--navy);
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
    padding-bottom: 2px;
  }

  .favorites-intro {
    margin: 8px 18px 13px;
    color: #576878;
    font-size: 12px;
    line-height: 1.35;
    max-width: 330px;
  }

  .favorites-scroller {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(235px, 72%);
    gap: 11px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    padding: 0 18px 7px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .favorites-scroller::-webkit-scrollbar {
    display: none;
  }

  .favorite-card {
    scroll-snap-align: start;
    overflow: hidden;
    min-width: 0;
    background: var(--paper);
    border: 1px solid rgba(7,56,97,.09);
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(24,36,48,.07);
  }

  .favorite-photo {
    height: 148px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(7,56,97,.07);
    color: rgba(6,46,80,.54);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.05;
    text-align: center;
    letter-spacing: .06em;
  }

  .favorite-photo::before,
  .favorite-photo::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(1px);
  }

  .favorite-photo::before {
    width: 180px;
    height: 180px;
    right: -48px;
    top: -77px;
    background: rgba(96,116,47,.13);
  }

  .favorite-photo::after {
    width: 150px;
    height: 150px;
    left: -55px;
    bottom: -91px;
    background: rgba(29,85,126,.09);
  }

  .favorite-photo span {
    position: relative;
    z-index: 1;
  }

  .favorite-photo-gyro {
    background:
      radial-gradient(circle at 68% 45%, rgba(161,99,63,.19), transparent 30%),
      linear-gradient(135deg, #f3ead8, #fbf8ef);
  }

  .favorite-photo-falafel {
    background:
      radial-gradient(circle at 65% 45%, rgba(96,116,47,.20), transparent 30%),
      linear-gradient(135deg, #eef0df, #fbf8ef);
  }

  .favorite-photo-fries {
    background:
      radial-gradient(circle at 65% 42%, rgba(193,151,66,.20), transparent 30%),
      linear-gradient(135deg, #f4ead4, #fbf8ef);
  }

  .favorite-body {
    padding: 12px 13px 13px;
  }

  .favorite-topline {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 9px;
  }

  .favorite-card h3 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    line-height: 1;
  }

  .favorite-badge {
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(96,116,47,.10);
    color: var(--olive-deep);
    font-size: 9px;
    font-weight: 700;
    padding: 4px 7px;
  }

  .favorite-card p {
    margin: 8px 0 2px;
    color: #596975;
    font-size: 11px;
    line-height: 1.38;
    min-height: 59px;
  }


  .swipe-hint {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 6px;
  }

  .swipe-hint span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(7,56,97,.18);
  }

  .swipe-hint span:first-child {
    width: 14px;
    border-radius: 99px;
    background: var(--navy);
  }

  @media (max-width: 370px) {
    .favorites-scroller {
      grid-auto-columns: minmax(224px, 78%);
      padding-left: 14px;
      padding-right: 14px;
    }

    .favorites-head {
      padding-left: 14px;
      padding-right: 14px;
    }

    .favorites-intro {
      margin-left: 14px;
      margin-right: 14px;
    }
  }


  /* V10: tighter, safer mobile location-card actions ------------------ */
  .location-actions {
    grid-template-columns: .78fr 1.22fr;
  }

  .mini-action {
    font-size: 9.8px;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .mini-action span:not(.mini-chevron) {
    overflow: visible;
    text-overflow: clip;
  }

  .mini-action + .mini-action {
    padding-left: 6px;
  }

  .mini-chevron {
    margin-left: 2px;
  }

  @media (max-width: 390px) {
    .location-actions {
      grid-template-columns: .82fr 1.18fr;
    }

    .mini-action {
      font-size: 9.2px;
      gap: 3px;
    }

    .mini-action svg {
      width: 12px;
      height: 12px;
    }
  }

  @media (max-width: 350px) {
    .location-actions {
      grid-template-columns: 1fr 1fr;
    }

    .mini-action {
      font-size: 8.6px;
    }
  }


  /* V11: functional hamburger drawer ---------------------------------- */
  .menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 110;
    background: rgba(6,30,51,.36);
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
  }

  .mobile-menu {
    position: fixed;
    z-index: 120;
    top: 10px;
    right: 10px;
    bottom: 10px;
    width: min(360px, calc(100% - 26px));
    padding: 18px;
    border-radius: 24px;
    background: var(--paper);
    box-shadow: 0 24px 70px rgba(6,30,51,.28);
    transform: translateX(calc(100% + 24px));
    transition: transform .22s ease;
    display: flex;
    flex-direction: column;
  }

  body.menu-open { overflow: hidden; }

  body.menu-open .menu-backdrop {
    opacity: 1;
    visibility: visible;
  }

  body.menu-open .mobile-menu {
    transform: translateX(0);
  }

  .mobile-menu-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(11,47,85,.10);
  }

  .menu-kicker {
    color: var(--olive-deep);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }

  .menu-title {
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
  }

  .menu-close {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(11,47,85,.06);
    color: var(--navy-deep);
    font-size: 25px;
    cursor: pointer;
  }

  .drawer-nav {
    display: grid;
    margin-top: 8px;
  }

  .drawer-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 0 4px;
    border-bottom: 1px solid rgba(11,47,85,.08);
    color: var(--navy-deep);
    text-decoration: none;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 19px;
    font-weight: 700;
  }

  .drawer-link span:last-child {
    color: var(--olive);
    font-family: Arial, sans-serif;
    font-size: 22px;
  }

  .future-link::after {
    content: "coming later";
    margin-left: auto;
    margin-right: 8px;
    color: #8a949c;
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 400;
  }

  .drawer-order {
    margin-top: 18px;
    min-height: 49px;
    border: 0;
    border-radius: 999px;
    background: var(--navy);
    color: white;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    font-size: 18px;
    cursor: pointer;
  }

  .drawer-footer {
    margin-top: auto;
    padding-top: 16px;
    color: #73808a;
    font-size: 10px;
    line-height: 1.45;
    text-align: center;
  }

  .future-anchor {
    height: 1px;
    scroll-margin-top: 16px;
  }


  /* V12: Daily Favorites ----------------------------------------------- */
  .daily-favorites {
    position: relative;
    overflow: hidden;
    padding: 28px 14px 22px;
    background: linear-gradient(180deg, #073861 0%, #062e50 100%);
    color: white;
  }

  .daily-head {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: 16px;
  }

  .daily-kicker {
    color: #d9dfae;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    margin-bottom: 4px;
  }

  .daily-favorites h2 {
    margin: 0;
    color: white;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.02em;
  }

  .daily-head p {
    margin: 6px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 12px;
    line-height: 1.35;
  }

  .daily-decor {
    position: absolute;
    z-index: 1;
    color: rgba(143,157,86,.58);
    width: 90px;
    height: 62px;
    pointer-events: none;
  }

  .daily-decor-left {
    left: -11px;
    top: 6px;
    transform: rotate(-9deg);
  }

  .daily-decor-right {
    right: -8px;
    top: 4px;
    transform: scaleX(-1) rotate(-7deg);
  }

  .daily-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .daily-card {
    min-width: 0;
    min-height: 146px;
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: 1fr auto;
    gap: 7px 9px;
    padding: 12px;
    background: #fffdf8;
    color: var(--navy-deep);
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 16px;
    box-shadow: 0 9px 24px rgba(0,0,0,.12);
  }

  .daily-card-blue {
    background: #eef5fa;
  }

  .daily-card-green {
    background: #f0f4e5;
  }

  .daily-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    color: var(--olive-deep);
    align-self: start;
  }

  .daily-icon svg {
    width: 42px;
    height: 42px;
  }

  .daily-copy {
    min-width: 0;
  }

  .daily-day {
    color: var(--olive-deep);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .11em;
    margin-bottom: 3px;
  }

  .daily-card h3 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 16px;
    line-height: 1.02;
  }

  .daily-card p {
    margin: 5px 0 0;
    color: #5b6974;
    font-size: 10px;
    line-height: 1.25;
  }

  .daily-price {
    grid-column: 1 / -1;
    justify-self: end;
    min-width: 58px;
    min-height: 32px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--navy);
    border-radius: 999px;
    background: var(--olive);
    color: white;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }

  .daily-note {
    position: relative;
    z-index: 2;
    margin: 12px 3px 0;
    text-align: center;
    color: rgba(255,255,255,.64);
    font-size: 9px;
    line-height: 1.3;
  }

  @media (max-width: 370px) {
    .daily-favorites {
      padding-left: 10px;
      padding-right: 10px;
    }

    .daily-grid {
      gap: 8px;
    }

    .daily-card {
      padding: 10px;
      grid-template-columns: 40px 1fr;
      gap: 6px;
    }

    .daily-icon {
      width: 38px;
      height: 38px;
    }

    .daily-icon svg {
      width: 36px;
      height: 36px;
    }

    .daily-card h3 {
      font-size: 14px;
    }

    .daily-card p {
      font-size: 9px;
    }
  }


  /* V13: branded drawer icons + Greek-column ornament ---------------- */
  .drawer-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
  }

  .drawer-column {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--olive-deep);
    background: rgba(96,116,47,.10);
    border: 1px solid rgba(96,116,47,.14);
  }

  .drawer-column svg {
    width: 27px;
    height: 27px;
  }

  .drawer-link {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) 16px;
    gap: 11px;
    align-items: center;
    min-height: 54px;
  }

  .drawer-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--olive-deep);
    background: rgba(96,116,47,.08);
  }

  .drawer-icon svg {
    width: 19px;
    height: 19px;
  }

  .drawer-label {
    min-width: 0;
    color: var(--navy-deep);
  }

  .drawer-chevron {
    color: var(--olive);
    font-family: Arial, sans-serif;
    font-size: 22px;
    text-align: right;
  }

  .drawer-link:active .drawer-icon {
    background: rgba(96,116,47,.16);
  }

  .future-link::after {
    display: none;
  }


  /* V14: cleaner, more consistent drawer icon system ----------------- */
  .drawer-icon,
  .drawer-column {
    background: #f2f3ea;
    color: var(--olive-deep);
    border: 1px solid rgba(96,116,47,.12);
    box-shadow: none;
  }

  .drawer-icon {
    width: 36px;
    height: 36px;
  }

  .drawer-icon svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.9;
  }

  .drawer-column {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .drawer-column svg {
    width: 25px;
    height: 25px;
  }

  .drawer-link {
    grid-template-columns: 36px minmax(0,1fr) 16px;
    gap: 12px;
    min-height: 58px;
  }

  .drawer-label {
    font-size: 18px;
    line-height: 1.05;
  }

  .drawer-chevron {
    font-size: 20px;
  }


  /* V14: compact flyer-inspired Daily Favorites ----------------------- */
  .daily-favorites {
    padding: 26px 14px 20px;
  }

  .daily-head {
    margin-bottom: 14px;
  }

  .daily-head p {
    margin-top: 5px;
  }

  .daily-list {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 9px;
  }

  .daily-row {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 86px;
    padding: 11px 12px;
    background: #fffdf8;
    color: var(--navy-deep);
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 15px;
    box-shadow: 0 7px 18px rgba(0,0,0,.10);
  }

  .daily-row-blue {
    background: #eef5fa;
  }

  .daily-row-green {
    background: #f0f4e5;
  }

  .daily-row-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: var(--olive-deep);
  }

  .daily-row-icon svg {
    width: 39px;
    height: 39px;
  }

  .daily-row-copy {
    min-width: 0;
  }

  .daily-row-copy .daily-day {
    margin-bottom: 2px;
    font-size: 8px;
  }

  .daily-row h3 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 17px;
    line-height: 1.02;
  }

  .daily-row p {
    margin: 4px 0 0;
    color: #5b6974;
    font-size: 10px;
    line-height: 1.25;
  }

  .daily-offer {
    min-width: 66px;
    min-height: 38px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--olive);
    border: 2px solid var(--navy);
    color: white;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }

  @media (max-width: 370px) {
    .daily-row {
      grid-template-columns: 44px minmax(0,1fr) auto;
      gap: 8px;
      min-height: 80px;
      padding: 10px;
    }

    .daily-row-icon {
      width: 42px;
      height: 42px;
    }

    .daily-row-icon svg {
      width: 34px;
      height: 34px;
    }

    .daily-row h3 {
      font-size: 15px;
    }

    .daily-row p {
      font-size: 9px;
    }

    .daily-offer {
      min-width: 60px;
      min-height: 34px;
      padding: 0 8px;
      font-size: 12px;
    }
  }


  /* V15: minimalist drawer — no per-item icons ------------------------ */
  .drawer-link {
    display: grid;
    grid-template-columns: minmax(0,1fr) 18px;
    gap: 12px;
    align-items: center;
    min-height: 57px;
    padding: 0 5px;
  }

  .drawer-label {
    min-width: 0;
    font-size: 19px;
    line-height: 1.05;
  }

  .drawer-chevron {
    font-size: 22px;
    text-align: right;
  }

  .drawer-icon {
    display: none !important;
  }

  /* V15: flyer-inspired Daily Favorites strips ------------------------ */
  .daily-favorites {
    padding: 28px 14px 21px;
  }

  .daily-strip-list {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 10px;
  }

  .daily-strip {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 88px;
    padding: 11px 12px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.56);
    box-shadow: 0 7px 18px rgba(0,0,0,.09);
    color: var(--navy-deep);
  }

  .daily-strip-taco {
    background: #fff8e6;
  }

  .daily-strip-wrap {
    background: #fff0e7;
  }

  .daily-strip-drink {
    background: #f7eff0;
  }

  .daily-strip-falafel {
    background: #edf2e6;
  }

  .daily-emoji {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(7,56,97,.08);
    font-size: 29px;
    line-height: 1;
  }

  .daily-strip-copy {
    min-width: 0;
  }

  .daily-strip-copy .daily-day {
    margin-bottom: 2px;
    font-size: 8px;
    letter-spacing: .12em;
  }

  .daily-strip h3 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 17px;
    line-height: 1.02;
  }

  .daily-strip p {
    margin: 4px 0 0;
    color: #64717c;
    font-size: 10px;
    line-height: 1.25;
  }

  .daily-offer {
    min-width: 66px;
    min-height: 38px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--olive);
    border: 2px solid var(--navy);
    color: white;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }

  @media (max-width: 370px) {
    .daily-strip {
      grid-template-columns: 46px minmax(0,1fr) auto;
      gap: 8px;
      min-height: 82px;
      padding: 10px;
      border-radius: 18px;
    }

    .daily-emoji {
      width: 44px;
      height: 44px;
      font-size: 24px;
    }

    .daily-strip h3 {
      font-size: 15px;
    }

    .daily-strip p {
      font-size: 9px;
    }

    .daily-offer {
      min-width: 58px;
      min-height: 34px;
      padding: 0 8px;
      font-size: 12px;
    }
  }


  /* V16: section separators + refined Daily Specials ornamentation ---- */
  .section-wave {
    overflow: hidden;
    background: var(--cream);
  }

  .section-wave-subtle {
    height: 26px;
    margin: 0;
  }

  .section-wave-subtle svg {
    display: block;
    width: 100%;
    height: 30px;
  }

  .daily-favorites {
    position: relative;
    padding-top: 30px;
  }

  /* Replace leafy corner art with a quieter Greek-key inspired accent. */
  .daily-decor {
    display: none !important;
  }

  .daily-corner {
    position: absolute;
    top: 14px;
    width: 54px;
    height: 30px;
    opacity: .34;
    pointer-events: none;
  }

  .daily-corner-left {
    left: 14px;
  }

  .daily-corner-right {
    right: 14px;
    transform: scaleX(-1);
  }

  .daily-corner span {
    position: absolute;
    display: block;
    border-color: #dbe7ef;
    border-style: solid;
    border-width: 0;
  }

  .daily-corner span:nth-child(1) {
    left: 0;
    top: 2px;
    width: 43px;
    height: 1px;
    border-top-width: 2px;
  }

  .daily-corner span:nth-child(2) {
    left: 0;
    top: 2px;
    width: 1px;
    height: 20px;
    border-left-width: 2px;
  }

  .daily-corner span:nth-child(3) {
    left: 0;
    bottom: 5px;
    width: 24px;
    height: 1px;
    border-bottom-width: 2px;
  }

  .daily-kicker {
    letter-spacing: .18em;
  }


  /* V17: hero fade + refined eyebrow + visible Greek-key corners ------ */

  /* The hero photo can be swapped later without editing the image.
     The fade is generated by CSS inside the image container. */
  .hero-photo {
    overflow: hidden;
  }

  .hero-photo::before {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    height: 92px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      var(--cream) 0%,
      rgba(251,247,237,.92) 15%,
      rgba(251,247,237,.66) 38%,
      rgba(251,247,237,.24) 68%,
      rgba(251,247,237,0) 100%
    );
  }

  .hero-photo::after {
    z-index: 2;
  }

  .fresh {
    display: block;
    color: var(--olive-deep);
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    letter-spacing: .16em;
    font-size: 10px;
    line-height: 1.2;
    margin-bottom: 7px;
  }

  .fresh::after {
    display: none;
  }

  .daily-corner {
    display: none !important;
  }

  .daily-key {
    position: absolute;
    top: 13px;
    width: 74px;
    height: 30px;
    color: rgba(214,232,243,.68);
    pointer-events: none;
    z-index: 1;
  }

  .daily-key-left {
    left: 12px;
  }

  .daily-key-right {
    right: 12px;
    transform: scaleX(-1);
  }

  .daily-key svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  @media (max-width: 370px) {
    .daily-key {
      width: 62px;
      color: rgba(214,232,243,.58);
    }

    .fresh {
      font-size: 9px;
      letter-spacing: .14em;
    }
  }


  /* V18: stronger hero-image blend ------------------------------------ */
  .hero-photo::before {
    height: 145px;
    background: linear-gradient(
      to bottom,
      var(--cream) 0%,
      rgba(251,247,237,.99) 16%,
      rgba(251,247,237,.95) 31%,
      rgba(251,247,237,.78) 49%,
      rgba(251,247,237,.48) 66%,
      rgba(251,247,237,.18) 83%,
      rgba(251,247,237,0) 100%
    );
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }


  /* V19: natural hero-photo fade -------------------------------------- */
  .hero-photo {
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.20) 7%,
      rgba(0,0,0,.58) 16%,
      rgba(0,0,0,.88) 25%,
      #000 34%,
      #000 100%
    );
    mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.20) 7%,
      rgba(0,0,0,.58) 16%,
      rgba(0,0,0,.88) 25%,
      #000 34%,
      #000 100%
    );
  }

  /* Remove the prior blurred top overlay entirely. */
  .hero-photo::before {
    display: none !important;
  }


  /* V20: approved hero messaging -------------------------------------- */
  .hero-copy {
    width: 58%;
  }

  .hero-copy h1 {
    font-size: clamp(42px, 11.8vw, 56px);
    line-height: .88;
    letter-spacing: -.04em;
  }

  .hero-copy p {
    max-width: 185px;
  }

  @media (max-width: 370px) {
    .hero-copy {
      width: 60%;
    }

    .hero-copy h1 {
      font-size: 40px;
    }
  }


  /* V21: cleaner Daily Specials accents ------------------------------- */
  .daily-key,
  .daily-corner {
    display: none !important;
  }

  .daily-rule {
    position: absolute;
    top: 22px;
    width: 82px;
    height: 18px;
    pointer-events: none;
    opacity: .72;
    z-index: 1;
  }

  .daily-rule-left {
    left: 15px;
  }

  .daily-rule-right {
    right: 15px;
    transform: scaleX(-1);
  }

  .daily-rule span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: #d8e9f3;
  }

  .daily-rule span:first-child {
    width: 76px;
    margin-bottom: 6px;
  }

  .daily-rule span:last-child {
    width: 42px;
  }

  /* Whole Yelp pill is now one large tap target. */
  .social-proof {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
  }

  .social-proof:active {
    transform: scale(.992);
    background: rgba(255,255,255,.72);
  }

  .social-proof:focus-visible {
    outline: 3px solid rgba(96,116,47,.28);
    outline-offset: 2px;
  }

  .proof-link {
    display: block;
  }

  @media (max-width: 370px) {
    .daily-rule {
      width: 64px;
    }

    .daily-rule span:first-child {
      width: 60px;
    }

    .daily-rule span:last-child {
      width: 34px;
    }
  }


  /* V23: Reviews section ---------------------------------------------- */
  .reviews-wave {
    background: var(--cream);
  }

  .reviews-section {
    padding: 22px 0 28px;
    background: var(--cream);
  }

  .reviews-heading {
    padding: 0 18px;
    text-align: center;
  }

  .reviews-kicker {
    color: var(--olive-deep);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    margin-bottom: 5px;
  }

  .reviews-section h2 {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 31px;
    line-height: 1;
    letter-spacing: -.02em;
  }

  .reviews-heading p {
    margin: 8px auto 0;
    max-width: 330px;
    color: #64717c;
    font-size: 12px;
    line-height: 1.35;
  }

  .reviews-scroller {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(270px, 82%);
    gap: 11px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    padding: 16px 18px 8px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .reviews-scroller::-webkit-scrollbar {
    display: none;
  }

  .review-card {
    scroll-snap-align: start;
    min-height: 182px;
    display: flex;
    flex-direction: column;
    padding: 16px;
    border-radius: 18px;
    background: var(--paper);
    border: 1px solid rgba(7,56,97,.08);
    box-shadow: 0 8px 22px rgba(24,36,48,.07);
  }

  .review-stars {
    color: #9a7c21;
    font-size: 15px;
    letter-spacing: .08em;
    margin-bottom: 10px;
  }

  .review-card blockquote {
    margin: 0;
    color: var(--navy-deep);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 19px;
    line-height: 1.25;
  }

  .review-meta {
    margin-top: auto;
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .review-meta strong {
    color: var(--navy-deep);
    font-size: 11px;
  }

  .review-meta span {
    color: #7a8790;
    font-size: 9px;
  }

  .reviews-dots {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 3px;
  }

  .reviews-dots span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(7,56,97,.18);
  }

  .reviews-dots .active {
    width: 14px;
    border-radius: 999px;
    background: var(--navy);
  }

  .reviews-button {
    width: fit-content;
    min-width: 178px;
    min-height: 44px;
    margin: 15px auto 0;
    padding: 0 17px;
    border-radius: 999px;
    border: 2px solid var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--navy);
    background: var(--paper);
    text-decoration: none;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 14px;
    font-weight: 700;
  }

  .reviews-button:active {
    transform: scale(.992);
  }

  @media (max-width: 370px) {
    .reviews-scroller {
      grid-auto-columns: minmax(250px, 86%);
      padding-left: 14px;
      padding-right: 14px;
    }

    .reviews-heading {
      padding-left: 14px;
      padding-right: 14px;
    }

    .review-card blockquote {
      font-size: 17px;
    }
  }


  /* V24: filled olive-branch accents from a transparent botanical asset */
  .olive-accent {
    display: block;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    object-fit: contain;
  }

  .hero {
    position: relative;
  }

  .olive-hero {
    position: absolute;
    z-index: 4;
    top: 92px;
    right: -22px;
    width: 88px;
    transform: rotate(-13deg);
    opacity: .92;
  }

  .favorites-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }

  .olive-favorites {
    width: 83px;
    flex: 0 0 83px;
    transform: rotate(-5deg);
    opacity: .96;
  }

  .daily-favorites {
    position: relative;
  }

  .olive-daily {
    position: absolute;
    z-index: 1;
    top: 16px;
    right: -20px;
    width: 95px;
    transform: rotate(17deg);
    opacity: .28;
  }

  .reviews-section {
    position: relative;
    overflow: hidden;
  }

  .olive-reviews {
    position: absolute;
    right: -18px;
    top: 12px;
    width: 92px;
    transform: rotate(13deg);
    opacity: .18;
  }

  .favorites-head {
    align-items: center;
  }

  @media (max-width: 370px) {
    .olive-hero {
      width: 76px;
      right: -24px;
    }

    .olive-favorites {
      width: 70px;
      flex-basis: 70px;
    }

    .olive-daily,
    .olive-reviews {
      width: 82px;
    }
  }


  /* V25: cleaned botanical asset + corrected hero orientation -------- */
  .olive-hero {
    right: -10px;
    width: 96px;
    transform: scaleX(-1) rotate(-8deg);
    transform-origin: right center;
    opacity: .94;
  }

  /* Give the title accent enough breathing room so no leaf can clip. */
  .favorites-title-row {
    overflow: visible;
  }

  .olive-favorites {
    width: 90px;
    flex-basis: 90px;
    overflow: visible;
  }

  @media (max-width: 370px) {
    .olive-hero {
      width: 82px;
      right: -9px;
    }

    .olive-favorites {
      width: 76px;
      flex-basis: 76px;
    }
  }


  /* V26: refined olive accents --------------------------------------- */

  /* Hero and Reviews intentionally have no olive branch. */
  .olive-hero,
  .olive-reviews {
    display: none !important;
  }

  /* Tighten Customer Favorites vertically and pull eyebrow closer. */
  .favorites-section {
    padding-top: 1px;
  }

  .favorites-head {
    padding-top: 0;
    align-items: flex-start;
  }

  .section-kicker {
    margin-bottom: 1px;
  }

  .favorites-title-row {
    gap: 2px;
    align-items: center;
    overflow: visible;
  }

  .olive-favorites {
    width: 82px;
    flex: 0 0 82px;
    margin-left: 0;
    transform: rotate(-3deg);
    opacity: .98;
    overflow: visible;
  }

  .favorites-intro {
    margin-top: 6px;
  }

  /* Daily Specials uses one complete branch from each side. */
  .daily-rule,
  .daily-key,
  .daily-corner {
    display: none !important;
  }

  .daily-favorites {
    position: relative;
    overflow: hidden;
  }

  .olive-daily {
    position: absolute;
    z-index: 1;
    top: 22px;
    width: 98px;
    opacity: .42;
    overflow: visible;
  }

  /* Stem enters from the left and leaves extend inward to the right. */
  .olive-daily-left {
    left: -26px;
    transform: rotate(-8deg);
    transform-origin: left center;
  }

  /* Stem enters from the right and leaves extend inward to the left. */
  .olive-daily-right {
    right: -26px;
    transform: scaleX(-1) rotate(-8deg);
    transform-origin: right center;
  }

  .daily-head {
    position: relative;
    z-index: 2;
  }

  @media (max-width: 370px) {
    .olive-favorites {
      width: 72px;
      flex-basis: 72px;
    }

    .olive-daily {
      width: 84px;
      top: 24px;
      opacity: .38;
    }

    .olive-daily-left { left: -27px; }
    .olive-daily-right { right: -27px; }
  }


  /* V27: tighter Customer Favorites + complete Daily Specials branches */

  .favorites-section {
    padding-top: 0 !important;
  }

  .favorites-head {
    padding-top: 0 !important;
    gap: 0;
  }

  .favorites-head > div {
    width: 100%;
  }

  .section-kicker {
    margin-bottom: 0 !important;
    line-height: 1.05;
  }

  .favorites-title-row {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: -1px;
    overflow: visible;
  }

  .favorites-section h2 {
    margin: 0 !important;
    line-height: .94;
  }

  .olive-favorites {
    width: 78px;
    flex: 0 0 78px;
    margin-left: 2px;
    transform: translateY(1px) rotate(-2deg);
    opacity: .98;
    object-fit: contain;
    overflow: visible;
  }

  .favorites-intro {
    margin-top: 3px !important;
    margin-bottom: 11px;
  }

  /* Ensure both Daily Specials branches are visible and symmetrical. */
  .daily-favorites {
    position: relative;
    overflow: hidden;
  }

  .olive-daily {
    display: block !important;
    position: absolute;
    z-index: 1;
    top: 20px;
    width: 92px;
    opacity: .50;
    object-fit: contain;
    overflow: visible;
    pointer-events: none;
  }

  .olive-daily-left {
    left: -18px;
    transform: rotate(-7deg);
    transform-origin: left center;
  }

  .olive-daily-right {
    right: -18px;
    transform: scaleX(-1) rotate(-7deg);
    transform-origin: right center;
  }

  .daily-head {
    position: relative;
    z-index: 2;
  }

  @media (max-width: 370px) {
    .olive-favorites {
      width: 70px;
      flex-basis: 70px;
    }

    .olive-daily {
      width: 80px;
      top: 22px;
    }

    .olive-daily-left { left: -20px; }
    .olive-daily-right { right: -20px; }
  }


  /* V28: corrected Customer Favorites spacing and olive branches ------- */

  /* Give the section a little breathing room below the blue waves,
     while keeping the eyebrow close to the title. */
  .favorites-section {
    padding-top: 10px !important;
  }

  .favorites-head {
    padding-top: 0 !important;
    align-items: flex-start !important;
  }

  .favorites-head > div {
    width: auto !important;
  }

  .section-kicker {
    margin: 0 0 4px 0 !important;
    line-height: 1.05 !important;
  }

  .favorites-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .favorites-section h2 {
    margin: 0 !important;
    line-height: .96 !important;
  }

  .olive-favorites {
    display: block !important;
    width: 78px !important;
    height: auto !important;
    flex: 0 0 78px !important;
    margin: 0 0 0 1px !important;
    transform: translateY(1px) rotate(-2deg) !important;
    opacity: .98 !important;
    object-fit: contain !important;
    overflow: visible !important;
  }

  .favorites-intro {
    margin-top: 5px !important;
    margin-bottom: 11px !important;
  }

  /* Daily Specials: two clean branches, one from each side. */
  .daily-favorites {
    position: relative !important;
    overflow: hidden !important;
  }

  .olive-daily {
    display: block !important;
    position: absolute !important;
    z-index: 3 !important;
    top: 21px !important;
    width: 84px !important;
    height: auto !important;
    opacity: .52 !important;
    object-fit: contain !important;
    pointer-events: none !important;
  }

  /* Clean asset naturally grows from left to right. */
  .olive-daily-left {
    left: -8px !important;
    right: auto !important;
    transform: rotate(-5deg) !important;
    transform-origin: left center !important;
  }

  /* Mirror it so this branch grows from the right toward the center. */
  .olive-daily-right {
    right: -8px !important;
    left: auto !important;
    transform: scaleX(-1) rotate(-5deg) !important;
    transform-origin: right center !important;
  }

  .daily-head {
    position: relative !important;
    z-index: 4 !important;
  }

  @media (max-width: 370px) {
    .favorites-section {
      padding-top: 9px !important;
    }

    .olive-favorites {
      width: 70px !important;
      flex-basis: 70px !important;
    }

    .olive-daily {
      width: 75px !important;
      top: 23px !important;
    }

    .olive-daily-left {
      left: -9px !important;
    }

    .olive-daily-right {
      right: -9px !important;
    }
  }


  /* V29: tighter Customer Favorites grouping + guaranteed dual Daily branches */

  /* Make the eyebrow + title read as one visual unit. */
  .favorites-head > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  .section-kicker {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .favorites-title-row {
    margin-top: -2px !important;
    padding: 0 !important;
    align-items: center !important;
  }

  .favorites-section h2 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: .94 !important;
  }

  .favorites-intro {
    margin-top: 3px !important;
  }

  /* Daily Specials branches are now pseudo-elements rather than <img> tags,
     so both sides render consistently on every viewport. */
  .daily-favorites::before,
  .daily-favorites::after {
    content: "";
    position: absolute;
    top: 24px;
    width: 86px;
    height: 54px;
    background-image: url("../images/olive-branch.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: .56;
    pointer-events: none;
    z-index: 3;
  }

  .daily-favorites::before {
    left: -5px;
    transform: rotate(-5deg);
    transform-origin: left center;
  }

  .daily-favorites::after {
    right: -5px;
    transform: scaleX(-1) rotate(-5deg);
    transform-origin: right center;
  }

  .daily-head {
    position: relative !important;
    z-index: 4 !important;
  }

  .olive-daily {
    display: none !important;
  }

  @media (max-width: 370px) {
    .daily-favorites::before,
    .daily-favorites::after {
      width: 76px;
      height: 48px;
      top: 25px;
      opacity: .52;
    }
  }


  /* V30: Customer Favorites matched to user's Photoshop reference ----- */
  .favorites-section {
    padding-top: 7px !important;
  }

  .favorites-head {
    padding-top: 0 !important;
    align-items: flex-start !important;
  }

  .favorites-head > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: auto !important;
  }

  .section-kicker {
    margin: 0 0 1px 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .favorites-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin: -1px 0 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    width: max-content !important;
    max-width: 100% !important;
  }

  .favorites-section h2 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: .92 !important;
  }

  .olive-favorites {
    display: block !important;
    width: 72px !important;
    height: auto !important;
    flex: 0 0 72px !important;
    margin-left: -1px !important;
    transform: translateY(1px) rotate(-2deg) !important;
    opacity: .98 !important;
    object-fit: contain !important;
    overflow: visible !important;
  }

  .favorites-intro {
    margin-top: 2px !important;
    margin-bottom: 10px !important;
  }


  /* V30: explicit dual Daily Specials branches ------------------------ */
  .daily-favorites::before,
  .daily-favorites::after {
    display: none !important;
    content: none !important;
  }

  .daily-favorites {
    position: relative !important;
    overflow: hidden !important;
  }

  .daily-branch {
    position: absolute;
    z-index: 3;
    top: 28px;
    width: 112px;
    height: 62px;
    background-image: url("../images/olive-branch.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    opacity: .58;
    pointer-events: none;
  }

  .daily-branch-left {
    left: -12px;
    transform: rotate(-6deg);
    transform-origin: left center;
  }

  .daily-branch-right {
    right: -12px;
    transform: scaleX(-1) rotate(-6deg);
    transform-origin: right center;
  }

  .daily-head {
    position: relative !important;
    z-index: 4 !important;
  }

  @media (max-width: 370px) {
    .olive-favorites {
      width: 66px !important;
      flex-basis: 66px !important;
    }

    .daily-branch {
      width: 96px;
      height: 56px;
      top: 30px;
    }

    .daily-branch-left {
      left: -14px;
    }

    .daily-branch-right {
      right: -14px;
    }
  }


  /* V31: corrected Daily Specials branch geometry -------------------- */
  .daily-branch {
    top: 18px !important;
    width: 142px !important;
    height: 78px !important;
    opacity: .60 !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    z-index: 3 !important;
  }

  /* Let the branch begin off-canvas and grow inward. */
  .daily-branch-left {
    left: -52px !important;
    right: auto !important;
    transform: rotate(-5deg) !important;
    transform-origin: center center !important;
  }

  /* Mirror around its CENTER, not its right edge, so it stays visible. */
  .daily-branch-right {
    right: -52px !important;
    left: auto !important;
    transform: scaleX(-1) rotate(-5deg) !important;
    transform-origin: center center !important;
  }

  @media (max-width: 370px) {
    .daily-branch {
      width: 126px !important;
      height: 70px !important;
      top: 20px !important;
    }

    .daily-branch-left {
      left: -48px !important;
    }

    .daily-branch-right {
      right: -48px !important;
    }
  }


  /* V32: Catering teaser + footer ------------------------------------- */
  .catering-wave { background: var(--cream); }

  .catering-teaser {
    padding: 14px 15px 28px;
    background: var(--cream);
  }

  .catering-card {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(145deg, var(--navy), var(--navy-deep));
    color: white;
    padding: 24px 19px 18px;
    box-shadow: 0 12px 30px rgba(6,30,51,.16);
  }

  .catering-branch {
    position: absolute;
    right: -28px;
    top: -8px;
    width: 125px;
    opacity: .30;
    transform: scaleX(-1) rotate(8deg);
    pointer-events: none;
  }

  .catering-copy {
    position: relative;
    z-index: 2;
    max-width: 330px;
  }

  .catering-kicker {
    color: #d9dfae;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
    margin-bottom: 5px;
  }

  .catering-teaser h2 {
    margin: 0;
    color: white;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 31px;
    line-height: .98;
    letter-spacing: -.02em;
  }

  .catering-copy p {
    margin: 10px 0 0;
    max-width: 330px;
    color: rgba(255,255,255,.82);
    font-size: 12px;
    line-height: 1.4;
  }

  .catering-actions {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 8px;
    margin-top: 17px;
  }

  .catering-actions a {
    min-height: 44px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 14px;
    font-weight: 700;
  }

  .catering-primary {
    background: white;
    color: var(--navy-deep);
  }

  .catering-primary span { margin-left: 8px; }

  .catering-secondary {
    border: 1.5px solid rgba(255,255,255,.58);
    color: white;
  }

  .site-footer {
    background: #062e50;
    color: white;
    padding: 28px 18px 22px;
  }

  .footer-brand img {
    width: 190px;
    height: auto;
    filter: brightness(0) invert(1);
    opacity: .97;
  }

  .footer-brand p {
    margin: 10px 0 0;
    max-width: 330px;
    color: rgba(255,255,255,.74);
    font-size: 11px;
    line-height: 1.45;
  }

  .footer-locations {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 20px;
  }

  .footer-location {
    min-width: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.18);
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .footer-location strong {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 14px;
  }

  .footer-location span,
  .footer-location a {
    color: rgba(255,255,255,.72);
    font-size: 9px;
    line-height: 1.35;
    text-decoration: none;
  }

  .footer-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 17px;
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.18);
  }

  .footer-nav a {
    color: white;
    text-decoration: none;
    font-size: 10px;
    font-weight: 700;
  }

  .footer-bottom {
    margin-top: 18px;
    color: rgba(255,255,255,.50);
    font-size: 8px;
    line-height: 1.4;
  }

  @media (max-width: 370px) {
    .footer-locations { grid-template-columns: 1fr; }
  }


/* V33 shared footer -------------------------------------------------- */
.ag-site-footer{
  background:#062e50;
  color:#fff;
  padding:22px 18px 14px;
}
.ag-footer-inner{
  display:grid;
  grid-template-columns:1.05fr .7fr 1.35fr;
  gap:16px;
  align-items:start;
}
.ag-footer-brandcol,
.ag-footer-linkscol,
.ag-footer-cartcol{
  min-width:0;
}
.ag-footer-linkscol,
.ag-footer-cartcol{
  border-left:1px solid rgba(255,255,255,.32);
  padding-left:15px;
}
.ag-footer-logo-link{
  display:inline-block;
}
.ag-footer-logo{
  display:block;
  width:155px;
  height:auto;
}
.ag-socials{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:12px;
}
.ag-social{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  color:#fff;
  text-decoration:none;
  border-radius:50%;
}
.ag-social svg{
  width:20px;
  height:20px;
}
.ag-yelp svg{
  width:22px;
  height:22px;
}
.ag-footer-linkscol nav{
  display:grid;
  gap:7px;
}
.ag-footer-linkscol a{
  color:#fff;
  text-decoration:none;
  font-size:10px;
  font-weight:600;
}
.ag-footer-title{
  margin-bottom:6px;
  font-size:10px;
  font-weight:700;
}
.ag-cart-row{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:7px;
  align-items:start;
}
.ag-cart-row + .ag-cart-row{
  margin-top:7px;
}
.ag-cart-icon{
  display:grid;
  place-items:center;
  color:#fff;
  width:27px;
  height:27px;
}
.ag-cart-icon svg{
  width:23px;
  height:23px;
}
.ag-cart-row strong,
.ag-cart-row span{
  display:block;
}
.ag-cart-row strong{
  font-size:9.5px;
  line-height:1.15;
}
.ag-cart-row span{
  color:rgba(255,255,255,.82);
  font-size:8.5px;
  line-height:1.2;
}
.ag-footer-copy{
  margin-top:15px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.48);
  font-size:7.5px;
  text-align:center;
}
@media (max-width:420px){
  .ag-site-footer{
    padding-left:14px;
    padding-right:14px;
  }
  .ag-footer-inner{
    grid-template-columns:1fr 1fr;
    gap:16px 12px;
  }
  .ag-footer-brandcol{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
  }
  .ag-footer-logo{
    width:150px;
  }
  .ag-socials{
    margin-top:0;
    flex:0 0 auto;
  }
  .ag-footer-linkscol{
    border-left:0;
    padding-left:0;
  }
  .ag-footer-cartcol{
    padding-left:12px;
  }
}


/* V34 footer polish -------------------------------------------------- */
.ag-footer-inner{
  grid-template-columns:1.20fr .72fr 1.42fr !important;
  gap:18px !important;
}
.ag-footer-brandcol{
  padding-right:18px !important;
}
.ag-footer-linkscol{
  padding-left:18px !important;
}
.ag-footer-cartcol{
  padding-left:18px !important;
}
.ag-footer-logo{
  width:148px !important;
  max-width:100%;
}
.ag-socials{
  gap:13px !important;
  margin-top:13px !important;
}
.ag-socials a{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  text-decoration:none;
}
.ag-socials img{
  display:block;
  width:20px;
  height:20px;
  object-fit:contain;
}
.ag-socials a:nth-child(2) img{
  width:18px;
  height:20px;
}
.ag-socials a:nth-child(3) img{
  width:21px;
  height:21px;
}
.ag-footer-phone{
  display:inline-block !important;
  margin-top:3px;
  color:#fff !important;
  font-size:8.5px !important;
  font-weight:700;
  text-decoration:none;
}
@media (max-width:420px){
  .ag-footer-inner{
    grid-template-columns:1fr 1fr !important;
    gap:16px 12px !important;
  }
  .ag-footer-brandcol{
    grid-column:1 / -1;
    padding-right:0 !important;
  }
  .ag-footer-linkscol{
    padding-left:0 !important;
  }
  .ag-footer-cartcol{
    padding-left:13px !important;
  }
  .ag-footer-logo{
    width:154px !important;
  }
}


/* V35: completed hamburger navigation + About/Contact sheets ---------- */
button.drawer-link{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(11,47,85,.08);
  background:transparent;
  padding-left:5px;
  padding-right:5px;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}
button.drawer-link .drawer-label{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:700;
}
.info-sheet-backdrop{
  position:fixed;
  inset:0;
  z-index:130;
  background:rgba(6,30,51,.34);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
}
.info-sheet{
  position:fixed;
  z-index:140;
  left:50%;
  bottom:12px;
  width:min(448px, calc(100% - 24px));
  max-height:min(76vh, 590px);
  overflow:auto;
  transform:translate(-50%, calc(100% + 28px));
  transition:transform .22s ease;
  background:var(--paper);
  border:1px solid rgba(11,47,85,.11);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(6,30,51,.25);
  padding:10px 16px 18px;
}
body.info-sheet-open .info-sheet-backdrop{
  opacity:1;
  visibility:visible;
}
body.info-sheet-open .info-sheet{
  transform:translate(-50%,0);
}
.info-sheet-handle{
  width:40px;
  height:4px;
  margin:1px auto 11px;
  border-radius:999px;
  background:rgba(11,47,85,.16);
}
.info-sheet-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(11,47,85,.08);
}
.info-sheet-kicker{
  color:var(--olive-deep);
  font-size:9px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:3px;
}
.info-sheet h3{
  margin:0;
  color:var(--navy-deep);
  font-family:Georgia,'Times New Roman',serif;
  font-size:25px;
  line-height:1;
}
.info-sheet-close{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:rgba(11,47,85,.06);
  color:var(--navy-deep);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.info-sheet-body{
  padding-top:14px;
  color:#526575;
  font-size:12px;
  line-height:1.5;
}
.info-sheet-body p{
  margin:0 0 12px;
}
.info-sheet-card{
  margin-top:10px;
  padding:13px;
  border-radius:15px;
  background:#f4f6eb;
  border:1px solid rgba(96,116,47,.14);
}
.info-sheet-card strong{
  display:block;
  color:var(--navy-deep);
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  margin-bottom:3px;
}
.info-sheet-card span{
  display:block;
  color:#60707d;
  font-size:10px;
  line-height:1.35;
}
.info-sheet-actions{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.info-sheet-actions a{
  min-height:45px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  font-weight:700;
}
.info-primary{
  background:var(--navy);
  color:#fff;
}
.info-secondary{
  background:var(--paper);
  color:var(--olive-deep);
  border:2px solid var(--olive);
}


/* V37: clearer mobile drawer identity ------------------------------- */
.drawer-name-wrap{
  min-width:0;
}
.menu-business-name{
  max-width:235px;
  font-size:27px !important;
  line-height:.98 !important;
  letter-spacing:-.025em !important;
  white-space:normal;
}
@media(max-width:370px){
  .menu-business-name{
    max-width:205px;
    font-size:23px !important;
  }
}
@media(max-width:330px){
  .menu-business-name{
    max-width:185px;
    font-size:21px !important;
  }
}


/* V37: larger, easier-to-scan Contact sheet ------------------------- */
.info-contact-card{
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);
  gap:18px;
  align-items:center;
  padding:17px 18px !important;
}
.info-contact-location{
  color:var(--navy-deep);
  font-family:Georgia,'Times New Roman',serif;
  font-size:19px;
  line-height:1.05;
  font-weight:700;
}
.info-contact-details{
  padding-left:17px;
  border-left:1px solid rgba(96,116,47,.24);
}
.info-contact-details span,
.info-contact-details a{
  display:block;
  color:#536675;
  font-size:13px;
  line-height:1.38;
}
.info-contact-details a{
  margin-top:4px;
  color:var(--navy-deep);
  font-weight:700;
  text-decoration:none;
}
@media(max-width:350px){
  .info-contact-card{
    grid-template-columns:1fr;
    gap:9px;
  }
  .info-contact-details{
    padding-left:0;
    padding-top:9px;
    border-left:0;
    border-top:1px solid rgba(96,116,47,.24);
  }
}


/* V38: one consistent header + hamburger navigation on every page */
.ag-global-header{
  background:#fbf7ed;
  color:#073861;
}
.ag-global-utility{
  min-height:36px;
  padding:7px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#073861;
  color:rgba(255,255,255,.78);
  font-size:11px;
  line-height:1.15;
  white-space:nowrap;
}
.ag-global-utility em{
  font-family:Georgia,'Times New Roman',serif;
  color:rgba(255,255,255,.78);
  font-size:11px;
}
.ag-global-truck{
  display:flex;
  align-items:center;
}
.ag-global-truck svg{
  width:18px;
  height:18px;
}
.ag-global-divider{
  width:1px;
  height:18px;
  background:rgba(255,255,255,.36);
}
.ag-global-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 17px 12px;
  min-height:104px;
}
.ag-global-logo-link{
  display:block;
  min-width:0;
}
.ag-global-logo{
  display:block;
  width:226px;
  max-width:100%;
  height:auto;
  max-height:86px;
  object-fit:contain;
  object-position:left center;
}
.ag-global-menu-button{
  flex:0 0 58px;
  width:58px;
  height:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0;
  border:1px solid rgba(7,56,97,.08);
  border-radius:17px;
  background:rgba(255,255,255,.58);
  color:#073861;
  cursor:pointer;
  box-shadow:0 7px 20px rgba(7,56,97,.06);
}
.ag-global-menu-button span{
  width:29px;
  height:4px;
  border-radius:999px;
  background:currentColor;
}
.ag-menu-backdrop,
.ag-contact-backdrop{
  position:fixed;
  inset:0;
  background:rgba(7,39,62,.34);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility .18s ease;
}
.ag-menu-backdrop{z-index:300}
.ag-contact-backdrop{z-index:320}
.ag-mobile-menu{
  position:fixed;
  z-index:310;
  top:18px;
  right:18px;
  bottom:18px;
  width:min(420px,calc(100% - 36px));
  padding:16px 18px 20px;
  display:flex;
  flex-direction:column;
  background:#fffdf8;
  border-radius:27px;
  box-shadow:0 28px 80px rgba(6,30,51,.28);
  transform:translateX(calc(100% + 34px));
  transition:transform .22s ease;
  overflow:auto;
}
body.ag-menu-open .ag-menu-backdrop{
  opacity:1;
  visibility:visible;
}
body.ag-menu-open .ag-mobile-menu{
  transform:translateX(0);
}
.ag-mobile-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(7,56,97,.12);
}
.ag-drawer-brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.ag-drawer-column{
  flex:0 0 43px;
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  color:#5d742d;
  background:#f3f5e9;
  border:1px solid rgba(96,116,47,.17);
  border-radius:50%;
}
.ag-drawer-column svg{
  width:26px;
  height:26px;
}
.ag-drawer-business-name{
  max-width:255px;
  color:#526b2c;
  font-size:20px;
  line-height:1.04;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ag-menu-close,
.ag-contact-close{
  flex:0 0 52px;
  width:52px;
  height:52px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f1f2ef;
  color:#073861;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.ag-drawer-nav{
  display:grid;
  margin-top:9px;
}
.ag-drawer-link{
  width:100%;
  min-height:63px;
  padding:0 7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:0;
  border-bottom:1px solid rgba(7,56,97,.10);
  background:transparent;
  color:#073861;
  text-decoration:none;
  text-align:left;
  font-family:Georgia,'Times New Roman',serif;
  font-size:22px;
  font-weight:700;
  cursor:pointer;
}
.ag-drawer-link b{
  color:#60742f;
  font-family:Arial,Helvetica,sans-serif;
  font-size:31px;
  font-weight:500;
}
.ag-drawer-footer{
  margin-top:auto;
  padding-top:22px;
  color:#70808c;
  text-align:center;
  font-size:10px;
  line-height:1.45;
}
.ag-contact-sheet{
  position:fixed;
  z-index:330;
  left:50%;
  bottom:12px;
  width:min(448px,calc(100% - 24px));
  max-height:min(76vh,590px);
  overflow:auto;
  padding:10px 16px 18px;
  background:#fffdf8;
  border:1px solid rgba(7,56,97,.10);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(6,30,51,.25);
  transform:translate(-50%,calc(100% + 30px));
  transition:transform .22s ease;
}
body.ag-contact-open .ag-contact-backdrop{
  opacity:1;
  visibility:visible;
}
body.ag-contact-open .ag-contact-sheet{
  transform:translate(-50%,0);
}
.ag-contact-handle{
  width:40px;
  height:4px;
  margin:1px auto 11px;
  border-radius:999px;
  background:rgba(7,56,97,.16);
}
.ag-contact-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding-bottom:12px;
  border-bottom:1px solid rgba(7,56,97,.08);
}
.ag-contact-kicker{
  color:#536c2a;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
}
.ag-contact-head h3{
  margin:4px 0 0;
  color:#073861;
  font-family:Georgia,'Times New Roman',serif;
  font-size:28px;
  line-height:1;
}
.ag-contact-body{
  padding-top:14px;
  color:#536675;
  font-size:13.5px;
  line-height:1.5;
}
.ag-contact-body p{
  margin:0 0 14px;
}
.ag-contact-card{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);
  gap:18px;
  align-items:center;
  padding:17px 18px;
  border-radius:17px;
  background:#f4f6eb;
  border:1px solid rgba(96,116,47,.18);
}
.ag-contact-location{
  color:#073861;
  font-family:Georgia,'Times New Roman',serif;
  font-size:21px;
  line-height:1.05;
  font-weight:700;
}
.ag-contact-details{
  padding-left:17px;
  border-left:1px solid rgba(96,116,47,.25);
}
.ag-contact-details span,
.ag-contact-details a{
  display:block;
  color:#536675;
  font-size:14px;
  line-height:1.4;
}
.ag-contact-details a{
  margin-top:4px;
  color:#073861;
  font-weight:700;
  text-decoration:none;
}
.ag-contact-actions{
  display:grid;
  gap:9px;
  margin-top:14px;
}
.ag-contact-actions a{
  min-height:48px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  font-weight:700;
}
.ag-contact-primary{
  background:#073861;
  color:white;
}
.ag-contact-secondary{
  color:#536c2a;
  background:#fffdf8;
  border:2px solid #60742f;
}
body.ag-menu-open,
body.ag-contact-open{
  overflow:hidden;
}
@media(max-width:390px){
  .ag-global-utility{
    gap:7px;
    font-size:9.5px;
  }
  .ag-global-utility em{font-size:9.5px}
  .ag-global-main{
    min-height:94px;
    padding:10px 14px;
  }
  .ag-global-logo{width:205px;max-height:76px}
  .ag-global-menu-button{
    flex-basis:52px;
    width:52px;
    height:52px;
    border-radius:15px;
  }
  .ag-global-menu-button span{width:26px;height:3.5px}
  .ag-drawer-business-name{
    max-width:210px;
    font-size:17px;
  }
  .ag-drawer-link{
    min-height:59px;
    font-size:20px;
  }
}
@media(max-width:345px){
  .ag-global-utility em,
  .ag-global-divider{display:none}
  .ag-global-logo{width:186px}
  .ag-contact-card{
    grid-template-columns:1fr;
    gap:9px;
  }
  .ag-contact-details{
    padding-left:0;
    padding-top:9px;
    border-left:0;
    border-top:1px solid rgba(96,116,47,.25);
  }
}


/* V39 — tablet + desktop responsive shell. Mobile (<768px) is intentionally unchanged. */
@media (min-width: 768px) {
  html { background:#efece4; }
  body { padding:0 !important; background:#efece4; }
  .page {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden;
    background:var(--cream);
  }

  .ag-global-utility {
    min-height:40px;
    font-size:12px;
    gap:13px;
  }
  .ag-global-utility em { font-size:12px; }
  .ag-global-main {
    width:100%;
    max-width:1180px;
    min-height:118px;
    margin:0 auto;
    padding:16px 32px 15px;
  }
  .ag-global-logo { width:265px; max-height:88px; }
  .ag-global-menu-button {
    width:60px;
    height:60px;
    flex-basis:60px;
    border-radius:18px;
  }
  .ag-mobile-menu {
    top:24px;
    right:24px;
    bottom:24px;
    width:min(430px,calc(100% - 48px));
  }
  .ag-contact-sheet { width:min(560px,calc(100% - 48px)); }

  .ag-site-footer { padding:34px 32px 20px; }
  .ag-footer-inner {
    width:100%;
    max-width:1180px;
    margin:0 auto;
    grid-template-columns:1.15fr .75fr 1.35fr !important;
    gap:34px !important;
  }
  .ag-footer-brandcol { padding-right:26px !important; }
  .ag-footer-linkscol,
  .ag-footer-cartcol { padding-left:28px !important; }
  .ag-footer-logo { width:185px !important; }
  .ag-footer-linkscol a,
  .ag-footer-title { font-size:12px !important; }
  .ag-cart-row strong { font-size:11.5px !important; }
  .ag-cart-row span,
  .ag-footer-phone { font-size:10.5px !important; }
  .ag-footer-copy {
    max-width:1180px;
    margin:20px auto 0;
    font-size:9px;
  }
}

@media (min-width: 1024px) {
  .ag-global-main { padding-left:40px; padding-right:40px; }
  .ag-global-logo { width:285px; }
  .ag-site-footer { padding-left:40px; padding-right:40px; }
}

@media (min-width: 768px) {
  .hero {
    width:100%;
    max-width:1180px;
    min-height:540px;
    margin:0 auto;
    padding:44px 32px 46px;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    grid-template-rows:auto auto;
    gap:20px 34px;
    align-items:center;
  }
  .hero-photo {
    position:relative;
    z-index:0;
    top:auto;
    right:auto;
    grid-column:2;
    grid-row:1 / 3;
    width:100%;
    height:450px;
    border-radius:30px;
    background-position:50% 48%;
    box-shadow:0 18px 45px rgba(7,56,97,.13);
  }
  .hero-copy {
    grid-column:1;
    grid-row:1;
    width:auto;
    padding:0;
    align-self:end;
  }
  .hero-copy .fresh { font-size:12px; letter-spacing:.18em; }
  .hero-copy h1 { font-size:62px; line-height:.91; margin-top:12px; }
  .hero-copy p { max-width:420px; font-size:17px; line-height:1.45; margin-top:18px; }
  .cta-row {
    position:static;
    grid-column:1;
    grid-row:2;
    width:100%;
    max-width:430px;
    padding:0;
    margin:0;
    align-self:start;
    justify-content:flex-start;
  }
  .cta { min-height:54px; font-size:16px; }
  .order-popover { width:330px; }

  .social-proof {
    width:calc(100% - 64px);
    max-width:1116px;
    margin:2px auto 18px;
    padding:15px 20px;
  }
  .proof-copy strong { font-size:14px; }
  .proof-copy span { font-size:11px; }

  .locations {
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:14px 32px 28px;
    gap:18px;
  }
  .location-card { padding:18px; border-radius:20px; }
  .location-card h2 { font-size:22px; }
  .location-card address { font-size:12px; line-height:1.45; }
  .mini-action { min-height:46px; font-size:11px; }

  .blue-wave-transition svg,
  .section-wave svg { height:72px; }
  .blue-wave-transition { height:66px; }

  .favorites-section { padding:18px 0 48px; }
  .favorites-head,
  .reviews-heading,
  .daily-head {
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding-left:32px;
    padding-right:32px;
  }
  .favorites-title-row h2,
  .reviews-heading h2 { font-size:42px !important; }
  .favorites-intro,
  .reviews-intro { max-width:620px; font-size:14px; line-height:1.5; }
  .olive-favorites { width:84px !important; flex-basis:84px !important; }
  .favorites-scroller {
    width:100%;
    max-width:1180px;
    margin:18px auto 0;
    padding:0 32px 8px;
    display:grid;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
    gap:18px;
    scroll-snap-type:none;
  }
  .favorite-card { scroll-snap-align:none; min-height:100%; }

  .daily-favorites { padding:48px 0 50px; }
  .daily-head { text-align:center; }
  .daily-head h2 { font-size:42px; }
  .daily-head p { font-size:14px; }
  .daily-strip-list {
    width:100%;
    max-width:1180px;
    margin:24px auto 0;
    padding:0 32px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .daily-strip { min-height:105px; padding:18px; }
  .daily-offer { font-size:22px; }
  .daily-desc { font-size:12px; }
  .daily-branch { width:175px !important; height:94px !important; top:28px !important; }
  .daily-branch-left { left:-58px !important; }
  .daily-branch-right { right:-58px !important; }

  .reviews-section { padding:34px 0 52px; }
  .reviews-scroller {
    width:100%;
    max-width:1180px;
    margin:18px auto 0;
    padding:0 32px 8px;
    display:grid;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
    gap:18px;
    scroll-snap-type:none;
  }
  .review-card { min-height:100%; scroll-snap-align:none; padding:22px; }
  .reviews-dots { display:none; }

  .catering-teaser { padding:26px 32px 54px; }
  .catering-card {
    width:100%;
    max-width:1116px;
    margin:0 auto;
    padding:42px 46px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,330px);
    gap:42px;
    align-items:center;
    border-radius:28px;
  }
  .catering-teaser h2 { font-size:42px; }
  .catering-copy p { max-width:620px; font-size:14px; line-height:1.55; }
  .catering-actions { margin-top:0; }
  .catering-actions a { min-height:52px; font-size:15px; }
  .catering-branch { width:185px; right:-36px; top:-28px; }
}

@media (min-width: 1024px) {
  .hero { padding-left:40px; padding-right:40px; min-height:585px; gap:24px 54px; }
  .hero-photo { height:495px; }
  .hero-copy h1 { font-size:76px; }
  .hero-copy p { font-size:18px; }
  .locations,
  .favorites-head,
  .reviews-heading,
  .daily-head { padding-left:40px; padding-right:40px; }
  .favorites-scroller,
  .reviews-scroller,
  .daily-strip-list { padding-left:40px; padding-right:40px; }
  .social-proof { width:calc(100% - 80px); }
  .catering-teaser { padding-left:40px; padding-right:40px; }
}


/* V40 — desktop-specific header/nav refresh. Mobile + tablet remain unchanged. */
.ag-desktop-nav{
  display:none;
}

@media (min-width:1100px){
  /* Reimagined top utility bar */
  .ag-global-utility{
    min-height:46px !important;
    justify-content:space-between !important;
    padding-left:max(40px, calc((100vw - 1180px)/2 + 40px)) !important;
    padding-right:max(40px, calc((100vw - 1180px)/2 + 40px)) !important;
    font-size:11px !important;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:800;
    color:#fff !important;
  }
  .ag-global-truck,
  .ag-global-divider{
    display:none !important;
  }
  .ag-global-utility > span:not(.ag-global-truck):not(.ag-global-divider){
    color:#fff;
    font-weight:800;
  }
  .ag-global-utility em{
    color:#fff !important;
    font-size:13px !important;
    font-weight:700;
    letter-spacing:.015em;
    text-transform:none;
    opacity:.96;
  }
  .ag-global-utility em::after{
    content:"";
  }

  /* Proper desktop navigation */
  .ag-global-main{
    max-width:1180px !important;
    min-height:104px !important;
    padding:14px 40px !important;
    gap:28px !important;
  }
  .ag-global-logo{
    width:245px !important;
    max-height:78px !important;
  }
  .ag-global-menu-button{
    display:none !important;
  }
  .ag-desktop-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:26px;
    margin-left:auto;
    white-space:nowrap;
  }
  .ag-desktop-nav a{
    position:relative;
    color:#073861;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    line-height:1;
  }
  .ag-desktop-nav a:not(.ag-desktop-cta)::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-8px;
    height:2px;
    border-radius:999px;
    background:#60742f;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .16s ease;
  }
  .ag-desktop-nav a:not(.ag-desktop-cta):hover::after,
  .ag-desktop-nav a:not(.ag-desktop-cta):focus-visible::after{
    transform:scaleX(1);
  }
  .ag-desktop-cta{
    min-height:44px;
    padding:0 20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#073861;
    color:#fff !important;
    font-family:Georgia,'Times New Roman',serif;
    font-size:14px !important;
    box-shadow:0 7px 18px rgba(7,56,97,.14);
  }
  .ag-desktop-cta:hover,
  .ag-desktop-cta:focus-visible{
    background:#062e50;
  }
}

@media (min-width:1100px) and (max-width:1220px){
  .ag-desktop-nav{ gap:18px; }
  .ag-desktop-nav a{ font-size:13px; }
  .ag-desktop-cta{ padding-left:16px; padding-right:16px; }
  .ag-global-logo{ width:225px !important; }
}


/* V41 — restore the approved mobile hero composition + clean Yelp proof */
@media (max-width: 767px) {
  .hero-photo {
    top: -10px !important;
    height: 436px !important;
  }

  .social-proof {
    grid-template-columns: 39px minmax(0, 1fr) 92px !important;
    gap: 9px !important;
  }

  .proof-copy span {
    white-space: normal !important;
    line-height: 1.25;
  }

  .proof-link {
    max-width: 92px !important;
    padding-left: 10px !important;
    margin-left: 2px;
  }
}

@media (max-width: 350px) {
  .hero-photo {
    top: -8px !important;
    height: 432px !important;
  }

  .social-proof {
    grid-template-columns: 35px minmax(0, 1fr) 82px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .proof-link {
    max-width: 82px !important;
    padding-left: 8px !important;
    font-size: 9px !important;
  }
}


/* V42 — mobile hero flow + unified announcement bar ------------------ */

/* Same announcement content/treatment across mobile + tablet.
   Desktop keeps its larger V40 sizing at 1100px+. */
@media (max-width: 1099px) {
  .ag-global-utility {
    min-height: 42px !important;
    padding: 7px 14px !important;
    justify-content: space-between !important;
    gap: 12px !important;
    color: #fff !important;
  }

  .ag-global-truck,
  .ag-global-divider {
    display: none !important;
  }

  .ag-global-utility > span:not(.ag-global-truck):not(.ag-global-divider) {
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .ag-global-utility em {
    color: #fff !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.1;
    letter-spacing: 0 !important;
    opacity: .98 !important;
    white-space: nowrap;
  }

  .ag-global-utility em::after {
    content:"";
    font-style: normal;
  }
}

@media (max-width: 767px) {
  /* Let content determine hero height instead of pinning the buttons
     to the bottom of a tall fixed-height hero. */
  .hero {
    min-height: 0 !important;
    padding-bottom: 10px !important;
  }

  .hero-photo {
    top: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .cta-row {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 14px 15px 0 !important;
  }
}

@media (max-width: 370px) {
  .ag-global-utility {
    padding-left: 10px !important;
    padding-right: 10px !important;
    gap: 8px !important;
  }

  .ag-global-utility > span:not(.ag-global-truck):not(.ag-global-divider) {
    font-size: 8px !important;
    letter-spacing: .07em !important;
  }

  .ag-global-utility em {
    font-size: 9px !important;
  }

  .cta-row {
    margin-top: 12px !important;
  }
}

@media (max-width: 330px) {
  .ag-global-utility {
    gap: 6px !important;
  }

  .ag-global-utility > span:not(.ag-global-truck):not(.ag-global-divider) {
    font-size: 7.4px !important;
  }

  .ag-global-utility em {
    font-size: 8.4px !important;
  }
}


/* V43 — Google review pill ------------------------------------------ */
.google-review-pill{
  margin:8px 15px 0;
  min-height:64px;
  padding:10px 13px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border-radius:22px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(16,43,68,.08);
  box-shadow:0 6px 16px rgba(24,36,48,.04);
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.google-review-pill:active{
  transform:scale(.992);
  background:rgba(255,255,255,.88);
}
.google-review-pill:focus-visible{
  outline:3px solid rgba(66,133,244,.22);
  outline-offset:2px;
}
.google-g{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
}
.google-g svg{
  width:29px;
  height:29px;
  display:block;
}
.google-review-copy{
  min-width:0;
}
.google-review-top{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.google-review-top strong{
  color:#172d47;
  font-size:12px;
  line-height:1.1;
  white-space:nowrap;
}
.google-stars{
  display:flex;
  gap:1px;
  color:#fbbc04;
  font-size:13px;
  line-height:1;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.google-review-sub{
  display:block;
  margin-top:4px;
  color:#68717b;
  font-size:9.5px;
  line-height:1.2;
}
.google-review-link{
  padding-left:11px;
  border-left:1px solid rgba(16,43,68,.20);
  color:#223f59;
  font-size:9.5px;
  line-height:1.15;
  text-align:left;
  white-space:nowrap;
}
@media(max-width:370px){
  .google-review-pill{
    margin-left:10px;
    margin-right:10px;
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    padding-left:11px;
    padding-right:11px;
  }
  .google-g{
    width:28px;
    height:28px;
  }
  .google-g svg{
    width:26px;
    height:26px;
  }
  .google-review-top{
    gap:6px;
  }
  .google-review-top strong{
    font-size:11px;
  }
  .google-stars{
    font-size:11.5px;
  }
  .google-review-link{
    display:none;
  }
  .google-review-sub{
    font-size:9px;
  }
}
@media(min-width:768px){
  .google-review-pill{
    max-width:760px;
    margin:18px auto 0;
    min-height:72px;
    padding:12px 17px;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:13px;
    border-radius:24px;
  }
  .google-g{
    width:35px;
    height:35px;
  }
  .google-g svg{
    width:33px;
    height:33px;
  }
  .google-review-top strong{
    font-size:14px;
  }
  .google-stars{
    font-size:15px;
  }
  .google-review-sub{
    font-size:11px;
  }
  .google-review-link{
    font-size:11px;
    padding-left:16px;
  }
}


/* V44 — verified Google rating/count from live listing */
.google-review-top{
  flex-wrap:wrap;
}
.google-rating{
  font-size:12px !important;
  color:#172d47 !important;
}
.google-review-count{
  font-size:11px !important;
  color:#172d47 !important;
  font-weight:700 !important;
}
.google-star-partial{
  position:relative;
  color:#d9dde1;
}
.google-star-partial::after{
  content:"★";
  position:absolute;
  inset:0 auto 0 0;
  width:60%;
  overflow:hidden;
  color:#fbbc04;
}
@media(max-width:370px){
  .google-review-top{
    gap:5px !important;
  }
  .google-rating{
    font-size:10.5px !important;
  }
  .google-review-count{
    font-size:9.8px !important;
  }
}
@media(min-width:768px){
  .google-rating{
    font-size:14px !important;
  }
  .google-review-count{
    font-size:13px !important;
  }
}


/* V45 — compact Google rating badge + tighter equal-height location cards */
.google-review-pill{
  min-height:58px !important;
  grid-template-columns:32px minmax(0,1fr) 18px !important;
  padding:9px 13px !important;
  gap:9px !important;
}
.google-review-top{
  flex-wrap:nowrap !important;
  gap:7px !important;
}
.google-rating{
  font-size:12px !important;
}
.google-review-count{
  font-size:10.5px !important;
}
.google-review-sub,
.google-review-link{
  display:none !important;
}
.google-review-arrow{
  color:#28455f;
  font-size:15px;
  line-height:1;
  text-align:right;
}
.google-g{
  width:29px !important;
  height:29px !important;
}
.google-g svg{
  width:27px !important;
  height:27px !important;
}

.location-card{
  display:flex !important;
  flex-direction:column !important;
  padding:9px 9px 8px !important;
}
.location-top{
  grid-template-columns:35px minmax(0,1fr) !important;
  gap:7px !important;
}
.location-icon{
  width:35px !important;
  height:35px !important;
}
.location-icon svg{
  width:18px !important;
  height:18px !important;
}
.location-card h2{
  font-size:16px !important;
  line-height:.96 !important;
  margin:1px 0 4px !important;
}
.location-card address{
  font-size:9.4px !important;
  line-height:1.22 !important;
}
.location-actions{
  margin-top:auto !important;
  padding-top:6px !important;
}
.mini-action{
  font-size:9.4px !important;
}
.mini-action .i{
  font-size:12px !important;
}

@media(max-width:370px){
  .google-review-pill{
    grid-template-columns:28px minmax(0,1fr) 15px !important;
    padding-left:10px !important;
    padding-right:10px !important;
    gap:6px !important;
  }
  .google-review-top{
    gap:4px !important;
  }
  .google-rating{
    font-size:10.5px !important;
  }
  .google-stars{
    font-size:10.5px !important;
  }
  .google-review-count{
    font-size:9px !important;
  }
  .location-top{
    grid-template-columns:32px minmax(0,1fr) !important;
    gap:5px !important;
  }
  .location-icon{
    width:32px !important;
    height:32px !important;
  }
  .location-card h2{
    font-size:14.5px !important;
  }
  .location-card address,
  .mini-action{
    font-size:8.6px !important;
  }
}

@media(min-width:768px){
  .google-review-pill{
    max-width:720px !important;
    min-height:64px !important;
    grid-template-columns:35px minmax(0,1fr) 20px !important;
    padding:10px 16px !important;
  }
  .google-rating{
    font-size:14px !important;
  }
  .google-review-count{
    font-size:12px !important;
  }
}


/* V47 — restore fuller Google review pill ---------------------------- */
.google-review-pill{
  min-height:64px !important;
  grid-template-columns:34px minmax(0,1fr) auto !important;
  padding:10px 13px !important;
  gap:10px !important;
}
.google-review-top{
  flex-wrap:wrap !important;
  gap:8px !important;
}
.google-rating{
  font-size:12px !important;
}
.google-review-count{
  font-size:11px !important;
}
.google-review-sub{
  display:block !important;
  margin-top:4px !important;
  color:#68717b !important;
  font-size:9.5px !important;
  line-height:1.2 !important;
}
.google-review-link{
  display:block !important;
  max-width:92px !important;
  padding-left:11px !important;
  margin-left:2px !important;
  border-left:1px solid rgba(16,43,68,.20) !important;
  color:#223f59 !important;
  font-size:9.5px !important;
  line-height:1.15 !important;
  text-align:left !important;
  white-space:nowrap !important;
}
.google-review-arrow{
  display:none !important;
}

@media(max-width:370px){
  .google-review-pill{
    grid-template-columns:30px minmax(0,1fr) !important;
    padding-left:11px !important;
    padding-right:11px !important;
    gap:8px !important;
  }
  .google-review-top{
    gap:5px !important;
  }
  .google-rating{
    font-size:10.5px !important;
  }
  .google-review-count{
    font-size:9.8px !important;
  }
  .google-review-sub{
    font-size:9px !important;
  }
  .google-review-link{
    display:none !important;
  }
}

@media(min-width:768px){
  .google-review-pill{
    max-width:760px !important;
    min-height:72px !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    padding:12px 17px !important;
    gap:13px !important;
  }
  .google-rating{
    font-size:14px !important;
  }
  .google-review-count{
    font-size:13px !important;
  }
  .google-review-sub{
    font-size:11px !important;
  }
  .google-review-link{
    max-width:none !important;
    padding-left:16px !important;
    font-size:11px !important;
  }
}


/* V49 — tighter location cards on tablet/desktop; mobile unchanged */
@media (min-width:768px) {
  .location-card h2 br {
    display:none;
  }
}

@media (min-width:768px) and (max-width:1099px) {
  .locations {
    padding-top:10px !important;
    padding-bottom:20px !important;
    gap:14px !important;
  }

  .location-card {
    padding:12px 14px 10px !important;
    border-radius:18px !important;
  }

  .location-top {
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:9px !important;
    align-items:center !important;
  }

  .location-icon {
    width:38px !important;
    height:38px !important;
  }

  .location-icon svg {
    width:19px !important;
    height:19px !important;
  }

  .location-card h2 {
    font-size:18px !important;
    line-height:1 !important;
    margin:0 0 4px !important;
    white-space:nowrap;
  }

  .location-card address {
    font-size:10px !important;
    line-height:1.24 !important;
  }

  .location-actions {
    margin-top:9px !important;
    padding-top:6px !important;
  }

  .mini-action {
    min-height:30px !important;
    font-size:9.5px !important;
  }

  .mini-action svg {
    width:13px !important;
    height:13px !important;
  }
}


/* V52 — improve Daily Specials readability on phones/tablets */
.daily-strip-copy .daily-day{
  font-size:9.5px !important;
  line-height:1.15 !important;
}

.daily-strip p{
  margin-top:5px !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
}

.daily-note{
  font-size:10.5px !important;
  line-height:1.4 !important;
}

.daily-head p{
  font-size:13px !important;
  line-height:1.4 !important;
}

@media (max-width:370px){
  .daily-strip-copy .daily-day{
    font-size:9px !important;
  }

  .daily-strip p{
    font-size:11.5px !important;
  }

  .daily-note{
    font-size:10px !important;
  }

  .daily-head p{
    font-size:12px !important;
  }
}

@media (min-width:768px){
  .daily-strip-copy .daily-day{
    font-size:10.5px !important;
  }

  .daily-strip p{
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .daily-note{
    font-size:12px !important;
  }

  .daily-head p{
    font-size:15px !important;
  }
}


/* V53 — exact Daily Specials illustrations extracted from the supplied flyer */
.daily-emoji{
  overflow:hidden;
}
.daily-flyer-art{
  display:block;
  width:auto;
  height:auto;
  max-width:86%;
  max-height:82%;
  object-fit:contain;
}
.daily-flyer-art-taco{
  max-width:94%;
}
.daily-flyer-art-wrap{
  max-width:79%;
  max-height:79%;
}
.daily-flyer-art-drink{
  max-width:78%;
  max-height:78%;
}
.daily-flyer-art-falafel{
  max-width:86%;
  max-height:83%;
}
@media(min-width:768px){
  .daily-flyer-art{
    max-width:88%;
    max-height:84%;
  }
  .daily-flyer-art-taco{
    max-width:95%;
  }
}


/* V55 — remove redundant day labels and tighten Daily Specials spacing */
.daily-strip-copy h3{
  margin-top:0 !important;
}
.daily-strip-copy{
  align-self:center !important;
}


/* V56 — corrected flyer icon crops; preserve complete artwork */
.daily-emoji{
  overflow:hidden !important;
}
.daily-flyer-art-wrap,
.daily-flyer-art-drink,
.daily-flyer-art-falafel{
  max-width:76% !important;
  max-height:76% !important;
}
.daily-flyer-art-taco{
  max-width:91% !important;
  max-height:78% !important;
}


/* V57 — canonical announcement bar across every page ---------------- */
.ag-global-utility{
  min-height:42px !important;
  padding:7px 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  background:#073861 !important;
  color:#fff !important;
  white-space:nowrap !important;
}
.ag-global-utility > span{
  color:#fff !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  line-height:1.1 !important;
}
.ag-global-utility em{
  color:#fff !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  font-style:italic !important;
  line-height:1.1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  opacity:.98 !important;
}
.ag-global-utility em::after{
  content:"" !important;
}
.ag-global-truck,
.ag-global-divider{
  display:none !important;
}

@media(max-width:370px){
  .ag-global-utility{
    padding-left:10px !important;
    padding-right:10px !important;
    gap:8px !important;
  }
  .ag-global-utility > span{
    font-size:8px !important;
    letter-spacing:.07em !important;
  }
  .ag-global-utility em{
    font-size:9px !important;
  }
}
@media(max-width:330px){
  .ag-global-utility{
    gap:6px !important;
  }
  .ag-global-utility > span{
    font-size:7.4px !important;
  }
  .ag-global-utility em{
    font-size:8.4px !important;
  }
}
@media(min-width:1100px){
  .ag-global-utility{
    min-height:46px !important;
    padding-left:max(40px, calc((100vw - 1180px)/2 + 40px)) !important;
    padding-right:max(40px, calc((100vw - 1180px)/2 + 40px)) !important;
    font-size:11px !important;
  }
  .ag-global-utility > span{
    font-size:11px !important;
    letter-spacing:.13em !important;
  }
  .ag-global-utility em{
    font-size:13px !important;
  }
}


/* V61 — footer alignment / equal separators across all pages -------- */
.ag-footer-inner{
  align-items:stretch !important;
}

/* Make both vertical separators run the same full column height. */
.ag-footer-linkscol,
.ag-footer-cartcol{
  height:100% !important;
  align-self:stretch !important;
}

/* Center the brand/social column and keep socials directly under logo. */
.ag-footer-brandcol{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
}
.ag-footer-logo-link{
  display:block !important;
  margin:0 auto !important;
}
.ag-footer-socials,
.ag-socials{
  width:max-content !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
}

/* Center the footer navigation labels within their column. */
.ag-footer-linkscol{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.ag-footer-linkscol nav{
  width:100% !important;
  justify-items:center !important;
  text-align:center !important;
}
.ag-footer-linkscol a{
  width:100% !important;
  text-align:center !important;
}

/* Mobile footer: logo over socials, centered, then links / carts below. */
@media (max-width:420px){
  .ag-footer-brandcol{
    grid-column:1 / -1 !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
  }
  .ag-socials{
    margin-top:12px !important;
  }
  .ag-footer-linkscol{
    border-left:0 !important;
    padding-left:0 !important;
  }
  .ag-footer-cartcol{
    height:100% !important;
  }
}


/* V62 — broader multi-platform reviews trust bar */
.reviews-across-web{
  margin:8px 15px 0;
  min-height:64px;
  padding:10px 13px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  border-radius:22px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(16,43,68,.08);
  box-shadow:0 6px 16px rgba(24,36,48,.04);
  color:inherit;
  text-decoration:none;
}
.reviews-stars{
  color:#b08b18;
  font-size:15px;
  line-height:1;
  letter-spacing:1px;
  white-space:nowrap;
}
.reviews-across-copy{
  min-width:0;
}
.reviews-across-copy strong{
  display:block;
  color:#172d47;
  font-size:12px;
  line-height:1.15;
}
.reviews-across-copy span{
  display:block;
  margin-top:4px;
  color:#68717b;
  font-size:9.5px;
  line-height:1.2;
}
.reviews-across-link{
  padding-left:12px;
  border-left:1px solid rgba(16,43,68,.20);
  color:#223f59;
  font-size:9.5px;
  line-height:1.15;
  white-space:nowrap;
}

@media(max-width:370px){
  .reviews-across-web{
    grid-template-columns:auto minmax(0,1fr);
    gap:8px;
    padding-left:11px;
    padding-right:11px;
  }
  .reviews-stars{
    font-size:13px;
  }
  .reviews-across-copy strong{
    font-size:11px;
  }
  .reviews-across-copy span{
    font-size:9px;
  }
  .reviews-across-link{
    display:none;
  }
}

@media(min-width:768px){
  .reviews-across-web{
    max-width:760px;
    margin:18px auto 0;
    min-height:72px;
    padding:12px 17px;
    gap:14px;
    border-radius:24px;
  }
  .reviews-stars{
    font-size:17px;
  }
  .reviews-across-copy strong{
    font-size:14px;
  }
  .reviews-across-copy span{
    font-size:11px;
  }
  .reviews-across-link{
    padding-left:16px;
    font-size:11px;
  }
}


/* V64 — make Customer Favorites eyebrow + title read as one unit */
.favorites-head .section-kicker{
  margin-bottom:0 !important;
  line-height:1 !important;
}
.favorites-title-row{
  margin-top:-3px !important;
}
.favorites-section h2{
  margin-top:0 !important;
  line-height:.96 !important;
}


/* V65 — consistent towable food-cart/trailer icon for both locations */
.location-icon .food-cart-trailer-icon{
  width:25px !important;
  height:21px !important;
  display:block;
}
@media(max-width:370px){
  .location-icon .food-cart-trailer-icon{
    width:22px !important;
    height:19px !important;
  }
}
@media(min-width:768px) and (max-width:1099px){
  .location-icon .food-cart-trailer-icon{
    width:24px !important;
    height:20px !important;
  }
}


/* V70 — owner-supplied beef & lamb gyro hero review */
.hero-photo{
  background-size:cover !important;
  background-position:58% 50% !important;
}
@media(min-width:768px){
  .hero-photo{
    background-position:61% 50% !important;
  }
}
@media(min-width:1100px){
  .hero-photo{
    background-position:64% 50% !important;
  }
}


/* V71 — nudge hero photo left/up to reveal more of the gyro filling */
.hero-photo{
  background-position:64% 58% !important;
}
@media(min-width:768px){
  .hero-photo{
    background-position:66% 56% !important;
  }
}
@media(min-width:1100px){
  .hero-photo{
    background-position:67% 54% !important;
  }
}


/* V72 — stronger hero positioning: visible beef/lamb above CTA */
@media(max-width:767px){
  .hero-photo{
    top:0 !important;
    bottom:66px !important;
    height:auto !important;
    min-height:0 !important;
    background-size:cover !important;
    background-position:72% 100% !important;
  }
}

@media(max-width:370px){
  .hero-photo{
    bottom:64px !important;
    background-position:74% 100% !important;
  }
}

@media(min-width:768px){
  .hero-photo{
    background-position:68% 70% !important;
  }
}

@media(min-width:1100px){
  .hero-photo{
    background-position:70% 68% !important;
  }
}


/* V74 — final owner-supplied stacked-gyros hero ------------------------ */
.hero-photo {
  background-image:url("angelinas-hero-gyros-mobile.webp") !important;
  background-size:cover !important;
  background-position:50% 50% !important;
}

@media (min-width:768px) {
  .hero-photo {
    background-image:url("angelinas-hero-gyros-desktop.webp") !important;
    background-position:50% 50% !important;
  }
}

@media (min-width:1100px) {
  .hero-photo {
    background-position:50% 50% !important;
  }
}


/* V75 — preserve real-photo color while keeping the hero blend ---------- */
/* No image pixels are altered. These rules only reduce the cream haze. */

.hero-photo::after {
  background:
    linear-gradient(90deg,
      var(--cream) 0%,
      rgba(251,247,237,.90) 8%,
      rgba(251,247,237,.56) 20%,
      rgba(251,247,237,.10) 36%,
      rgba(251,247,237,0) 48%),
    linear-gradient(180deg,
      rgba(251,247,237,.18) 0%,
      rgba(251,247,237,0) 13%,
      rgba(251,247,237,0) 91%,
      rgba(251,247,237,.05) 100%) !important;
}

.hero-photo {
  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,.48) 0%,
    rgba(0,0,0,.76) 7%,
    rgba(0,0,0,.94) 14%,
    #000 20%,
    #000 100%
  ) !important;
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,.48) 0%,
    rgba(0,0,0,.76) 7%,
    rgba(0,0,0,.94) 14%,
    #000 20%,
    #000 100%
  ) !important;
}

/* On wider layouts the photo sits beside the copy, so it can stay nearly
   untouched instead of being heavily blended into the cream background. */
@media (min-width:768px) {
  .hero-photo::after {
    background:
      linear-gradient(90deg,
        rgba(251,247,237,.22) 0%,
        rgba(251,247,237,.06) 12%,
        rgba(251,247,237,0) 24%),
      linear-gradient(180deg,
        rgba(251,247,237,.08) 0%,
        rgba(251,247,237,0) 12%,
        rgba(251,247,237,0) 94%,
        rgba(251,247,237,.04) 100%) !important;
  }

  .hero-photo {
    -webkit-mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,.82) 0%,
      #000 10%,
      #000 100%
    ) !important;
    mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,.82) 0%,
      #000 10%,
      #000 100%
    ) !important;
  }
}


/* V78 — restored authentic hero photo, enhanced only with non-generative
   brightness/contrast/color/sharpness adjustments. */
.hero-photo {
  background-image: url("../images/hero-gyros-mobile.webp") !important;
}
@media (min-width:768px) {
  .hero-photo {
    background-image: url("../images/hero-gyros-desktop.webp") !important;
  }
}


/* V80 — desktop homepage proportion refinements; mobile/tablet unchanged */
@media (min-width:1100px){

  /* Keep the review proof bar and location cards in one centered desktop rhythm. */
  .reviews-across-web{
    width:calc(100% - 80px) !important;
    max-width:1060px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .locations{
    width:100% !important;
    max-width:1060px !important;
    margin:0 auto !important;
    padding:12px 0 28px !important;
    gap:18px !important;
  }

  .location-card{
    padding:15px 18px 12px !important;
    border-radius:20px !important;
  }

  .location-top{
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
  }

  .location-icon{
    width:40px !important;
    height:40px !important;
  }

  .location-icon svg{
    width:20px !important;
    height:20px !important;
  }

  .location-card h2{
    margin:0 0 4px !important;
    font-size:20px !important;
    line-height:1.02 !important;
  }

  .location-card address{
    font-size:11px !important;
    line-height:1.3 !important;
  }

  .location-actions{
    margin-top:11px !important;
    padding-top:8px !important;
  }

  .mini-action{
    min-height:36px !important;
    font-size:10px !important;
  }

  /* Daily Specials stays full-bleed navy, but the content no longer stretches. */
  .daily-head{
    max-width:1060px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .daily-strip-list{
    max-width:1060px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:16px !important;
  }

  .daily-strip{
    min-height:92px !important;
    padding:15px 18px !important;
  }

  .daily-favorites{
    padding-top:42px !important;
    padding-bottom:46px !important;
  }

  /* Compact the catering CTA so it reads like a focused conversion block. */
  .catering-teaser{
    padding:22px 40px 50px !important;
  }

  .catering-card{
    width:100% !important;
    max-width:1060px !important;
    padding:36px 42px !important;
    grid-template-columns:minmax(0,1fr) minmax(250px,300px) !important;
    gap:34px !important;
    border-radius:26px !important;
  }

  .catering-copy{
    max-width:560px !important;
  }

  .catering-teaser h2{
    font-size:40px !important;
    line-height:.98 !important;
  }

  .catering-copy p{
    max-width:560px !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .catering-actions{
    width:100% !important;
  }

  .catering-actions a{
    min-height:50px !important;
  }

  /* Keep the pale-blue separator waves visibly continuous edge-to-edge. */
  .section-wave-subtle{
    position:relative !important;
    z-index:3 !important;
    height:34px !important;
    overflow:hidden !important;
  }

  .section-wave-subtle svg{
    display:block !important;
    width:calc(100% + 48px) !important;
    height:34px !important;
    margin-left:-24px !important;
    overflow:visible !important;
  }
}


/* V81 — small desktop width balance pass; no mobile/tablet redesign */
@media (min-width:1100px){
  .reviews-across-web,
  .locations,
  .daily-head,
  .daily-strip-list,
  .reviews-heading,
  .reviews-scroller,
  .catering-card{
    max-width:990px !important;
  }
}


/* V92 — desktop review proof moved under the hero CTAs; mobile/tablet unchanged */
.reviews-across-web--desktop{
  display:none;
}

@media (min-width:1100px){
  /* Hide the long full-width review bar only on desktop. */
  .reviews-across-web--below-hero{
    display:none !important;
  }

  /* Put a compact proof card directly beneath View Menu / Order Online. */
  .reviews-across-web--desktop{
    display:grid !important;
    grid-column:1 / -1;
    width:100% !important;
    max-width:none !important;
    min-height:58px !important;
    margin:12px 0 0 !important;
    padding:10px 13px !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:10px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.82) !important;
    box-shadow:0 7px 18px rgba(24,36,48,.045) !important;
  }

  .reviews-across-web--desktop .reviews-stars{
    font-size:15px !important;
  }

  .reviews-across-web--desktop .reviews-across-copy strong{
    font-size:12.5px !important;
    line-height:1.15 !important;
  }

  .reviews-across-web--desktop .reviews-across-copy span{
    margin-top:3px !important;
    font-size:10px !important;
    line-height:1.2 !important;
  }

  .reviews-across-web--desktop .reviews-across-link{
    padding-left:11px !important;
    font-size:10px !important;
  }

  /* Let the left hero column comfortably accommodate the proof card. */
  .hero{
    grid-template-rows:auto auto !important;
    align-items:center !important;
  }

  .cta-row{
    max-width:430px !important;
  }

  /* With the old full-width bar gone, keep the location cards comfortably spaced. */
  .locations{
    padding-top:20px !important;
  }
}
