  /* PHASE 10 — photo drop-in system.
     Each rule loads a real photo first; if that file doesn't exist yet (404),
     the browser silently falls back to the original gradient swatch below it.
     Drop a correctly-named file into assets/images/dishes/ and it appears
     everywhere that dish is used — no HTML or code changes needed. */
  .ph-dal{background-image:url('../images/dishes/dal.jpg'),radial-gradient(circle at 38% 30%, #e8a33f, #c97a1a 55%, #9c5a10 100%);background-size:cover;background-position:center;}
  .ph-rice{background-image:url('../images/dishes/rice.jpg'),radial-gradient(circle at 35% 28%, #fffdf6, #f1e9d2 55%, #d8cba3 100%);background-size:cover;background-position:center;}
  .ph-paneer{background-image:url('../images/dishes/paneer.jpg'),radial-gradient(circle at 35% 28%, #e2543a, #b5301c 60%, #7c1d10 100%);background-size:cover;background-position:center;}
  .ph-sabzi{background-image:url('../images/dishes/sabzi.jpg'),radial-gradient(circle at 35% 28%, #d9a63a, #b17817 60%, #7c5210 100%);background-size:cover;background-position:center;}
  .ph-raita{background-image:url('../images/dishes/raita.jpg'),radial-gradient(circle at 35% 28%, #fffdf9, #ece2cf 60%, #d3c4a3 100%);background-size:cover;background-position:center;}
  .ph-roti{background-image:url('../images/dishes/roti.jpg'),radial-gradient(circle at 40% 32%, #f1d497, #d9a95c 60%, #a97430 100%);background-size:cover;background-position:center;}
  .ph-chicken{background-image:url('../images/dishes/chicken.jpg'),radial-gradient(circle at 35% 28%, #e07a3d, #b3491d 60%, #7a2c10 100%);background-size:cover;background-position:center;}
  .ph-egg{background-image:url('../images/dishes/egg.jpg'),radial-gradient(circle at 35% 28%, #f2c94c, #d99a1a 55%, #a4700e 100%);background-size:cover;background-position:center;}
  .ph-rajma{background-image:url('../images/dishes/rajma.jpg'),radial-gradient(circle at 35% 28%, #a8412f, #7d2418 60%, #501408 100%);background-size:cover;background-position:center;}
  .ph-tiffin{background-image:url('../images/features/tiffin.jpg'),radial-gradient(120deg, #e8b06a 0%, #c97a2e 55%, #a35a1c 100%);background-size:cover;background-position:center;}
  .ph-office{background-image:url('../images/features/office.jpg'),radial-gradient(120deg, #6f93c9 0%, #3f5f95 55%, #294070 100%);background-size:cover;background-position:center;}
  .icon-svg{width:26px;height:26px;stroke:var(--green-dark);}
  :root{
    --green:#1c5233;
    --green-dark:#123b24;
    --saffron:#e07a1f;
    --saffron-light:#f4a94f;
    --cream:#fdf8ef;
    --cream-2:#f6ede0;
    --charcoal:#2b2a27;
    --gray:#6b6a66;
    --line:#e7e0d3;
    --radius:14px;
    --font-body:'Inter', Arial, sans-serif;
    --font-display:'Baloo 2', 'Inter', Arial, sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    font-family:var(--font-body);
    color:var(--charcoal);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
  }
  img,svg{display:block;max-width:100%;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 24px;}
  button{font-family:inherit;cursor:pointer;border:none;}

  /* ---------- Top utility bar ---------- */
  .topbar{background:var(--green-dark);color:#eaf3ec;font-size:12.5px;}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;flex-wrap:wrap;gap:6px;}
  .topbar .left{display:flex;gap:22px;}
  .topbar .left span{opacity:.92;}
  .topbar .right{opacity:.92;}
  @media(max-width:760px){ .topbar .left span:not(:first-child){display:none;} }

  /* ---------- Header ---------- */
  header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px;}
  .logo{display:flex;align-items:center;gap:10px;}
  .logo .mark{width:40px;height:40px;border-radius:50%;background:var(--cream-2);display:flex;align-items:center;justify-content:center;}
  .logo .mark svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:1.8;}
  .logo .text b{font-family:var(--font-display);font-size:23px;letter-spacing:.1px;font-weight:700;}
  .logo .text b .d{color:var(--charcoal);}
  .logo .text b .t{color:var(--saffron);}
  .logo .text b .c{color:var(--gray);font-weight:600;font-size:15px;}
  .logo .text small{display:block;font-size:10.5px;color:var(--gray);letter-spacing:.3px;margin-top:1px;}

  nav.main{display:flex;gap:30px;}
  nav.main a{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--charcoal);position:relative;padding:6px 0;}
  nav.main a.active{color:var(--saffron);}
  nav.main a.active:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--saffron);}
  nav.main a .care{font-size:11px;opacity:.6;margin-left:2px;}

  .header-actions{display:flex;align-items:center;gap:14px;}
  .call-box{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray);}
  .call-box b{display:block;color:var(--charcoal);font-size:14px;}
  .call-icon{width:34px;height:34px;border-radius:50%;background:var(--cream-2);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:16px;}
  .cart-btn{position:relative;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:17px;background:#fff;}
  .cart-btn .badge{position:absolute;top:-6px;right:-6px;background:var(--saffron);color:#fff;font-size:10.5px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .order-cta{background:var(--green);color:#fff;padding:11px 20px;border-radius:9px;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.3px;}

  @media(max-width:1020px){ nav.main{display:none;} .call-box{display:none;} }

  /* ---------- Hero ---------- */
  .hero{padding:56px 0 40px;}
  .hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;background:#eaf3ec;color:var(--green);font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:20px;margin-bottom:18px;letter-spacing:.3px;}
  .eyebrow:before{content:"●";color:var(--saffron);font-size:9px;}
  h1.hero-h{font-family:var(--font-display);font-size:49px;line-height:1.14;font-weight:700;color:var(--green-dark);letter-spacing:-.3px;}
  h1.hero-h .accent{color:var(--saffron);}
  .hero p.lead{margin-top:16px;font-size:16.5px;color:var(--gray);max-width:460px;line-height:1.55;}

  .pincode-row{display:flex;gap:0;margin-top:26px;max-width:430px;box-shadow:0 6px 20px rgba(28,82,51,.08);border-radius:10px;overflow:hidden;}
  .pincode-row input{flex:1;border:1px solid var(--line);border-right:none;padding:15px 16px;font-size:14.5px;outline:none;}
  .pincode-row button{background:var(--green-dark);color:#fff;padding:0 24px;font-family:var(--font-display);font-weight:700;font-size:15px;white-space:nowrap;}
  .deliver-note{margin-top:12px;font-size:13.5px;color:var(--gray);display:flex;align-items:center;gap:8px;}
  .deliver-note b{color:var(--green);}
  .deliver-note a{color:var(--saffron);font-weight:700;}

  .trust-row{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap;}
  .trust-row .item{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--gray);font-weight:600;}
  .trust-row .item .ic{width:30px;height:30px;border-radius:8px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;font-size:15px;}

  .hero-visual{position:relative;}
  .plate-board{background:radial-gradient(ellipse at 50% 40%, #f4ecd8 0%, #e9dbb8 60%, #ddc99a 100%);border-radius:24px;padding:44px;position:relative;box-shadow:0 30px 60px rgba(28,82,51,.16);}
  .thali-plate{width:100%;aspect-ratio:1/1;border-radius:50%;
    background:
      repeating-conic-gradient(from 0deg, rgba(255,255,255,.05) 0deg 2deg, transparent 2deg 8deg),
      radial-gradient(circle at 38% 30%, #f3f5f5, #cdd4d6 45%, #9aa5a8 75%, #808d90 100%);
    box-shadow:0 22px 45px rgba(0,0,0,.28), inset 0 0 0 9px #eef1f1, inset 0 0 0 12px #b6bfc1, inset 0 6px 18px rgba(0,0,0,.18);
    display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5%;padding:9%;position:relative;}
  .bowl{border-radius:50%;box-shadow:inset 0 5px 12px rgba(0,0,0,.35), inset 0 -3px 6px rgba(255,255,255,.25), 0 6px 10px rgba(0,0,0,.18);position:relative;}
  .bowl:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 4px rgba(255,255,255,.5);}
  .bowl.rice{grid-column:2;grid-row:1;}
  .bowl.dal{grid-column:3;grid-row:1;}
  .bowl.paneer{grid-column:3;grid-row:2;}
  .bowl.sabzi{grid-column:3;grid-row:3;}
  .bowl.raita{grid-column:1;grid-row:3;}
  .roti-stack{grid-column:1/3;grid-row:2;position:relative;}
  .roti-stack span{position:absolute;width:82%;aspect-ratio:1/1;border-radius:50%;box-shadow:0 3px 8px rgba(0,0,0,.2);}
  .roti-stack span:nth-child(1){top:8%;left:2%;transform:rotate(-8deg);}
  .roti-stack span:nth-child(2){top:2%;left:16%;transform:rotate(10deg);}
  .lemon-slice{position:absolute;bottom:8%;left:4%;width:13%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,#e8e090,#b9c94a 70%,#7a9a2e);box-shadow:0 3px 6px rgba(0,0,0,.2);}
  .badge-offer{position:absolute;top:-16px;right:-22px;background:#fff;border-radius:14px;padding:14px 18px;box-shadow:0 14px 32px rgba(0,0,0,.18);text-align:center;width:170px;}
  .badge-offer .tag{font-size:10px;color:var(--gray);font-weight:700;letter-spacing:.4px;}
  .badge-offer .pct{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--saffron);margin:2px 0;}
  .badge-offer .code{display:inline-block;margin-top:4px;background:var(--cream-2);color:var(--green-dark);font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;}
  @media(max-width:920px){
    .hero .wrap{grid-template-columns:1fr;gap:36px;}
    h1.hero-h{font-size:36px;}
    .badge-offer{position:static;margin-top:18px;width:auto;}
  }

  /* ---------- Section shell ---------- */
  section{padding:56px 0;}
  .sec-head{text-align:center;margin-bottom:34px;}
  .sec-head .kicker{color:var(--saffron);font-weight:700;font-size:13px;letter-spacing:.5px;text-transform:uppercase;}
  .sec-head h2{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--green-dark);margin-top:6px;}
  .sec-head p{color:var(--gray);margin-top:8px;font-size:15px;}

  /* ---------- What would you like today ---------- */
  .quick-cats{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 24px;box-shadow:0 10px 30px rgba(28,82,51,.06);}
  .quick-cats .heading{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--font-display);font-weight:700;color:var(--green-dark);font-size:21px;margin-bottom:22px;}
  .quick-cats .heading .arrow{color:var(--saffron);font-size:15px;}
  .cat-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;}
  .cat-item{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
  .cat-item .circle{width:66px;height:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;transition:transform .15s;}
  .cat-item:hover .circle{transform:translateY(-4px);}
  .cat-item span{font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--charcoal);}
  .cat-item small{font-size:10.5px;color:var(--gray);}
  .c1{background:#fdeecb;} .c2{background:#e6f0e5;} .c3{background:#eef0e3;} .c4{background:#fbe4c5;}
  .c5{background:#f6dad2;} .c6{background:#eef0ee;} .c7{background:#e6f0e5;} .c8{background:#f0e4f5;}
  @media(max-width:920px){ .cat-grid{grid-template-columns:repeat(4,1fr);row-gap:22px;} }

  /* ---------- Menu ---------- */
  .menu-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:26px;}
  .menu-top h2{font-family:var(--font-display);font-size:27px;font-weight:700;color:var(--green-dark);}
  .menu-top .sub{color:var(--gray);font-size:13.5px;margin-top:4px;}
  .toggle-group{display:flex;background:#fff;border:1px solid var(--line);border-radius:24px;padding:4px;}
  .toggle-group button{padding:8px 18px;border-radius:20px;font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--gray);background:transparent;}
  .toggle-group button.active{background:var(--green);color:#fff;}
  .view-all{font-size:13.5px;font-weight:700;color:var(--saffron);}

  .menu-scroll{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
  .food-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:box-shadow .15s, transform .15s;}
  .food-card:hover{box-shadow:0 16px 30px rgba(0,0,0,.09);transform:translateY(-3px);}
  .food-photo{height:130px;position:relative;display:flex;align-items:center;justify-content:center;font-size:44px;}
  .fp1{background:linear-gradient(135deg,#fbead2,#f0cf9c);}
  .fp2{background:linear-gradient(135deg,#e7f0e2,#c9dfc0);}
  .fp3{background:linear-gradient(135deg,#f7ddd2,#f0b39a);}
  .fp4{background:linear-gradient(135deg,#fdf1cf,#f3d98a);}
  .fp5{background:linear-gradient(135deg,#f4e2d0,#e0b98d);}
  .veg-dot{position:absolute;top:10px;left:10px;width:18px;height:18px;border-radius:3px;border:2px solid #1c8a3e;display:flex;align-items:center;justify-content:center;background:#fff;}
  .veg-dot span{width:8px;height:8px;border-radius:50%;background:#1c8a3e;}
  .nonveg-dot{border-color:#a3251b;}
  .nonveg-dot span{background:#a3251b;}
  .food-info{padding:14px 15px 16px;}
  .food-info h4{font-family:var(--font-display);font-size:15.5px;font-weight:600;}
  .food-info p{font-size:12px;color:var(--gray);margin-top:4px;min-height:30px;line-height:1.4;}
  .food-info .row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
  .food-info .price{font-family:var(--font-display);font-weight:700;color:var(--green-dark);font-size:17px;}
  .add-btn{background:var(--green);color:#fff;font-family:var(--font-display);font-size:13px;font-weight:600;padding:7px 16px;border-radius:7px;}
  @media(max-width:1020px){ .menu-scroll{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:560px){ .menu-scroll{grid-template-columns:1fr 1fr;gap:12px;} }

  /* ---------- Build your own meal ---------- */
  .build-block{background:linear-gradient(120deg,#eef4ea,#f7f2e4);border-radius:22px;padding:38px 34px;display:grid;grid-template-columns:1fr 1.3fr auto;gap:30px;align-items:center;}
  .build-block h3{font-family:var(--font-display);font-size:25px;font-weight:700;color:var(--green-dark);}
  .build-block .desc{color:var(--gray);font-size:14px;margin-top:10px;line-height:1.55;max-width:280px;}
  .build-now{display:inline-block;margin-top:18px;background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;font-size:14.5px;padding:12px 22px;border-radius:9px;}
  .build-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .build-chip{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 6px 14px rgba(0,0,0,.08);}
  .plus{color:var(--gray);font-weight:700;font-size:18px;}
  .build-price{background:#fff;border-radius:16px;padding:20px 26px;text-align:center;box-shadow:0 10px 24px rgba(0,0,0,.08);}
  .build-price .label{font-size:12px;color:var(--gray);font-weight:700;}
  .build-price .amt{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--saffron);margin:4px 0;}
  .build-price a{font-size:12.5px;color:var(--green);font-weight:700;}
  @media(max-width:920px){ .build-block{grid-template-columns:1fr;text-align:center;} .build-block .desc{margin:10px auto 0;} .build-row{justify-content:center;} }

  /* ---------- Two feature cards ---------- */
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .feature-card{border-radius:20px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;overflow:hidden;}
  .feature-card.tiffin{background:#fdece0;}
  .feature-card.office{background:#e4ecf7;}
  .feature-card .art{height:150px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:48px;}
  .feature-card.tiffin .art{background-image:url('../images/features/tiffin.jpg'),linear-gradient(135deg,#f5c68b,#e08a3d);background-size:cover;background-position:center;}
  .feature-card.office .art{background-image:url('../images/features/office.jpg'),linear-gradient(135deg,#b9cdea,#7597c9);background-size:cover;background-position:center;}
  .feature-card h4{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--green-dark);}
  .feature-card ul{margin-top:10px;}
  .feature-card ul li{font-size:12.8px;color:var(--gray);margin-top:6px;display:flex;gap:7px;}
  .feature-card ul li:before{content:"✓";color:var(--green);font-weight:800;}
  .feature-card .cta{display:inline-block;margin-top:16px;font-family:var(--font-display);font-size:13.5px;font-weight:700;padding:10px 18px;border-radius:8px;color:#fff;}
  .feature-card.tiffin .cta{background:var(--saffron);}
  .feature-card.office .cta{background:#294c85;}
  @media(max-width:920px){ .two-col{grid-template-columns:1fr;} .feature-card{grid-template-columns:1fr;} }

  /* ---------- Why choose ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;text-align:center;}
  .why-item .ic{width:56px;height:56px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 10px;}
  .why-item h5{font-family:var(--font-display);font-size:14px;font-weight:600;}
  .why-item p{font-size:11.5px;color:var(--gray);margin-top:3px;}
  @media(max-width:920px){ .why-grid{grid-template-columns:repeat(3,1fr);row-gap:26px;} }

  /* ---------- Reviews ---------- */
  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;}
  .stars{color:var(--saffron);font-size:14px;letter-spacing:2px;}
  .review-card p.quote{margin:12px 0 16px;font-size:13.8px;color:var(--charcoal);line-height:1.55;}
  .reviewer{display:flex;align-items:center;gap:10px;}
  .reviewer .av{width:36px;height:36px;border-radius:50%;background:var(--cream-2);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--green);font-size:13px;position:relative;overflow:hidden;}
  .reviewer .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .reviewer .name{font-family:var(--font-display);font-size:14.5px;font-weight:600;}
  .reviewer .area{font-size:11.5px;color:var(--gray);}
  @media(max-width:920px){ .review-grid{grid-template-columns:1fr;} }

  /* ---------- Delivery areas ---------- */
  .area-block{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .area-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;}
  .area-card h4{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--green-dark);margin-bottom:16px;}
  .area-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;}
  .area-list li{font-size:13.5px;color:var(--charcoal);display:flex;align-items:center;gap:8px;}
  .area-list li:before{content:"📍";font-size:11px;}
  .area-list li.more{color:var(--saffron);font-weight:700;}
  .view-locations{display:inline-block;margin-top:18px;border:1.5px solid var(--green);color:var(--green);font-weight:700;font-size:12.8px;padding:9px 18px;border-radius:8px;}
  .map-visual{border-radius:20px;background-image:url('../images/misc/delhi-ncr-map.jpg'),linear-gradient(135deg,#e5efe1,#cfe0c7);background-size:cover;background-position:center;position:relative;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .map-visual .pin{position:absolute;font-size:20px;}
  .app-card{background:var(--green-dark);border-radius:20px;padding:30px;color:#fff;display:flex;flex-direction:column;justify-content:center;}
  .app-card h4{font-family:var(--font-display);font-size:21px;font-weight:700;}
  .app-card p{font-size:13px;opacity:.85;margin-top:8px;line-height:1.5;}
  .store-row{display:flex;gap:10px;margin-top:18px;}
  .store-btn{background:#fff;color:var(--charcoal);font-size:12px;font-weight:700;padding:9px 14px;border-radius:8px;display:flex;align-items:center;gap:6px;}
  @media(max-width:920px){ .area-block{grid-template-columns:1fr;} .two-col.appwrap{grid-template-columns:1fr;} }
  .app-visual{background:#efe7d6;border-radius:20px;display:flex;align-items:center;justify-content:center;min-height:220px;padding:20px 0;}
  .phone-shell{width:130px;height:230px;background-image:url('../images/app/app-screenshot.jpg');background-size:cover;background-position:center;background-color:#1c5233;border-radius:20px;border:4px solid #123b24;box-shadow:0 20px 40px rgba(0,0,0,.25);position:relative;overflow:hidden;}
  .phone-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:36px;height:5px;background:rgba(0,0,0,.35);border-radius:3px;z-index:2;}
  .phone-screen{position:absolute;inset:0;background:linear-gradient(160deg,rgba(28,82,51,.15),rgba(14,46,28,.35));}

  /* ---------- Footer ---------- */
  footer{background:var(--green-dark);color:#dce8e0;padding:56px 0 0;margin-top:20px;}
  .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.12);}
  .footer-grid h5{font-family:var(--font-display);color:#fff;font-size:15px;font-weight:600;margin-bottom:14px;}
  .footer-grid li{font-size:13px;margin-bottom:9px;opacity:.85;}
  .footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
  .footer-logo b{font-family:var(--font-display);color:#fff;font-size:19px;font-weight:700;}
  .footer-grid p.tag{font-size:13px;opacity:.8;line-height:1.6;max-width:280px;}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:12px;opacity:.7;flex-wrap:wrap;gap:10px;}
  @media(max-width:920px){ .footer-grid{grid-template-columns:1fr 1fr;} }

  .mobile-nav{display:none;}
  @media(max-width:640px){
    .mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:60;justify-content:space-around;padding:8px 0 10px;box-shadow:0 -6px 16px rgba(0,0,0,.06);}
    .mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:var(--gray);}
    .mobile-nav a.active{color:var(--green);}
    body{padding-bottom:64px;}
  }

/* =========================================================
   SHARED — added for inner pages (Phase 1)
   ========================================================= */

/* ---------- Inner page header (breadcrumb + title) ---------- */
.page-head{background:var(--cream-2);padding:26px 0;border-bottom:1px solid var(--line);}
.page-head .crumb{font-size:12.5px;color:var(--gray);font-weight:600;}
.page-head .crumb a{color:var(--green);}
.page-head .crumb span{opacity:.6;}
.page-head h1{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--green-dark);margin-top:8px;}
.page-head p{font-size:13.8px;color:var(--gray);margin-top:6px;max-width:560px;}

/* ---------- Category chip filter (used on Menu / Individual Items) ---------- */
.chip-row{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 30px;}
.chip{background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px 18px;font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--charcoal);display:flex;align-items:center;gap:7px;}
.chip.active{background:var(--green);border-color:var(--green);color:#fff;}
.chip:hover{border-color:var(--green);}

/* ---------- Category hub grid (Menu landing) ---------- */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;}
.hub-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s, transform .15s;}
.hub-card:hover{box-shadow:0 16px 30px rgba(0,0,0,.08);transform:translateY(-3px);}
.hub-card .circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.hub-card h3{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--green-dark);}
.hub-card p{font-size:13px;color:var(--gray);line-height:1.5;flex:1;}
.hub-card .go{font-size:13px;font-weight:700;color:var(--saffron);}
.hub-card.wide{grid-column:span 3;background:linear-gradient(120deg,#eef4ea,#f7f2e4);flex-direction:row;align-items:center;justify-content:space-between;}
.hub-card.wide .go-btn{background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;padding:12px 22px;border-radius:9px;font-size:14px;white-space:nowrap;}
@media(max-width:920px){ .hub-grid{grid-template-columns:1fr 1fr;} .hub-card.wide{grid-column:span 2;flex-direction:column;align-items:flex-start;gap:16px;} }
@media(max-width:600px){ .hub-grid{grid-template-columns:1fr;} .hub-card.wide{grid-column:span 1;} }

/* ---------- Product grid (Complete Meals / Individual Items) ---------- */
.section-title-row{display:flex;align-items:baseline;justify-content:space-between;margin:36px 0 18px;flex-wrap:wrap;gap:8px;}
.section-title-row h2{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--green-dark);}
.section-title-row .count{font-size:12.5px;color:var(--gray);}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:1020px){ .product-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:760px){ .product-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .product-grid{gap:12px;} }

.qty-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.qty-stepper button{width:30px;height:30px;background:var(--cream-2);font-weight:700;font-size:15px;color:var(--green-dark);}
.qty-stepper .n{width:28px;text-align:center;font-weight:700;font-size:13.5px;}
.food-info .row.stepper-row{gap:8px;}

.sold-out-tag{position:absolute;top:10px;right:10px;background:var(--charcoal);color:#fff;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:6px;letter-spacing:.3px;}
.food-card.is-soldout{opacity:.55;}
.food-card.is-soldout .add-btn{background:var(--gray);pointer-events:none;}

/* portion pills */
.portion-row{display:flex;gap:6px;margin-top:8px;}
.portion-pill{border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:600;color:var(--gray);}
.portion-pill.active{border-color:var(--green);color:var(--green);background:#eaf3ec;}

/* ---------- Build Your Meal ---------- */
.builder-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start;margin-top:26px;}
.builder-step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:16px;}
.builder-step h4{font-family:var(--font-display);font-size:15.5px;font-weight:700;color:var(--green-dark);margin-bottom:4px;}
.builder-step .hint{font-size:12px;color:var(--gray);margin-bottom:14px;}
.opt-row{display:flex;gap:10px;flex-wrap:wrap;}
.opt-pill{border:1.5px solid var(--line);border-radius:10px;padding:10px 16px;font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--charcoal);background:#fff;display:flex;align-items:center;gap:8px;}
.opt-pill .p{font-size:11.5px;color:var(--gray);font-weight:600;}
.opt-pill.selected{border-color:var(--green);background:#eaf3ec;color:var(--green-dark);}
.builder-summary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;position:sticky;top:96px;}
.builder-summary h4{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--green-dark);margin-bottom:14px;}
.builder-summary .line{display:flex;justify-content:space-between;font-size:13.5px;color:var(--charcoal);padding:7px 0;border-bottom:1px dashed var(--line);}
.builder-summary .line .rm{color:var(--gray);cursor:pointer;font-size:12px;}
.builder-summary .empty{font-size:13px;color:var(--gray);padding:16px 0;text-align:center;}
.builder-summary .total-row{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0;}
.builder-summary .total-row .amt{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--saffron);}
.builder-summary .add-cart-btn{width:100%;background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;font-size:15px;padding:14px;border-radius:10px;}
@media(max-width:920px){ .builder-wrap{grid-template-columns:1fr;} .builder-summary{position:static;} }

/* smart suggestion toast */
.suggest-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,140%);background:var(--green-dark);color:#fff;padding:14px 18px;border-radius:12px;display:flex;align-items:center;gap:14px;box-shadow:0 14px 30px rgba(0,0,0,.25);z-index:80;transition:transform .25s ease;font-size:13.5px;max-width:92%;}
.suggest-toast.show{transform:translate(-50%,0);}
.suggest-toast .txt{white-space:nowrap;}
.suggest-toast .actions{display:flex;gap:8px;}
.suggest-toast button.add{background:var(--saffron);color:#fff;font-weight:700;padding:7px 12px;border-radius:7px;font-size:12.5px;white-space:nowrap;}
.suggest-toast button.close{color:#cfe0d5;font-size:16px;padding:0 4px;}
@media(max-width:600px){ .suggest-toast{flex-wrap:wrap;justify-content:center;text-align:center;} }

/* ---------- Tiffin plans ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px;}
.plan-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;text-align:center;}
.plan-card.popular{border-color:var(--saffron);box-shadow:0 16px 34px rgba(224,122,31,.14);position:relative;}
.plan-card.popular:before{content:"MOST POPULAR";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--saffron);color:#fff;font-size:10.5px;font-weight:700;padding:5px 12px;border-radius:20px;letter-spacing:.3px;}
.plan-card h3{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--green-dark);}
.plan-card .price{font-family:var(--font-display);font-size:15px;color:var(--gray);margin:8px 0 4px;}
.plan-card .price b{font-size:26px;color:var(--saffron);}
.plan-card ul{margin:16px 0;text-align:left;}
.plan-card ul li{font-size:13px;color:var(--charcoal);padding:6px 0;display:flex;gap:8px;}
.plan-card ul li:before{content:"✓";color:var(--green);font-weight:800;}
.veg-toggle{display:flex;justify-content:center;gap:0;margin:8px 0 30px;}
.veg-toggle button{padding:10px 26px;border:1.5px solid var(--line);font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--gray);background:#fff;}
.veg-toggle button:first-child{border-radius:9px 0 0 9px;}
.veg-toggle button:last-child{border-radius:0 9px 9px 0;}
.veg-toggle button.active{background:var(--green);border-color:var(--green);color:#fff;}
@media(max-width:920px){ .plan-grid{grid-template-columns:1fr;} }

/* My tiffin card (status view example) */
.tiffin-status{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-top:26px;}
.tiffin-status .next-label{font-size:12px;color:var(--gray);font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.tiffin-status .day{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--green-dark);margin:4px 0;}
.tiffin-status .meta{font-size:13px;color:var(--gray);}
.tiffin-status .btns{display:flex;gap:10px;}
.tiffin-status .btns button{border:1.5px solid var(--line);background:#fff;padding:10px 18px;border-radius:9px;font-family:var(--font-display);font-weight:600;font-size:13px;}

/* ---------- Corporate ---------- */
.corp-hero{background:linear-gradient(120deg,#e4ecf7,#f7f2e4);border-radius:22px;padding:44px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;margin-top:26px;}
.corp-hero h2{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--green-dark);}
.corp-hero p{font-size:14px;color:var(--gray);margin-top:10px;max-width:420px;line-height:1.55;}
.corp-hero .btn-row{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;}
.btn-solid{background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;padding:13px 22px;border-radius:9px;font-size:14px;}
.btn-outline{border:1.5px solid var(--green);color:var(--green);font-family:var(--font-display);font-weight:700;padding:13px 22px;border-radius:9px;font-size:14px;background:#fff;}
.addr-chip.selected{background:var(--green);color:#fff;}
.corp-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.corp-stats .stat{background:#fff;border-radius:14px;padding:18px;text-align:center;}
.corp-stats .stat b{display:block;font-family:var(--font-display);font-size:22px;color:var(--saffron);}
.corp-stats .stat span{font-size:11.5px;color:var(--gray);}
@media(max-width:920px){ .corp-hero{grid-template-columns:1fr;} }

/* ---------- Generic form ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;max-width:560px;margin-top:26px;}
.form-row{margin-bottom:16px;}
.form-row label{display:block;font-size:13px;font-weight:600;color:var(--charcoal);margin-bottom:6px;}
.form-row input, .form-row select, .form-row textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:13px 14px;font-size:14px;font-family:inherit;outline:none;background:#fdfcf9;}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{border-color:var(--green);}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){ .form-two{grid-template-columns:1fr;} }
.form-submit{width:100%;background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;font-size:15px;padding:15px;border-radius:10px;margin-top:6px;}
.form-note{font-size:12px;color:var(--gray);margin-top:10px;text-align:center;}

/* ---------- Locations list page ---------- */
.loc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px;}
.loc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;}
.loc-card .status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--green);background:#eaf3ec;padding:3px 9px;border-radius:20px;margin-bottom:8px;}
.loc-card h5{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--charcoal);}
.loc-card p{font-size:11.5px;color:var(--gray);margin-top:3px;}
@media(max-width:920px){ .loc-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------- About page ---------- */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:8px;}
.about-hero .art{border-radius:22px;min-height:280px;background-image:url('../images/misc/about-kitchen.jpg'),linear-gradient(135deg,#f4ecd8,#ddc99a);background-size:cover;background-position:center;}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:14px;}
.value-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center;}
.value-card .ic{width:48px;height:48px;border-radius:50%;background:var(--cream-2);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
.value-card h5{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--green-dark);}
.value-card p{font-size:12px;color:var(--gray);margin-top:4px;}
@media(max-width:920px){ .about-hero{grid-template-columns:1fr;} .value-grid{grid-template-columns:1fr 1fr;} }

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:760px;margin-top:26px;}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden;}
.faq-q{width:100%;text-align:left;padding:18px 20px;font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--charcoal);display:flex;justify-content:space-between;align-items:center;background:#fff;}
.faq-q .plus{color:var(--saffron);font-size:18px;font-weight:700;transition:transform .2s;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:240px;}
.faq-a p{padding:0 20px 18px;font-size:13.5px;color:var(--gray);line-height:1.6;}

/* ---------- Cart page ---------- */
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start;margin-top:26px;}
.cart-list{background:#fff;border:1px solid var(--line);border-radius:16px;}
.cart-row{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line);}
.cart-row:last-child{border-bottom:none;}
.cart-row .thumb{width:52px;height:52px;border-radius:10px;flex-shrink:0;}
.cart-row .info{flex:1;}
.cart-row .info h5{font-family:var(--font-display);font-size:14.5px;font-weight:600;}
.cart-row .info .unit{font-size:12px;color:var(--gray);margin-top:2px;}
.cart-row .line-total{font-family:var(--font-display);font-weight:700;color:var(--green-dark);font-size:14.5px;width:64px;text-align:right;}
.cart-row .remove{color:var(--gray);font-size:18px;padding:0 4px;}
.cart-empty{padding:60px 20px;text-align:center;}
.cart-empty h3{font-family:var(--font-display);font-size:19px;color:var(--green-dark);margin-bottom:8px;}
.cart-empty p{font-size:13.5px;color:var(--gray);margin-bottom:20px;}
.summary-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;position:sticky;top:96px;}
.summary-card h4{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--green-dark);margin-bottom:14px;}
.summary-card .line{display:flex;justify-content:space-between;font-size:13.5px;color:var(--charcoal);padding:8px 0;}
.summary-card .line.total{border-top:1px solid var(--line);margin-top:6px;padding-top:14px;font-weight:700;font-size:16px;color:var(--green-dark);}
.summary-card .promo{display:flex;gap:8px;margin:14px 0;}
.summary-card .promo input{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px;}
.summary-card .promo button{background:var(--cream-2);color:var(--green-dark);font-weight:700;font-size:12.5px;padding:0 14px;border-radius:8px;}
@media(max-width:920px){ .cart-layout{grid-template-columns:1fr;} .summary-card{position:static;} }

/* ---------- Checkout steps ---------- */
.checkout-steps{display:flex;justify-content:center;gap:0;margin:26px 0 34px;flex-wrap:wrap;}
.checkout-steps .cs{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--gray);padding:0 14px;}
.checkout-steps .cs .num{width:24px;height:24px;border-radius:50%;background:var(--cream-2);display:flex;align-items:center;justify-content:center;font-size:12px;}
.checkout-steps .cs.active{color:var(--green-dark);}
.checkout-steps .cs.active .num{background:var(--green);color:#fff;}
.checkout-steps .cs.done .num{background:var(--green);color:#fff;}

.slot-row{display:flex;gap:12px;flex-wrap:wrap;}
.slot-pill{border:1.5px solid var(--line);border-radius:10px;padding:12px 18px;font-family:var(--font-display);font-weight:600;font-size:13.5px;background:#fff;}
.slot-pill.selected{border-color:var(--green);background:#eaf3ec;color:var(--green-dark);}
.slot-pill.disabled{opacity:.4;pointer-events:none;}

.pay-row{display:flex;gap:12px;flex-wrap:wrap;}
.pay-pill{border:1.5px solid var(--line);border-radius:10px;padding:14px 20px;font-family:var(--font-display);font-weight:600;font-size:13.5px;background:#fff;display:flex;align-items:center;gap:10px;}
.pay-pill.selected{border-color:var(--green);background:#eaf3ec;}
.pay-note{background:#fdece0;border-radius:12px;padding:14px 16px;font-size:12.5px;color:var(--charcoal);margin-top:16px;line-height:1.5;}

/* ---------- Order confirmation ---------- */
.confirm-wrap{max-width:520px;margin:40px auto;text-align:center;}
.confirm-tick{width:80px;height:80px;border-radius:50%;background:#eaf3ec;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:38px;}
.confirm-wrap h1{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--green-dark);}
.confirm-wrap .oid{font-family:var(--font-display);font-size:15px;color:var(--saffron);font-weight:700;margin-top:8px;}
.confirm-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;text-align:left;margin-top:24px;}
.confirm-card .row{display:flex;justify-content:space-between;font-size:13.5px;padding:9px 0;border-bottom:1px dashed var(--line);}
.confirm-card .row:last-child{border-bottom:none;}
.track-progress{display:flex;justify-content:space-between;margin:30px 0;position:relative;}
.track-progress:before{content:"";position:absolute;top:14px;left:6%;right:6%;height:2px;background:var(--line);}
.track-progress .tp{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1;flex:1;}
.track-progress .tp .dot{width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;}
.track-progress .tp.done .dot{background:var(--green);border-color:var(--green);color:#fff;}
.track-progress .tp span{font-size:10.5px;color:var(--gray);font-weight:600;text-align:center;}
.track-progress .tp.done span{color:var(--green-dark);}
.confirm-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;justify-content:center;}

/* ---------- WhatsApp floating button ---------- */
.wa-float{position:fixed;bottom:82px;right:20px;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.22);z-index:70;}
.wa-float svg{width:28px;height:28px;}
@media(min-width:641px){ .wa-float{bottom:26px;} }

/* ---------- Toast (add to cart confirmation) ---------- */
.mini-toast{position:fixed;top:90px;left:50%;transform:translate(-50%,-16px);background:var(--green-dark);color:#fff;padding:10px 18px;border-radius:24px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:all .2s ease;z-index:90;}
.mini-toast.show{opacity:1;transform:translate(-50%,0);}

/* ============================================================
   PHASE 4 additions
   ============================================================ */

/* ---------- Favourites heart toggle (on food-card photo) ---------- */
.fav-heart{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:var(--gray);box-shadow:0 2px 6px rgba(0,0,0,.12);transition:transform .12s ease, color .12s ease;}
.fav-heart:hover{transform:scale(1.08);}
.fav-heart.active{color:#e0453a;}

/* ---------- My Orders / Reorder ---------- */
.order-history-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:14px;}
.order-history-card .oh-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
.order-history-card .oh-code{font-family:var(--font-display);font-weight:700;color:var(--green-dark);font-size:15.5px;}
.order-history-card .oh-date{font-size:12px;color:var(--gray);margin-top:2px;}
.order-history-card .oh-items{font-size:13px;color:var(--charcoal);margin:8px 0;line-height:1.6;}
.order-history-card .oh-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);}
.order-history-card .oh-total{font-family:var(--font-display);font-weight:700;color:var(--green-dark);}
.reorder-btn{background:var(--saffron);color:#fff;font-family:var(--font-display);font-weight:700;padding:9px 18px;border-radius:8px;font-size:13px;}

/* ---------- Favourites page grid (reuses .food-card look) ---------- */
.fav-empty{text-align:center;padding:60px 20px;color:var(--gray);}
.fav-empty .big{font-size:44px;margin-bottom:10px;}

/* ---------- Razorpay online-payment note on checkout ---------- */
.pay-note.online{background:#eaf3ec;color:var(--green-dark);border-color:var(--green);}

/* ============================================================
   PHASE 5 additions — Customer accounts / OTP login
   ============================================================ */

/* ---------- Header "Login" / "My Account" button (auth.js) ---------- */
.account-box{cursor:pointer;}
.account-box .call-icon{background:var(--green-dark);color:#fff;font-weight:700;font-size:13px;}

/* ---------- Login modal (auth.js) ---------- */
.dt-modal-overlay{position:fixed;inset:0;background:rgba(18,59,36,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;}
.dt-modal{background:#fff;border-radius:18px;padding:30px;max-width:400px;width:100%;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.dt-modal h3{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--green-dark);margin-bottom:4px;}
.dt-modal-sub{font-size:13px;color:var(--gray);margin-bottom:18px;line-height:1.5;}
.dt-modal-close{position:absolute;top:14px;right:16px;font-size:22px;line-height:1;color:var(--gray);background:none;width:28px;height:28px;}
.dt-modal-close:hover{color:var(--charcoal);}
.dt-modal-link{width:100%;text-align:center;margin-top:12px;font-size:13px;font-weight:700;color:var(--saffron);background:none;padding:6px;}
.dt-modal-error{margin-top:14px;background:#fdecea;color:#a3251b;border-radius:8px;padding:10px 14px;font-size:13px;}

/* ---------- Account page (account.html) ---------- */
.account-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;margin-bottom:20px;}
.account-card h3{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--green-dark);margin-bottom:14px;}
.account-avatar{width:64px;height:64px;border-radius:50%;background:var(--green-dark);color:#fff;font-family:var(--font-display);font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.account-phone{color:var(--gray);font-size:13.5px;margin-top:2px;}
.account-save-note{font-size:12.5px;color:var(--gray);margin-top:8px;display:none;}
.account-save-note.show{display:block;color:var(--green-dark);font-weight:600;}
.logout-btn{background:transparent;border:1px solid var(--line);color:var(--gray);font-family:var(--font-display);font-weight:700;font-size:13.5px;padding:10px 18px;border-radius:9px;}
.logout-btn:hover{border-color:#a3251b;color:#a3251b;}

/* ============================================================
   PHASE 8 additions — Live rider location (track.html)
   ============================================================ */
.rider-map-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:16px;}
.rider-map-label{font-family:var(--font-display);font-weight:700;font-size:14.5px;color:var(--green-dark);margin-bottom:10px;}
.rider-map-note{color:var(--gray);font-size:13px;text-align:center;padding:14px 0;}
#rider-map{width:100%;height:240px;border-radius:12px;overflow:hidden;}
.rider-marker-icon{font-size:24px;line-height:30px;text-align:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));}
