/* ═══════════════════════════════════════════════════════════════════════════
   BHAGAT CAKE — Theobroma Style Menu
   Mobile-First · Clean · Polished · v2
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --font-primary: "Figtree", "Open Sans", system-ui, sans-serif;
  --primary:       #3BBFAD;
  --primary-dark:  #2A9D8F;
  --primary-light: #5DD3C3;
  --primary-bg:    rgba(59,191,173,0.08);
  --header-bg:     #1A3A34;
  --header-h:      56px;

  --text-dark:   #1A202C;
  --text-body:   #4A5568;
  --text-muted:  #718096;
  --text-light:  #A0AEC0;

  --bg-white:  #FFFFFF;
  --bg-gray:   #F7FAFC;
  --bg-light:  #FAFAFA;
  --border:    #E2E8F0;
  --border-lt: #EDF2F7;

  --success: #22C55E;
  --danger:  #EF4444;
  --warning: #ECC94B;

  --sh-xs: 0 1px 3px rgba(0,0,0,0.07);
  --sh-sm: 0 2px 8px rgba(0,0,0,0.08);
  --sh-md: 0 4px 16px rgba(0,0,0,0.09);
  --sh-lg: 0 8px 28px rgba(0,0,0,0.12);

  --r-sm:   8px;
  --r-md:   12px;
  --r-lg:   16px;
  --r-xl:   20px;
  --r-full: 9999px;

  --ease: 0.2s ease;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;}
body{
  font-family:var(--font-primary);
  background:var(--bg-light);
  color:var(--text-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.page-loading{
  overflow:hidden;
}

.page-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(59,191,173,0.2) 0%, rgba(59,191,173,0) 60%),
    linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%);
  opacity:1;
  visibility:visible;
  transition:opacity 0.5s ease, visibility 0.5s ease;
}

.page-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.page-loader-inner{
  text-align:center;
  animation:loader-pop-in 0.45s ease;
}

.page-loader-logo-wrap{
  width:88px;
  height:88px;
  margin:0 auto 14px;
  border-radius:50%;
  background:#ffffff;
  border:1px solid #d8ebe8;
  box-shadow:0 10px 28px rgba(26,58,52,0.15);
  display:flex;
  align-items:center;
  justify-content:center;
}

.page-loader-logo{
  width:70px;
  height:70px;
  border-radius:50%;
  object-fit:cover;
}

.page-loader-title{
  font-size:1.18rem;
  font-weight:700;
  color:#1a3a34;
  margin-bottom:4px;
}

.page-loader-subtitle{
  font-size:0.84rem;
  color:#60737a;
  margin-bottom:10px;
}

.page-loader-line{
  display:block;
  width:130px;
  height:4px;
  margin:0 auto;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(59,191,173,0.15), rgba(59,191,173,0.9), rgba(59,191,173,0.15));
  background-size:200% 100%;
  animation:loader-line 1s linear infinite;
}

@keyframes loader-line{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}

@keyframes loader-pop-in{
  from{opacity:0;transform:translateY(8px) scale(0.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

@media(max-width:480px){
  .page-loader-logo-wrap{width:80px;height:80px;}
  .page-loader-logo{width:64px;height:64px;}
  .page-loader-title{font-size:1.08rem;}
  .page-loader-subtitle{font-size:0.8rem;}
}

img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent;}
.d-none{display:none!important;}

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-header{
  background:var(--header-bg);
  position:sticky;
  top:0;
  z-index:200;
  box-shadow:0 2px 12px rgba(0,0,0,0.25);
}
.theo-header-inner{
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--header-h);
  gap:12px;
}

/* Logo */
.theo-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.theo-logo-icon{
  width:38px;height:38px;
  background:linear-gradient(135deg,#F5A5A5,#E8847C);
  border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.theo-logo-text{
  font-size:1.3rem;
  font-weight:700;
  color:#F5A5A5;
  letter-spacing:-0.02em;
  white-space:nowrap;
}

/* Desktop Nav */
.theo-nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;}
.theo-nav-link{
  padding:8px 16px;
  font-size:0.875rem;
  font-weight:500;
  color:rgba(255,255,255,0.8);
  border-radius:var(--r-sm);
  transition:all var(--ease);
  white-space:nowrap;
}
.theo-nav-link:hover,.theo-nav-link.active{color:#fff;background:rgba(255,255,255,0.1);}

/* Header Actions */
.theo-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.theo-login-link{
  display:flex;align-items:center;gap:6px;
  color:#fff;font-size:0.875rem;font-weight:500;
  padding:7px 14px;
  background:rgba(255,255,255,0.12);
  border-radius:var(--r-full);
  transition:all var(--ease);
  border:1px solid rgba(255,255,255,0.15);
}
.theo-login-link:hover{background:rgba(255,255,255,0.2);}
.theo-login-link #header-cart-count{
  background:var(--primary);
  color:#fff;
  font-size:0.68rem;
  font-weight:700;
  padding:2px 6px;
  border-radius:var(--r-full);
  min-width:18px;
  text-align:center;
}

/* Hamburger */
.theo-menu-toggle{
  display:none;
  width:40px;height:40px;
  flex-direction:column;
  align-items:center;justify-content:center;
  gap:5px;
  border-radius:var(--r-sm);
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.15);
  transition:all var(--ease);
}
.theo-menu-toggle:hover{background:rgba(255,255,255,0.2);}
.theo-menu-toggle span{
  display:block;width:18px;height:2px;
  background:#fff;border-radius:2px;
  transition:all 0.3s ease;
}
.theo-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.theo-menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0);}
.theo-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE DRAWER MENU
   ═══════════════════════════════════════════════════════════════════════════ */
.mobile-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,0.6);
  backdrop-filter:blur(4px);
  z-index:300;
  opacity:0;visibility:hidden;
  transition:all 0.3s ease;
}
.mobile-overlay.active{opacity:1;visibility:visible;}

.mobile-menu{
  position:fixed;top:0;right:-100%;
  width:min(300px,85vw);
  height:100dvh;
  background:var(--bg-white);
  z-index:400;
  transition:right 0.32s cubic-bezier(0.4,0,0.2,1);
  display:flex;flex-direction:column;
  box-shadow:-8px 0 32px rgba(0,0,0,0.15);
}
.mobile-menu.active{right:0;}

