  /*Footer*/

  footer {
  background-color: var(--navy);
  padding: 20px;
  text-align: center;
  margin-top: 20px;
       }

  footer p{
    font-size: 0.9rem;
    color: var(--text-gray);
  }


    :root {
      --dark-blue: #0a192f;
      --navy: #112240;
      --light-blue: #64ffda;
      --text-light: #ccd6f6;
      --text-gray: #8892b0;
      --shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: "Arial", sans-serif;
    }

    body {
      background-color: var(--dark-blue);
      color: var(--text-light);
      padding-bottom: 60px;
    }

    /* Header with logo, search, and cart */
    .main-header {
      background-color: var(--navy);
      padding: 10px 20px;
      position: sticky;
      top: 0;
      z-index: 100;
      box-shadow: var(--shadow);
    }

    .header-content {
      display: flex;
      flex-direction: column;
      max-width: 1200px;
      margin: 0 auto;
    }

    .logo-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 10px;
    }

    .logo {
      font-size: 1.8rem;
      font-weight: bold;
      color: var(--light-blue);
    }

    .header-controls {
      display: flex;
      align-items: center;
      gap: 15px;
    }

    .theme-toggle {
      background: none;
      border: none;
      font-size: 1.5rem;
      cursor: pointer;
      padding: 5px;
      border-radius: 50%;
      transition: transform 0.3s ease;
    }

    .theme-toggle:hover {
      transform: scale(1.1);
    }

    .cart-icon {
      position: relative;
      cursor: pointer;
      color: var(--text-light);
    }

    .cart-count {
      position: absolute;
      top: -10px;
      right: -10px;
      background-color: var(--light-blue);
      color: var(--dark-blue);
      border-radius: 50%;
      width: 20px;
      height: 20px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 12px;
      font-weight: bold;
    }

    .search-container {
      width: 100%;
    }

    .search-bar {
      width: 100%;
      padding: 8px 15px;
      border-radius: 20px;
      border: none;
      background-color: rgba(255, 255, 255, 0.1);
      color: var(--text-light);
      font-size: 14px;
    }

    .search-bar::placeholder {
      color: var(--text-gray);
    }

    .search-bar:focus {
      outline: 1px solid var(--light-blue);
      background-color: rgba(255, 255, 255, 0.2);
    }

    /* Main content */
    .container {
      padding: 20px;
      max-width: 1200px;
      margin: 0 auto;
    }

    /* Category Tabs - Horizontal Scroll, no borders */
    .category-tabs-wrapper {
      overflow-x: auto;
      white-space: nowrap;
      margin-bottom: 20px;
      scrollbar-width: thin;
      -webkit-overflow-scrolling: touch;
    }

    .category-tabs {
      display: inline-flex;
      gap: 8px;
      background: transparent;
      padding-bottom: 5px;
    }

    .category-tab {
      padding: 10px 20px;
      background: rgba(100, 255, 218, 0.1);
      border: none;
      color: var(--text-light);
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
      border-radius: 30px;
      font-size: 0.95rem;
    }

    .category-tab:hover {
      background-color: rgba(100, 255, 218, 0.2);
    }

    .category-tab.active {
      background-color: var(--light-blue);
      color: var(--dark-blue);
    }

    /* Suggestion Button */
    .suggestion-container {
      display: flex;
      justify-content: flex-start;
      margin-bottom: 20px;
    }

    .suggestion-btn {
      background-color: var(--light-blue);
      color: var(--dark-blue);
      border: none;
      padding: 10px 20px;
      border-radius: 5px;
      cursor: pointer;
      font-weight: bold;
      transition: background-color 0.3s;
    }

    .suggestion-btn:hover {
      opacity: 0.9;
    }

    .products {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 20px;
    }

    /* Product Card - No border, subtle background */
    .product-card {
      background: rgba(100, 255, 218, 0.05);
      border-radius: 12px;
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: transform 0.3s ease;
    }

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

    .product-image {
      width: 100%;
      height: 120px;
      object-fit: cover;
    }

    .product-info {
      padding: 12px;
    }

    .product-name {
      font-weight: 500;
      margin-bottom: 5px;
      color: var(--text-light);
      font-size: 0.85rem;
      line-height: 1.3;
    }

    .product-price {
      color: var(--light-blue);
      font-weight: bold;
      margin-bottom: 10px;
      font-size: 0.9rem;
    }

    .add-to-cart {
      background-color: var(--navy);
      color: var(--light-blue);
      border: 1px solid var(--light-blue);
      padding: 6px 12px;
      border-radius: 5px;
      cursor: pointer;
      width: 100%;
      font-weight: 600;
      transition: all 0.3s;
      font-size: 0.8rem;
    }

    .add-to-cart:hover {
      background-color: var(--light-blue);
      color: var(--dark-blue);
    }

    /* Cart Sidebar */
    .cart-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 999;
      display: none;
    }

    .cart-sidebar {
      position: fixed;
      top: 0;
      right: 0;
      width: 100%;
      max-width: 400px;
      height: 100%;
      background-color: var(--navy);
      box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3);
      z-index: 1000;
      transform: translateX(100%);
      transition: transform 0.3s ease;
      display: flex;
      flex-direction: column;
    }

    .cart-sidebar.active {
      transform: translateX(0);
    }

    .cart-header {
      background-color: var(--dark-blue);
      color: var(--light-blue);
      padding: 15px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid var(--light-blue);
    }

    .close-cart {
      background: none;
      border: none;
      color: var(--light-blue);
      font-size: 1.5rem;
      cursor: pointer;
    }

    .cart-items {
      flex: 1;
      overflow-y: auto;
      padding: 20px;
    }

    .cart-item {
      display: flex;
      margin-bottom: 15px;
      padding-bottom: 15px;
      border-bottom: 1px solid var(--dark-blue);
    }

    .cart-item-image {
      width: 63px;
      height: 63px;
      object-fit: cover;
      border-radius: 5px;
      margin-right: 15px;
    }

    .cart-item-details {
      flex: 1;
    }

    .cart-item-name {
      font-weight: 500;
      margin-bottom: 5px;
      color: var(--text-light);
      font-size: 0.85rem;
    }

    .cart-item-price {
      color: var(--light-blue);
      font-weight: bold;
      font-size: 0.85rem;
    }

    .quantity-control {
      display: flex;
      align-items: center;
      margin-top: 5px;
    }

    .quantity-btn {
      background-color: var(--dark-blue);
      color: var(--light-blue);
      border: none;
      width: 27px;
      height: 27px;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      font-weight: bold;
    }

    .quantity {
      margin: 0 10px;
      min-width: 20px;
      text-align: center;
    }

    .cart-total {
      padding: 10px;
      border-top: 1px solid var(--light-blue);
      background-color: var(--dark-blue);
    }

    .total-amount {
      display: flex;
      justify-content: space-between;
      font-size: 0.91rem;
      font-weight: bold;
      margin-bottom: 15px;
      color: var(--light-blue);
    }

    .checkout-btn {
      background-color: var(--light-blue);
      color: var(--dark-blue);
      border: none;
      padding: 12px;
      border-radius: 5px;
      width: 100%;
      font-weight: bold;
      cursor: pointer;
      transition: background-color 0.3s;
    }

    .checkout-btn:hover {
      opacity: 0.9;
    }

    .empty-cart-message {
      text-align: center;
      color: var(--text-gray);
      margin-top: 50px;
    }

    /* Suggestion Box */
    .suggestion-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 999;
      display: none;
      justify-content: center;
      align-items: center;
    }

    .suggestion-box {
      background-color: var(--navy);
      border-radius: 25px;
      padding: 20px;
      width: 90%;
      max-width: 400px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    .suggestion-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 15px;
      border-bottom: 1px solid var(--light-blue);
      padding-bottom: 10px;
    }

    .suggestion-title {
      color: var(--light-blue);
      font-size: 0.9rem;
      font-weight: bold;
    }

    .close-suggestion {
      background: none;
      border: none;
      color: var(--light-blue);
      font-size: 1.5rem;
      cursor: pointer;
    }

    .suggestion-input {
      width: 100%;
      padding: 10px;
      border-radius: 5px;
      border: 1px solid var(--light-blue);
      background-color: rgba(255, 255, 255, 0.1);
      color: var(--text-light);
      margin-bottom: 15px;
      min-height: 100px;
      resize: vertical;
    }

    .suggestion-input::placeholder {
      color: var(--text-gray);
    }

    .send-suggestion {
      background-color: var(--light-blue);
      color: var(--dark-blue);
      border: none;
      padding: 10px 20px;
      border-radius: 5px;
      cursor: pointer;
      font-weight: bold;
      width: 100%;
    }

    .send-suggestion:hover {
      opacity: 0.9;
    }

    /* Campus Selection */
    .campus-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 1001;
      display: none;
      justify-content: center;
      align-items: center;
    }

    .campus-box {
      background-color: var(--navy);
      border-radius: 10px;
      padding: 20px;
      width: 85%;
      max-width: 400px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    .campus-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 15px;
      border-bottom: 1px solid var(--light-blue);
      padding-bottom: 10px;
    }

    .campus-title {
      color: var(--light-blue);
      font-size: 1rem;
      font-weight: bold;
    }

    .close-campus {
      background: none;
      border: none;
      color: var(--light-blue);
      font-size: 1.5rem;
      cursor: pointer;
    }

    .campus-options {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .campus-option {
      background-color: var(--dark-blue);
      color: var(--text-light);
      border: 1px solid var(--light-blue);
      padding: 12px 15px;
      border-radius: 5px;
      cursor: pointer;
      font-weight: bold;
      text-align: center;
      transition: all 0.3s;
      font-size: 0.8rem;
    }

    .campus-option:hover {
      background-color: var(--light-blue);
      color: var(--dark-blue);
    }

    /* Light Theme */
    [data-theme="light"] {
      --dark-blue: #f0f0f0;
      --navy: #ffffff;
      --light-blue: #0a192f;
      --text-light: #333333;
      --text-gray: #666666;
      --shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }

    [data-theme="light"] body {
      background-color: var(--dark-blue);
      color: var(--text-light);
    }

    [data-theme="light"] .main-header {
      background-color: var(--navy);
      box-shadow: var(--shadow);
    }

    [data-theme="light"] .product-card {
      background: rgba(10, 25, 47, 0.05);
    }

    [data-theme="light"] .search-bar {
      background-color: rgba(0, 0, 0, 0.05);
      color: var(--text-light);
    }

    [data-theme="light"] .cart-sidebar {
      background-color: var(--navy);
    }

    [data-theme="light"] .cart-header {
      background-color: var(--dark-blue);
    }

    [data-theme="light"] .cart-total {
      background-color: var(--dark-blue);
    }

    [data-theme="light"] .suggestion-box {
      background-color: var(--navy);
    }

    [data-theme="light"] .campus-box {
      background-color: var(--navy);
    }

    [data-theme="light"] .category-tab {
      background: rgba(10, 25, 47, 0.1);
    }

    [data-theme="light"] .category-tab.active {
      background-color: var(--light-blue);
      color: var(--dark-blue);
    }

    /* Responsive */
    @media (min-width: 768px) {
      .header-content {
        flex-direction: row;
        align-items: center;
      }

      .logo-row {
        margin-bottom: 0;
        margin-right: 20px;
      }

      .search-container {
        flex: 1;
        margin-right: 20px;
      }
    }

    @media (max-width: 768px) {
      .products {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      }

      .cart-sidebar {
        width: 90%;
      }

      .category-tab {
        padding: 8px 16px;
        font-size: 0.85rem;
      }
    }

    @media (max-width: 480px) {
      .products {
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
        gap: 12px;
      }

      .product-image {
        height: 100px;
      }

      .product-name {
        font-size: 0.75rem;
      }
    }

    .delivery-fee {
      background-color: var(--dark-blue);
      color: var(--light-blue);
      text-align: center;
      font-size: 0.9rem;
      font-weight: bold;
      padding: 8px 12px;
      border-bottom: 1px solid var(--light-blue);
    }

    .delivery-fee-details {
      background-color: var(--dark-blue);
      color: var(--text-gray);
      text-align: center;
      font-size: 0.8rem;
      padding: 4px 12px;
      border-bottom: 1px solid var(--light-blue);
      font-style: italic;
    }

    .payment-methods {
      text-align: center;
      margin-top: 10px;
      color: var(--text-light);
      font-size: 0.85rem;
    }
    .payment-methods .logos {
      display: flex;
      justify-content: center;
      gap: 15px;
      margin-top: 5px;
    }
    .payment-methods img {
      height: 25px;
      width: auto;
    }

    /* ===== Campus Cart 2026 navigation and experience update ===== */
    html {
      scroll-behavior: smooth;
    }

    body.menu-open {
      overflow: hidden;
    }

    button,
    a {
      -webkit-tap-highlight-color: transparent;
    }

    button:focus-visible,
    a:focus-visible,
    input:focus-visible {
      outline: 2px solid var(--light-blue);
      outline-offset: 3px;
    }

    .site-chrome {
      position: sticky;
      top: 0;
      z-index: 500;
      background: var(--navy);
      box-shadow: var(--shadow);
      transition: transform 0.24s ease;
      will-change: transform;
    }

    .site-chrome.nav-hidden {
      transform: translateY(calc(-100% - 2px));
    }

    .main-header {
      position: static;
      padding: 7px 14px 6px;
      box-shadow: none;
    }

    .header-content {
      display: block;
      max-width: 1200px;
    }

    .logo-row {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 9px;
      margin: 0;
    }

    .menu-toggle,
    .menu-close,
    .theme-toggle,
    .cart-icon {
      border: 0;
      background: transparent;
      color: var(--text-light);
      cursor: pointer;
    }

    .menu-toggle,
    .theme-toggle,
    .cart-icon {
      min-width: 38px;
      min-height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
    }

    .menu-toggle:hover,
    .theme-toggle:hover,
    .cart-icon:hover {
      background: rgba(100, 255, 218, 0.1);
    }

    .menu-toggle svg {
      width: 23px;
      height: 23px;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
    }

    .brand-lockup {
      position: relative;
      display: inline-block;
      width: fit-content;
      padding: 0 0 8px;
      border: 0;
      background: transparent;
      color: var(--light-blue);
      text-decoration: none;
      justify-self: start;
      line-height: 1;
      font: inherit;
      cursor: pointer;
    }

    .logo {
      display: block;
      color: inherit;
      font-size: 1.35rem;
      font-size: clamp(1.18rem, 5vw, 1.55rem);
      font-weight: 800;
      letter-spacing: -0.04em;
      white-space: nowrap;
    }

    .logo-cart-word {
      position: relative;
      display: inline-block;
    }

    .brand-smile {
      position: absolute;
      top: calc(100% - 5px);
      left: 9%;
      width: 82%;
      height: 10px;
      overflow: visible;
    }

    .brand-smile path {
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }

    .header-controls {
      display: flex;
      align-items: center;
      gap: 3px;
    }

    .theme-toggle {
      padding: 0;
      font-size: 1.15rem;
    }

    .theme-toggle:hover {
      transform: none;
    }

    .cart-icon {
      position: relative;
      padding: 0;
    }

    .cart-mark {
      width: 36px;
      height: 36px;
      display: block;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    [data-theme="light"] .cart-mark { filter: brightness(.45) saturate(1.2); }

    .cart-count {
      top: -2px;
      right: -3px;
      width: 18px;
      height: 18px;
      font-size: 11px;
    }

    .search-container {
      position: relative;
      width: 100%;
      margin-top: 6px;
    }

    .search-bar {
      min-height: 36px;
      padding: 8px 39px 8px 14px;
      border-radius: 18px;
      font-size: 0.85rem;
    }

    .search-symbol {
      position: absolute;
      right: 13px;
      top: 50%;
      width: 18px;
      height: 18px;
      transform: translateY(-50%);
      color: var(--text-gray);
      pointer-events: none;
    }

    .discovery-row {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 14px 7px;
    }

    .suggestion-container {
      margin: 0 0 6px;
    }

    .suggestion-btn {
      padding: 7px 13px;
      border-radius: 8px;
      font-size: 0.8rem;
      letter-spacing: 0.03em;
    }

    .category-tabs-wrapper {
      margin: 0;
      padding: 0 14px 7px;
      scrollbar-width: none;
    }

    .category-tabs-wrapper::-webkit-scrollbar {
      display: none;
    }

    .category-tabs {
      gap: 6px;
      padding: 0;
    }

    .category-tab {
      padding: 7px 13px;
      font-size: 0.85rem;
      border-radius: 18px;
    }

    .container {
      padding: 14px;
    }

    .menu-overlay {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      inset: 0;
      z-index: 1200;
      background: rgba(0, 0, 0, 0.58);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.22s ease, visibility 0.22s ease;
    }

    .menu-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .menu-drawer {
      width: 86vw;
      max-width: 360px;
      width: min(86vw, 360px);
      height: 100%;
      overflow-y: auto;
      background: var(--navy);
      color: var(--text-light);
      transform: translateX(-100%);
      transition: transform 0.25s ease;
      box-shadow: 8px 0 24px rgba(0, 0, 0, 0.35);
    }

    .menu-overlay.active .menu-drawer {
      transform: translateX(0);
    }

    .menu-panel-header {
      min-height: 132px;
      padding: 24px 22px 18px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 16px;
      background: var(--dark-blue);
      border-bottom: 1px solid rgba(100, 255, 218, 0.22);
    }

    .menu-eyebrow {
      color: var(--text-gray);
      font-size: 0.85rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .menu-title {
      margin-top: 5px;
      color: var(--light-blue);
      font-size: 1.65rem;
    }

    .menu-close {
      align-self: flex-start;
      width: 40px;
      height: 40px;
      font-size: 1.8rem;
      line-height: 1;
      border-radius: 50%;
    }

    .menu-links {
      padding: 14px 0;
    }

    .menu-link {
      width: 100%;
      min-height: 54px;
      padding: 0 22px;
      display: flex;
      align-items: center;
      gap: 13px;
      border: 0;
      background: transparent;
      color: var(--text-light);
      text-decoration: none;
      font-size: 1rem;
      font-weight: 700;
      cursor: pointer;
    }

    .menu-link:hover {
      background: rgba(100, 255, 218, 0.1);
      color: var(--light-blue);
    }

    .menu-link svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .restaurant-selector {
      margin-bottom: 18px;
    }

    .restaurant-selector[hidden],
    .restaurant-menu-heading[hidden],
    .no-results[hidden],
    .team-view[hidden],
    .install-banner[hidden],
    .app-status[hidden] {
      display: none !important;
    }

    .section-heading {
      margin-bottom: 12px;
      color: var(--text-light);
      font-size: clamp(1.25rem, 5vw, 1.65rem);
    }

    .section-subtitle {
      margin: -5px 0 15px;
      color: var(--text-gray);
      font-size: 0.9rem;
    }

    .restaurant-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .restaurant-card {
      overflow: hidden;
      padding: 0;
      border: 1px solid rgba(100, 255, 218, 0.22);
      border-radius: 14px;
      background: var(--navy);
      color: var(--text-light);
      cursor: pointer;
      box-shadow: var(--shadow);
      text-align: left;
      transition: transform 0.2s ease, border-color 0.2s ease;
    }

    .restaurant-card:hover {
      transform: translateY(-3px);
      border-color: var(--light-blue);
    }

    .restaurant-card img {
      width: 100%;
      height: 150px;
      display: block;
      object-fit: contain;
      background: #fff;
    }

    .restaurant-card span {
      display: block;
      padding: 11px 12px;
      font-weight: 800;
      text-align: center;
    }

    .restaurant-card small {
      display: block;
      margin-top: -7px;
      padding: 0 12px 12px;
      color: var(--text-gray);
      font-size: 0.72rem;
      line-height: 1.35;
      text-align: center;
    }

    .shop-location,
    .product-note {
      color: var(--text-gray);
      font-size: 0.78rem;
      line-height: 1.35;
    }

    .product-vendor {
      margin-bottom: 5px;
      color: var(--light-blue);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .restaurant-menu-heading {
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .back-button {
      min-height: 38px;
      padding: 8px 12px;
      border: 1px solid var(--light-blue);
      border-radius: 9px;
      background: transparent;
      color: var(--light-blue);
      font-weight: 700;
      cursor: pointer;
    }

    .restaurant-menu-title {
      font-size: 1.15rem;
    }

    .no-results {
      grid-column: 1 / -1;
      padding: 40px 18px;
      color: var(--text-gray);
      text-align: center;
    }

    .product-card.search-highlight {
      box-shadow: 0 0 0 2px var(--light-blue), var(--shadow);
    }

    .team-view {
      max-width: 1050px;
      margin: 0 auto;
      padding: 18px 14px 30px;
    }

    .team-intro {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 18px;
    }

    .team-intro-copy p {
      margin-top: 4px;
      color: var(--text-gray);
      font-size: 0.9rem;
    }

    .team-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
      gap: 16px;
    }

    .team-card {
      padding: 25px 18px 21px;
      border: 1px solid rgba(100, 255, 218, 0.1);
      border-radius: 18px;
      background: var(--navy);
      box-shadow: var(--shadow);
      text-align: center;
    }

    .team-photo {
      width: 142px;
      height: 142px;
      border: 4px solid var(--light-blue);
      border-radius: 50%;
      object-fit: cover;
      object-position: center;
    }

    .team-photo.jethro {
      object-position: 50% 43%;
    }

    .team-card h3 {
      margin-top: 15px;
      color: var(--text-light);
      font-size: 1.3rem;
    }

    .team-role {
      min-height: 42px;
      margin-top: 7px;
      color: var(--light-blue);
      font-size: 0.9rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .social-links {
      margin-top: 15px;
      display: flex;
      justify-content: center;
      gap: 10px;
    }

    .social-link {
      width: 38px;
      height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(100, 255, 218, 0.35);
      border-radius: 50%;
      color: var(--text-light);
      transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
    }

    .social-link:hover {
      transform: translateY(-2px);
      background: var(--light-blue);
      color: var(--dark-blue);
    }

    .social-link svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .social-link.facebook svg path {
      fill: currentColor;
      stroke: none;
    }

    .install-banner {
      position: fixed;
      right: 14px;
      bottom: 14px;
      left: 14px;
      z-index: 1300;
      max-width: 470px;
      margin: 0 auto;
      padding: 14px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 11px;
      border: 1px solid rgba(100, 255, 218, 0.4);
      border-radius: 15px;
      background: var(--navy);
      color: var(--text-light);
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.42);
      transform: translateY(calc(100% + 30px));
      opacity: 0;
      visibility: hidden;
      transition: transform 0.26s ease, opacity 0.26s ease, visibility 0.26s ease;
    }

    .install-banner.show {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
    }

    .install-mini-logo {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      background: #fff;
      object-fit: cover;
    }

    .install-copy strong {
      display: block;
      margin-bottom: 3px;
    }

    .install-copy p {
      color: var(--text-gray);
      font-size: 0.8rem;
      line-height: 1.35;
    }

    .install-actions {
      grid-column: 1 / -1;
      display: flex;
      justify-content: flex-end;
    }

    .install-action + .install-action { margin-left: 8px; }

    .install-action {
      min-height: 36px;
      padding: 7px 13px;
      border: 1px solid var(--light-blue);
      border-radius: 8px;
      background: transparent;
      color: var(--light-blue);
      font-weight: 700;
      cursor: pointer;
    }

    .install-action.primary {
      background: var(--light-blue);
      color: var(--dark-blue);
    }

    .app-status {
      margin: 12px 14px;
      padding: 12px 16px;
      border: 1px solid var(--light-blue);
      border-radius: 10px;
      color: var(--text-light);
      background: var(--navy);
      font-size: 0.9rem;
      line-height: 1.5;
    }

    .site-footer {
      margin-top: 30px;
      padding: 18px;
      border-top: 1px solid rgba(100, 255, 218, 0.2);
      background: var(--navy);
      text-align: center;
    }

    [data-theme="light"] .menu-drawer,
    [data-theme="light"] .team-card,
    [data-theme="light"] .restaurant-card,
    [data-theme="light"] .install-banner {
      background: var(--navy);
    }

    @media (min-width: 768px) {
      .header-content {
        display: grid;
        grid-template-columns: auto minmax(280px, 1fr);
        align-items: center;
        gap: 18px;
      }

      .logo-row {
        min-width: 300px;
      }

      .search-container {
        margin: 0;
      }

      .restaurant-card img {
        height: 210px;
      }
    }

    @media (max-width: 480px) {
      .main-header,
      .discovery-row,
      .category-tabs-wrapper,
      .container,
      .team-view {
        padding-right: 10px;
        padding-left: 10px;
      }

      .restaurant-card img {
        height: 128px;
      }

      .team-grid {
        grid-template-columns: 1fr;
      }

      .team-card {
        padding-top: 23px;
      }
    }
    @supports not (display: grid) {
      .logo-row { display: flex; }
      .brand-lockup { flex: 1; margin: 0 9px; }
      .products { display: flex; flex-wrap: wrap; }
      .product-card { width: calc(50% - 12px); margin: 6px; }
      .restaurant-grid { display: flex; flex-wrap: wrap; }
      .restaurant-card { width: calc(50% - 12px); margin: 6px; }
      .install-banner { display: block; }
      .install-mini-logo { float: left; }
      .install-copy { margin-left: 54px; }
      .install-actions { margin-top: 12px; clear: both; }
    }

    /* Keep the complete product photo visible instead of cropping its edges. */
    .product-image,
    .cart-item-image {
      object-fit: contain;
      background: #fff;
    }

    .product-image {
      padding: 6px;
    }
/* ===== Campus AI button next to Suggest a Product ===== */
.suggestion-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.campus-ai-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 18px;
  background: linear-gradient(135deg, #64ffda, #7c8cff);
  color: #0a192f;
  border-radius: 5px;
  font-family: "Arial", sans-serif;
  font-weight: bold;
  font-size: 0.85rem;
  letter-spacing: 0.03em;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(100, 255, 218, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.campus-ai-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(100, 255, 218, 0.55);
  opacity: 0.95;
}

.campus-ai-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Light theme tweak */
[data-theme="light"] .campus-ai-btn {
  color: #f0f0f0;
  background: linear-gradient(135deg, #0a192f, #1e3a5f);
  box-shadow: 0 4px 14px rgba(10, 25, 47, 0.25);
}

/* Mobile */
@media (max-width: 480px) {
  .campus-ai-btn {
    padding: 9px 14px;
    font-size: 0.78rem;
  }
  .campus-ai-btn svg { width: 14px; height: 14px; }
}
@media (max-width: 768px) {
  .campus-ai-btn {
    animation: campusAiSoftPulse 2.5s ease-in-out infinite;
  }
  @keyframes campusAiSoftPulse {
    0%, 100% { box-shadow: 0 4px 14px rgba(100, 255, 218, 0.35); }
    50%      { box-shadow: 0 4px 22px rgba(100, 255, 218, 0.65); }
  }
}