.mobile-header{
  padding:16px 18px;
  border-bottom:1px solid var(--border-lt);
  display:flex;justify-content:space-between;align-items:center;
  background:var(--header-bg);
  flex-shrink:0;
}
.mobile-header .logo{display:flex;align-items:center;gap:10px;}
.mobile-header .logo-icon{
  width:36px;height:36px;
  background:linear-gradient(135deg,#F5A5A5,#E8847C);
  border-radius:8px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.mobile-header .logo-text h1{
  font-size:1.05rem;font-weight:700;
  color:#F5A5A5;margin:0;
}
.mobile-close{
  width:36px;height:36px;
  border-radius:var(--r-full);
  background:rgba(255,255,255,0.12);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  transition:all var(--ease);
}
.mobile-close:hover{background:rgba(255,255,255,0.2);}

.mobile-nav{
  flex:1;padding:12px;
  display:flex;flex-direction:column;gap:4px;
  overflow-y:auto;
}
.mobile-link{
  display:flex;align-items:center;gap:12px;
  padding:13px 14px;
  font-size:0.95rem;font-weight:500;
  color:var(--text-body);
  border-radius:var(--r-md);
  transition:all var(--ease);
}
.mobile-link:hover,.mobile-link.active{background:var(--bg-gray);color:var(--text-dark);}
.mobile-link span:first-child{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0;}

.mobile-cart-badge{
  background:var(--primary);color:#fff;
  font-size:0.68rem;font-weight:700;
  padding:2px 7px;border-radius:var(--r-full);
  min-width:20px;text-align:center;
  margin-left:auto;display:none;
}

.mobile-footer{
  padding:14px;
  border-top:1px solid var(--border-lt);
  flex-shrink:0;
}
.mobile-cta{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:14px;
  background:var(--primary);
  color:#fff;font-weight:600;font-size:0.95rem;
  border-radius:var(--r-md);
  transition:all var(--ease);
}
.mobile-cta:hover{background:var(--primary-dark);}

/* ═══════════════════════════════════════════════════════════════════════════
   MAIN LAYOUT
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-main{display:flex;min-height:calc(100vh - var(--header-h));}

/* Sidebar */
.theo-sidebar{
  width:240px;flex-shrink:0;
  background:var(--bg-white);
  border-right:1px solid var(--border);
  position:sticky;top:var(--header-h);
  height:calc(100vh - var(--header-h));
  overflow-y:auto;
}
.theo-sidebar-header{padding:20px 18px 12px;}
.theo-sidebar-title{font-size:1rem;font-weight:700;color:var(--text-dark);}
.theo-sidebar-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 18px;
  font-size:0.875rem;font-weight:400;
  color:var(--text-body);
  border-left:3px solid transparent;
  transition:all var(--ease);
}
.theo-sidebar-link:hover{background:var(--bg-gray);color:var(--text-dark);}
.theo-sidebar-link.active{
  border-left-color:var(--primary);
  color:var(--primary-dark);font-weight:600;
  background:var(--primary-bg);
}
.theo-sidebar-link .theo-cat-name{display:flex;align-items:center;gap:6px;}
.theo-sidebar-link .theo-expand-icon{color:var(--primary);font-size:0.9rem;}
.theo-sidebar-count{font-size:0.8rem;color:var(--text-muted);}

/* Content */
.theo-content{flex:1;min-width:0;background:var(--bg-white);}

/* ═══════════════════════════════════════════════════════════════════════════
   STORE BAR — ENHANCED
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-store-bar-enhanced{
  background:var(--bg-white);
  border-bottom:1px solid var(--border-lt);
}

.store-header-section{
  padding:18px 24px 14px;
  border-bottom:1px solid var(--border-lt);
}
.store-title-row{
  display:flex;align-items:center;gap:10px;
  margin-bottom:10px;
}
.store-name-enhanced{
  font-size:1.6rem;font-weight:700;
  color:var(--text-dark);margin:0;
  line-height:1.2;
}
.store-status-badge{
  padding:4px 10px;
  border-radius:var(--r-full);
  font-size:0.68rem;font-weight:700;
  letter-spacing:0.4px;
  flex-shrink:0;
}
.store-status-badge.open{background:rgba(34,197,94,0.12);color:#15803D;}
.store-status-badge.closed{background:rgba(239,68,68,0.12);color:#DC2626;}

.store-meta-row{
  display:flex;align-items:center;
  gap:10px;flex-wrap:wrap;
}
.meta-item-enhanced{
  display:flex;align-items:center;gap:5px;
  font-size:0.85rem;color:var(--text-body);
}
.meta-divider{width:1px;height:12px;background:var(--border);}
.rating-value{font-weight:600;color:var(--text-dark);}
.rating-count{color:var(--text-muted);font-size:0.8rem;}

.feedback-item-btn{
  border:1px solid #d9ece9;
  border-radius:999px;
  background:#f7fcfb;
  padding:6px 11px;
  transition:all var(--ease);
}
.feedback-item-btn:hover{
  background:#eef8f6;
  border-color:#b9ddd7;
}

/* Offers + Delivery row */
.offers-delivery-container{
  display:flex;align-items:stretch;
  border-bottom:1px solid var(--border-lt);
}

/* Offers panel */
.offers-highlight-section{
  flex:1;padding:10px 24px;
  background:linear-gradient(135deg,rgba(59,191,173,0.04),transparent);
}
.offer-highlight-card{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;
  background:var(--bg-white);
  border:1.5px solid var(--primary-light);
  border-radius:var(--r-sm);
  box-shadow:0 1px 4px rgba(59,191,173,0.1);
}
.offer-icon-badge{
  width:30px;height:30px;flex-shrink:0;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.offer-icon-badge svg{width:15px;height:15px;}
.offer-content{
  flex:1;display:flex;align-items:center;
  justify-content:space-between;gap:8px;
  min-width:0;
}
.offer-main-text{font-size:0.875rem;color:var(--text-dark);font-weight:500;}
.offer-main-text strong{color:var(--primary);font-weight:700;}
.offer-label-badge{
  display:inline-block;padding:2px 6px;
  background:rgba(245,158,11,0.12);color:#D97706;
  border-radius:3px;font-size:0.68rem;font-weight:600;
  margin-left:4px;
}
.offers-dropdown-btn{
  display:flex;align-items:center;gap:4px;
  padding:5px 10px;
  background:transparent;
  border:1.5px solid var(--primary);
  border-radius:var(--r-sm);
  color:var(--primary);font-weight:600;font-size:0.78rem;
  white-space:nowrap;transition:all var(--ease);
}
.offers-dropdown-btn:hover{background:var(--primary);color:#fff;}
.offers-dropdown-btn.active{background:var(--primary);color:#fff;}
.dropdown-arrow{transition:transform var(--ease);}
.offers-dropdown-btn.active .dropdown-arrow{transform:rotate(180deg);}

.offers-dropdown-content{
  max-height:0;overflow:hidden;
  transition:max-height 0.3s ease;
  padding:0 24px;
}
.offers-dropdown-content.active{
  max-height:500px;
  padding:12px 24px;
}
.offers-dropdown-list{display:flex;flex-direction:column;gap:10px;}
.offer-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:12px;
  background:var(--bg-white);
  border:1px solid var(--border);
  border-radius:var(--r-sm);
}
.offer-item-icon{
  width:30px;height:30px;flex-shrink:0;
  background:var(--primary-light);border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:1rem;
}
.offer-item-content{flex:1;}
.offer-item-title{font-weight:600;color:var(--text-dark);font-size:0.875rem;margin-bottom:3px;}
.offer-item-desc{font-size:0.82rem;color:var(--text-body);line-height:1.4;}
.offer-item-code{margin-top:5px;font-size:0.78rem;color:var(--text-muted);}
.offer-item-code strong{
  color:var(--primary);
  background:rgba(59,191,173,0.1);
  padding:2px 6px;border-radius:3px;
  font-family:'Courier New',monospace;
}
.offer-apply-btn-small{
  padding:6px 12px;flex-shrink:0;
  background:transparent;
  border:1.5px solid var(--primary);
  border-radius:var(--r-sm);
  color:var(--primary);font-weight:600;font-size:0.78rem;
  transition:all var(--ease);
}
.offer-apply-btn-small:hover{background:var(--primary);color:#fff;}

/* Delivery type panel */
.delivery-type-section{
  flex:0 0 auto;
  min-width:220px;
  padding:10px 24px;
  border-left:1px solid var(--border-lt);
  display:flex;align-items:center;
}
.delivery-type-card{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;
  background:var(--bg-gray);
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  width:100%;
}
.delivery-type-icon{
  width:30px;height:30px;flex-shrink:0;
  background:var(--bg-white);border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);
}
.delivery-type-icon svg{width:16px;height:16px;}
.delivery-type-info{flex:1;}
.delivery-type-label{font-weight:600;color:var(--text-dark);font-size:0.875rem;}
.delivery-change-btn{
  padding:5px 12px;flex-shrink:0;
  background:transparent;
  border:1.5px solid var(--primary);
  border-radius:var(--r-sm);
  color:var(--primary);font-weight:600;font-size:0.8rem;
  transition:all var(--ease);
}
.delivery-change-btn:hover{background:var(--primary);color:#fff;}

/* Legacy */
.theo-store-bar{display:none;}

/* ═══════════════════════════════════════════════════════════════════════════
   FILTERS BAR
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-filters-bar{
  background:var(--bg-white);
  padding:12px 24px;
  display:flex;align-items:center;
  justify-content:space-between;gap:12px;
  border-bottom:1px solid var(--border);
  position:sticky;
  top:var(--header-h);
  z-index:100;
}
.theo-filters-left{
  display:flex;align-items:center;gap:8px;
  overflow-x:auto;scrollbar-width:none;
  flex:1;
}
.theo-filters-left::-webkit-scrollbar{display:none;}

.theo-category-pills{
  display:flex;align-items:center;gap:8px;
  overflow-x:auto;scrollbar-width:none;
  scroll-snap-type:x proximity;
  padding:1px 2px 1px 0;
}
.theo-category-pills::-webkit-scrollbar{display:none;}

.theo-category-pill{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 14px;
  background:var(--bg-white);
  border:1.5px solid var(--border);
  border-radius:var(--r-full);
  font-size:0.82rem;font-weight:600;
  color:var(--text-body);
  white-space:nowrap;flex-shrink:0;
  scroll-snap-align:start;
  transition:all var(--ease);
}
.theo-category-pill:hover{border-color:var(--primary);color:var(--primary-dark);}
.theo-category-pill.active{
  border-color:var(--primary);
  background:var(--primary-bg);
  color:var(--primary-dark);
}

.theo-filter-btn{
  display:none;
  align-items:center;gap:6px;
  padding:8px 14px;
  background:var(--primary);color:#fff;
  border-radius:var(--r-md);
  font-size:0.82rem;font-weight:600;
  white-space:nowrap;flex-shrink:0;
  transition:all var(--ease);
}
.theo-filter-btn:hover{background:var(--primary-dark);}

.theo-clear-filter-btn{
  display:none;
  align-items:center;gap:5px;
  padding:8px 14px;
  background:var(--danger);color:#fff;
  border-radius:var(--r-full);
  font-size:0.8rem;font-weight:600;
  white-space:nowrap;flex-shrink:0;
  transition:all var(--ease);
}
.theo-clear-filter-btn:hover{background:#c53030;}
.theo-clear-filter-btn.visible{display:flex;}

.theo-filter-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 14px;
  background:var(--bg-white);
  border:1.5px solid var(--border);
  border-radius:var(--r-full);
  font-size:0.82rem;font-weight:500;
  color:var(--text-body);
  white-space:nowrap;flex-shrink:0;
  transition:all var(--ease);
}
.theo-filter-chip:hover{border-color:var(--primary);color:var(--primary-dark);}
.theo-filter-chip.active{
  border-color:var(--primary);
  background:var(--primary-bg);
  color:var(--primary-dark);font-weight:600;
}

.theo-chip-indicator{
  width:13px;height:13px;
  border:2px solid;border-radius:2px;
  display:inline-flex;align-items:center;justify-content:center;
}
.theo-chip-indicator.veg{border-color:var(--success);}
.theo-chip-indicator.veg::after{
  content:'';width:6px;height:6px;
  background:var(--success);border-radius:50%;
}
.theo-chip-icon{font-size:0.95rem;}

.theo-filters-right{flex-shrink:0;}
.theo-search-box{
  display:flex;align-items:center;gap:8px;
  padding:8px 14px;
  background:var(--bg-white);
  border:1.5px solid var(--border);
  border-radius:var(--r-full);
  min-width:180px;
  transition:all var(--ease);
}
.theo-search-box:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(59,191,173,0.12);
}
.theo-search-icon{font-size:0.85rem;opacity:0.5;}
.theo-search-box input{
  flex:1;border:none;background:transparent;
  font-size:0.875rem;outline:none;
  color:var(--text-dark);font-family:var(--font-primary);
}
.theo-search-box input::placeholder{color:var(--text-light);}

/* ═══════════════════════════════════════════════════════════════════════════
   BESTSELLERS CAROUSEL
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-bestsellers{
  padding:24px;
  background:var(--bg-white);
  border-bottom:1px solid var(--border);
}
.theo-section-title{
  font-size:0.75rem;font-weight:700;
  color:var(--text-dark);letter-spacing:2px;
  text-transform:uppercase;margin-bottom:18px;
}
.theo-carousel-wrapper{position:relative;}
.theo-carousel{
  display:flex;gap:16px;
  overflow-x:auto;scroll-behavior:smooth;
  padding:4px 2px 8px;scrollbar-width:none;
  scroll-snap-type:x mandatory;
}
.theo-carousel::-webkit-scrollbar{display:none;}

.theo-carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:36px;height:36px;
  background:var(--bg-white);border:1px solid var(--border);
  border-radius:50%;
  font-size:0.9rem;color:var(--text-body);
  z-index:10;box-shadow:var(--sh-md);
  transition:all var(--ease);
}
.theo-carousel-btn:hover{background:var(--bg-gray);box-shadow:var(--sh-lg);}
.theo-carousel-btn.prev{left:-18px;}
.theo-carousel-btn.next{right:-18px;}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT CARD — unified for carousel & grid
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-bestseller-card{
  background:var(--bg-white);
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--border-lt);
  transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
  cursor:pointer;
  position:relative;
  display:flex;flex-direction:column;

  /* carousel snap */
  scroll-snap-align:start;
  flex-shrink:0;
  width:200px;
}
.theo-bestseller-card:hover{
  box-shadow:var(--sh-lg),0 0 0 1px rgba(59,191,173,0.2);
  transform:translateY(-4px);
  border-color:var(--primary-light);
}

/* Image */
.theo-bestseller-img{
  position:relative;
  height:170px;overflow:hidden;
  background:linear-gradient(135deg,#f0f4f8,#e2e8f0);
}
.theo-bestseller-img img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 0.45s ease;
}
.theo-bestseller-card:hover .theo-bestseller-img img{transform:scale(1.07);}

.theo-img-code{
  position:absolute;top:8px;right:8px;
  font-family:'Courier New',monospace;
  font-size:0.65rem;font-weight:700;color:#fff;
  background:rgba(26,58,52,0.85);
  padding:3px 8px;border-radius:4px;
  backdrop-filter:blur(4px);
}
.theo-img-code-inline{display:none;}

/* Body */
.theo-bestseller-body{
  padding:13px 15px;
  display:flex;flex-direction:column;
  flex:1;
}
.theo-bestseller-meta{
  display:flex;align-items:center;gap:6px;
  margin-bottom:8px;flex-wrap:wrap;
}
.theo-veg-indicator{
  width:16px;height:16px;
  border:2px solid var(--success);border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  background:rgba(34,197,94,0.06);
}
.theo-veg-indicator::after{
  content:'';width:6px;height:6px;
  background:var(--success);border-radius:50%;
}
.theo-bestseller-tag{
  padding:3px 8px;
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);
  color:#92400E;
  font-size:0.62rem;font-weight:700;
  border-radius:20px;text-transform:uppercase;
  letter-spacing:0.03em;
}
.theo-customisable-tag{
  padding:3px 8px;
  background:rgba(59,191,173,0.1);
  color:var(--primary-dark);
  font-size:0.62rem;font-weight:700;
  border-radius:20px;text-transform:uppercase;
  border:1px solid rgba(59,191,173,0.2);
}

.theo-bestseller-name{
  font-size:0.98rem;font-weight:700;
  color:var(--text-dark);margin-bottom:4px;
  display:-webkit-box;
  line-clamp:2;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;line-height:1.35;
}
.theo-product-code-content{
  display:none;
  font-size:0.68rem;
  font-weight:700;
  color:#2a6b62;
  margin-bottom:6px;
  letter-spacing:0.02em;
}
.theo-bestseller-desc{
  font-size:0.78rem;color:var(--text-muted);
  line-clamp:2;
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
  line-height:1.4;margin-bottom:8px;flex:1;
}

.theo-bestseller-footer{
  display:flex;align-items:center;
  justify-content:space-between;
  margin-top:auto;padding-top:10px;
  border-top:1px solid var(--border-lt);
}
.theo-bestseller-price{
  font-size:1.05rem;font-weight:700;
  color:var(--text-dark);
  display:flex;align-items:baseline;gap:1px;
}
.theo-bestseller-price::before{
  content:'₹';font-size:0.8rem;font-weight:600;opacity:0.75;
}

.theo-add-btn{
  padding:8px 16px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border-radius:var(--r-full);
  font-size:0.75rem;font-weight:700;color:#fff;
  text-transform:uppercase;letter-spacing:0.04em;
  box-shadow:0 2px 6px rgba(59,191,173,0.3);
  transition:all 0.25s ease;
  white-space:nowrap;flex-shrink:0;
}
.theo-add-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(59,191,173,0.4);
}
.theo-add-btn:active{transform:translateY(0);}
.theo-add-btn.added{background:linear-gradient(135deg,var(--success),#16A34A);}

/* ═══════════════════════════════════════════════════════════════════════════
   MENU CONTENT
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-menu-content{padding:0 24px 60px;}
.theo-empty-menu{
  text-align:center;padding:80px 20px;
  color:var(--text-muted);
}
.theo-empty-menu .theo-empty-icon{font-size:3.5rem;margin-bottom:16px;opacity:0.5;}
.theo-empty-menu h3{font-size:1.2rem;font-weight:600;color:var(--text-dark);margin-bottom:6px;}

.theo-category-block{padding-top:28px;}
.theo-category-title{
  font-size:0.75rem;font-weight:700;
  color:var(--text-dark);letter-spacing:1.5px;
  text-transform:uppercase;
  margin-bottom:18px;padding-bottom:12px;
  border-bottom:2px solid var(--border);
  display:flex;align-items:center;gap:10px;
}
.theo-category-title::before{
  content:'';width:4px;height:16px;
  background:var(--primary);border-radius:2px;
}
.theo-category-count{
  font-size:0.72rem;font-weight:500;
  color:var(--text-muted);
  letter-spacing:normal;text-transform:none;
}

/* Grid — desktop: 3–4 cols, responsive */
.theo-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:18px;
}
.theo-category-grid .theo-bestseller-card{
  flex-shrink:unset;width:auto;
  scroll-snap-align:unset;
}
.theo-category-grid .theo-bestseller-img{height:160px;}

/* No items found */
.theo-no-items{
  text-align:center;padding:60px 20px;
  background:rgba(59,191,173,0.03);
  border:2px dashed var(--border);
  border-radius:var(--r-xl);margin:24px 0;
}
.theo-no-items .no-items-icon{font-size:3rem;margin-bottom:14px;opacity:0.5;}
.theo-no-items h3{font-size:1.15rem;font-weight:700;color:var(--text-dark);margin-bottom:6px;}
.theo-no-items p{font-size:0.9rem;color:var(--text-muted);margin-bottom:18px;}
.theo-no-items .btn-clear-filters{
  padding:11px 24px;
  background:var(--primary);color:#fff;
  font-weight:600;font-size:0.875rem;
  border-radius:var(--r-full);
  box-shadow:0 4px 12px rgba(59,191,173,0.3);
  transition:all var(--ease);
}
.theo-no-items .btn-clear-filters:hover{background:var(--primary-dark);transform:translateY(-1px);}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTACT
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-contact{
  background:var(--bg-white);
  padding:48px 24px;
  border-top:1px solid var(--border);
}
.theo-contact-inner{max-width:760px;margin:0 auto;text-align:center;}
.theo-contact-content h2{
  font-size:1.4rem;font-weight:700;
  color:var(--text-dark);margin-bottom:8px;
}
.theo-contact-content>p{
  font-size:0.9rem;color:var(--text-muted);margin-bottom:24px;
}
.theo-contact-cards{
  display:flex;justify-content:center;
  gap:14px;flex-wrap:wrap;
}
.theo-contact-card{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;
  background:var(--bg-gray);
  border-radius:var(--r-md);
  border:1px solid var(--border-lt);
  transition:all var(--ease);
  text-align:left;
}
.theo-contact-card:hover{border-color:var(--primary);box-shadow:var(--sh-sm);}
.theo-contact-icon{
  width:40px;height:40px;flex-shrink:0;
  background:linear-gradient(135deg,var(--primary-light),var(--primary));
  border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
}
.theo-contact-info strong{display:block;font-size:0.875rem;font-weight:600;color:var(--text-dark);margin-bottom:1px;}
.theo-contact-info span{font-size:0.78rem;color:var(--text-muted);}

/* ═══════════════════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════════════════ */
.theo-footer{
  background:var(--text-dark);color:var(--bg-gray);
  padding:40px 24px 24px;
}
.theo-footer-inner{max-width:1200px;margin:0 auto;}
.theo-footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:32px;margin-bottom:32px;
}
.theo-footer-brand h3{font-size:1.2rem;font-weight:700;margin-bottom:10px;}
.theo-footer-brand p{font-size:0.85rem;color:var(--text-light);line-height:1.6;}
.theo-footer-col h4{
  font-size:0.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.5px;
  margin-bottom:14px;
}
.theo-footer-links{display:flex;flex-direction:column;gap:10px;}
.theo-footer-link{font-size:0.85rem;color:var(--text-light);transition:color var(--ease);}
.theo-footer-link:hover{color:var(--primary);}
.theo-footer-hours{display:flex;flex-direction:column;gap:6px;}
.theo-hour-row{display:flex;justify-content:space-between;font-size:0.85rem;color:var(--text-light);}
.theo-footer-bottom{
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.08);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:8px;
}
.theo-footer-bottom p{font-size:0.78rem;color:var(--text-light);}
.theo-footer-bottom a{color:var(--primary);font-weight:500;}

/* ═══════════════════════════════════════════════════════════════════════════
   FLOATING CART BUTTON — mobile pill design
   ═══════════════════════════════════════════════════════════════════════════ */
/* ── Floating Cart ── desktop: compact pill bottom-right */
.floating-cart{
  position:fixed;
  bottom:28px;
  right:28px;
  left:auto;
  transform:none;
  display:flex;align-items:center;gap:10px;
  padding:13px 22px;
  background:linear-gradient(135deg,var(--header-bg),#2A9D8F);
  color:#fff;
  border-radius:var(--r-full);
  box-shadow:0 8px 28px rgba(26,58,52,0.4),0 2px 8px rgba(0,0,0,0.2);
  z-index:150;
  transition:all 0.25s ease;
  white-space:nowrap;
  border:2px solid rgba(255,255,255,0.15);
}
.floating-cart:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 36px rgba(26,58,52,0.5);
}
.floating-cart:active{transform:translateY(-1px);}
.floating-cart-icon{font-size:1.2rem;}
.floating-cart-text{font-weight:700;font-size:0.9rem;}
.floating-cart-badge{
  background:var(--primary);color:#fff;
  font-size:0.72rem;font-weight:700;
  padding:3px 9px;border-radius:var(--r-full);
  min-width:22px;text-align:center;
  border:1.5px solid rgba(255,255,255,0.3);
}

/* Scroll top */
.theo-scroll-top{
  position:fixed;bottom:90px;right:20px;
  width:40px;height:40px;
  background:var(--bg-white);
  border:1px solid var(--border);
  border-radius:50%;font-size:1rem;
  color:var(--text-dark);
  opacity:0;visibility:hidden;
  transition:all var(--ease);
  z-index:140;box-shadow:var(--sh-md);
}
.theo-scroll-top.visible{opacity:1;visibility:visible;}
.theo-scroll-top:hover{background:var(--text-dark);color:#fff;}

/* FEEDBACK — base styles (desktop/tablet) */
.theo-feedback-section{
  margin:0 24px;
  padding:24px 0 10px;
}
.theo-feedback-carousel{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
}
.theo-feedback-card{
  background:#fff;
  border:1px solid #e6efee;
  border-radius:14px;
  padding:15px;
  box-shadow:0 6px 16px rgba(12,28,36,0.06);
}
.theo-feedback-stars{display:flex;gap:2px;margin-bottom:8px;}
.theo-feedback-stars .star{font-size:1rem;color:#d1d5db;}
.theo-feedback-stars .star.filled{color:#f59e0b;}
.theo-feedback-comment{
  margin:0 0 10px;
  font-size:0.9rem;
  line-height:1.5;
  color:#324252;
  min-height:52px;
}
.theo-feedback-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;}
.theo-feedback-meta strong{font-size:0.85rem;color:#0f2430;}
.theo-feedback-meta span{font-size:0.76rem;color:#64748b;}

.feedback-modal{max-width:460px!important;}
.feedback-stars-input{display:flex;gap:6px;}
.feedback-star-btn{
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#cbd5e1;
  font-size:1.25rem;
  line-height:1;
}
.feedback-star-btn.active,
.feedback-star-btn:hover{
  color:#f59e0b;
  border-color:#f7c56a;
  background:#fff8ea;
}
.feedback-modal textarea.form-input{resize:vertical;min-height:96px;}

/* ═══════════════════════════════════════════════════════════════════════════
   MODALS — shared
   ═══════════════════════════════════════════════════════════════════════════ */
.modal-backdrop{
  position:fixed;inset:0;
  background:rgba(0,0,0,0.5);
  backdrop-filter:blur(4px);
  z-index:500;
  opacity:0;visibility:hidden;
  transition:all var(--ease);
}
.modal-backdrop.active{opacity:1;visibility:visible;}

.modal-panel{
  position:fixed;top:0;right:-100%;
  width:100%;max-width:420px;
  height:100dvh;
  background:var(--bg-white);
  z-index:600;
  transition:right 0.3s ease;
  display:flex;flex-direction:column;
  box-shadow:-8px 0 28px rgba(0,0,0,0.12);
}
.modal-panel.active{right:0;}

.modal-header{
  padding:16px 20px;
  border-bottom:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;
  background:var(--bg-gray);
  flex-shrink:0;
}
.modal-title{display:flex;align-items:center;gap:10px;}
.modal-title span{font-size:1.2rem;}
.modal-title h3{font-size:1rem;font-weight:700;color:var(--text-dark);}
.modal-title small{font-size:0.75rem;color:var(--text-muted);display:block;}
.modal-close{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:var(--text-muted);
  border-radius:var(--r-full);
  transition:all var(--ease);
}
.modal-close:hover{background:var(--border-lt);color:var(--text-dark);}
.modal-body{flex:1;overflow-y:auto;padding:18px;}

/* Cart */
.cart-section-title{
  font-size:0.72rem;font-weight:700;
  color:var(--text-body);text-transform:uppercase;
  letter-spacing:0.5px;margin-bottom:12px;
}
.cart-items{display:flex;flex-direction:column;gap:10px;}
.cart-item{
  display:flex;align-items:center;gap:12px;
  padding:12px;
  background:var(--bg-gray);
  border-radius:var(--r-md);
  border:1px solid var(--border-lt);
}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{
  font-weight:600;font-size:0.88rem;
  color:var(--text-dark);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cart-item-meta{font-size:0.72rem;color:var(--text-muted);margin-top:2px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.cart-item-variant{
  color:var(--primary-dark);font-weight:600;
  background:rgba(59,191,173,0.1);
  padding:2px 6px;border-radius:3px;
}
.cart-item-unit-price{color:var(--text-light);}
.cart-item-price{font-weight:700;font-size:0.9rem;color:var(--text-dark);flex-shrink:0;}

.cart-empty{text-align:center;padding:48px 20px;}
.cart-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:0.3;}
.cart-empty h4{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:6px;}
.cart-empty p{font-size:0.85rem;color:var(--text-muted);}

/* Qty controls in cart */
.qty-wrap{
  display:flex;align-items:center;
  background:var(--bg-white);
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  overflow:hidden;
  flex-shrink:0;
}
.qty-btn{
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  font-size:0.9rem;color:var(--text-body);
  transition:all var(--ease);
}
.qty-btn:hover{background:var(--bg-gray);color:var(--text-dark);}
.qty-val{width:26px;text-align:center;font-size:0.85rem;font-weight:600;}

/* Delivery selector in cart */
.cart-delivery-selector{margin:14px 0;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.cart-section-label{font-size:0.78rem;font-weight:600;color:var(--text-body);display:block;margin-bottom:10px;}
.cart-delivery-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.cart-delivery-option{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:10px 6px;
  background:var(--bg-white);
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  font-size:0.78rem;color:var(--text-body);
  transition:all var(--ease);
}
.cart-delivery-option:hover{border-color:var(--primary);}
.cart-delivery-option.active{border-color:var(--primary);background:var(--primary-bg);color:var(--primary-dark);}
.delivery-opt-icon{font-size:1.15rem;}
.delivery-opt-text{font-weight:600;font-size:0.72rem;}

/* Promo */
.cart-promo-section{margin:14px 0;}
.promo-input-wrapper{display:flex;gap:8px;}
.promo-input{
  flex:1;padding:10px 12px;
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  font-size:0.85rem;font-family:var(--font-primary);
  text-transform:uppercase;font-weight:600;
  transition:all var(--ease);
}
.promo-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,191,173,0.1);}
.promo-apply-btn{
  padding:10px 18px;
  background:var(--primary);color:#fff;
  font-weight:600;font-size:0.85rem;
  border-radius:var(--r-sm);
  transition:all var(--ease);
}
.promo-apply-btn:hover{background:var(--primary-dark);}

.applied-promo{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:10px;padding:10px 12px;
  background:rgba(34,197,94,0.08);
  border:1.5px solid var(--success);
  border-radius:var(--r-sm);
}
.applied-promo-info{display:flex;align-items:center;gap:8px;}
.promo-icon{
  width:20px;height:20px;
  background:var(--success);color:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.68rem;font-weight:700;
}
.promo-code-text{font-weight:700;font-size:0.85rem;color:#15803D;text-transform:uppercase;}
.promo-discount{font-weight:700;font-size:0.85rem;color:var(--success);}
.promo-remove-btn{
  width:22px;height:22px;
  background:rgba(239,68,68,0.1);color:var(--danger);
  border-radius:50%;font-size:0.8rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--ease);
}
.promo-remove-btn:hover{background:var(--danger);color:#fff;}

/* Delivery charge notice */
.delivery-charge-notice{
  margin:12px 0 0;padding:12px 14px;
  background:linear-gradient(135deg,#FFF8E1,#FFF3CD);
  border:1px solid #FFE082;border-radius:var(--r-md);
}
.delivery-notice-content{display:flex;gap:10px;}
.delivery-notice-icon{font-size:1.2rem;flex-shrink:0;}
.delivery-notice-text{display:flex;flex-direction:column;gap:2px;}
.delivery-notice-text strong{font-size:0.82rem;color:#B7791F;font-weight:600;}
.delivery-notice-text small{font-size:0.75rem;color:#975A16;line-height:1.4;}

/* Total row */
.cart-total-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px;background:var(--bg-gray);
  border-radius:var(--r-md);margin-top:12px;
}
.cart-total-label{font-weight:600;font-size:0.95rem;color:var(--text-dark);}
.cart-total-value{font-size:1.2rem;font-weight:700;color:var(--primary-dark);}

/* Checkout */
.checkout-section{margin-top:20px;}
.checkout-form{display:flex;flex-direction:column;gap:12px;}
.form-group{display:flex;flex-direction:column;gap:4px;}
.form-group label{font-size:0.78rem;font-weight:600;color:var(--text-body);}
.form-group .req{color:var(--danger);}
.form-input{
  padding:11px 13px;
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  font-size:0.875rem;font-family:var(--font-primary);
  transition:all var(--ease);
}
.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,191,173,0.1);}
.form-actions{display:flex;gap:10px;margin-top:8px;}
.btn-primary{
  flex:1;padding:12px 18px;
  background:var(--text-dark);color:#fff;
  font-weight:600;font-size:0.875rem;
  border-radius:var(--r-sm);
  transition:all var(--ease);
}
.btn-primary:hover{background:#2D3748;}
.btn-outline{
  flex:1;padding:12px 18px;
  background:var(--bg-white);
  border:1.5px solid var(--border);
  color:var(--text-body);
  font-weight:600;font-size:0.875rem;
  border-radius:var(--r-sm);
  transition:all var(--ease);
}
.btn-outline:hover{border-color:var(--text-light);background:var(--bg-gray);}
.form-msg{padding:10px 13px;border-radius:var(--r-sm);font-size:0.85rem;font-weight:500;}
.form-msg.error{background:#FED7D7;color:#C53030;display:block;}
.form-msg.success{background:#C6F6D5;color:#276749;display:block;}

/* Track */
.track-search{margin-bottom:16px;}
.track-search-box{
  display:flex;align-items:center;gap:8px;
  padding:8px 14px;
  background:var(--bg-gray);
  border:1.5px solid var(--border);border-radius:var(--r-full);
}
.track-search-box input{
  flex:1;border:none;background:transparent;
  font-size:0.875rem;outline:none;font-family:var(--font-primary);
}
.track-search-btn{
  padding:7px 16px;
  background:var(--text-dark);color:#fff;
  font-size:0.8rem;font-weight:600;
  border-radius:var(--r-full);transition:all var(--ease);
}
.track-search-btn:hover{background:#2D3748;}
.track-hint{font-size:0.68rem;color:var(--text-light);margin-top:6px;text-align:center;}
.track-customer{
  display:flex;align-items:center;gap:10px;
  padding:12px;background:var(--bg-gray);
  border-radius:var(--r-md);margin-bottom:14px;
}
.track-avatar{
  width:36px;height:36px;
  background:var(--bg-white);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.track-customer-info{flex:1;}
.track-customer-name{font-weight:600;font-size:0.875rem;}
.track-customer-stats{font-size:0.68rem;color:var(--text-muted);}
.track-badge{
  padding:3px 8px;
  background:var(--primary);color:#fff;
  font-size:0.62rem;font-weight:700;border-radius:var(--r-full);
}
.track-orders-section{margin-bottom:14px;}
.track-section-header{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;
}
.track-section-header span{font-size:0.78rem;font-weight:600;}
.track-section-header .count{
  background:var(--bg-gray);padding:2px 7px;
  border-radius:var(--r-full);font-size:0.68rem;
}
.order-card{
  padding:12px;background:var(--bg-gray);
  border-radius:var(--r-md);margin-bottom:8px;
  border-left:3px solid var(--border);
}
.order-card.active{border-left-color:var(--success);background:rgba(34,197,94,0.04);}
.order-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;}
.order-id{font-weight:700;font-size:0.82rem;}
.order-date{font-size:0.68rem;color:var(--text-muted);}
.order-status{
  padding:3px 8px;font-size:0.62rem;font-weight:700;
  border-radius:var(--r-full);text-transform:uppercase;
}
.order-status.pending{background:#FEFCBF;color:#975A16;}
.order-status.confirmed{background:#BEE3F8;color:#2C5282;}
.order-status.preparing{background:#E9D8FD;color:#6B46C1;}
.order-status.out-for-delivery{background:#C6F6D5;color:#276749;}
.order-status.delivered{background:#C6F6D5;color:#276749;}
.order-status.cancelled{background:#FED7D7;color:#C53030;}
.track-empty,.track-error{text-align:center;padding:32px 16px;}
.track-empty-icon,.track-error-icon{font-size:2rem;margin-bottom:10px;}
.track-empty h4,.track-error h4{font-size:0.95rem;font-weight:600;margin-bottom:4px;}
.track-empty p,.track-error p{font-size:0.82rem;color:var(--text-muted);margin-bottom:14px;}
.btn-sm{padding:8px 16px;font-size:0.78rem;font-weight:600;border-radius:var(--r-full);}
.btn-sm.primary{background:var(--text-dark);color:#fff;}
.btn-sm.outline{background:var(--bg-white);border:1px solid var(--border);color:var(--text-dark);}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE FILTER PANEL
   ═══════════════════════════════════════════════════════════════════════════ */
.mobile-filter-panel{max-width:100%!important;}
.filter-search-box{position:relative;margin-bottom:18px;}
.filter-search-icon{
  position:absolute;left:12px;top:50%;
  transform:translateY(-50%);font-size:1rem;pointer-events:none;
}
.filter-search-box input{
  width:100%;padding:12px 12px 12px 36px;
  border:1.5px solid var(--border);border-radius:var(--r-sm);
  font-size:0.875rem;font-family:var(--font-primary);
  transition:all var(--ease);
}
.filter-search-box input:focus{outline:none;border-color:var(--primary);}
.filter-chips-section,.filter-categories-section{margin-bottom:20px;}
.filter-chips-section h4,.filter-categories-section h4{
  font-size:0.72rem;font-weight:700;color:var(--text-body);
  text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;
}
.filter-type-chips{display:flex;flex-wrap:wrap;gap:8px;}
.mobile-filter-chip{
  padding:9px 14px;
  background:var(--bg-gray);border:1.5px solid var(--border);
  border-radius:var(--r-full);font-size:0.82rem;font-weight:500;
  color:var(--text-body);display:flex;align-items:center;gap:6px;
  transition:all var(--ease);
}
.mobile-filter-chip:hover{border-color:var(--primary);color:var(--primary-dark);}
.mobile-filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.filter-category-list{display:flex;flex-direction:column;gap:6px;}
.filter-category-item{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:12px 14px;
  background:var(--bg-gray);border:1.5px solid var(--border);
  border-radius:var(--r-sm);font-size:0.875rem;
  color:var(--text-body);transition:all var(--ease);text-align:left;
}
.filter-category-item:hover{border-color:var(--primary-light);}
.filter-category-item.active{
  background:var(--primary-bg);color:var(--primary-dark);
  border-color:var(--primary);font-weight:600;
}
.category-count{font-size:0.78rem;color:var(--text-muted);}
.filter-category-item.active .category-count{color:var(--primary-dark);}
.filter-actions{
  display:flex;gap:10px;margin-top:16px;padding-top:16px;
  border-top:1px solid var(--border);
}

/* ═══════════════════════════════════════════════════════════════════════════
   DELIVERY TYPE MODAL
   ═══════════════════════════════════════════════════════════════════════════ */
.delivery-type-modal{max-width:420px!important;}
.delivery-type-options{display:flex;flex-direction:column;gap:12px;}
.delivery-type-option{
  display:flex;align-items:center;gap:14px;
  padding:16px;
  background:var(--bg-white);border:2px solid var(--border);
  border-radius:var(--r-md);
  transition:all var(--ease);width:100%;text-align:left;
}
.delivery-type-option:hover{border-color:var(--primary-light);background:var(--bg-gray);transform:translateY(-2px);box-shadow:var(--sh-md);}
.delivery-type-option.active{border-color:var(--primary);background:var(--primary-bg);}
.delivery-type-icon{
  font-size:1.8rem;min-width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-gray);border-radius:var(--r-sm);
}
.delivery-type-option.active .delivery-type-icon{background:rgba(59,191,173,0.15);}
.delivery-type-info{flex:1;}
.delivery-type-info h4{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:2px;}
.delivery-type-info p{font-size:0.82rem;color:var(--text-muted);margin-bottom:4px;}
.delivery-type-time{font-size:0.78rem;color:var(--primary);font-weight:500;}
.delivery-type-check{font-size:1.3rem;color:transparent;transition:all var(--ease);}
.delivery-type-option.active .delivery-type-check{color:var(--primary);}

/* ═══════════════════════════════════════════════════════════════════════════
   OFFERS MODAL
   ═══════════════════════════════════════════════════════════════════════════ */
.offers-modal{max-width:480px!important;}
.offers-list{display:flex;flex-direction:column;gap:14px;}
.offer-card{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px;
  background:linear-gradient(135deg,rgba(59,191,173,0.04),transparent);
  border:2px dashed var(--primary-light);
  border-radius:var(--r-md);transition:all var(--ease);
}
.offer-card:hover{border-style:solid;transform:translateY(-2px);box-shadow:var(--sh-md);}
.offer-badge{
  width:50px;height:50px;flex-shrink:0;
  background:var(--primary);border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
}
.offer-badge-icon{font-size:1.8rem;color:#fff;font-weight:700;}
.offer-content{flex:1;}
.offer-title{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:4px;}
.offer-description{font-size:0.875rem;color:var(--text-body);margin-bottom:8px;line-height:1.5;}
.offer-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:0.82rem;}
.offer-code{color:var(--text-muted);}
.offer-code strong{
  color:var(--primary);background:rgba(59,191,173,0.1);
  padding:2px 6px;border-radius:3px;font-family:'Courier New',monospace;
}
.offer-apply-btn{
  padding:9px 18px;background:var(--primary);color:#fff;
  border-radius:var(--r-sm);font-weight:600;font-size:0.875rem;
  transition:all var(--ease);white-space:nowrap;
}
.offer-apply-btn:hover{background:var(--primary-dark);transform:scale(1.03);}
.offers-empty{text-align:center;padding:50px 20px;}
.offers-empty-icon{font-size:3.5rem;margin-bottom:14px;opacity:0.4;}
.offers-empty h4{font-size:1.15rem;font-weight:600;color:var(--text-dark);margin-bottom:6px;}
.offers-empty p{font-size:0.9rem;color:var(--text-muted);}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT DETAIL MODAL
   ═══════════════════════════════════════════════════════════════════════════ */
.product-modal{
  position:fixed;
  top:50%;left:50%;
  transform:translate(-50%,-50%) scale(0.96);
  background:var(--bg-white);
  border-radius:var(--r-xl);
  box-shadow:var(--sh-lg),0 0 0 1px rgba(0,0,0,0.04);
  z-index:700;
  max-width:860px;width:95%;
  max-height:90dvh;
  overflow:hidden;
  opacity:0;visibility:hidden;
  transition:all 0.28s cubic-bezier(0.4,0,0.2,1);
}
.product-modal.active{
  opacity:1;visibility:visible;
  transform:translate(-50%,-50%) scale(1);
}
.product-modal-close{
  position:absolute;top:12px;right:12px;
  width:34px;height:34px;
  background:var(--bg-white);border:1px solid var(--border);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:var(--text-muted);
  z-index:10;transition:all var(--ease);
}
.product-modal-close:hover{background:var(--bg-gray);color:var(--text-dark);}
.product-modal-content{display:flex;max-height:90dvh;}
.product-modal-left{
  flex:0 0 50%;display:flex;flex-direction:column;
  background:var(--bg-gray);
}
.product-modal-image{
  position:relative;width:100%;height:270px;
  overflow:hidden;background:#f0f0f0;
  display:flex;align-items:center;justify-content:center;
}
.product-modal-image img{width:100%;height:100%;object-fit:contain;}
.product-modal-loading{
  display:none;position:absolute;inset:0;
  background:rgba(255,255,255,0.9);
  align-items:center;justify-content:center;z-index:10;
}
.product-modal-loading .spinner{
  width:32px;height:32px;
  border:3px solid var(--border);border-top-color:var(--primary);
  border-radius:50%;animation:spin 0.8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

.product-modal-info{padding:18px 22px;flex:1;background:var(--bg-white);}
.product-modal-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
.product-modal-veg-badge{
  width:17px;height:17px;flex-shrink:0;
  border:2px solid var(--success);border-radius:3px;
  display:flex;align-items:center;justify-content:center;margin-top:4px;
}
.product-modal-veg-badge::after{
  content:'';width:7px;height:7px;
  background:var(--success);border-radius:50%;
}
.product-modal-name{flex:1;font-size:1.15rem;font-weight:700;color:var(--text-dark);line-height:1.3;}
.product-modal-code{display:none;}
.product-modal-share{
  width:32px;height:32px;flex-shrink:0;
  border:1px solid var(--border);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);transition:all var(--ease);
}
.product-modal-share:hover{border-color:var(--primary);color:var(--primary);}
.product-modal-desc{font-size:0.875rem;color:var(--text-muted);line-height:1.5;margin-bottom:6px;}
.product-modal-customisable{
  font-size:0.75rem;color:var(--primary-dark);
  background:var(--primary-bg);
  padding:3px 8px;border-radius:var(--r-full);
  display:none;
}
.product-modal-footer{
  display:flex;align-items:center;gap:14px;
  padding:14px 22px;background:var(--primary);
}
.product-modal-price{font-size:1.3rem;font-weight:700;color:#fff;}
.product-modal-add-btn{
  flex:1;padding:13px 20px;
  background:#fff;color:var(--primary);
  font-size:0.9rem;font-weight:700;
  border-radius:var(--r-sm);transition:all var(--ease);
}
.product-modal-add-btn:hover{background:rgba(255,255,255,0.9);transform:translateY(-1px);}

.product-modal-right{
  flex:0 0 50%;overflow-y:auto;max-height:90dvh;
  background:var(--bg-white);border-left:1px solid var(--border-lt);
}
.product-addon-section{padding:18px 22px;border-bottom:1px solid var(--border-lt);}
.product-addon-section:last-child{border-bottom:none;}
.addon-section-header{margin-bottom:14px;}
.addon-section-header h3{font-size:0.875rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:0.03em;margin-bottom:3px;}
.addon-section-header p{font-size:0.78rem;color:var(--text-muted);}

/* Variant & Flavor Options */
.variant-options,.flavor-options{display:flex;flex-direction:column;gap:8px;}
.variant-option,.flavor-option{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  background:var(--bg-white);border:2px solid var(--border);
  border-radius:var(--r-md);cursor:pointer;
  transition:all var(--ease);
}
.variant-option:hover,.flavor-option:hover{border-color:var(--primary-light);background:rgba(59,191,173,0.02);}
.variant-option.selected{border-color:var(--primary);background:var(--primary-bg);box-shadow:0 0 0 3px rgba(59,191,173,0.1);}
.flavor-option.selected{border-color:#f59e0b;background:rgba(245,158,11,0.06);box-shadow:0 0 0 3px rgba(245,158,11,0.12);}
.variant-radio,.flavor-radio{
  width:18px;height:18px;flex-shrink:0;
  border:2px solid var(--border);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--ease);
}
.variant-radio.checked{border-color:var(--primary);background:var(--primary);}
.variant-radio.checked::after,.flavor-radio.checked::after{
  content:'';width:6px;height:6px;background:#fff;border-radius:50%;
}
.flavor-radio.checked{border-color:#f59e0b;background:#f59e0b;}
.variant-info,.flavor-info{flex:1;display:flex;flex-direction:column;gap:2px;}
.variant-name,.flavor-name{font-size:0.9rem;font-weight:600;color:var(--text-dark);}
.variant-stock.out{font-size:0.72rem;font-weight:500;color:var(--danger);}
.variant-price{font-size:1rem;font-weight:700;color:var(--primary-dark);}
.flavor-price{font-size:0.9rem;font-weight:600;color:#d97706;}
.loading-variants{text-align:center;padding:20px;color:var(--text-muted);font-size:0.875rem;}

/* ═══════════════════════════════════════════════════════════════════════════
   TOAST NOTIFICATIONS
   ═══════════════════════════════════════════════════════════════════════════ */
@keyframes slideUp{from{opacity:0;transform:translateX(-50%) translateY(16px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
@keyframes slideDown{from{opacity:1;transform:translateX(-50%) translateY(0);}to{opacity:0;transform:translateX(-50%) translateY(16px);}}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* ═══════════════════════════════════════════════════════════════════════════
   ENHANCED CART ITEM STYLES
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤1024px)
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .theo-sidebar{display:none;}
  .theo-main{display:block;}
  .theo-footer-grid{grid-template-columns:repeat(2,1fr);}

  /* Product modal — full-screen bottom sheet */
  .product-modal{
    position:fixed;inset:auto 0 0 0;
    top:auto;left:0;right:0;
    transform:translateY(100%);
    border-radius:var(--r-xl) var(--r-xl) 0 0;
    max-width:100%;width:100%;
    max-height:95dvh;
  }
  .product-modal.active{transform:translateY(0);}
  .product-modal-content{flex-direction:column;height:100%;overflow-y:auto;}
  .product-modal-left,.product-modal-right{flex:none;width:100%;}
  .product-modal-left{position:sticky;top:0;z-index:5;background:var(--bg-white);}
  .product-modal-image{height:210px;border-radius:0;}
  .product-modal-right{max-height:none;padding-bottom:90px;}
  .product-modal-footer{
    position:fixed;bottom:0;left:0;right:0;
    padding:14px 20px;border-radius:0;
    box-shadow:0 -4px 20px rgba(0,0,0,0.1);z-index:10;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤768px)
   Core improvements for clean mobile experience
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  html,body{overflow-x:hidden;max-width:100vw;}
  :root{--header-h:56px;}

  .theo-main{padding-bottom:104px;}
  .theo-content{padding-bottom:8px;background:transparent;}

  /* HEADER */
  .theo-nav{display:none!important;}
  .theo-menu-toggle{display:flex!important;}
  .theo-header{
    backdrop-filter:blur(12px);
    background:rgba(26,58,52,0.92);
  }
  .theo-header-inner{height:var(--header-h);padding:0 12px;gap:8px;}
  .theo-logo-icon{width:34px;height:34px;}
  .theo-logo-text{font-size:1.04rem;}
  .theo-login-link{padding:6px 10px;font-size:0.75rem;}

  /* MOBILE DRAWER */
  .mobile-menu{width:min(344px,88vw);}
  .mobile-nav{padding:10px;gap:6px;}
  .mobile-link{
    min-height:48px;
    border:1px solid transparent;
    background:#fff;
  }
  .mobile-link:hover,.mobile-link.active{
    border-color:#d8ebe7;
    background:#f3f9f8;
    box-shadow:0 8px 20px rgba(14,30,37,0.08);
  }

  /* STORE STRIP */
  .theo-store-bar-enhanced{background:transparent;padding:12px;}
  .store-header-section{
    background:#fff;
    border-radius:18px;
    border:1px solid #e2eeed;
    box-shadow:0 10px 24px rgba(10,30,36,0.06);
    padding:14px;
  }
  .store-title-row{align-items:flex-start;gap:8px;}
  .store-name-enhanced{font-size:1.2rem;line-height:1.2;}
  .store-meta-row{margin-top:8px;gap:8px;flex-wrap:wrap;}
  .meta-item-enhanced{
    background:#f4faf9;
    border:1px solid #d9ece9;
    border-radius:999px;
    padding:6px 10px;
    font-size:0.76rem;
  }
  .meta-divider{display:none;}
  .rating-count{display:none;}

  .offers-delivery-container{gap:10px;flex-direction:column;padding:10px 0 0;}
  .offers-highlight-section,.delivery-type-section{padding:0;flex:none;width:100%;}
  .offer-highlight-card,.delivery-type-card{
    border-radius:14px;
    border:1px solid #deecea;
    box-shadow:0 8px 20px rgba(10,30,36,0.05);
    background:#fff;
  }
  .offer-highlight-card{padding:9px 10px;}
  .offer-label-badge{display:none;}
  .offers-dropdown-btn{font-size:0.72rem;padding:4px 8px;}

  /* FILTER BAR */
  .theo-filters-bar{
    position:sticky;
    top:var(--header-h);
    z-index:60;
    margin:10px 12px 12px;
    border-radius:18px;
    border:1px solid #dceceb;
    background:rgba(255,255,255,0.9);
    backdrop-filter:blur(12px);
    box-shadow:0 10px 20px rgba(12,28,36,0.08);
    padding:10px;
    flex-direction:column;
    gap:10px;
    align-items:stretch;
  }
  .theo-filters-left{
    width:100%;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    padding-bottom:2px;
  }
  .theo-filters-left::-webkit-scrollbar{display:none;}
  .theo-filter-btn,.theo-filter-chip,.theo-clear-filter-btn,.theo-category-pill{scroll-snap-align:start;}
  .theo-filter-btn{
    display:flex!important;
    padding:8px 13px;
    border-radius:999px;
    font-size:0.78rem;
    flex-shrink:0;
  }
  .theo-filter-chip{
    padding:8px 12px;
    border-radius:999px;
    font-size:0.76rem;
    flex-shrink:0;
    border:1px solid #d8e9e6;
    background:#fff;
  }
  .theo-category-pill{
    padding:8px 12px;
    border-radius:999px;
    font-size:0.76rem;
  }
  .theo-filters-right{width:100%;}
  .theo-search-box{
    width:100%;
    min-width:0;
    border-radius:12px;
    border:1px solid #deecea;
    background:#f8fcfb;
    padding:10px 11px;
  }
  .theo-search-box input{font-size:0.84rem;}

  /* BESTSELLERS */
  .theo-bestsellers{
    margin:0 12px;
    padding:12px;
    border-radius:18px;
    background:#fff;
    border:1px solid #deecea;
    box-shadow:0 8px 20px rgba(11,30,36,0.06);
  }
  .theo-section-title{font-size:0.68rem;letter-spacing:0.13em;margin-bottom:10px;}
  .theo-carousel-btn{display:none;}
  .theo-carousel{gap:11px;padding:2px 2px 6px;scroll-snap-type:x proximity;}
  .theo-bestseller-card{width:168px;scroll-snap-align:start;}
  .theo-bestseller-img{height:134px;}
  .theo-bestseller-body{padding:10px;}
  .theo-bestseller-desc{line-clamp:2;}
  .theo-add-btn{font-size:0.68rem;padding:6px 11px;}

  /* MENU CONTENT */
  .theo-menu-content{padding:0 12px 22px;}
  .theo-category-block{padding-top:16px;}
  .theo-category-title{font-size:0.68rem;margin-bottom:10px;padding-bottom:8px;}
  .theo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .theo-category-grid .theo-bestseller-card{
    min-height:244px;
    border-radius:14px;
    border:1px solid #e2eeed;
    box-shadow:0 8px 18px rgba(16,32,40,0.06);
  }
  .theo-category-grid .theo-bestseller-img{height:122px;}
  .theo-category-grid .theo-bestseller-body{padding:9px 10px;}
  .theo-category-grid .theo-bestseller-name{font-size:0.8rem;}
  .theo-category-grid .theo-bestseller-desc{display:none;}
  .theo-category-grid .theo-bestseller-footer{margin-top:auto;padding-top:8px;}
  .theo-category-grid .theo-add-btn{font-size:0.66rem;padding:6px 8px;}
  .theo-img-code{display:none;}
  .theo-img-code-inline{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    border:1px solid #b7dbd5;
    background:#eef8f6;
    color:#1d4f47;
    font-size:0.56rem;
    font-weight:700;
    padding:2px 7px;
  }

  /* FLOATING CART */
  .floating-cart{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    max-width:none;
    justify-content:center;
    border-radius:16px;
    background:linear-gradient(120deg,#1b4c44,#2A9D8F);
    box-shadow:0 16px 30px rgba(16,45,56,0.35);
    transform:none;
    padding:12px 16px;
  }
  .floating-cart:hover{transform:translateY(-2px);}
  .floating-cart:active{transform:translateY(0);}
  .floating-cart-text{font-size:0.88rem;letter-spacing:0.01em;}
  .floating-cart-badge{background:#fff;color:#1b4c44;}
  .theo-scroll-top{right:12px;bottom:84px;}

  /* FEEDBACK SECTION */
  .theo-feedback-section{
    margin:0 24px;
    padding:20px 0 8px;
  }
  .theo-feedback-carousel{
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:4px 2px 10px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .theo-feedback-carousel::-webkit-scrollbar{display:none;}
  .theo-feedback-card{
    min-width:280px;
    max-width:320px;
    background:#fff;
    border:1px solid #e6efee;
    border-radius:14px;
    padding:14px;
    box-shadow:0 6px 16px rgba(12,28,36,0.06);
    scroll-snap-align:start;
  }
  .theo-feedback-stars{display:flex;gap:2px;margin-bottom:8px;}
  .theo-feedback-stars .star{font-size:1rem;color:#d1d5db;}
  .theo-feedback-stars .star.filled{color:#f59e0b;}
  .theo-feedback-comment{
    margin:0 0 10px;
    font-size:0.87rem;
    line-height:1.45;
    color:#324252;
  }
  .theo-feedback-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;}
  .theo-feedback-meta strong{font-size:0.82rem;color:#0f2430;}
  .theo-feedback-meta span{font-size:0.74rem;color:#64748b;}

  /* FEEDBACK MODAL */
  .feedback-modal{max-width:460px!important;}
  .feedback-stars-input{display:flex;gap:6px;}
  .feedback-star-btn{
    width:36px;
    height:36px;
    border-radius:10px;
    border:1px solid #e2e8f0;
    background:#fff;
    color:#cbd5e1;
    font-size:1.25rem;
    line-height:1;
  }
  .feedback-star-btn.active,
  .feedback-star-btn:hover{
    color:#f59e0b;
    border-color:#f7c56a;
    background:#fff8ea;
  }
  .feedback-modal textarea.form-input{resize:vertical;min-height:96px;}

  /* MODALS */
  .modal-panel{
    max-width:100%;
    width:100%;
    right:0!important;
    top:auto;
    bottom:0;
    border-radius:20px 20px 0 0;
    height:auto;
    max-height:92dvh;
    transform:translateY(100%);
    transition:transform 0.34s cubic-bezier(0.4,0,0.2,1);
  }
  .modal-panel.active{transform:translateY(0);}
  .modal-header{
    position:relative;
    padding:14px 16px 12px;
    border-radius:20px 20px 0 0;
  }
  .modal-header::before{
    content:'';
    position:absolute;
    top:7px;
    left:50%;
    transform:translateX(-50%);
    width:38px;
    height:4px;
    border-radius:4px;
    background:#d5e4e2;
  }
  .modal-body{padding:15px;}
  .cart-delivery-options{grid-template-columns:repeat(2,1fr);}
  .checkout-form{gap:9px;}
  .form-actions{flex-direction:column;}
  .form-actions .btn-primary,.form-actions .btn-outline{width:100%;justify-content:center;}

  .track-search-box{grid-template-columns:auto 1fr auto;}
  .track-search-box input{min-width:0;}
  .track-search-btn{padding:10px 13px;}

  .product-modal{max-height:95dvh;}
  .product-modal-image{height:192px;}
  .product-modal-info{padding:13px 16px;}
  .product-modal-footer{padding:12px 16px;}
  .product-addon-section{padding:13px 16px;}

  /* CONTACT + FOOTER */
  .theo-contact{padding:26px 14px 18px;}
  .theo-contact-cards{gap:10px;}
  .theo-footer{
    margin:8px 12px 0;
    border-radius:18px 18px 0 0;
    border:1px solid #dfeceb;
    padding:24px 14px 16px;
  }
  .theo-footer-grid{grid-template-columns:1fr;gap:16px;text-align:center;}
  .theo-footer-links{align-items:center;}
  .theo-footer-hours .theo-hour-row{justify-content:center;gap:15px;}
  .theo-footer-bottom{flex-direction:column;gap:6px;text-align:center;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — SMALL PHONE (≤480px)
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:480px){
  .theo-header-inner{padding:0 10px;}
  .theo-logo-icon{width:30px;height:30px;}
  .theo-logo-text{font-size:0.96rem;}
  .theo-menu-toggle{width:36px;height:36px;}
  .theo-menu-toggle span{width:16px;}
  .theo-login-link{font-size:0.72rem;padding:5px 7px;}

  .theo-store-bar-enhanced{padding:10px;}
  .store-header-section{padding:12px;}
  .store-name-enhanced{font-size:1.08rem;}

  .theo-filters-bar{margin:8px 10px 10px;padding:9px;}
  .theo-filter-btn,.theo-filter-chip,.theo-category-pill{font-size:0.73rem;}

  .theo-bestsellers{margin:0 10px;padding:10px;}
  .theo-bestseller-card{width:146px;}
  .theo-bestseller-img{height:116px;}
  .theo-bestseller-name{font-size:0.76rem;}
  .theo-add-btn{font-size:0.63rem;padding:6px 9px;}

  .theo-menu-content{padding:0 10px 16px;}
  .theo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .theo-category-grid .theo-bestseller-card{min-height:226px;}
  .theo-category-grid .theo-bestseller-img{height:106px;}
  .theo-category-grid .theo-bestseller-name{font-size:0.76rem;}

  .floating-cart{left:10px;right:10px;bottom:10px;padding:11px 12px;}
  .floating-cart-text{font-size:0.78rem;}
  .floating-cart-icon{font-size:1rem;}

  .modal-body{padding:13px;}
  .cart-delivery-options{grid-template-columns:1fr;}
  .form-input{padding:10px;font-size:0.82rem;}
  .form-actions .btn-primary,.form-actions .btn-outline{padding:11px 14px;font-size:0.81rem;}

  .product-modal-image{height:176px;}
  .product-modal-name{font-size:0.95rem;}

  .theo-contact{padding:20px 12px 14px;}
  .theo-contact-content h2{font-size:1.05rem;}
  .theo-footer{margin:8px 10px 0;padding:20px 12px 14px;}

  .theo-feedback-section{margin:0 10px;padding:16px 0 2px;}
  .theo-feedback-card{min-width:232px;padding:12px;}
}

@media(max-width:360px){
  .theo-login-link{display:none;}
  .theo-category-grid{grid-template-columns:1fr;}
  .theo-category-grid .theo-bestseller-card{min-height:0;}
  .floating-cart-text{font-size:0.74rem;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   FRESH MOBILE REDESIGN LAYER — V4
   Complete visual refresh for phones
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  :root{
    --primary:#E07A5F;
    --primary-dark:#C85E45;
    --primary-light:#F6C7B9;
    --primary-bg:rgba(224,122,95,0.1);
    --header-bg:#2A1F1B;
  }

  .theo-main,
  .theo-content,
  .theo-store-bar-enhanced,
  .theo-menu-content{
    background:transparent !important;
  }

  .theo-main{padding-bottom:100px;}

  .theo-header{
    background:linear-gradient(120deg,#2a1f1b,#46342e) !important;
    box-shadow:0 6px 20px rgba(26,16,12,0.35);
  }
  .theo-header-inner{padding:0 12px;height:56px;}
  .theo-logo-icon{border-radius:50%;background:linear-gradient(145deg,#f2b6a2,#e07a5f);}
  .theo-logo-text{color:#ffd8cc;font-weight:800;}
  .theo-login-link{
    border-radius:10px;
    border-color:rgba(255,224,210,0.26);
    background:rgba(255,224,210,0.12);
  }

  .mobile-menu{
    width:min(350px,90vw);
    background:linear-gradient(180deg,#fff8f3 0%,#fff 100%);
  }
  .mobile-header{
    background:linear-gradient(130deg,#2a1f1b,#46342e);
    border-bottom:1px solid rgba(255,223,210,0.2);
  }
  .mobile-link{
    min-height:50px;
    border-radius:14px;
    border:1px solid #f4dfd8;
    background:#fff;
    font-weight:600;
  }
  .mobile-link:hover,.mobile-link.active{
    background:#fff3ee;
    border-color:#f0b8a7;
    color:#5b362b;
  }

  .theo-store-bar-enhanced{padding:10px;background:transparent;}
  .store-header-section{
    border-radius:20px;
    border:1px solid #f3ddd6;
    box-shadow:0 12px 30px rgba(98,56,39,0.09);
    background:#fff;
  }
  .store-name-enhanced{font-size:1.22rem;color:#2d1f19;}
  .store-status-badge.open{background:rgba(34,197,94,0.14);}
  .meta-item-enhanced{
    border:1px solid #f1d9d1;
    background:#fff8f5;
    color:#6d4d41;
    border-radius:999px;
    padding:6px 10px;
  }
  .offers-delivery-container{display:grid;grid-template-columns:1fr;gap:10px;padding-top:10px;}
  .offer-highlight-card,.delivery-type-card{
    border-radius:14px;
    border:1px solid #f2ddd6;
    box-shadow:0 8px 20px rgba(98,58,40,0.06);
  }
  .offer-highlight-card{background:linear-gradient(180deg,#fff7f3,#fff);}

  .theo-filters-bar{
    margin:10px;
    border-radius:20px;
    border:1px solid #f0ddd6;
    background:rgba(255,251,249,0.92);
    backdrop-filter:blur(10px);
    box-shadow:0 14px 26px rgba(75,40,26,0.08);
    top:56px;
  }
  .theo-filter-btn{
    background:linear-gradient(135deg,#E07A5F,#C85E45);
    border-radius:999px;
  }
  .theo-filter-chip{
    border-radius:999px;
    border:1px solid #f0d7cf;
    background:#fff;
    color:#734f42;
  }
  .theo-category-pill{
    border-radius:999px;
    border:1px solid #f0d7cf;
    background:#fff;
    color:#734f42;
  }
  .theo-filter-chip.active{
    background:#fff0ea;
    border-color:#eaa58f;
    color:#8e4d39;
  }
  .theo-category-pill.active{
    background:#fff0ea;
    border-color:#eaa58f;
    color:#8e4d39;
  }
  .theo-search-box{
    border-radius:12px;
    background:#fff;
    border:1px solid #efd8d1;
  }

  .theo-bestsellers{
    margin:0 10px;
    border-radius:20px;
    border:1px solid #f0ddd5;
    box-shadow:0 12px 24px rgba(75,43,28,0.07);
    background:#fff;
  }
  .theo-section-title{font-size:0.66rem;letter-spacing:0.16em;color:#8a5d4f;}
  .theo-carousel{gap:10px;}
  .theo-bestseller-card{
    width:170px;
    border-radius:16px;
    border:1px solid #f0ded8;
    box-shadow:0 8px 16px rgba(69,42,31,0.06);
  }
  .theo-bestseller-img{height:126px;background:#f6ebe7;}
  .theo-bestseller-tag{background:linear-gradient(135deg,#ffe0b9,#ffc988);color:#7a4b1c;}
  .theo-add-btn{
    background:linear-gradient(135deg,#E07A5F,#C85E45);
    border-radius:10px;
    font-size:0.67rem;
  }

  .theo-menu-content{padding:0 10px 18px;}
  .theo-category-title{
    border-bottom:1px dashed #efd8d0;
    color:#8a5a4d;
  }
  .theo-category-grid{gap:10px;}
  .theo-category-grid .theo-bestseller-card{
    border-radius:15px;
    border:1px solid #f0ddd6;
    box-shadow:0 8px 16px rgba(64,35,24,0.06);
    min-height:238px;
  }

  .floating-cart{
    left:10px;
    right:auto;
    width:auto;
    max-width:calc(100vw - 24px);
    bottom:10px;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:9px;
    padding:10px 14px;
    border-radius:14px;
    background:linear-gradient(125deg,#2a1f1b,#E07A5F);
    box-shadow:0 16px 30px rgba(43,23,16,0.34);
  }
  .floating-cart-text{
    display:inline-flex !important;
    align-items:center;
    font-weight:700;
  }
  .floating-cart-icon{display:inline-flex;align-items:center;}
  .floating-cart-badge{background:#fff;color:#7b3f2f;}

  .modal-panel{
    border-radius:22px 22px 0 0;
    background:linear-gradient(180deg,#fffaf7 0%,#fff 14%);
  }
  .modal-header{
    background:linear-gradient(180deg,#fff3ed,#fffaf7);
    border-bottom:1px solid #f2ddd6;
    padding-top:16px;
  }
  .modal-header::before{background:#e9c8bd;}
  .cart-item{
    background:#fff;
    border:1px solid #f0ddd5;
    border-radius:12px;
  }
  .cart-delivery-option{
    background:#fff;
    border-color:#efd8d0;
  }
  .cart-delivery-option.active{background:#fff2ec;border-color:#e6a390;}
  .btn-primary{background:linear-gradient(135deg,#E07A5F,#C85E45);}
  .btn-outline{border-color:#e7d4cd;}

  .theo-contact{
    background:transparent;
    padding:24px 12px 16px;
  }
  .theo-footer{
    margin:8px 10px 0;
    border-radius:18px 18px 0 0;
    background:linear-gradient(160deg,#2f1f19,#4a2f26);
    border:1px solid rgba(255,220,205,0.16);
  }
}

@media(max-width:480px){
  .theo-header-inner{padding:0 10px;}
  .theo-logo-text{font-size:0.94rem;}
  .theo-filters-bar{margin:8px;padding:8px;}
  .theo-bestsellers{margin:0 8px;padding:9px;}
  .theo-bestseller-card{width:148px;}
  .theo-bestseller-img{height:112px;}
  .theo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .theo-category-grid .theo-bestseller-card{min-height:222px;}
  .theo-category-grid .theo-bestseller-img{height:104px;}
  .floating-cart{left:8px;right:auto;bottom:8px;padding:9px 12px;max-width:calc(100vw - 16px);}
  .floating-cart-text{display:inline-flex !important;font-size:0.77rem;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   ACCESSIBILITY & DEVICE QUIRKS
   ═══════════════════════════════════════════════════════════════════════════ */
@media(hover:none)and(pointer:coarse){
  .theo-bestseller-card:hover{transform:none;box-shadow:var(--sh-sm);}
  .theo-add-btn:active{transform:scale(0.94);}
  .delivery-type-option:hover{transform:none;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms!important;
    transition-duration:0.01ms!important;
  }
}
@supports(padding:env(safe-area-inset-bottom)){
  .product-modal-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom));}
  .theo-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom));}
  @media(max-width:768px){
    .floating-cart{bottom:calc(16px + env(safe-area-inset-bottom));}
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE MENU VIEW — CARD LIST MODE
   Converts category menu from tile grid to vertical list cards
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  .theo-contact{
    padding:22px 12px 14px;
    background:transparent;
  }

  .theo-contact-inner{
    max-width:100%;
    text-align:left;
  }

  .theo-contact-content h2{
    font-size:1.18rem;
    margin-bottom:6px;
  }

  .theo-contact-content > p{
    font-size:0.84rem;
    line-height:1.45;
    color:#5e6c7b;
    margin-bottom:12px;
  }

  .theo-contact-cards{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }

  .theo-contact-card{
    width:100%;
    padding:11px 12px;
    border-radius:14px;
    border:1px solid #e4e9ee;
    background:#ffffff;
    box-shadow:0 2px 8px rgba(17,24,39,0.06);
  }

  .theo-contact-icon{
    width:34px;
    height:34px;
    border-radius:9px;
    font-size:0.86rem;
  }

  .theo-contact-info strong{
    font-size:0.84rem;
    margin-bottom:1px;
  }

  .theo-contact-info span{
    font-size:0.74rem;
    line-height:1.35;
  }

  .theo-menu-content,
  .theo-category-block,
  .theo-category-grid{
    overflow:visible;
  }

  .theo-category-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:2px 2px 10px;
  }

  .theo-category-grid .theo-bestseller-card{
    width:100% !important;
    min-height:0 !important;
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    align-items:stretch;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #d9dee3;
    background:#f7f8fa;
    box-shadow:0 4px 12px rgba(19,42,51,0.08);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
  }

  .theo-category-grid .theo-bestseller-card:active{
    transform:scale(0.995);
    box-shadow:0 5px 14px rgba(19,42,51,0.1);
  }

  .theo-category-grid .theo-bestseller-img{
    height:100% !important;
    min-height:120px;
    border-radius:0;
  }

  .theo-category-grid .theo-bestseller-img img{
    height:100%;
    object-fit:cover;
  }

  .theo-category-grid .theo-bestseller-body{
    padding:12px 14px !important;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-width:0;
  }

  .theo-category-grid .theo-bestseller-meta{
    margin-bottom:2px;
    gap:5px;
  }

  .theo-category-grid .theo-veg-indicator,
  .theo-category-grid .theo-customisable-tag{
    display:none;
  }

  .theo-category-grid .theo-bestseller-name{
    font-size:1.18rem !important;
    margin-bottom:6px;
    line-height:1.2;
    letter-spacing:0.01em;
    -webkit-line-clamp:1;
    line-clamp:1;
  }

  .theo-category-grid .theo-product-code-content{
    display:inline-flex;
    align-items:center;
    width:max-content;
    font-size:0.74rem;
    font-weight:800;
    color:#21534b;
    border:1px solid #c6e0dc;
    background:#eef8f6;
    border-radius:999px;
    padding:3px 10px;
    margin-bottom:7px;
  }

  .theo-category-grid .theo-bestseller-desc{
    display:none !important;
  }

  .theo-category-grid .theo-bestseller-footer{
    border-top:none;
    margin-top:auto;
    padding-top:0;
    gap:12px;
    align-items:flex-end;
  }

  .theo-category-grid .theo-bestseller-price{
    font-size:1.3rem;
    font-weight:800;
    color:#0f2f3a;
  }

  .theo-category-grid .theo-add-btn{
    font-size:0.84rem !important;
    font-weight:800;
    padding:9px 15px !important;
    border-radius:12px;
    letter-spacing:0.01em;
    text-transform:uppercase;
    background:linear-gradient(135deg,#F97316,#F25C05);
    box-shadow:0 6px 14px rgba(242,92,5,0.26);
  }

  .theo-category-grid .theo-img-code-inline{
    display:none;
  }
}

@media(max-width:480px){
  .theo-contact{
    padding:18px 10px 12px;
  }

  .theo-contact-content h2{
    font-size:1.1rem;
  }

  .theo-contact-content > p{
    font-size:0.8rem;
    margin-bottom:10px;
  }

  .theo-contact-card{
    padding:10px 11px;
    border-radius:13px;
    gap:9px;
  }

  .theo-contact-icon{
    width:32px;
    height:32px;
    font-size:0.82rem;
  }

  .theo-contact-info strong{
    font-size:0.8rem;
  }

  .theo-contact-info span{
    font-size:0.71rem;
  }

  .theo-category-grid{
    padding-bottom:12px;
  }

  .theo-category-grid .theo-bestseller-card{
    grid-template-columns:96px minmax(0,1fr);
    border-radius:16px;
  }

  .theo-category-grid .theo-bestseller-img{
    min-height:100px;
  }

  .theo-category-grid .theo-bestseller-body{
    padding:10px 12px !important;
  }

  .theo-category-grid .theo-bestseller-name{
    font-size:1.04rem !important;
  }

  .theo-category-grid .theo-product-code-content{
    font-size:0.68rem;
    margin-bottom:8px;
    padding:3px 10px;
  }

  .theo-category-grid .theo-bestseller-price{
    font-size:1.12rem;
  }

  .theo-category-grid .theo-add-btn{
    font-size:0.78rem !important;
    padding:8px 12px !important;
    border-radius:12px;
  }
}

@media(max-width:360px){
  .theo-category-grid .theo-bestseller-card{
    grid-template-columns:86px minmax(0,1fr);
  }

  .theo-category-grid .theo-bestseller-img{
    min-height:86px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT FLOW OVERRIDES (FINAL)
   1) Simple centered product modal
   2) Separate options modal for size/flavor
   ═══════════════════════════════════════════════════════════════════════════ */

/* Simple centered product modal */
.product-modal{
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:min(92vw,520px) !important;
  max-width:520px !important;
  max-height:88dvh !important;
  border-radius:20px !important;
  transform:translate(-50%,-50%) scale(0.96) !important;
  background:#fff !important;
  box-shadow:0 18px 44px rgba(23,18,16,0.28) !important;
  overflow:hidden;
}
.product-modal.active{transform:translate(-50%,-50%) scale(1) !important;}

.product-modal-content{
  display:flex;
  flex-direction:column;
  max-height:88dvh;
  overflow:auto;
}

.product-modal-simple{display:flex;flex-direction:column;min-height:100%;}
.product-modal-image{height:clamp(270px,44vh,430px);background:linear-gradient(140deg,#fbebe5,#f7d9cd);}
.product-modal-image img{object-fit:contain;padding:1px;}
.product-modal-info{padding:14px 16px 10px;}
.product-modal-header{margin-bottom:6px;}
.product-modal-name{font-size:1.08rem;line-height:1.32;}
.product-modal-desc{display:none;}
.product-modal-footer{padding:12px 16px;background:linear-gradient(120deg,#2a1f1b,#e07a5f);position:sticky;bottom:0;}
.product-modal-price{font-size:1.18rem;color:#fff;}
.product-modal-add-btn{background:#fff;color:#7e3e2d;border-radius:12px;min-height:44px;}

/* Separate size/flavor modal */
.product-options-modal{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(0.96);
  width:min(94vw,560px);
  max-height:88dvh;
  background:#fff;
  border-radius:18px;
  box-shadow:0 20px 50px rgba(20,16,14,0.28);
  z-index:710;
  opacity:0;
  visibility:hidden;
  transition:all .25s ease;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.product-options-modal.active{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,-50%) scale(1);
}

.product-options-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid #f0e2dc;
  background:#fff;
}
.product-options-header h3{font-size:0.95rem;font-weight:700;color:#3d2b24;margin:0;}
.product-options-close{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid #ead4cc;
  color:#7b5b50;
  display:flex;
  align-items:center;
  justify-content:center;
}
.product-options-body{overflow:auto;padding:10px 0;}

.product-options-modal .product-addon-section{padding:12px 14px;border-bottom:1px solid #f1e5df;}
.product-options-modal .addon-section-header{margin-bottom:10px;}
.product-options-modal .addon-section-header h3{font-size:0.74rem;letter-spacing:.08em;color:#7a4b3b;}
.product-options-modal .addon-section-header p{font-size:0.75rem;color:#8f736a;}
.product-options-modal .variant-options,
.product-options-modal .flavor-options{display:flex;flex-direction:column;gap:9px;}

.product-options-modal .variant-option,
.product-options-modal .flavor-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:13px;
  border:1.5px solid #ead7d0;
  border-radius:14px;
  background:#fff;
  min-height:62px;
  box-shadow:0 4px 10px rgba(77,45,31,0.04);
}
.product-options-modal .variant-option.selected{background:#fff3ed;border-color:#df9b85;box-shadow:0 0 0 2px rgba(224,122,95,0.14);}
.product-options-modal .flavor-option.selected{background:#fff4ea;border-color:#eba978;box-shadow:0 0 0 2px rgba(232,148,75,0.2);}

.product-options-footer{
  position:sticky;
  bottom:0;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(120deg,#2a1f1b,#e07a5f);
  box-shadow:0 -10px 24px rgba(42,24,17,0.24);
}
.product-options-price{font-size:1.16rem;font-weight:700;color:#fff;}
.product-options-add-btn{
  flex:1;
  min-height:44px;
  border-radius:12px;
  background:#fff;
  color:#7e3e2d;
  font-size:0.84rem;
  font-weight:700;
}

@media(max-width:768px){
  .product-modal,
  .product-options-modal{
    width:min(96vw,560px) !important;
    max-height:92dvh !important;
    border-radius:16px !important;
  }
  .product-modal-image{height:clamp(240px,42vh,380px);}
}

@media(max-width:480px){
  .product-modal,
  .product-options-modal{width:96vw !important;max-height:94dvh !important;}
  .product-modal-image{height:clamp(220px,38vh,320px);}
}

body.modal-open{overflow:hidden;}