/* ==========================================================
   LyaiDeu — vibrant orange & white brand theme
   Display font: Lilita One  ·  Body font: Nunito
   ========================================================== */

:root{
  --orange-950:#401703;
  --orange-900:#5a2004;
  --orange-800:#742a05;
  --orange-700:#a03c07;
  --orange-600:#e76608;
  --orange-500:#ef7c22;
  --orange-400:#f5974e;
  --orange-300:#f8b98b;
  --orange-200:#fbd9bb;
  --orange-100:#fde9d6;
  --orange-50:#fdf5ec;
  --white:#ffffff;
  --ink:#3b2413;
  --muted:#7d634b;
  --amber:#f5a623;
  --shadow-sm:0 2px 10px rgba(90,40,10,.08);
  --shadow-md:0 12px 32px rgba(90,40,10,.16);
  --font-display:'Lilita One',cursive;
  --font-body:'Nunito',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.lyai-restoring body{visibility:hidden;}
html{overflow-x:clip;}
body{overflow-x:clip;}
img{max-width:100%;}
body{font-family:var(--font-body);color:var(--ink);background:var(--orange-50);line-height:1.55;}
ul{list-style:none;}
section{scroll-margin-top:96px;}
::selection{background:var(--orange-300);color:var(--orange-950);}
:focus-visible{outline:3px solid rgba(231,102,8,.55);outline-offset:2px;border-radius:6px;}

.display{font-family:var(--font-display);font-weight:400;letter-spacing:.4px;color:var(--orange-950);}
.container{max-width:1200px;margin:0 auto;}

/* ---------------- FLOATING FOOD ---------------- */
.float-emoji{position:absolute;opacity:.85;pointer-events:none;z-index:0;
             animation:bob 6s ease-in-out infinite;
             filter:drop-shadow(0 10px 8px rgba(80,35,5,.25));}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-5deg);}50%{transform:translateY(-16px) rotate(6deg);}}

/* ---------------- NAVBAR ---------------- */
.topbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
        border-bottom:2px solid var(--orange-100);transition:box-shadow .3s;}
.topbar.scrolled{box-shadow:var(--shadow-sm);}
.topbar.scrolled .nav{padding-top:.55rem;padding-bottom:.55rem;}
.topbar.scrolled .nav-search{box-shadow:0 6px 16px rgba(80,35,5,.12);}
.nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
     gap:1rem;padding:.8rem 1.25rem;transition:padding .3s;}
.nav-search{display:flex;align-items:center;gap:.55rem;background:#fff;border:2px solid var(--orange-200);
            border-radius:999px;padding:.26rem .4rem .26rem .95rem;max-width:300px;flex:1 1 260px;min-width:0;
            box-shadow:var(--shadow-sm);transition:.25s;}
.nav-search:focus-within{border-color:var(--orange-500);box-shadow:0 0 0 4px rgba(231,102,8,.14);}
.nav-search .search-ico{color:var(--orange-500);font-size:.9rem;display:inline-flex;}
.nav-search .search-logo-link{display:inline-flex;align-items:center;flex:none;line-height:0;border-radius:0;text-decoration:none;}
.nav-search .search-logo{height:24px;width:auto;max-width:72px;object-fit:contain;display:block;flex:none;border-radius:0;}
.nav-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;
                  font-weight:700;font-size:.9rem;padding:.4rem .1rem;color:var(--ink);}
.nav-search input::placeholder{color:var(--muted);opacity:.85;}
.brand{font-family:var(--font-display);font-size:1.5rem;color:var(--orange-950);
       text-decoration:none;display:flex;align-items:center;gap:.4rem;letter-spacing:.5px;}
.brand span{color:var(--orange-600);}
.brand-logo{display:block;height:42px;width:auto;}
.brand:hover .brand-logo{transform:none;}
.brand-logo{transition:none;}
.footer-brand .brand-logo{height:46px;}
.brand-mark .brand-logo{height:38px;}
.admin-header .brand-logo{height:40px;}

.nav-links{display:flex;align-items:center;gap:.35rem;}
.nav-links a.nav-a{padding:.55rem .95rem;border-radius:999px;font-weight:800;font-size:.95rem;
                   color:var(--ink);text-decoration:none;transition:.2s;}
.nav-links a.nav-a:hover{background:var(--orange-100);color:var(--orange-700);}
.nav-links a.nav-a.active{background:var(--orange-600);color:#fff;}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:.5rem;}
.nav-toggle span{width:24px;height:3px;background:var(--orange-900);border-radius:3px;transition:.3s;}
.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ---------------- HERO ---------------- */
.hero{position:relative;overflow:hidden;padding:3.6rem 1.25rem 3rem;
      background:linear-gradient(180deg,var(--orange-100) 0%,var(--orange-50) 100%);}
.hero-slider{padding:0;background:var(--orange-100);}
.hero-slider-viewport{position:relative;width:100%;height:420px;overflow:hidden;}
.hero-slides{position:relative;width:100%;height:100%;display:flex;transition:transform .7s ease;}
.hero-slide{position:relative;flex:0 0 100%;width:100%;height:100%;background:var(--orange-100);}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-slider-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:.5rem;z-index:2;}
.hero-slider-dots button{width:10px;height:10px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s;}
.hero-slider-dots button.active{width:26px;background:#fff;}

/* Split hero: text + contained image card */
.hero-split{padding:3rem 1.25rem 3.6rem;}
.hero-split-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;}
.hero-split-text .kicker{margin-bottom:1rem;}
.hero-split-text h1{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.08;margin-bottom:1.1rem;}
.hero-split-text h1 em{font-style:normal;color:var(--orange-600);}
.hero-tagline{font-weight:700;color:var(--muted);max-width:46ch;margin-bottom:1.5rem;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.7rem;}
.hero-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;}
.hero-badges span{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:2px solid var(--orange-100);border-radius:999px;padding:.42rem .85rem;font-size:.78rem;font-weight:800;color:var(--orange-900);box-shadow:var(--shadow-sm);}
.hero-badges i{color:var(--orange-600);}
.hero-split-slider{position:relative;min-width:0;}
.hero-split .hero-slider-viewport{aspect-ratio:4/3;height:auto;max-width:560px;width:100%;margin:0 auto;border-radius:24px;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.hero-split .hero-slider-viewport:active{cursor:grabbing;}
.hero-split .hero-slide{--bg:none;overflow:hidden;}
.hero-split .hero-slide img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;-webkit-user-drag:none;pointer-events:none;}
.hero-split .hero-slider-dots{display:none;}
.hero-split .hero-slider-dots button{background:rgba(255,255,255,.7);}
.hero-split .hero-slider-dots button.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);}
@media (max-width:900px){
  .hero-split{padding:2.6rem 1.25rem 3rem;}
  .hero-split-inner{grid-template-columns:1fr;gap:2rem;text-align:center;}
  .hero-split-text{display:none;}
  .hero-split-slider{order:1;}
  .hero-tagline{margin-left:auto;margin-right:auto;}
  .hero-ctas{justify-content:center;}
  .hero-badges{justify-content:center;}
  .hero-split .hero-slider-viewport{max-width:560px;}
}
.hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;}
.kicker{display:inline-block;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;
        color:var(--orange-700);background:#fff;border:2px solid var(--orange-200);
        padding:.4rem .95rem;border-radius:999px;margin-bottom:1.1rem;box-shadow:var(--shadow-sm);}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.06;margin-bottom:1.5rem;}
.hero h1 em{font-style:normal;color:var(--orange-600);}

.search-bar{display:flex;align-items:center;gap:.6rem;max-width:520px;background:#fff;
            border:2px solid var(--orange-200);border-radius:999px;padding:.35rem .5rem .35rem 1.2rem;
            box-shadow:var(--shadow-sm);transition:.25s;}
.search-bar:focus-within{border-color:var(--orange-500);box-shadow:0 0 0 5px rgba(231,102,8,.14);}
.search-bar input{flex:1;border:0;outline:none;background:transparent;font:inherit;font-weight:700;padding:.6rem .3rem;}

/* --------- BROWSE CARDS (home) --------- */
.browse-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem;}
.browse-card{display:flex;flex-direction:column;gap:.55rem;background:#fff;border:2px solid var(--orange-100);
             border-radius:16px;padding:1.7rem 1.5rem;text-decoration:none;color:inherit;
             box-shadow:var(--shadow-sm);transition:.25s;}
.browse-card:hover{transform:translateY(-5px);border-color:var(--orange-300);box-shadow:var(--shadow-md);}
.browse-ico{font-size:2rem;color:var(--orange-600);}
.browse-card h3{font-family:var(--font-display);font-weight:400;font-size:1.25rem;color:var(--orange-950);}
.browse-card p{font-size:.9rem;font-weight:600;color:var(--muted);}
.browse-link{margin-top:auto;font-weight:900;color:var(--orange-700);display:inline-flex;align-items:center;gap:.4rem;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;}
.browse-card:hover .browse-link{color:var(--orange-500);}

/* --------- MENU PAGE TOOLBAR --------- */
.menu-tools{display:flex;gap:.7rem;align-items:center;}
.menu-search{max-width:none;min-width:280px;}

/* ---------------- SECTIONS ---------------- */
.section{padding:3.4rem 1.25rem;}
.section-white{background:#fff;}
.section-contact{background:linear-gradient(180deg,var(--orange-50),var(--orange-100));}
.section-head{margin-bottom:1.8rem;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);}
.section-sub{color:var(--muted);font-weight:700;margin-top:.3rem;}

/* ---------------- FILTER CHIPS ---------------- */
.chip-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem;}
.chip{padding:.5rem 1.15rem;border-radius:999px;border:2px solid var(--orange-200);background:#fff;
      font:inherit;font-weight:800;font-size:.88rem;color:var(--orange-900);cursor:pointer;transition:.2s;}
.chip:hover{transform:translateY(-2px);border-color:var(--orange-400);}
.chip.active{background:var(--orange-600);border-color:var(--orange-600);color:#fff;box-shadow:0 4px 0 var(--orange-700);}

/* ---------------- DISH CARDS (with photos) ---------------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:1.4rem;}
.dish-grid{grid-template-columns:repeat(6,1fr);gap:.85rem;}

/* Featured "Random Picks" grids cap at 12 visible cards like the other
   sections, while the full stable item set stays in the DOM so
   featured-order.js can restore the exact order on Back/Forward. */
#featuredBeverages .dish-card:nth-child(n+13){display:none;}

.dish-card{position:relative;background:#fff;border:1px solid var(--orange-100);border-radius:10px;overflow:hidden;
           display:flex;flex-direction:column;box-shadow:var(--shadow-sm);cursor:pointer;
           transition:transform .3s ease,box-shadow .3s ease,border-color .3s;}
.dish-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--orange-300);}

.dish-art{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--orange-100);}
.dish-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.dish-card:hover .dish-art img{transform:scale(1.08);}
.dish-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(64,24,4,.18));}
.dish-tag{position:absolute;top:6px;left:6px;z-index:1;background:var(--orange-900);color:#fff;
          font-size:.58rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
          padding:.22rem .5rem;border-radius:999px;}

.dish-body{display:flex;flex-direction:column;flex:1;padding:.6rem .7rem .7rem;}
.dish-top{display:flex;justify-content:space-between;align-items:start;gap:.4rem;}
.dish-top h3{font-size:.9rem;font-weight:900;line-height:1.25;}

.dish-hotel{font-size:.78rem;font-weight:800;color:var(--orange-700);margin-top:.1rem;}
.dish-desc{font-size:.8rem;color:var(--muted);font-weight:600;margin-top:.35rem;}
.dish-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.4rem;
           padding-top:.6rem;border-top:2px dashed var(--orange-200);}
.price{font-family:var(--font-display);font-size:1.05rem;color:var(--orange-700);white-space:nowrap;line-height:1;}
.price small{font-size:.62rem;margin-right:.12rem;}
.btn-order{background:var(--orange-600);color:#fff;font-weight:800;font-size:.72rem;text-decoration:none;
           padding:.42rem .6rem;border-radius:999px;white-space:nowrap;transition:.2s;box-shadow:0 3px 0 var(--orange-700);}
.btn-order:hover{background:var(--orange-500);transform:translateY(-2px);box-shadow:0 5px 0 var(--orange-700);}

.empty-state{display:none;text-align:center;padding:3rem 1rem;color:var(--muted);font-weight:700;}
.empty-state .big{font-size:3.6rem;display:block;margin-bottom:.6rem;}

/* ---------------- HOTELS ---------------- */
.hotels-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.hotel-card{display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;background:#fff;border:2px solid var(--orange-100);
            border-radius:10px;padding:1.5rem 1.1rem 1.3rem;transition:.25s;box-shadow:var(--shadow-sm);}
.hotel-card:hover{transform:translateY(-4px);border-color:var(--orange-300);box-shadow:var(--shadow-md);}
.hotel-avatar{width:72px;height:72px;flex-shrink:0;border-radius:14px;background:var(--orange-100);
              display:grid;place-items:center;font-size:2.1rem;overflow:hidden;}
.hotel-avatar .hotel-logo{width:100%;height:100%;object-fit:contain;display:block;background:#fff;padding:6px;border-radius:14px;}
.hotel-info{min-width:0;}
.hotel-kind-badge{display:inline-block;font-size:.62rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--orange-700);background:var(--orange-100);border:1px solid var(--orange-200);border-radius:999px;padding:.2rem .6rem;margin-bottom:.35rem;}
.hotel-info h3{font-size:1.02rem;font-weight:900;line-height:1.25;}
.hotel-info p{font-size:.78rem;font-weight:700;color:var(--muted);}
.hotel-call{flex-shrink:0;font-size:.76rem;font-weight:900;color:var(--orange-700);text-decoration:none;
            border:2px solid var(--orange-300);padding:.45rem .85rem;border-radius:8px;transition:.2s;}
.hotel-call:hover{background:var(--orange-600);border-color:var(--orange-600);color:#fff;}
.hotel-vendor{font-size:.76rem;font-weight:800;color:var(--orange-700);margin-top:.15rem;}
.hotel-login{display:inline-block;margin-top:.35rem;font-size:.72rem;font-weight:900;color:var(--orange-700);
            border:2px solid var(--orange-300);padding:.35rem .7rem;border-radius:8px;text-decoration:none;transition:.2s;}
.hotel-login:hover{background:var(--orange-600);border-color:var(--orange-600);color:#fff;}
.hotel-card{cursor:pointer;}
.hotel-call-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.1rem;}
.hotel-call-row .hotel-call{display:inline-block;}

/* ---------------- STORE PAGE ---------------- */
.store-hero{display:flex;gap:1.6rem;align-items:center;background:#fff;border:2px solid var(--orange-100);
            border-radius:18px;padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:2rem;}
.store-hero-avatar{width:120px;height:120px;flex-shrink:0;border-radius:22px;background:var(--orange-100);
                   display:grid;place-items:center;font-size:3.4rem;overflow:hidden;}
.store-hero-avatar .hotel-logo{width:100%;height:100%;object-fit:contain;display:block;background:#fff;padding:10px;border-radius:22px;}
.store-hero-info{min-width:0;flex:1;}
.store-hero-info h1{margin:.2rem 0 .15rem;overflow-wrap:anywhere;}
.store-hero-type{font-size:.95rem;font-weight:800;color:var(--muted);margin:.15rem 0;}
.store-hero-desc{font-size:.9rem;color:#6b4a2b;font-weight:600;line-height:1.55;margin:.6rem 0 0;overflow-wrap:anywhere;}
.store-hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;}
.store-hero-actions .btn{margin:0;}
.store-products-title{font-family:var(--font-display);font-size:1.5rem;color:var(--orange-900);
                      margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;}
.store-grid .dish-card{cursor:pointer;}
@media(max-width:640px){
  .store-hero{flex-direction:column;text-align:center;padding:1.5rem 1rem;}
  .store-hero-avatar{width:88px;height:88px;font-size:2.4rem;}
  .store-hero-actions{justify-content:center;}
}

/* ---------------- CONTACT ---------------- */
.contact-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.contact-card{background:#fff;border:1px solid var(--orange-200);border-radius:18px;padding:1.8rem 1.5rem;
              text-align:center;box-shadow:var(--shadow-sm);transition:.25s;}
.contact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.contact-ico{font-size:2.4rem;display:block;margin-bottom:.6rem;}
.contact-card h3{font-family:var(--font-display);font-weight:400;font-size:1.2rem;color:var(--orange-950);}
.contact-person{font-size:.85rem;font-weight:700;color:var(--muted);margin:.15rem 0 .6rem;}
.contact-num{display:inline-block;font-family:var(--font-display);font-size:1.5rem;color:var(--orange-700);
             text-decoration:none;letter-spacing:.5px;transition:.2s;}
.contact-num:hover{color:var(--orange-500);transform:scale(1.05);}
.contact-card small{display:block;margin-top:.55rem;font-size:.78rem;font-weight:700;color:var(--muted);}

/* --------- CONTACT MESSAGE FORM --------- */
.contact-split{display:grid;grid-template-columns:1.15fr 1fr;gap:2.5rem;align-items:start;}
.contact-split-left .contact-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;}
.contact-split-left .contact-card{padding:1.15rem 1rem;border-radius:14px;text-align:center;box-shadow:none;}
.contact-split-left .contact-ico{font-size:1.5rem;margin-bottom:.4rem;}
.contact-split-left .contact-card h3{font-size:.95rem;}
.contact-split-left .contact-person{font-size:.78rem;margin:.1rem 0 .4rem;}
.contact-split-left .contact-num{font-size:1.05rem;letter-spacing:.3px;}
.contact-split-left .contact-card small{font-size:.72rem;margin-top:.4rem;}
.contact-map{margin-top:1.5rem;border:2px solid var(--orange-200);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-md);background:#fff}
.contact-map iframe{display:block;width:100%;height:280px;border:0}
.contact-split-right{background:#fff;border:2px solid var(--orange-200);border-radius:18px;padding:1.8rem 1.9rem;box-shadow:var(--shadow-md);position:sticky;top:90px;}
.contact-split-right .section-head{margin-bottom:1.2rem;}
.contact-split-right .kicker{margin-bottom:.8rem;}
.contact-split-right .display{font-size:clamp(1.4rem,2.4vw,1.8rem);}
.contact-form label{display:block;font-weight:800;font-size:.85rem;margin:0 0 .35rem;}
.contact-form input,.contact-form textarea{width:100%;border:2px solid var(--orange-200);border-radius:10px;padding:.72rem 1rem;font:inherit;font-weight:600;margin-bottom:1rem;box-sizing:border-box;transition:.2s;background:#fff;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 5px rgba(231,102,8,.12);}
.contact-form textarea{resize:vertical;}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.contact-form-row input{margin-bottom:1rem;}
.contact-submit{font-size:1.05rem;padding:.9rem 1.6rem;width:100%;box-shadow:0 5px 0 var(--orange-700);}
.contact-form .contact-submit{width:100%;}
@media (max-width:960px){.contact-split{grid-template-columns:1fr;gap:2rem}.contact-split-right{position:static;order:2}.contact-split-left{order:1}}
@media (max-width:600px){.contact-split-right{padding:1.5rem 1.2rem}.contact-form-row{grid-template-columns:1fr;gap:0}}
@media (max-width:600px){
  .contact-split-left .contact-grid{grid-template-columns:repeat(3,1fr);gap:.45rem}
  .contact-split-left .contact-card{padding:.75rem .35rem;border-radius:12px}
  .contact-split-left .contact-ico{font-size:1.1rem;margin-bottom:.25rem}
  .contact-split-left .contact-card h3{font-size:.72rem}
  .contact-split-left .contact-person{font-size:.6rem;margin:.05rem 0 .25rem}
  .contact-split-left .contact-num{font-size:.78rem;letter-spacing:0;overflow-wrap:anywhere}
  .contact-split-left .contact-card small{font-size:.58rem;margin-top:.25rem;display:block}
}

/* ---------------- FAQ / PRIVACY ---------------- */
.faq-list{display:grid;gap:.8rem;max-width:820px;margin:0 auto;}
.faq-item{background:#fff;border:2px solid var(--orange-100);border-radius:14px;box-shadow:var(--shadow-sm);
          transition:.25s;overflow:hidden;}
.faq-item:hover{border-color:var(--orange-300);}
.faq-item[open]{border-color:var(--orange-300);box-shadow:var(--shadow-md);}
.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;
                  gap:1rem;padding:1.1rem 1.3rem;font-weight:900;font-size:.98rem;color:var(--orange-950);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'\f078';font-family:'Font Awesome 6 Free';font-weight:900;color:var(--orange-600);
                         font-size:.85rem;transition:.25s;flex-shrink:0;}
.faq-item[open] summary::after{transform:rotate(180deg);color:var(--orange-500);}
.faq-item p{padding:0 1.3rem 1.25rem;margin:0;color:var(--muted);font-weight:600;font-size:.92rem;line-height:1.6;}
.policy-body{max-width:820px;margin:0 auto;background:#fff;border:2px solid var(--orange-100);border-radius:16px;
             padding:2rem 2.2rem;box-shadow:var(--shadow-sm);}
.policy-body h3{font-family:var(--font-display);font-weight:400;font-size:1.15rem;color:var(--orange-950);
                margin:1.4rem 0 .5rem;}
.policy-body h3:first-child{margin-top:0;}
.policy-body p{color:var(--muted);font-weight:600;font-size:.93rem;line-height:1.7;margin:0;}
.faq-help-card{max-width:620px;margin:0 auto;text-align:center;background:#fff;border:2px solid var(--orange-200);
               border-radius:20px;padding:2.6rem 2rem;box-shadow:var(--shadow-md);}
.faq-help-ico{font-size:2.6rem;color:var(--orange-600);display:block;margin-bottom:.8rem;}
.faq-help-card h2{font-size:clamp(1.6rem,3vw,2.2rem);}
.faq-help-actions{display:flex;gap:.7rem;justify-content:center;margin-top:1.3rem;flex-wrap:wrap;}

/* ---------------- FOOTER ---------------- */
.footer{background:var(--orange-950);color:#f4d9bf;padding:3.4rem 1.25rem 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr;gap:2.2rem;
             max-width:1200px;margin:0 auto;padding-bottom:2.6rem;}
.footer-brand{font-family:var(--font-display);font-size:1.5rem;color:#fff;letter-spacing:.5px;margin-bottom:.8rem;}
.footer-brand span{color:var(--orange-400);}
.footer-blurb{font-size:.9rem;font-weight:600;max-width:36ch;}
.footer h4{font-family:var(--font-display);font-weight:400;color:#fff;font-size:1.05rem;
           letter-spacing:.06em;margin-bottom:.9rem;}
.footer ul li{margin-bottom:.5rem;font-size:.9rem;font-weight:600;}
.footer a{color:#f4d9bf;text-decoration:none;font-weight:700;transition:.2s;}
.footer a:hover{color:#fff;text-decoration:underline;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:1.1rem 0;text-align:center;
               font-size:.83rem;font-weight:700;color:#d9a87e;}

/* ---------------- TOAST ---------------- */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;
       background:var(--orange-900);color:#fff;font-weight:800;font-size:.9rem;padding:.85rem 1.5rem;
       border-radius:999px;box-shadow:var(--shadow-md);z-index:99;transition:.3s;pointer-events:none;max-width:90vw;
       display:inline-flex;align-items:center;justify-content:center;gap:.45rem;max-width:min(92vw,560px);width:fit-content;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal;text-align:center;line-height:1.4;flex-wrap:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ---------------- SCROLL REVEAL ---------------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 960px){
  .nav-toggle{display:flex;}
  .nav-links{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;
             align-items:stretch;gap:.2rem;padding:1rem 1.25rem 1.4rem;display:none;
             border-bottom:2px solid var(--orange-100);box-shadow:var(--shadow-md);}
  .nav-links.open{display:flex;}
  .nav-links a.nav-a{display:block;text-align:center;}
  .nav-search{max-width:380px;}
  .hero{padding-top:2.6rem;}
  .float-emoji{font-size:2rem !important;opacity:.5;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 1100px){
  .dish-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width: 900px){
  .dish-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width: 560px){
  .footer-grid{grid-template-columns:1fr;}
  .dish-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;}
  .dish-body{padding:.5rem .55rem .6rem;}
  .dish-top h3{font-size:.82rem;}
  .price{font-size:.95rem;}
  .btn-order{font-size:.68rem;padding:.38rem .5rem;}
  .dish-tag{top:4px;left:4px;font-size:.52rem;padding:.18rem .42rem;}
  .hotels-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;}
  .hotel-card{padding:.95rem .55rem .85rem;gap:.5rem;}
  .hotel-avatar{width:54px;height:54px;font-size:1.5rem;border-radius:12px;}
  .hotel-card h3{font-size:.82rem;}
  .hotel-card p{font-size:.66rem;overflow-wrap:anywhere;}
  .hotel-call{font-size:.64rem;padding:.38rem .55rem;max-width:100%;}
  .nav{flex-wrap:wrap;row-gap:.55rem;}
  .nav-search{order:3;flex:1 1 100%;max-width:none;padding:.3rem .45rem .3rem 1rem;}
}

/* ---------------- SMALL MOBILE POLISH ---------------- */
@media (max-width: 480px){
  .section{padding:2.2rem 1rem;}
  .nav{padding:.65rem .85rem;}
  .brand{font-size:1.1rem;gap:.3rem;}
  .brand-logo{height:30px;}
  .chip{padding:.4rem .85rem;font-size:.78rem;}
  .chip-row{gap:.4rem;margin-bottom:1.5rem;}
  .menu-toolbar{gap:.8rem;}
  .section-head h1.display,.section-head h2.display{font-size:1.5rem;}
  .kicker{font-size:.7rem;padding:.3rem .7rem;}
  .hero{padding:2.2rem .95rem 2rem;}
  .hero h1{font-size:clamp(1.6rem,7vw,2.2rem);}
  .hero-actions .btn{flex:1;min-width:0;}
  .hero-slider{padding:0;}
  .hero-slider-viewport{height:220px;}
  .hero-slider-dots button{width:8px;height:8px;}
  .hero-slider-dots button.active{width:20px;}
  .profile-menu{width:min(250px,calc(100vw - 2rem));}
  .search-bar{padding:.3rem .4rem .3rem .9rem;}
  .footer{padding:2.5rem .95rem 0;}
  .footer-grid{gap:1.4rem;}
  .dish-top h3,.price,.footer a,.faq-item summary{overflow-wrap:anywhere;}
  .cart-drawer{width:100vw;}
  .checkout-card,.success-card,.order-card{padding:1.1rem;}
  .contact-split-right{padding:1.3rem 1.1rem;}
  .faq-help-card{padding:2rem 1.2rem;}
  .policy-body{padding:1.4rem 1.2rem;}
  .toast{max-width:calc(100vw - 20px);}
  .admin-login-box{width:min(350px,calc(100vw - 2rem));}
}

/* accessibility: calm motion for those who ask */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .reveal{opacity:1;transform:none;}

}
/* ==========================================================
   ADMIN PANEL STYLES
   ========================================================== */
.admin-body { background: #faf3eb; padding-bottom: 50px; }
.admin-login-box { background: #fff; padding: 2.5rem; border-radius: 16px; box-shadow: var(--shadow-md); width: 350px; text-align: center; border: 2px solid var(--orange-100); }
.admin-header { background: var(--orange-900); color: #fff; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 100; box-shadow: var(--shadow-sm); }
.admin-container { max-width: 1200px; margin: 2rem auto; padding: 0 1.5rem; }
.admin-section { background: #fff; padding: 1.5rem; border-radius: 16px; box-shadow: var(--shadow-sm); margin-bottom: 2rem; border: 1px solid var(--orange-100); }
.admin-section h2 { font-family: var(--font-display); color: var(--orange-900); margin-bottom: 1.5rem; border-bottom: 2px solid var(--orange-100); padding-bottom: .5rem; }
.admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.5rem; }
.admin-grid-inline { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: .8rem; margin-top: .4rem; }
.admin-card { border: 1px solid var(--orange-200); border-radius: 12px; padding: 1.2rem; background: var(--orange-50); transition: .2s; }
.admin-card:hover { border-color: var(--orange-400); box-shadow: var(--shadow-sm); }
.admin-card h3 { font-size: 1.1rem; margin-bottom: 1rem; color: var(--orange-700); border-bottom: 1px dashed var(--orange-200); padding-bottom: .5rem; }
.admin-card label { display: block; font-size: .75rem; font-weight: 800; color: var(--muted); margin: .8rem 0 .3rem; text-transform: uppercase; letter-spacing: .05em; }
.admin-card input, .admin-card select, .admin-card textarea { width: 100%; padding: .6rem; border: 1px solid var(--orange-200); border-radius: 8px; font-family: inherit; font-size: .9rem; background: #fff; }
.admin-card input:focus, .admin-card select:focus, .admin-card textarea:focus { outline: none; border-color: var(--orange-500); box-shadow: 0 0 0 3px rgba(231,102,8,.15); }
.admin-card textarea { resize: vertical; min-height: 60px; }

/* Settings page — image previews */
.settings-preview { width: 130px; height: 130px; display: grid; place-items: center; background: #fff; border: 2px solid var(--orange-200); border-radius: 14px; margin: 0 0 .8rem; overflow: hidden; padding: 8px; }
.settings-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.settings-preview.preview-sm { width: 72px; height: 72px; border-radius: 16px; }

/* ==========================================================
   AUTH PAGE (Login / Signup) STYLES
   ========================================================== */
.auth-body { background: var(--orange-50); }
/* Login page: no Categories link in the desktop header; on mobile the
   search bar is the only visible part of the topbar, so remove it there. */
@media (min-width:961px){ .auth-body .auth-hide-desktop{display:none;} }
@media (max-width:960px){ .auth-body .topbar{display:none;} }
.auth-wrap { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: 1fr; overflow: hidden; }
.auth-brand { position: relative; overflow: hidden; color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 2.6rem 3.2rem 3rem; background: radial-gradient(120% 120% at 0% 0%, #f5974e 0%, #e76608 30%, #6d2503 100%); }
.auth-brand::before { content: ''; position: absolute; inset: 0; opacity: .5; background-image: radial-gradient(rgba(255,255,255,.16) 1.5px, transparent 1.6px); background-size: 24px 24px; }
.auth-brand > * { position: relative; z-index: 1; }
.brand-mark { display: inline-flex; align-items: center; gap: .5rem; width: max-content; font-family: var(--font-display); font-size: 1.1rem; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); padding: .4rem 1rem; border-radius: 999px; margin-bottom: 1.2rem; }
.auth-brand h1 { font-size: clamp(2rem, 3.4vw, 3.2rem); line-height: 1.05; color: #fff; margin-bottom: .9rem; }
.auth-brand h1 em { font-style: normal; color: var(--orange-200); }
.brand-sub { max-width: 42ch; color: #fbe4cd; font-size: .95rem; font-weight: 600; margin-bottom: 1.6rem; }
.brand-stats { display: flex; gap: 2.2rem; flex-wrap: wrap; }
.brand-stats strong { display: block; font-family: var(--font-display); font-size: 1.5rem; color: #fff; }
.brand-stats span { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; color: var(--orange-200); }

.auth-panel { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 1rem .9rem; overflow-y: auto; background: var(--orange-50); background-image: radial-gradient(var(--orange-200) 1px, transparent 1.5px); background-size: 26px 26px; }
.auth-card { width: min(430px, 100%); margin: auto 0; background: #fff; border: 1px solid var(--orange-100); border-radius: 16px; box-shadow: var(--shadow-md); padding: 1.15rem 1.5rem 1.05rem; }
.auth-foot { margin-top: .8rem; font-size: .78rem; color: var(--muted); font-weight: 700; }

.tabs { display: grid; grid-template-columns: 1fr 1fr; background: var(--orange-100); border-radius: 999px; padding: 3px; margin-bottom: .95rem; }
.tab { border: 0; background: transparent; padding: .5rem; font: inherit; font-weight: 800; font-size: .88rem; color: var(--orange-900); border-radius: 999px; cursor: pointer; transition: .25s; }
.tab.active { background: #fff; color: var(--orange-700); box-shadow: var(--shadow-sm); }

.auth-form { display: none; }
.auth-form.active { display: block; animation: fadeUp .35s ease; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.field { margin-bottom: .4rem; }
.field label { display: block; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; color: var(--orange-900); margin-bottom: .2rem; }
.control { display: flex; align-items: center; background: var(--orange-50); border: 2px solid var(--orange-100); border-radius: 10px; padding: 0 .65rem; transition: .2s; }
.control:focus-within { border-color: var(--orange-500); background: #fff; box-shadow: 0 0 0 4px rgba(231,102,8,.15); }
.control input { flex: 1; border: 0; background: transparent; padding: .52rem .35rem; font: inherit; font-weight: 600; color: var(--ink); outline: none; min-width: 0; }
.control input::placeholder { color: #c9a889; font-weight: 600; }
.control-ico { font-size: .92rem; opacity: .85; }
.prefix { font-weight: 900; color: var(--orange-700); border-right: 2px solid var(--orange-200); padding: .12rem .5rem .12rem 0; margin-right: .15rem; white-space: nowrap; font-size: .82rem; }
.peek { border: 0; background: transparent; cursor: pointer; font-size: .95rem; padding: .2rem; opacity: .75; transition: .2s; }
.peek:hover { opacity: 1; transform: scale(1.12); }

.field .field-msg { display: block; min-height: 0; font-size: .7rem; margin-top: .15rem; font-weight: 800; color: #c93a3a; }
.field .field-msg.field-hint { color: var(--muted); font-weight: 700; }
.field.invalid .control { border-color: #e05d5d; background: #fff5f5; }
.field.valid .field-msg:not(.field-hint) { color: var(--orange-700); }
.terms-field{margin:.6rem 0 .9rem}
.terms-field .terms-label{display:flex!important;align-items:center;gap:.55rem;cursor:pointer;margin-bottom:0!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important;font-size:.78rem!important;color:var(--ink)!important}
.terms-label input{position:absolute;opacity:0;width:0;height:0}
.terms-box{flex:none;width:20px;height:20px;border:2px solid var(--orange-300);border-radius:6px;background:#fff;display:grid;place-items:center;font-size:.68rem;color:transparent;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.terms-label input:checked + .terms-box{background:var(--orange-600);border-color:var(--orange-600);color:#fff;box-shadow:0 3px 8px rgba(231,102,8,.25)}
.terms-label input:focus-visible + .terms-box{box-shadow:var(--fe-focus)}
.terms-text a{color:var(--orange-700);font-weight:900;text-decoration:underline}
.terms-field.invalid .terms-box{border-color:#e05d5d;background:#fff5f5}

.pass-requirements { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .25rem; }
.pass-requirements .req { font-size: .62rem; font-weight: 800; background: #f0f0f0; color: #888; padding: .15rem .45rem; border-radius: 999px; transition: .2s; }
.pass-requirements .req.met { background: var(--orange-100); color: var(--orange-700); }

.auth-form .btn-block { margin-top: .35rem; font-size: .98rem; }
.switch-line { text-align: center; font-size: .8rem; font-weight: 700; color: var(--muted); margin-top: .6rem; }
.switch-line a { color: var(--orange-700); font-weight: 900; text-decoration: none; }
.switch-line a:hover { text-decoration: underline; }


.flash { padding: .65rem 1rem; border-radius: 11px; font-weight: 800; font-size: .85rem; margin-bottom: .9rem; }
.flash-error { background: #fdecec; color: #c93a3a; border: 1px solid #f5c6c6; }
.flash-success { background: var(--orange-100); color: var(--orange-900); border: 1px solid var(--orange-200); }
.flash-banner { max-width: 1200px; margin: 1rem auto 0; border-radius: 14px; box-shadow: var(--shadow-sm); padding: .8rem 1.1rem; font-weight: 800; font-size: .9rem; }

/* ---- Floating flash toasts (save/update/error feedback, whole site) ----
   Server-rendered banners float top-center under the header instead of
   pushing content down. Rider/vendor .delivery-toast keeps its own bottom
   system, Control Panel's self-managed .ctrl-flash stays inline, and
   notify.js toasts carry inline styles — all three are excluded below. */
#flashStack { position: fixed; top: calc(70px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%); z-index: 99997; display: flex; flex-direction: column; gap: .55rem; align-items: stretch; width: min(92vw, 560px); pointer-events: none; }
.flash-banner:not(.delivery-toast):not(.ctrl-flash):not(.notify-toast) {
  position: fixed; top: calc(70px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%);
  width: min(92vw, 560px); max-width: min(92vw, 560px); margin: 0; z-index: 99997;
  display: flex; align-items: flex-start; gap: .55rem;
  border-radius: 14px; box-shadow: 0 10px 30px rgba(45, 20, 5, .18);
  padding: .8rem 2.8rem .8rem 1.1rem;
  animation: flashFloatIn .32s cubic-bezier(.21, 1.02, .73, 1) both;
}
.flash-banner:not(.delivery-toast):not(.ctrl-flash):not(.notify-toast).flash-success { animation: flashFloatIn .32s cubic-bezier(.21, 1.02, .73, 1) both, flashFloatOut .45s ease 4s forwards; }
.flash-banner:not(.delivery-toast):not(.ctrl-flash):not(.notify-toast).flash-error { animation: flashFloatIn .32s cubic-bezier(.21, 1.02, .73, 1) both, flashFloatOut .45s ease 9s forwards; }
#flashStack .flash-banner:not(.delivery-toast):not(.ctrl-flash):not(.notify-toast) {
  position: relative; top: auto; left: auto; transform: none;
  width: 100%; max-width: none; pointer-events: auto;
  animation: flashDropIn .3s cubic-bezier(.21, 1.02, .73, 1) both;
}
#flashStack .flash-banner.flash-out { animation: flashDropOut .38s ease forwards; }
.flash-close { position: absolute; top: 50%; right: .55rem; transform: translateY(-50%); width: 26px; height: 26px; flex: 0 0 auto; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .08); color: inherit; font-size: .95rem; line-height: 1; display: grid; place-items: center; cursor: pointer; transition: background .15s; }
.flash-close:hover { background: rgba(0, 0, 0, .16); }
@keyframes flashFloatIn { from { opacity: 0; transform: translate(-50%, -16px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes flashDropIn { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
@keyframes flashFloatOut { to { opacity: 0; visibility: hidden; } }
@keyframes flashDropOut { to { opacity: 0; transform: translateY(-10px); visibility: hidden; } }
@media (max-width: 640px) {
  #flashStack { gap: .45rem; }
  .flash-banner:not(.delivery-toast):not(.ctrl-flash):not(.notify-toast) { font-size: .84rem; padding: .7rem 2.6rem .7rem .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .flash-banner:not(.delivery-toast):not(.ctrl-flash):not(.notify-toast),
  #flashStack .flash-banner { animation-duration: .01ms !important; animation-delay: 0s !important; }
}

.profile-wrap { position: relative; margin-left: .4rem; }
.profile-chip { display: flex; align-items: center; gap: .55rem; border: 2px solid var(--orange-200); background: #fff; border-radius: 999px; padding: .32rem .85rem .32rem .38rem; cursor: pointer; font: inherit; font-weight: 800; color: var(--orange-900); transition: .2s; }
.profile-chip:hover { border-color: var(--orange-400); box-shadow: var(--shadow-sm); }
.avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--orange-600); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-size: .9rem; }
.caret { font-size: .7rem; color: var(--muted); }
.profile-menu { position: absolute; right: 0; top: calc(100% + 12px); width: 250px; background: #fff; border: 1px solid var(--orange-100); border-radius: 14px; box-shadow: var(--shadow-md); padding: 1.1rem; opacity: 0; transform: translateY(8px); pointer-events: none; transition: .25s; z-index: 70; }
.profile-menu.open { opacity: 1; transform: none; pointer-events: auto; }
.pm-name { font-weight: 900; margin-bottom: .45rem; }
.pm-line { font-size: .83rem; font-weight: 700; color: var(--muted); word-break: break-all; margin-bottom: .3rem; }
.profile-menu .btn { margin-top: .9rem; }

@media (max-width: 960px) {
  .auth-wrap { grid-template-columns: 1fr; overflow-y: auto; }
  .auth-brand { flex-direction: column; justify-content: center; padding: 1.6rem 1.5rem 1.8rem; }
  .brand-mark { margin-bottom: .9rem; }
  .auth-brand h1 { font-size: clamp(1.7rem, 6vw, 2.4rem); margin-bottom: .6rem; }
  .brand-sub { font-size: .88rem; margin-bottom: .9rem; }
  .brand-stats { gap: 1.8rem; }
  .brand-stats strong { font-size: 1.3rem; }
  .auth-panel { padding: 1rem .9rem 1.2rem; }
  .auth-card { padding: 1.2rem 1.3rem 1.1rem; border-radius: 16px; }
  .profile-menu { right: auto; left: 50%; transform: translate(-50%, 8px); }
  .profile-menu.open { transform: translate(-50%, 0); }
}
@media (max-width: 560px) {
  .auth-brand { flex-direction: row; align-items: center; gap: .8rem; padding: .8rem 1.1rem; }
  .auth-brand .brand-mark { margin: 0; }
  .auth-brand h1, .auth-brand .brand-sub, .auth-brand .brand-stats { display: none; }
  .auth-panel { justify-content: flex-start; padding: .9rem .8rem 1.1rem; }
  .field { margin-bottom: .4rem; }
  .field label { font-size: .68rem; margin-bottom: .2rem; }
  .field .field-msg { min-height: 0; font-size: .7rem; margin-top: .15rem; }
  .pass-requirements .req { font-size: .62rem; padding: .15rem .45rem; }
  .auth-card { padding: 1.1rem 1.1rem 1rem; }
}
/* ---------------- PHASE 1 ADMIN IMPROVEMENTS ---------------- */
.admin-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;}
.admin-actions form{margin:0;}
.admin-actions .btn{border:0;cursor:pointer;}
.admin-add-card{border:2px dashed var(--orange-400);background:#fff;}
.admin-add-card h3{color:var(--orange-600);}
.delete-check{color:#c93a3a !important;cursor:pointer;text-transform:none !important;letter-spacing:0 !important;display:flex !important;align-items:center;gap:.4rem;}
.delete-check input{width:auto !important;accent-color:#c93a3a;}
.admin-save-btn{font-size:1.2rem;padding:1rem;margin-top:10px;}
.flash-error{background:#fdecec;color:#c93a3a;border:1px solid #f5c6c6;}
.admin-header-brand{display:flex;align-items:center;min-width:0}
.admin-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;margin-right:.65rem;flex:none;border:0;border-radius:10px;background:rgba(255,255,255,.14);cursor:pointer;transition:background .2s}
.admin-nav-toggle:hover{background:rgba(255,255,255,.24)}
.admin-nav-toggle span{display:block;height:3px;border-radius:3px;background:#fff;transition:transform .25s,opacity .25s}
.admin-nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.admin-nav-toggle.open span:nth-child(2){opacity:0}
.admin-nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.admin-brand-link{text-decoration:none;color:#fff;display:flex;align-items:center;gap:.7rem;min-width:0}
.admin-brand-link h1{margin:0;color:#fff;font-size:clamp(1.2rem,2.5vw,1.6rem);line-height:1;white-space:nowrap}
.admin-logout-form{margin:0}
.admin-logout-btn{background:#c93a3a !important;box-shadow:0 5px 0 #a02a2a !important}
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 64px);align-items:start}
.admin-sidebar{background:#fff;border-right:1px solid var(--orange-100);padding:1.25rem .85rem;position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto}
.admin-nav{display:grid;gap:.35rem}
.admin-nav-link{display:flex;align-items:center;gap:.7rem;padding:.75rem .95rem;border-radius:12px;text-decoration:none;color:var(--orange-900);font-weight:800;font-size:.92rem;border:1px solid transparent;transition:.2s}
.admin-nav-link:hover{background:var(--orange-50);border-color:var(--orange-100)}
.admin-nav-link.active{background:var(--orange-100);border-color:var(--orange-200);color:var(--orange-800);box-shadow:var(--shadow-sm)}
.admin-nav-icon{font-size:1.05rem;width:1.35rem;text-align:center}
.admin-main{min-width:0;padding:0 0 2.5rem}
.admin-main .admin-container{max-width:1100px;margin:1.5rem auto;padding:0 1.25rem}
.admin-page-head{margin-bottom:1rem}
.admin-page-title{margin:0;color:var(--orange-900);font-size:clamp(1.5rem,3vw,2rem)}
.admin-flash{margin-bottom:1rem;text-align:center}
.admin-section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.admin-section-top .section-sub{margin:0;max-width:60ch}
.admin-count-badge{background:var(--orange-100);color:var(--orange-800);font-weight:900;font-size:.78rem;padding:.35rem .75rem;border-radius:999px;white-space:nowrap}
.admin-field-row{display:flex;gap:10px}
.admin-field-row>div{flex:1;min-width:0}
.hotel-logo-preview{width:72px;height:72px;display:grid;place-items:center;background:#fff;border:2px solid var(--orange-200);border-radius:14px;margin:.2rem 0 .6rem;overflow:hidden;padding:6px}
.hotel-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.img-preview{width:100px;height:100px;display:grid;place-items:center;background:#fdf3e8;border:2px dashed var(--orange-300);border-radius:14px;margin:.4rem 0 .5rem;overflow:hidden;padding:4px}
.img-preview img{max-width:100%;max-height:100%;object-fit:cover;border-radius:10px}
.admin-card input[type="file"]{padding:.45rem;background:#fff;border:1px solid var(--orange-200);border-radius:8px;font-size:.85rem;width:100%;box-sizing:border-box}
.admin-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.admin-hub-card{display:block;background:var(--orange-50);border:1px solid var(--orange-200);border-radius:16px;padding:1.2rem;text-decoration:none;color:inherit;transition:.2s}
.admin-hub-card:hover{transform:translateY(-3px);border-color:var(--orange-400);box-shadow:var(--shadow-sm)}
.admin-hub-icon{font-size:1.8rem;display:block;margin-bottom:.5rem}
.admin-hub-card h3{margin:0 0 .35rem;font-size:1rem;color:var(--orange-800)}
.admin-hub-card strong{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--orange-700);margin-bottom:.25rem}
.admin-hub-card p{margin:0;font-size:.82rem;color:var(--muted);font-weight:700;line-height:1.45}
.admin-empty-note{grid-column:1/-1;text-align:center;color:var(--muted);padding:2rem;font-weight:700}
.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}
.admin-tab{padding:.5rem 1.1rem;border-radius:999px;border:2px solid var(--orange-200);background:#fff;font-weight:800;font-size:.85rem;color:var(--orange-900);text-decoration:none;transition:.2s}
.admin-tab:hover{border-color:var(--orange-400)}
.admin-tab.active{background:var(--orange-600);border-color:var(--orange-600);color:#fff;box-shadow:0 4px 0 var(--orange-700)}
.message-card.message-unread{border-left:5px solid var(--orange-600);background:#fffaf5}
.message-badge{display:inline-block;margin-left:.45rem;background:var(--orange-600);color:#fff;font-size:.65rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:.22rem .55rem;border-radius:999px;vertical-align:middle}
.message-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.message-inline-form{display:flex;gap:.5rem;align-items:center;margin:0}
.message-inline-form .btn{margin:0}
.btn-danger{background:#c93a3a;color:#fff;box-shadow:0 3px 0 #a02a2a}
.btn-danger:hover{background:#b63232;transform:translateY(-1px)}
.message-body{margin-top:.9rem;padding:1rem 1.1rem;background:var(--orange-50);border:1px solid var(--orange-100);border-radius:10px;color:var(--orange-950);font-weight:600;font-size:.92rem;line-height:1.6;white-space:pre-wrap}
.admin-nav-backdrop{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:rgba(18,18,32,.45);z-index:80}
.admin-nav-backdrop.show{display:block}
@media (max-width:900px){
  .admin-nav-toggle{display:flex}
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{display:block;position:fixed;top:64px;left:0;bottom:0;width:280px;max-width:88%;transform:translateX(-102%);transition:transform .3s ease;z-index:90;height:auto;border-right:1px solid var(--orange-100);border-bottom:0;padding:1.25rem .85rem;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 40px rgba(0,0,0,.25)}
  .admin-sidebar.open{transform:translateX(0)}
  .admin-nav{grid-template-columns:1fr;gap:.35rem}
  .admin-nav-link{flex-direction:row;justify-content:flex-start;gap:.7rem;padding:.75rem .95rem;font-size:.92rem;text-align:left}
}
@media (max-width:560px){
  .admin-header{padding:1rem;align-items:flex-start;gap:.75rem;flex-direction:column;}
  .admin-actions{width:100%;}
  .admin-actions .btn{flex:1;min-width:120px;text-align:center;}
  .admin-container{padding:0 .8rem;}
  .admin-section{padding:1rem;}
  .admin-grid{grid-template-columns:1fr;}
}


/* ==========================================================
   LyaiDeu v3 — ordering, cart, checkout & dashboard
   ========================================================== */
.hero-actions{display:flex;gap:.7rem;margin-top:1rem;align-items:center}
.cart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#fff;color:var(--orange-700);font-size:.75rem;margin-left:.25rem}
.menu-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.5rem}
.menu-toolbar .chip-row{margin:0;flex:1;min-width:0}
/* ---- PC+Mobile: chip row stays on one line with horizontal scroll ---- */
.menu-toolbar .chip-row{
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--orange-200) transparent;
  align-items:center;
  padding:.35rem .25rem .55rem;
}
.menu-toolbar .chip-row::-webkit-scrollbar{height:4px}
.menu-toolbar .chip-row::-webkit-scrollbar-thumb{background:var(--orange-200);border-radius:999px}
.menu-toolbar .chip-row::-webkit-scrollbar-track{background:transparent}
.menu-toolbar .chip-row .chip{flex:0 0 auto;white-space:nowrap}
@media (max-width:960px){
  .menu-toolbar .chip-row{scrollbar-width:none;padding:.35rem .25rem .55rem;}
  .menu-toolbar .chip-row::-webkit-scrollbar{display:none;}
}
.sort-select{border:2px solid var(--orange-200);background:#fff;border-radius:999px;padding:.6rem 1rem;font:inherit;font-weight:800;color:var(--orange-900)}
.dish-actions{display:flex;gap:.45rem;align-items:center}
.btn-call{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;border:2px solid var(--orange-300);color:var(--orange-700);text-decoration:none}
.fav-btn{position:absolute;right:10px;top:10px;z-index:3;border:0;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);font-size:1.35rem;color:var(--orange-700);cursor:pointer;box-shadow:var(--shadow-sm)}
.fav-btn.active{color:#c93a3a}.dish-art{position:relative}
.cart-overlay{position:fixed;inset:0;background:rgba(45,20,5,.38);z-index:100;opacity:0;visibility:hidden;transition:.25s}
.cart-overlay.open{opacity:1;visibility:visible}
.cart-fab{position:fixed;right:1.4rem;bottom:1.4rem;z-index:90;display:grid;place-items:center;width:56px;height:56px;background:var(--orange-600);color:#fff;border:0;border-radius:50%;cursor:pointer;box-shadow:0 8px 20px rgba(166,80,7,.4);transition:.2s}
.cart-fab:hover{background:var(--orange-700);transform:translateY(-2px);box-shadow:0 12px 24px rgba(166,80,7,.5)}
.cart-fab .cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;color:var(--orange-700);border:2px solid var(--orange-600);display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.7rem;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.cart-fab .cart-fab-icon{font-size:1.3rem}
.cart-fab .cart-fab-label{display:none}
.cart-fab .cart-fab-hide{display:none}
@media(max-width:560px){.cart-fab{right:.9rem;bottom:.9rem}}
.cart-drawer{position:fixed;right:0;top:0;height:100vh;width:min(430px,100%);background:#fff;z-index:101;box-shadow:-12px 0 35px rgba(0,0,0,.18);transform:translateX(100%);transition:.3s;display:flex;flex-direction:column}
.cart-drawer.open{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;border-bottom:2px solid var(--orange-100)}
.cart-head h2{font-family:var(--font-display);font-weight:400}.cart-close{border:0;background:var(--orange-100);border-radius:50%;width:38px;height:38px;font-size:1.6rem;cursor:pointer;color:var(--orange-900)}
.cart-items{padding:1rem 1.25rem;overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.9rem 0;border-bottom:1px dashed var(--orange-200)}
.cart-item small{display:block;color:var(--muted);font-weight:700}.qty{display:flex;align-items:center;gap:.5rem}.qty button{width:30px;height:30px;border:2px solid var(--orange-200);background:#fff;border-radius:50%;cursor:pointer;font-weight:900}
.cart-empty{display:none;padding:2rem 1.25rem;color:var(--muted);font-weight:800}
/* Empty cart message: fills the space between header and summary, centered */
.cart-empty.show{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center;flex:1 1 auto}
.cart-drawer:has(.cart-empty.show) .cart-items{flex:0 0 auto;height:0;padding:0;overflow:hidden}
.cart-summary{padding:1rem 1.25rem;border-top:2px solid var(--orange-100);background:var(--orange-50)}
.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.summary-row.total{font-size:1.15rem;border-top:2px dashed var(--orange-200);margin-top:.4rem;padding-top:.8rem}
.btn.disabled{pointer-events:none;opacity:.5}.checkout-body{background:var(--orange-50)}
.checkout-page,.orders-page,.success-page{padding:3rem 1.25rem 5rem}
.checkout-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}
.checkout-card,.success-card,.order-card{background:#fff;border:1px solid var(--orange-100);border-radius:20px;padding:1.5rem;box-shadow:var(--shadow-sm)}
.checkout-card h2{font-family:var(--font-display);font-weight:400;margin-bottom:1rem}
.checkout-card label{display:block;font-weight:800;margin-bottom:1rem}
.checkout-card input,.checkout-card textarea,.checkout-card select{display:block;width:100%;margin-top:.4rem;border:2px solid var(--orange-200);border-radius:10px;padding:.75rem;font:inherit;background:#fff}
.checkout-card textarea{min-height:90px;resize:vertical}.muted,.small-note{color:var(--muted);font-size:.82rem;font-weight:700}
/* Checkout: hide the "Secure checkout" kicker pill + zero top padding on phones only */
@media (max-width:960px){
  .checkout-body .kicker{display:none;}
  .checkout-body .checkout-page{padding-top:0;}

  /* ---- Narrow-screen fix: stack the cards and stop the min-width:auto
         blow-out that pushed cards past the viewport edge ---- */
  .checkout-body .checkout-grid{grid-template-columns:1fr;gap:1rem;}
  .checkout-body .checkout-grid>section{min-width:0;width:100%;}
  .checkout-body .checkout-card{max-width:100%;}
  .checkout-body .section-head h1.display,
  .checkout-body .checkout-card h2,
  .checkout-body .co-location-title,
  .checkout-body .small-note,
  .checkout-body .summary-row span,
  .checkout-body .summary-row strong{overflow-wrap:anywhere;}
  .checkout-body .checkout-item{gap:.8rem;}
  .checkout-body .checkout-item span{min-width:0;overflow-wrap:anywhere;}
  .checkout-body .map-actions{flex-direction:column;align-items:stretch;}
  .checkout-body .map-actions .btn{width:100%;}
}

/* Orders: hide the live-update indicator + kicker pill + zero top padding on phones only */
@media (max-width:960px){
  .orders-page .live-indicator,
  .orders-page .kicker{display:none;}
  .orders-page{padding-top:0;}
}
.promo-box{display:flex;gap:.5rem;margin:1rem 0}.promo-box input{flex:1;border:2px solid var(--orange-200);border-radius:10px;padding:.7rem;font:inherit}
.checkout-item{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px dashed var(--orange-200)}
.success-page{text-align:center}.success-icon{font-size:4rem}.success-card{max-width:620px;margin:2rem auto;text-align:left}.success-card h2{font-family:var(--font-display);font-weight:400;margin:1rem 0}
.success-actions{display:flex;gap:.7rem;margin-top:1.2rem}
.order-status-pill{display:inline-flex;padding:.35rem .7rem;border-radius:999px;font-size:.78rem;font-weight:900}
.status-pending{background:#fff3cd;color:#8a6500}.status-confirmed{background:#e0f7e7;color:#166534}.status-preparing{background:#e0f0ff;color:#175a8a}.status-ready{background:#e8e6ff;color:#5440c4}.status-delivery{background:#efe4ff;color:#6935a1}.status-delivered{background:#d8f5e6;color:#146c43}.status-cancelled{background:#ffe1e1;color:#a02a2a}
.orders-list{display:grid;gap:1rem}.order-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.order-card h2,.admin-order-card h2{font-size:1.15rem;font-weight:900}.order-card p,.admin-order-card p{color:var(--muted);font-weight:700;font-size:.84rem}
.order-track{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem;margin:1rem 0;padding:.95rem 1.1rem;background:var(--orange-50);border:1px dashed var(--orange-200);border-radius:14px}
.order-track.cancelled{justify-content:center}
.track-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:56px;font-size:.7rem;font-weight:800;color:var(--muted)}
.track-step i{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--orange-200);color:var(--orange-300);font-size:.92rem;transition:all var(--fe-transition)}
.track-step.done{color:#166534}
.track-step.done i{background:var(--orange-600);border-color:var(--orange-600);color:#fff}
.track-step.active{color:var(--orange-700)}
.track-step.active i{background:#fff;border-color:var(--orange-600);color:var(--orange-600);box-shadow:0 0 0 4px var(--orange-100)}
.track-step.cancelled i{background:#ffe1e1;border-color:#f4c7c7;color:#a02a2a}
.order-vendor-row{background:var(--orange-50);border:1px solid var(--orange-200);border-radius:14px;padding:.85rem 1rem;margin-bottom:.7rem}
.order-vendor-row.other{background:#f4f4f6;border-color:#e2e2e6}
.vendor-row-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}
.vendor-ico{width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--orange-600);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}
.vendor-name{font-size:.95rem;font-weight:900;color:var(--orange-950);margin-right:auto}
.vendor-updated{font-size:.72rem;font-weight:800;color:var(--muted);white-space:nowrap}
.vendor-products{display:grid;gap:.45rem}
.vendor-product{border:1px solid var(--orange-100);background:#fff;border-radius:12px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.5rem}
.vp-main{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.vp-vendor{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:900;color:var(--orange-700);background:var(--orange-100);border-radius:999px;padding:.18rem .5rem;white-space:nowrap}
.vp-name{font-weight:800;font-size:.86rem;color:var(--ink,#3b2a1a)}
.vp-line{margin-left:auto;font-weight:900;font-size:.85rem;color:var(--orange-800);white-space:nowrap}
.vp-progress{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.vp-step{font-size:.66rem;font-weight:800;color:#b3a08e;padding:.16rem .5rem;border-radius:999px;background:#f1ece6;border:1px solid #e7dfd5;line-height:1.3}
.vp-step.done{background:#e0f7e7;color:#166534;border-color:#bfe8cd}
.vp-step.active{background:var(--orange-600);color:#fff;border-color:var(--orange-600)}
.vp-step.cancelled{background:#ffe1e1;color:#a02a2a;border-color:#f4c7c7}
.order-delivery{display:flex;align-items:center;gap:.6rem;margin:.7rem 0 .4rem;padding:.7rem .95rem;border-radius:12px;font-size:.85rem;font-weight:800;background:var(--orange-100);color:var(--orange-800)}
.order-delivery.waiting{background:#fff4e0;color:#a15c00}
.order-delivery.onway{background:#efe4ff;color:#6935a1}
.order-delivery.done{background:#e0f7e7;color:#166534}
.order-delivery.cancelled{background:#ffe1e1;color:#a02a2a}
.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--orange-500);animation:pulse-dot 1.2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.55}}
.order-card.track-flash,.success-card.track-flash{animation:track-flash 1.6s ease}
@keyframes track-flash{0%,60%{box-shadow:0 0 0 4px var(--orange-300)}100%{box-shadow:var(--shadow-sm)}}
@media(max-width:520px){.order-track{gap:.2rem}.track-step{min-width:0;flex:1}.track-step span{text-align:center}.track-step[data-short] span{display:none}.track-step[data-short]::after{content:attr(data-short);font-size:.7rem;font-weight:800;color:inherit;text-align:center;line-height:1.2}.vendor-row-head{gap:.4rem}.vendor-updated{width:100%;margin-left:38px}.vp-main{gap:.35rem}}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem}
.admin-stats>div{background:#fff;border:1px solid var(--orange-100);border-radius:16px;padding:1rem;box-shadow:var(--shadow-sm)}
.admin-stats strong{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--orange-700);white-space:nowrap}.admin-stats span{display:block;font-weight:800;color:var(--muted);font-size:.8rem}
.admin-order-list{display:grid;gap:1rem}.admin-order-card{background:#fff;border:1px solid var(--orange-100);border-radius:18px;padding:1.2rem;box-shadow:var(--shadow-sm)}
.status-form{display:flex;gap:.5rem;align-items:center}.status-form select{border:2px solid var(--orange-200);border-radius:9px;padding:.55rem;font:inherit;font-weight:800}
.admin-order-items{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.admin-order-items span{background:var(--orange-50);border:1px solid var(--orange-200);border-radius:999px;padding:.4rem .65rem;font-size:.78rem;font-weight:800}
.admin-save-btn{position:sticky;bottom:1rem;z-index:5}.admin-card input[readonly]{background:#faf4ee}
.flash-error{background:#ffe1e1!important;color:#8b2525}.flash-success{background:var(--orange-100)!important;color:var(--orange-900)}
@media(max-width:760px){.checkout-grid{grid-template-columns:1fr}.menu-toolbar{align-items:stretch;flex-direction:column}.menu-tools{flex-direction:column;align-items:stretch;width:100%}.menu-search{min-width:0;width:100%}.sort-select{width:100%}.order-card-head,.admin-order-card .order-card-head{flex-direction:column}.status-form{width:100%}.status-form select{flex:1}.success-actions{flex-direction:column}.hero-actions{flex-wrap:wrap}.admin-actions{flex-wrap:wrap}.admin-header{padding:1rem}.cart-drawer{width:100%}}

/* ==========================================================
   V3 POLISH — consistent real buttons + live data updates
   ========================================================== */
.btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:44px;
  padding:.68rem 1.15rem;
  border:2px solid transparent;
  border-radius:12px;
  font:inherit;
  font-weight:900;
  line-height:1.1;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn-primary{background:var(--orange-600);border-color:var(--orange-600);color:#fff !important;box-shadow:0 4px 0 var(--orange-700);}
.btn-primary:hover{background:var(--orange-500);border-color:var(--orange-500);box-shadow:0 6px 0 var(--orange-700);}
.btn-outline{background:#fff;border-color:var(--orange-300);color:var(--orange-900) !important;box-shadow:0 2px 0 rgba(90,40,10,.08);}
.btn-outline:hover{background:var(--orange-50);border-color:var(--orange-500);color:var(--orange-700) !important;box-shadow:0 4px 0 var(--orange-200);}
.btn-block{width:100%;}
.btn:disabled,.btn.disabled{opacity:.5;pointer-events:none;transform:none;box-shadow:none;}
.hero-actions .btn{min-width:150px;}
.success-actions .btn{min-width:160px;}
.cart-summary .btn{margin-top:.55rem;}
.profile-menu .btn{margin-top:.55rem;}

/* Make standalone action links look like actions everywhere, not underlined text. */
a.btn,a.btn:hover,a.btn:focus{ text-decoration:none !important; }

@media(max-width:560px){
  .btn{min-height:46px;padding:.7rem 1rem;}
  .hero-actions .btn{min-width:0;flex:1;}
}
.live-badge{display:inline-flex;align-items:center;gap:.3rem;margin-left:.35rem;padding:.25rem .55rem;border-radius:999px;background:var(--orange-100);color:var(--orange-700);font-size:.72rem;font-weight:900;vertical-align:middle;}


/* ==========================================================
   LYAIDEU — FINAL UI CONSISTENCY PASS
   ========================================================== */
:root{--fe-radius-md:14px;--fe-transition:180ms ease;--fe-focus:0 0 0 4px rgba(231,102,8,.16)}
a.btn,button.btn,input[type="submit"].btn,input[type="button"].btn,.btn,.btn-order,.btn-primary,.btn-outline,.hotel-call,.contact-num,.admin-action,.admin-save-btn,.nav-cta,.profile-btn{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;font-family:inherit;font-weight:850;line-height:1;border-radius:var(--fe-radius-md);transition:transform var(--fe-transition),box-shadow var(--fe-transition),background var(--fe-transition),border-color var(--fe-transition),color var(--fe-transition),opacity var(--fe-transition)}
.btn,.btn-order{min-height:44px;padding:.72rem 1.05rem;border:2px solid transparent}.btn-primary,.btn-order{background:var(--orange-600,#e76608)!important;color:#fff!important;border-color:var(--orange-600,#e76608)!important;box-shadow:0 5px 14px rgba(231,102,8,.16)}.btn-primary:hover,.btn-order:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(231,102,8,.22)}.btn-outline{background:#fff!important;color:var(--orange-700,#a03c07)!important;border:2px solid var(--orange-300,#f8b98b)!important}.btn-outline:hover{background:var(--orange-50,#fdf5ec)!important;border-color:var(--orange-600,#e76608)!important;transform:translateY(-1px)}.btn:active,.btn-order:active{transform:translateY(0) scale(.98)}.btn:focus-visible,.btn-order:focus-visible,.btn-outline:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--fe-focus)}.btn.disabled,.btn[disabled]{opacity:.5;pointer-events:none;cursor:not-allowed}.add-cart[disabled],#placeOrderBtn[disabled]{pointer-events:auto;cursor:not-allowed}
.nav-cta{padding:.7rem 1rem!important;background:var(--orange-600,#e76608)!important;color:#fff!important;border-radius:999px!important;border:2px solid var(--orange-600,#e76608)!important}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(231,102,8,.18)}.nav-links a,.profile-menu a,.brand,a.btn,.hotel-call,.contact-num{text-decoration:none!important}
.dish-card,.hotel-card,.contact-card,.checkout-card,.order-card,.admin-order-card{transition:transform var(--fe-transition),box-shadow var(--fe-transition),border-color var(--fe-transition)}.dish-card:hover,.hotel-card:hover,.contact-card:hover,.order-card:hover,.admin-order-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(140,55,10,.10)}
input,select,textarea{transition:border-color var(--fe-transition),box-shadow var(--fe-transition)}input:focus,select:focus,textarea:focus{border-color:var(--orange-600,#e76608)!important;box-shadow:var(--fe-focus)}
.toast{position:fixed!important;left:50%!important;bottom:24px!important;top:auto!important;transform:translate(-50%,18px)!important;z-index:9999!important;max-width:min(92vw,520px);padding:.85rem 1.05rem!important;border-radius:14px!important;background:#5a2004!important;color:#fff!important;box-shadow:0 12px 32px rgba(0,0,0,.18)!important;font-weight:800;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.toast.show{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}
.empty-state,.cart-empty,#checkoutEmpty{border:2px dashed var(--orange-200,#fbd9bb);border-radius:18px;padding:2rem;text-align:center;background:rgba(255,255,255,.7)}.order-status-pill{white-space:nowrap;border:1px solid transparent;letter-spacing:.01em}
.live-indicator{display:inline-flex;align-items:center;gap:.35rem;margin:.5rem 0 1rem;padding:.35rem .65rem;border-radius:999px;background:#f7efe7;color:#7d634b;font-size:.75rem;font-weight:850}.live-indicator.live-on{background:#fdecd9;color:#a03c07}
@media(max-width:760px){.btn,.btn-order,.btn-outline{min-height:46px}.hero-actions .btn{flex:1 1 180px}.success-actions .btn{width:100%}.toast{bottom:14px;max-width:calc(100vw - 28px);text-align:center}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.dish-foot .btn-order.add-cart{position:relative;overflow:hidden;min-height:0;height:auto;padding:.38rem .72rem;font-size:.68rem;font-weight:800;gap:.32rem;border:0;border-radius:999px;box-shadow:0 3px 0 rgba(199,88,0,.9);flex:none;line-height:1}
.dish-foot .btn-order.add-cart::after{content:"";position:absolute;top:0;left:-160%;width:60%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .5s ease;pointer-events:none}
.dish-foot .btn-order.add-cart i{font-size:.68rem}
.dish-foot .btn-order.add-cart:hover{background:var(--orange-500,#d95c00)!important}
.dish-foot .btn-order.add-cart:hover::after{left:170%}
.dish-foot .btn-order.add-cart:active{transform:translateY(0) scale(.96)}

/* ==========================================================
   LYAIDEU MART — grocery cards
   ========================================================== */
.mart-art{aspect-ratio:1/1;display:grid;place-items:center;background:linear-gradient(160deg,#fff7ef 0%,var(--orange-100) 100%);overflow:hidden;}
.mart-art img{width:100%;height:100%;object-fit:cover;display:block;}
.dish-card .mart-art i{font-size:2.2rem;color:var(--orange-600);filter:drop-shadow(0 10px 8px rgba(80,35,5,.18));}
.mart-art::after{background:linear-gradient(180deg,transparent 72%,rgba(64,24,4,.08));}
.price .unit{font-size:.72rem;font-weight:800;color:var(--muted);white-space:nowrap;}

/* ==========================================================
   PRODUCT PAGE — dedicated page per product + related items
   ========================================================== */
.back-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:900;color:var(--orange-700);text-decoration:none;margin-bottom:1.1rem;transition:.2s;}
.back-link:hover{color:var(--orange-500);transform:translateX(-3px);}
.back-link.top-back-link{display:none;margin-bottom:0;flex:0 0 auto;width:40px;height:40px;border-radius:50%;justify-content:center;align-items:center;background:#fff;border:2px solid var(--orange-200);box-shadow:var(--shadow-sm);font-size:0;gap:0;line-height:1;}
.back-link.top-back-link i{font-size:1.05rem;margin:0;line-height:1;}
.back-link.top-back-link:hover{transform:none;border-color:var(--orange-500);}
.product-wrap{padding-top:2.2rem;}
.product-main{display:grid;grid-template-columns:1.05fr 1fr;gap:2rem;align-items:start;}
.product-media{position:relative;border-radius:18px;overflow:hidden;background:var(--orange-100);box-shadow:var(--shadow-sm);width:100%;max-width:440px;margin:0 auto;}
.product-media img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.product-media .dish-tag{top:14px;left:14px;font-size:.72rem;padding:.35rem .75rem;}
.product-media-noimg{aspect-ratio:1/1;display:grid;place-items:center;font-size:5rem;color:var(--orange-600);}
.product-details{background:#fff;border:1px solid var(--orange-100);border-radius:18px;padding:1.6rem 1.7rem;box-shadow:var(--shadow-sm);}
.product-cat{display:inline-flex;align-items:center;gap:.35rem;background:var(--orange-100);color:var(--orange-800);font-weight:900;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .7rem;border-radius:999px;margin-bottom:.6rem;}
.product-details h1{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.1;}
.product-hotel{color:var(--orange-700);font-weight:800;font-size:1rem;margin-top:.35rem;}
.product-desc{color:var(--muted);font-weight:600;font-size:1rem;margin-top:.7rem;line-height:1.65;}
.product-price-row{margin-top:1.1rem;padding-top:1.1rem;border-top:2px dashed var(--orange-200);}
.product-price{font-family:var(--font-display);font-size:2.1rem;color:var(--orange-700);line-height:1;}
.product-price small{font-size:1rem;margin-right:.2rem;}
.product-actions{display:flex;gap:.7rem;margin-top:1.2rem;flex-wrap:wrap;}
.product-actions .btn{flex:1;}
.product-call{font-weight:900;color:var(--orange-700);}
.related-section{margin-top:2.4rem;}
.related-section>h3{font-family:var(--font-display);font-weight:400;font-size:1.3rem;color:var(--orange-900);margin-bottom:1.1rem;text-transform:capitalize;}
.related-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem;}
@media (max-width:1024px){.related-grid{grid-template-columns:repeat(3,1fr);}}
.related-card{display:flex;flex-direction:column;border:1px solid var(--orange-100);border-radius:10px;overflow:hidden;background:#fff;color:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.related-card:hover{transform:translateY(-3px);border-color:var(--orange-300);box-shadow:var(--shadow-md);}
.related-link{display:block;color:inherit;text-decoration:none !important;}
.related-img{position:relative;width:100%;aspect-ratio:1/1;background:var(--orange-100);display:grid;place-items:center;color:var(--orange-600);}
.related-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.related-img i{font-size:2rem;color:var(--orange-600);}
.related-info{padding:.6rem .65rem .65rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;flex:1;}
.related-info h4{font-size:.85rem;font-weight:900;line-height:1.25;overflow-wrap:anywhere;}
.related-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.4rem;width:100%;padding-top:.25rem;border-top:2px dashed var(--orange-200);}
.related-foot .price{font-size:.95rem;display:block;white-space:nowrap;}
.related-foot .btn-order.add-cart{position:relative;overflow:hidden;min-height:0;height:auto;padding:.38rem .72rem;font-size:.68rem;font-weight:800;gap:.32rem;border:0;border-radius:999px;box-shadow:0 3px 0 rgba(199,88,0,.9);flex:none;line-height:1;}
.related-foot .btn-order.add-cart::after{content:"";position:absolute;top:0;left:-160%;width:60%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .5s ease;pointer-events:none;}
.related-foot .btn-order.add-cart i{font-size:.68rem;}
.related-foot .btn-order.add-cart:hover{background:var(--orange-500,#d95c00)!important;}
.related-foot .btn-order.add-cart:hover::after{left:170%;}
.related-foot .btn-order.add-cart:active{transform:translateY(0) scale(.96);}
@media (max-width:900px){
  .product-main{grid-template-columns:1fr;gap:1.4rem;}
  .product-media img{aspect-ratio:1/1;}
}
@media (max-width:600px){
  .related-grid{grid-template-columns:repeat(2,1fr);}
  .product-details{padding:1.2rem 1.15rem;}
  .product-price{font-size:1.7rem;}
  .product-actions .btn{flex:1 1 100%;}
  .product-media-noimg{aspect-ratio:1/1;height:auto;}
}

/* ==========================================================
   HOME PAGE — randomized featured picks
   ========================================================== */
.featured-stack{display:flex;flex-direction:column;gap:2.4rem;}
.feat-ribbon{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem;}
.feat-ribbon h3{font-family:var(--font-display);font-weight:400;font-size:1.35rem;color:var(--orange-950);margin:0;}
.feat-ribbon h3 i{color:var(--orange-600);}
.see-all{display:inline-flex;align-items:center;gap:.35rem;font-weight:900;font-size:.82rem;color:var(--orange-700);text-decoration:none;white-space:nowrap;border:2px solid var(--orange-300);border-radius:999px;padding:.4rem .85rem;transition:.2s;background:#fff;}
.see-all:hover{background:var(--orange-600);color:#fff;border-color:var(--orange-600);transform:translateY(-1px);box-shadow:0 4px 0 var(--orange-700);}
.dish-art .dish-art-ico{display:grid;place-items:center;width:100%;height:100%;color:var(--orange-600);font-size:2.1rem;}
@media(max-width:560px){
  .feat-ribbon{flex-wrap:wrap;}
}

/* ==========================================================
   CATEGORIES — sub-chips, breadcrumbs, admin category tree
   ========================================================== */
.chip.sub-chip{font-weight:700;font-size:.78rem;padding:.4rem .95rem;border-style:dashed;background:var(--orange-50);color:var(--orange-800);display:none;}
.chip-row .chip.sub-chip:hover{border-style:dashed;}
.product-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin:.4rem 0 1.1rem;font-weight:800;font-size:.8rem;color:var(--muted);}
.product-breadcrumb a{color:var(--orange-700);text-decoration:none;font-weight:900;transition:.2s;}
.product-breadcrumb a:hover{color:var(--orange-600);text-decoration:underline;}
.product-breadcrumb .crumb-sep{display:inline-flex;color:var(--orange-300);font-size:.6rem;}
.product-breadcrumb .crumb-current{color:var(--ink);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:18ch;}
.admin-cat-badges{float:right;display:inline-flex;align-items:center;gap:.4rem;}
.admin-cat-type{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:.3rem .6rem;border-radius:999px;}
.admin-cat-type.cat-type-menu{background:#fff3d6;color:#9a6b00;}
.admin-cat-type.cat-type-mart{background:#e3f4e8;color:#19733a;}
.admin-cat-depth-1{padding-left:1.6rem;}
.admin-cat-depth-2{padding-left:3rem;}
.admin-cat-depth-3{padding-left:4.4rem;}
.admin-cat-depth-4{padding-left:5.8rem;}
.admin-cat-depth-5{padding-left:7rem;}
@media (max-width:600px){
  .admin-cat-depth-1{padding-left:.8rem;}
  .admin-cat-depth-2{padding-left:1.5rem;}
  .admin-cat-depth-3{padding-left:2.2rem;}
  .admin-cat-depth-4{padding-left:2.9rem;}
  .admin-cat-depth-5{padding-left:3.6rem;}
}
@media (max-width:560px){
  .admin-field-row{flex-direction:column;gap:6px;}
  .admin-cat-badges{float:none;margin-left:.4rem;}
}

/* ==========================================================
   DELIVERY SYSTEM — /vendor & /rider dashboards, admin assign
   ========================================================== */
.delivery-body{background:var(--orange-50);min-height:100vh;}
.delivery-topbar{display:flex;align-items:center;gap:1rem;padding:.9rem 1.25rem;background:#fff;border-bottom:2px solid var(--orange-100);position:sticky;top:0;z-index:50;flex-wrap:wrap;}
.delivery-topbar .brand{font-size:1.2rem;}
.delivery-role-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--orange-100);color:var(--orange-800);font-weight:900;font-size:.78rem;padding:.4rem .8rem;border-radius:999px;}
a.delivery-role-badge{text-decoration:none;transition:background var(--fe-transition),color var(--fe-transition),transform var(--fe-transition);}
a.delivery-role-badge:hover{background:var(--orange-200);color:var(--orange-950);transform:translateY(-1px);}
.delivery-user{margin-left:auto;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;}
.delivery-user .avatar{background:var(--orange-600);color:#fff;}
.delivery-user strong{display:block;font-size:.85rem;line-height:1.1;}
.delivery-user small{display:block;color:var(--muted);font-weight:700;font-size:.72rem;}
.delivery-main{padding:2rem 1.25rem 5rem;}
.delivery-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:0 0 1.5rem;}
.delivery-stats>div{background:#fff;border:1px solid var(--orange-100);border-radius:16px;padding:1rem;box-shadow:var(--shadow-sm);text-align:center;}
.delivery-stats strong{display:block;font-family:var(--font-display);font-size:2rem;color:var(--orange-700);}
.delivery-stats span{display:block;font-weight:800;color:var(--muted);font-size:.78rem;}
.delivery-list{display:grid;gap:1rem;}
.delivery-section{margin-top:2.5rem;}
.delivery-section h2{font-family:var(--font-display);font-weight:400;margin-bottom:1rem;}
.delivery-card{background:#fff;border:1px solid var(--orange-100);border-left:6px solid var(--orange-300);border-radius:18px;padding:1.2rem 1.3rem;box-shadow:var(--shadow-sm);}
.delivery-card.status-confirmed{border-left-color:#166534;}
.delivery-card.status-preparing{border-left-color:#175a8a;}
.delivery-card.status-ready{border-left-color:#5440c4;}
.delivery-card.status-delivery{border-left-color:#6935a1;}
.delivery-card.status-delivered{border-left-color:#146c43;}
.delivery-card.status-cancelled{border-left-color:#a02a2a;}
.delivery-card.claimable{background:#fffdf6;border:1px solid #eec37b;border-left:6px solid #b45309;box-shadow:var(--shadow-sm),0 0 0 3px rgba(233,158,45,.18);}
.delivery-card.claimable .delivery-waiting{background:#fff4e0;border-color:#eec37b;color:#8a5a12;}
.delivery-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem;}
.delivery-card-head h2{font-size:1.1rem;font-weight:900;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
.delivery-card-head p{color:var(--muted);font-weight:700;font-size:.8rem;}
.delivery-total{font-family:var(--font-display);font-weight:400;color:var(--orange-700);white-space:nowrap;}
.delivery-customer,.delivery-rider{font-weight:800;color:var(--ink);margin:.35rem 0;}
.delivery-customer a,.delivery-rider a{color:var(--orange-700);font-weight:900;text-decoration:none;}
.delivery-items{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0;}
.delivery-items span{background:var(--orange-50);border:1px solid var(--orange-200);border-radius:999px;padding:.4rem .7rem;font-size:.78rem;font-weight:800;}
.delivery-vendors{display:grid;gap:.75rem;margin:.9rem 0 0;}
.delivery-vendor{background:var(--orange-50);border:1px solid var(--orange-200);border-radius:14px;padding:.7rem .85rem;}
.delivery-vendor-head{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .7rem;margin-bottom:.4rem;}
.delivery-vendor-name{font-weight:900;color:var(--orange-900);display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;}
.delivery-vendor-name i{color:var(--orange-600);}
.delivery-vendor-call{font-weight:900;color:var(--orange-700);text-decoration:none;font-size:.78rem;display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;}
.delivery-vendor .delivery-items{margin:0;}
.delivery-vendor .delivery-items span{background:#fff;}
.delivery-actions form{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.7rem;}
.delivery-waiting{margin:.8rem 0 0;padding:.6rem .8rem;background:var(--orange-50);border:1px dashed var(--orange-300);border-radius:12px;font-size:.82rem;font-weight:800;color:var(--muted);display:flex;gap:.5rem;align-items:center;}
.btn-sm{padding:.4rem .8rem;font-size:.78rem;}

/* Vendor queue — filter stats, search toolbar, richer cards */
.delivery-stats button.delivery-stat{
  appearance:none;-webkit-appearance:none;display:block;width:100%;text-align:center;cursor:pointer;
  font:inherit;color:inherit;background:#fff;border:1px solid var(--orange-100);border-top:5px solid transparent;
  border-radius:16px;padding:1rem;box-shadow:var(--shadow-sm);
  transition:transform var(--fe-transition),box-shadow var(--fe-transition),border-color var(--fe-transition),background var(--fe-transition);
}
.delivery-stats button.delivery-stat:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(90,40,10,.12);}
.delivery-stats button.delivery-stat:focus-visible{outline:none;box-shadow:var(--fe-focus);}
.delivery-stats button.delivery-stat .stat-ico{display:block;font-size:1.1rem;margin-bottom:.15rem;}
.delivery-stats button.delivery-stat.stat-all .stat-ico{color:var(--orange-600);}
.delivery-stats button.delivery-stat.stat-pending .stat-ico{color:#eab308;}
.delivery-stats button.delivery-stat.stat-progress .stat-ico{color:#175a8a;}
.delivery-stats button.delivery-stat.stat-ready .stat-ico{color:#5440c4;}
.delivery-stats button.delivery-stat.stat-all{border-top-color:var(--orange-600);}
.delivery-stats button.delivery-stat.stat-pending{border-top-color:#eab308;}
.delivery-stats button.delivery-stat.stat-progress{border-top-color:#175a8a;}
.delivery-stats button.delivery-stat.stat-ready{border-top-color:#5440c4;}
.delivery-stats button.delivery-stat.stat-available{border-top-color:#166534;}
.delivery-stats button.delivery-stat.stat-available .stat-ico{color:#166534;}
.delivery-stats button.delivery-stat.stat-incoming{border-top-color:#eab308;}
.delivery-stats button.delivery-stat.stat-incoming .stat-ico{color:#eab308;}
.delivery-stats button.delivery-stat.stat-mine{border-top-color:#a03c07;}
.delivery-stats button.delivery-stat.stat-mine .stat-ico{color:#a03c07;}
.delivery-stats button.delivery-stat.stat-history{border-top-color:#8a6a3b;}
.delivery-stats button.delivery-stat.stat-history .stat-ico{color:#8a6a3b;}
.delivery-section.flash-history{animation:history-flash 1.8s ease;}
@keyframes history-flash{0%,40%{box-shadow:0 0 0 5px rgba(138,106,59,.35)}100%{box-shadow:var(--shadow-sm)}}
.delivery-stats button.delivery-stat.active{background:var(--orange-50);border-color:var(--orange-400);box-shadow:0 0 0 4px rgba(231,102,8,.12);}
.delivery-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1.2rem;}
.delivery-toolbar .admin-order-search{flex:1 1 280px;min-width:0;}
.delivery-count{font-size:.82rem;font-weight:900;color:var(--muted);white-space:nowrap;}
.delivery-count b{color:var(--orange-700);}
.delivery-card.is-new{position:relative;background:#fffdf3;border-color:#f7d9a8;border-left-color:#eab308;box-shadow:var(--shadow-sm),0 0 0 3px rgba(234,179,8,.14);}
.delivery-card.is-new::after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;animation:new-pulse 2s ease-out infinite;}
@keyframes new-pulse{0%{box-shadow:0 0 0 0 rgba(234,179,8,.35)}70%{box-shadow:0 0 0 12px rgba(234,179,8,0)}100%{box-shadow:0 0 0 0 rgba(234,179,8,0)}}
.delivery-total-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;}
.delivery-pay{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:900;border-radius:999px;padding:.28rem .65rem;white-space:nowrap;}
.delivery-pay.cash{background:#e0f7e7;color:#166534;border:1px solid #bfe8cd;}
.delivery-pay.wallet{background:#e0f0ff;color:#175a8a;border:1px solid #bfe0f5;}
.delivery-item-count{background:#fff!important;border-style:dashed!important;color:var(--muted)!important;}
.btn-accept{background:#166534!important;border-color:#166534!important;color:#fff!important;box-shadow:0 4px 0 #0f5132;}
.btn-accept:hover{background:#1e7d3c!important;border-color:#1e7d3c!important;box-shadow:0 6px 0 #0f5132;}
.btn-reject{background:#fff!important;border-color:#f4c7c7!important;color:#a02a2a!important;box-shadow:0 2px 0 rgba(160,42,42,.08);}
.btn-reject:hover{background:#ffe1e1!important;border-color:#a02a2a!important;color:#a02a2a!important;box-shadow:0 4px 0 #f4c7c7;}
.delivery-toast{position:fixed;left:50%;bottom:22px;margin:0;z-index:99999;max-width:min(92vw,540px);opacity:0;transform:translate(-50%,10px);transition:opacity .25s ease,transform .25s ease;cursor:default;}
.delivery-toast.show{opacity:1;transform:translate(-50%,0);}
.delivery-toast.hide{opacity:0;transform:translate(-50%,14px);}
.delivery-body .empty-state{display:block;}
.empty-state h3{font-family:var(--font-display);font-weight:400;font-size:1.4rem;color:var(--orange-950);margin-bottom:.35rem;}

/* Vendor store editor — /vendor_store
   NOTE: scoped under .store-edit so these rules never leak onto the
   customer-facing store page (store.php) which has its own .store-hero. */
.store-edit{margin-top:1.6rem;}
.store-edit .store-hero{display:flex;align-items:center;gap:1.4rem;background:#fff;border:1px solid var(--orange-100);border-radius:20px;padding:1.4rem 1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.4rem;flex-wrap:wrap;}
.store-edit .store-hero-logo{width:96px;height:96px;border-radius:24px;background:var(--orange-100);border:2px solid var(--orange-200);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;}
.store-edit .store-hero-logo img{width:100%;height:100%;object-fit:cover;}
.store-edit .store-hero-logo i{font-size:2.1rem;color:var(--orange-500);}
.store-edit .store-hero-info{flex:1;min-width:220px;}
.store-edit .store-hero-info .kicker{margin-bottom:.35rem;}
.store-edit .store-hero-info h2{font-size:1.6rem;line-height:1.15;margin-bottom:.2rem;}
.store-edit .store-hero-tag{color:var(--muted);font-weight:800;margin:.1rem 0 .6rem;}
.store-edit .store-hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;}
.store-edit .store-hero-badges span{display:inline-flex;align-items:center;gap:.4rem;background:var(--orange-50);border:1px solid var(--orange-200);color:var(--orange-900);font-size:.76rem;font-weight:800;border-radius:999px;padding:.35rem .75rem;}
.store-edit .store-hero-badges i{color:var(--orange-600);}
.store-form{padding:1.6rem 1.6rem 1.4rem;}
.store-form>h3{border:0;display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;color:var(--orange-950);}
.store-form>h3 i{color:var(--orange-600);}
.store-form-sub{font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:1rem;}
.store-field-row{display:flex;gap:1.1rem;}
.store-field{flex:1;min-width:0;}
.store-field label{display:block;font-size:.75rem;font-weight:800;color:var(--muted);margin:.85rem 0 .35rem;text-transform:uppercase;letter-spacing:.05em;}
.store-input{position:relative;}
.store-input i{position:absolute;left:.72rem;top:50%;transform:translateY(-50%);color:var(--orange-400);font-size:.85rem;pointer-events:none;}
.store-input input{padding-left:2.15rem!important;}
.store-form input[type="text"],.store-form input[type="number"],.store-form textarea,.delivery-form input[type="text"],.delivery-form input[type="number"],.delivery-form textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--orange-200);border-radius:10px;font-family:inherit;font-size:.9rem;background:#fff;transition:border-color var(--fe-transition),box-shadow var(--fe-transition);}
.store-form input[type="text"]:focus,.store-form input[type="number"]:focus,.store-form textarea:focus,.delivery-form input[type="text"]:focus,.delivery-form input[type="number"]:focus,.delivery-form textarea:focus{outline:none;border-color:var(--orange-500);box-shadow:var(--fe-focus);}
.store-form textarea,.delivery-form textarea{resize:vertical;min-height:96px;}
.delivery-form select{width:100%;padding:.6rem .75rem;border:1px solid var(--orange-200);border-radius:10px;font-family:inherit;font-size:.9rem;background:#fff;transition:border-color var(--fe-transition),box-shadow var(--fe-transition);}
.delivery-form select:focus{outline:none;border-color:var(--orange-500);box-shadow:var(--fe-focus);}
.delivery-form .store-field select{width:100%;}
.field-hint{font-size:.74rem;color:var(--muted);font-weight:700;margin-top:.35rem;line-height:1.4;}
.store-logo-upload{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.store-logo-upload .img-preview{width:76px;height:76px;margin:0;flex:0 0 auto;}
.store-logo-upload .img-preview i{font-size:1.7rem;color:var(--orange-400);}
.store-logo-upload .settings-file-input{max-width:240px;}
.store-logo-upload .delete-check{margin-top:.55rem;}
.store-form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.5rem;padding-top:1.2rem;border-top:2px dashed var(--orange-100);}
@media(max-width:560px){
  .store-edit .store-hero{flex-direction:column;text-align:center;}
  .store-edit .store-hero-badges{justify-content:center;}
  .store-field-row{flex-direction:column;gap:0;}
  .store-form-actions{flex-direction:column;}
  .store-form-actions .btn{width:100%;}
  .store-logo-upload{flex-direction:column;align-items:flex-start;}
}

/* Vendor product manager — /vendor_products */
.products-manage{margin-top:1.6rem;}
.products-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin-bottom:1.2rem;}
.products-toolbar .small-note{flex:1 1 260px;min-width:0;margin:0;}
.products-search{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.1rem;}
.products-search .admin-order-search{flex:1 1 260px;min-width:0;}
.products-search .delivery-count{font-size:.82rem;font-weight:900;color:var(--muted);white-space:nowrap;}
.products-search .delivery-count b{color:var(--orange-700);}
.product-list{display:grid;gap:1rem;}
.product-card{background:#fff;border:1px solid var(--orange-100);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;}
.product-card-main{display:flex;align-items:flex-start;gap:1.1rem;padding:1.1rem 1.2rem;flex-wrap:wrap;}
.product-thumb{width:86px;height:86px;border-radius:16px;background:var(--orange-100);border:2px solid var(--orange-200);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;}
.product-thumb img{width:100%;height:100%;object-fit:cover;}
.product-thumb i{font-size:1.8rem;color:var(--orange-500);}
.product-card-info{flex:1;min-width:200px;}
.product-card-info h3{font-size:1.08rem;color:var(--orange-950);line-height:1.25;}
.product-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;font-size:.8rem;font-weight:800;color:var(--muted);margin:.35rem 0;}
.product-price{font-family:var(--font-display);font-weight:400;color:var(--orange-700);font-size:1.08rem;}
.product-tag{display:inline-flex;align-items:center;gap:.3rem;background:var(--orange-600);color:#fff;font-size:.66rem;font-weight:900;border-radius:999px;padding:.18rem .6rem;text-transform:uppercase;letter-spacing:.05em;line-height:1.4;}
.product-cat{display:inline-flex;align-items:center;gap:.35rem;}
.product-cat i{color:var(--orange-500);}
.product-desc{font-size:.84rem;font-weight:700;color:var(--muted);line-height:1.5;margin-top:.4rem;}
.product-card-actions{display:flex;flex-direction:column;gap:.55rem;margin-left:auto;flex:0 0 auto;}
.product-card-actions .btn{padding:.45rem .85rem;font-size:.8rem;min-height:0;}
.product-card-actions .btn-del{color:#a02a2a!important;border-color:#f4c7c7!important;}
.product-card-actions .btn-del:hover{background:#ffe1e1!important;border-color:#a02a2a!important;color:#a02a2a!important;}
.product-edit{padding:0 1.2rem 1.2rem;}
.product-edit summary{list-style:none;cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:.5rem;font-weight:900;font-size:.84rem;color:var(--orange-700);background:var(--orange-50);border:1px solid var(--orange-200);border-radius:999px;padding:.45rem .95rem;transition:all var(--fe-transition);}
.product-edit summary::-webkit-details-marker{display:none;}
.product-edit summary:hover{border-color:var(--orange-500);color:var(--orange-900);background:#fff;}
.product-edit summary .chev{margin-left:.15rem;transition:transform var(--fe-transition);font-size:.75rem;}
.product-edit[open] summary{background:var(--orange-600);border-color:var(--orange-600);color:#fff;}
.product-edit[open] summary .chev{transform:rotate(180deg);}
.product-edit-inner{margin-top:.9rem;padding-top:1.1rem;border-top:2px dashed var(--orange-100);}
.product-delete{display:flex;justify-content:flex-end;gap:.6rem;}
.product-img-upload{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.product-img-upload .img-preview{width:76px;height:76px;margin:0;flex:0 0 auto;}
.product-img-upload .img-preview i{font-size:1.7rem;color:var(--orange-400);}
.product-img-upload .settings-file-input{max-width:240px;}
.product-img-upload .delete-check{margin-top:.55rem;}
.product-add-card{background:#fff;border:2px dashed var(--orange-400);border-radius:18px;padding:1.2rem;margin-top:1.4rem;box-shadow:var(--shadow-sm);}
.product-add-card summary{list-style:none;cursor:pointer;user-select:none;display:flex;align-items:center;gap:.6rem;font-weight:900;font-size:1rem;color:var(--orange-700);}
.product-add-card summary::-webkit-details-marker{display:none;}
.product-add-card summary i.chev{margin-left:auto;transition:transform var(--fe-transition);color:var(--orange-500);}
.product-add-card[open] summary i.chev{transform:rotate(180deg);}
.product-add-card summary .add-plus{background:var(--orange-600);color:#fff;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:.85rem;}
.product-add-inner{margin-top:1.1rem;padding-top:1.1rem;border-top:2px dashed var(--orange-100);}
@media(max-width:560px){
  .product-card-actions{flex-direction:row;width:100%;margin-left:0;}
  .product-card-actions form{flex:1;}
  .product-card-actions .btn{width:100%;}
  .product-img-upload{flex-direction:column;align-items:flex-start;}
}

/* Admin orders — live process view */
.admin-stats-orders>div{position:relative;overflow:hidden;padding-left:1rem;}
.admin-stats-orders>div::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--orange-300);}
.admin-stats-orders>div.stat-total::before{background:var(--orange-600);}
.admin-stats-orders>div.stat-pending::before{background:#eab308;}
.admin-stats-orders>div.stat-confirmed::before{background:#16a34a;}
.admin-stats-orders>div.stat-preparing::before{background:#2563eb;}
.admin-stats-orders>div.stat-ready::before{background:#6d5ae0;}
.admin-stats-orders>div.stat-delivery::before{background:#9333ea;}
.admin-stats-orders>div.stat-delivered::before{background:#0f9d58;}
.admin-stats-orders>div.stat-cancelled::before{background:#d33a3a;}
.admin-stats-orders .stat-ico{display:block;color:var(--orange-300);font-size:1.05rem;margin-bottom:.15rem;}
.admin-order-tools{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:0 0 .8rem;}
.admin-order-search{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:.5rem;background:#fff;border:2px solid var(--orange-200);border-radius:12px;padding:.55rem .85rem;transition:border-color var(--fe-transition),box-shadow var(--fe-transition);}
.admin-order-search:focus-within{border-color:var(--orange-600);box-shadow:var(--fe-focus);}
.admin-order-search>span{color:var(--orange-400);font-size:.9rem;line-height:1;}
.admin-order-search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-weight:800;color:var(--ink);background:transparent;}
.admin-order-search input::placeholder{color:var(--muted);opacity:.8;}
.admin-filter-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.1rem;}
.admin-filter-tab{appearance:none;-webkit-appearance:none;border:2px solid var(--orange-200);background:#fff;color:var(--orange-800);font:inherit;font-weight:900;font-size:.78rem;border-radius:999px;padding:.42rem .85rem;cursor:pointer;transition:all var(--fe-transition);}
.admin-filter-tab:hover{border-color:var(--orange-500);color:var(--orange-700);}
.admin-filter-tab.active{background:var(--orange-600);border-color:var(--orange-600);color:#fff;}
.admin-filter-tab span{opacity:.72;font-weight:800;margin-left:.25rem;}
.admin-filter-tab.active span{opacity:.9;}
.live-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;display:inline-block;animation:pulse-dot 1.2s ease-in-out infinite;}
.admin-order-card{border-top:4px solid var(--orange-200);}
.admin-order-card.status-pending{border-top-color:#eab308;}
.admin-order-card.status-confirmed{border-top-color:#16a34a;}
.admin-order-card.status-preparing{border-top-color:#2563eb;}
.admin-order-card.status-ready{border-top-color:#6d5ae0;}
.admin-order-card.status-delivery{border-top-color:#9333ea;}
.admin-order-card.status-delivered{border-top-color:#0f9d58;}
.admin-order-card.status-cancelled{border-top-color:#d33a3a;}
.admin-order-card .order-card-head h2 a{color:var(--orange-950);text-decoration:none;}
.admin-order-card .order-card-head h2 a:hover{color:var(--orange-600);}
.admin-order-card .order-card-head p a{color:var(--orange-700);text-decoration:none;}
.admin-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;}
.admin-card-actions .order-status-pill{font-size:.78rem;padding:.4rem .8rem;display:inline-flex;align-items:center;gap:.35rem;}
.status-form .btn{min-height:38px;padding:.5rem .9rem;}
.admin-order-address{color:var(--muted);font-weight:700;font-size:.84rem;margin:.85rem 0 .4rem;line-height:1.5;}
.admin-order-address i{color:var(--orange-500);}
.admin-order-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-top:.8rem;padding-top:.7rem;border-top:2px dashed var(--orange-100);}
.admin-order-meta{display:flex;flex-wrap:wrap;gap:.45rem 1.1rem;font-size:.8rem;font-weight:800;color:var(--muted);}
.admin-order-meta span{display:inline-flex;align-items:center;gap:.35rem;}
.admin-order-meta i{color:var(--orange-500);}
.admin-order-total{display:flex;flex-direction:column;align-items:flex-end;font-size:.72rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.admin-order-total strong{font-family:var(--font-display);font-weight:400;text-transform:none;letter-spacing:0;font-size:1.35rem;color:var(--orange-700);line-height:1.1;}
@media(max-width:520px){.admin-card-actions{width:100%;align-items:stretch;}.admin-order-total{align-items:flex-start;}}

/* Multi-vendor: modal popup, notices, cart/checkout shop grouping */
.modal-overlay{position:fixed;inset:0;background:rgba(45,20,5,.5);z-index:1000;display:grid;place-items:center;padding:1rem;opacity:0;visibility:hidden;transition:.25s;}
.modal-overlay.show{opacity:1;visibility:visible;}
.modal-box{width:min(480px,100%);background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.3);padding:1.5rem;transform:translateY(14px);transition:.25s;}
.modal-overlay.show .modal-box{transform:translateY(0);}
.modal-title{font-size:1.15rem;margin:0 0 .7rem;color:var(--orange-900);}
.modal-title i{margin-right:.4rem;}
.modal-body p{font-weight:700;color:var(--ink);margin:0 0 .7rem;}
.modal-body ul{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.45rem;}
.modal-body ul li{display:flex;gap:.5rem;align-items:center;font-weight:800;color:var(--ink);background:var(--orange-50);border:1px solid var(--orange-200);border-radius:12px;padding:.65rem .85rem;}
.modal-body ul li i{color:var(--orange-600);}
.modal-actions{display:flex;justify-content:flex-end;margin-top:1rem;}
.vendor-note{display:flex;gap:.55rem;align-items:flex-start;background:#fff4e5;border:1px solid var(--orange-300);border-left:5px solid var(--orange-600);border-radius:12px;padding:.75rem .9rem;margin-bottom:1rem;font-weight:700;color:#6b3a00;font-size:.86rem;line-height:1.45;}
.cart-eta-note{display:flex;flex-wrap:wrap;gap:.5rem;row-gap:.15rem;align-items:center;background:#fff4e5;border:1px solid var(--orange-300);border-radius:12px;padding:.6rem .8rem;margin-bottom:.7rem;font-size:.78rem;font-weight:800;color:#6b3a00;line-height:1.4;}
.cart-eta-note i{flex-shrink:0;color:var(--orange-600);}
.cart-shop{display:flex;gap:.4rem;align-items:center;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--orange-700);margin:1rem 0 .35rem;padding-bottom:.25rem;border-bottom:2px solid var(--orange-100);}
.cart-shop:first-of-type{margin-top:0;}
.checkout-shop{display:flex;gap:.4rem;align-items:center;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--orange-700);margin:1rem 0 .3rem;padding-bottom:.25rem;border-bottom:2px solid var(--orange-100);}
.checkout-shop:first-of-type{margin-top:0;}

/* Profile & KYC */
.avatar{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
.profile-page{padding:3rem 1.25rem 5rem;}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;align-items:start;}
.profile-card{background:#fff;border:1px solid var(--orange-100);border-radius:20px;padding:1.5rem;box-shadow:var(--shadow-sm);}
.profile-card h2{font-family:var(--font-display);font-weight:400;margin-bottom:1rem;color:var(--orange-900);}
.profile-card label{display:block;font-weight:800;margin-bottom:1rem;color:var(--ink);}
.profile-card input,.profile-card select,.profile-card textarea{display:block;width:100%;margin-top:.4rem;border:2px solid var(--orange-200);border-radius:10px;padding:.75rem;font:inherit;background:#fff;}
.profile-card input:focus,.profile-card select:focus,.profile-card textarea:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(231,102,8,.15);}
.profile-card .btn{margin-top:.6rem;}
.profile-card-wide{grid-column:1/-1;}
.avatar-upload{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center;}
.avatar-preview{width:108px;height:108px;border-radius:50%;background:var(--orange-600);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:2rem;background-size:cover;background-position:center;flex-shrink:0;overflow:hidden;border:3px solid var(--orange-200);}
.kyc-gate-banner{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;background:#fff4e5;border:1px solid var(--orange-300);border-left:5px solid var(--orange-600);border-radius:14px;padding:.9rem 1.1rem;margin:0 0 1.5rem;font-weight:700;color:#6b3a00;font-size:.9rem;line-height:1.5;}
.kyc-gate-banner i{color:var(--orange-600);font-size:1.2rem;}
.kyc-gate-banner .btn{margin-left:auto;}
.kyc-gate-banner.is-rejected{border-left-color:#c93a3a;background:#fdecec;color:#8a2020;}
.kyc-gate-banner.is-rejected i{color:#c93a3a;}
.kyc-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1rem;}
.kyc-ok-note{color:#1e7d3c;font-weight:800;font-size:.86rem;display:flex;gap:.4rem;align-items:center;}
.kyc-reject-note{color:#a02a2a;font-weight:800;font-size:.86rem;display:flex;gap:.4rem;align-items:flex-start;}
.kyc-checks{display:grid;gap:.5rem;margin:0 0 1.2rem;}
.kyc-check{display:flex;gap:.55rem;align-items:center;font-weight:800;color:var(--muted);font-size:.86rem;background:var(--orange-50);border:1px solid var(--orange-100);border-radius:10px;padding:.6rem .8rem;}
.kyc-check i{color:var(--orange-500);}
.kyc-check.done{color:#1e7d3c;border-color:#bfe8cd;background:#f0faf3;}
.kyc-check.done i{color:#1e7d3c;}
.kyc-sub{font-size:.95rem;margin:1.2rem 0 .6rem;color:var(--orange-900);}
.kyc-doc-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.55rem;}
.kyc-doc-list li{display:flex;align-items:center;gap:.6rem;background:var(--orange-50);border:1px solid var(--orange-200);border-radius:12px;padding:.6rem .8rem;}
.kyc-doc-ico{color:var(--orange-600);font-size:1.15rem;flex-shrink:0;}
.kyc-doc-name{flex:1;font-weight:800;font-size:.86rem;color:var(--ink);min-width:0;}
.kyc-doc-name small{display:block;color:var(--muted);font-size:.7rem;font-weight:700;}
.kyc-doc-row{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;margin-bottom:.6rem;}
.kyc-doc-row select,.kyc-doc-row input{width:100%;margin:0;}
@media(max-width:520px){.kyc-doc-row{grid-template-columns:1fr;}}
/* KYC status pills (reuse .order-status-pill) */
.order-status-pill.kyc-none{background:#eef0f3;color:#5a6472;border-color:#dfe3ea;}
.order-status-pill.kyc-pending{background:#fff4e0;color:#a15c00;border-color:#f5d791;}
.order-status-pill.kyc-approved{background:#e4f6ea;color:#1e7d3c;border-color:#bfe8cd;}
.order-status-pill.kyc-rejected{background:#fdecec;color:#a02a2a;border-color:#f4c7c7;}

/* Admin KYC */
.admin-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.4rem;}
.admin-tab{padding:.5rem 1rem;border-radius:999px;border:2px solid var(--orange-200);background:#fff;color:var(--orange-800);font-weight:800;font-size:.8rem;text-decoration:none!important;transition:.2s;}
.admin-tab:hover{border-color:var(--orange-400);}
.admin-tab.active{background:var(--orange-600);border-color:var(--orange-600);color:#fff;}
.admin-kyc-card{display:flex;flex-direction:column;}
.kyc-card-head{display:flex;gap:.9rem;align-items:center;margin-bottom:.9rem;}
.kyc-card-head h3{margin:0 0 .25rem;}
.kyc-card-head .avatar-preview{width:64px;height:64px;font-size:1.3rem;border-width:2px;}
.kyc-meta{display:grid;gap:.35rem;margin-bottom:.8rem;}
.kyc-meta p{font-size:.82rem;font-weight:700;color:var(--muted);display:flex;gap:.45rem;align-items:flex-start;word-break:break-word;}
.kyc-meta p i{color:var(--orange-500);margin-top:.1rem;}
.kyc-actions{margin-top:auto;display:grid;gap:.6rem;padding-top:.6rem;border-top:1px dashed var(--orange-200);}
.kyc-actions textarea{width:100%;border:2px solid var(--orange-200);border-radius:10px;padding:.6rem;font:inherit;font-size:.85rem;resize:vertical;min-height:54px;background:#fff;}
.kyc-actions .btn{margin:0;}

/* Lightbox overlay for viewing documents & profile photos */
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(15,8,3,.88);display:grid;place-items:center;align-content:center;gap:.7rem;padding:1.2rem;opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s;}
.lightbox.show{opacity:1;visibility:visible;}
.lightbox-stage{max-width:min(94vw,1100px);max-height:86vh;background:#fff;border-radius:16px;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:lb-pop .22s ease;}
@keyframes lb-pop{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}
.lightbox-cell{display:grid;place-items:center;min-height:100%;}
.lightbox-img{display:block;max-width:100%;max-height:84vh;width:auto;height:auto;margin:auto;}
.lightbox-frame{width:min(94vw,1100px);height:84vh;border:0;display:block;border-radius:16px;background:#fff;}
.lightbox-caption{color:#ffe8d0;text-align:center;margin:0;font-weight:800;font-size:.85rem;letter-spacing:.02em;text-shadow:0 1px 4px rgba(0,0,0,.4);}
.lightbox-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:#7a3400;font-size:1.15rem;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35);display:grid;place-items:center;transition:.15s;z-index:5;}
.lightbox-close:hover{background:var(--orange-600);color:#fff;transform:rotate(90deg);}
.lightbox-open{overflow:hidden;}
.avatar-preview[data-lightbox]{cursor:zoom-in;}
@media(max-width:640px){.lightbox-stage{max-width:96vw;}.lightbox-frame{width:96vw;}}

/* Location banner + maps */
.loc-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1200;display:flex;align-items:center;gap:.8rem;background:#fff;border:2px solid var(--orange-200);border-radius:16px;padding:.75rem 1rem;box-shadow:0 18px 50px rgba(31,17,6,.25);animation:loc-slide .35s ease;}
@keyframes loc-slide{from{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}
.loc-banner-ico{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--orange-100);color:var(--orange-700);display:grid;place-items:center;font-size:1.05rem;}
.loc-banner-body{flex:1 1 auto;min-width:0;}
.loc-banner-body strong{display:block;font-size:.92rem;}
.loc-banner-body span{display:block;font-size:.8rem;color:var(--text-muted);margin-top:2px;}
.loc-banner-body span a{color:var(--orange-700);font-weight:800;}
.loc-banner .btn{flex:0 0 auto;white-space:nowrap;}
.loc-banner-close{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:50%;background:var(--orange-50);color:var(--orange-800);cursor:pointer;font-size:.9rem;display:grid;place-items:center;}
.loc-banner-close:hover{background:var(--orange-100);}
@media(min-width:641px){.loc-banner{left:auto;right:20px;bottom:20px;width:400px;}}
.loc-map{width:100%;height:300px;border-radius:14px;border:2px solid var(--orange-200);overflow:hidden;margin:.5rem 0 .7rem;z-index:0;}
.loc-map .leaflet-control-attribution{font-size:9px;}
.map-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 .6rem;}
.co-location{background:var(--orange-50);border:2px dashed var(--orange-200);border-radius:14px;padding:.8rem;margin:.4rem 0 .9rem;}
.co-location-title{font-weight:800;font-size:.88rem;margin:0 0 .4rem;}
.rider-map{width:100%;height:200px;border-radius:12px;border:2px solid var(--orange-200);overflow:hidden;margin:.6rem 0 .5rem;z-index:0;}
.leaflet-container{font:inherit;}

/* === Admin Categories (WordPress-style) === */
.wp-cat-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start;}
.wp-cat-main{min-width:0;}
.wp-cat-search{width:100%;max-width:280px;padding:.6rem .95rem;border:1px solid var(--orange-200);border-radius:999px;font:inherit;font-size:.9rem;background:#fff;}
.wp-cat-search:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(231,102,8,.15);}
.wp-cat-list{border:1px solid var(--orange-100);border-radius:12px;overflow:hidden;}
.wp-cat-group+.wp-cat-group{border-top:2px solid var(--orange-100);}
.wp-cat-group-title{margin:0;padding:.75rem 1rem;background:var(--orange-50);font-size:.95rem;color:var(--orange-800);display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);}
.wp-cat-group-count{background:#fff;color:var(--orange-700);font-size:.72rem;font-weight:900;padding:.15rem .55rem;border-radius:999px;}
.wp-cat-row{position:relative;}
.wp-cat-row+.wp-cat-row{border-top:1px solid var(--orange-100);}
.wp-cat-item{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;transition:background .15s;}
.wp-cat-item:hover{background:#fff8f0;}
.wp-cat-indent{display:flex;align-items:center;gap:.6rem;flex:1 1 auto;min-width:0;}
.wp-cat-name{font-weight:800;color:#3a2415;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wp-cat-name-wrap{display:flex;flex-direction:column;min-width:0;}
.wp-cat-name-wrap .wp-cat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wp-cat-subpath{font-size:.66rem;font-weight:800;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wp-cat-level-badge{flex:0 0 auto;display:inline-flex;align-items:center;font-size:.6rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:.24rem .55rem;border-radius:999px;white-space:nowrap;}
.wp-cat-level-badge.is-top{background:#e5f4e8;color:#1e7a3c;}
.wp-cat-level-badge.is-sub{background:#fff1dd;color:#a85b00;}
.cat-icon-chip{flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:#fff;border:1px solid var(--orange-200);display:grid;place-items:center;color:var(--orange-700);font-size:.85rem;}
.cat-icon-chip img{width:100%;height:100%;object-fit:cover;border-radius:7px;display:block;}
.wp-cat-meta{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;}
.wp-cat-actions{flex:0 0 auto;display:flex;align-items:center;gap:.2rem;}
.wp-cat-act{border:0;background:transparent;color:var(--orange-700);font-weight:800;font-size:.8rem;cursor:pointer;padding:.35rem .6rem;border-radius:8px;font-family:inherit;}
.wp-cat-act:hover{background:var(--orange-100);}
.wp-cat-del-inline{display:inline-flex;margin:0;}
.wp-cat-del-inline .wp-cat-act{color:#c93a3a;}
.wp-cat-del-inline .wp-cat-act:hover{background:#fdecec;}
.wp-cat-move{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;margin-right:.35rem;}
.wp-cat-move-form{display:inline-flex;margin:0;}
.wp-cat-move-btn{border:1px solid var(--orange-200);background:#fff;color:var(--orange-700);width:26px;height:19px;border-radius:6px;font-size:.6rem;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;}
.wp-cat-move-btn:hover:not([disabled]){background:var(--orange-100);}
.wp-cat-move-btn[disabled]{opacity:.3;cursor:not-allowed;}
.wp-cat-quick-edit{display:none;background:#fffbf5;border-top:1px dashed var(--orange-300);padding:1rem 1rem 1rem 2.5rem;margin:0;}
.wp-cat-quick-edit label{display:block;font-size:.72rem;font-weight:800;color:var(--muted);margin:.55rem 0 .25rem;text-transform:uppercase;letter-spacing:.05em;}
.wp-cat-quick-edit input,.wp-cat-quick-edit select{width:100%;padding:.55rem;border:1px solid var(--orange-200);border-radius:8px;font:inherit;font-size:.9rem;background:#fff;}
.wp-cat-edit-actions{display:flex;gap:.6rem;margin-top:.9rem;}
.wp-cat-icon-wrap{display:flex;align-items:center;gap:.6rem;}
.wp-cat-icon-wrap select{flex:1 1 auto;}
.wp-cat-img-field{margin-top:.35rem;}
.wp-cat-img-hidden{display:none;}
.wp-cat-none{color:var(--muted);padding:.8rem 1rem;font-size:.9rem;}
.wp-cat-empty{padding:1rem;color:var(--muted);text-align:center;font-weight:700;}
.wp-cat-side{position:sticky;top:1rem;}
.wp-cat-side .admin-section{margin-bottom:0;}
.wp-cat-side h2{margin-top:0;}
.wp-cat-side label{display:block;font-size:.75rem;font-weight:800;color:var(--muted);margin:.8rem 0 .3rem;text-transform:uppercase;letter-spacing:.05em;}
.wp-cat-side input,.wp-cat-side select{width:100%;padding:.6rem;border:1px solid var(--orange-200);border-radius:8px;font:inherit;font-size:.9rem;background:#fff;}
.wp-cat-side input:focus,.wp-cat-side select:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(231,102,8,.15);}
@media(max-width:900px){.wp-cat-layout{grid-template-columns:1fr;}.wp-cat-side{position:static;}.wp-cat-item{flex-wrap:wrap;}.wp-cat-meta{order:3;width:100%;}.wp-cat-quick-edit{padding-left:1rem;}}

/* === Admin Menu Items (product manager) === */
.pm-toolbar{display:flex;gap:.75rem;align-items:center;margin:0 0 1rem;flex-wrap:wrap;}
.pm-toolbar .pm-search{max-width:320px;}
.pm-add-panel{background:#fff;border:2px dashed var(--orange-400);border-radius:14px;padding:1.2rem 1.3rem;margin-bottom:1.5rem;display:none;}
.pm-add-title{margin:0 0 .4rem;font-family:var(--font-display);color:var(--orange-900);}
.pm-add-panel label{display:block;font-size:.75rem;font-weight:800;color:var(--muted);margin:.7rem 0 .3rem;text-transform:uppercase;letter-spacing:.05em;}
.pm-add-panel input,.pm-add-panel select,.pm-add-panel textarea{width:100%;padding:.6rem;border:1px solid var(--orange-200);border-radius:8px;font:inherit;font-size:.9rem;background:#fff;}
.pm-add-panel input:focus,.pm-add-panel select:focus,.pm-add-panel textarea:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(231,102,8,.15);}
.pm-add-panel textarea{min-height:70px;resize:vertical;}
.pm-add-actions{display:flex;gap:.6rem;margin-top:1rem;}
.pm-list{border:1px solid var(--orange-100);border-radius:12px;overflow:hidden;background:#fff;}
.pm-row+.pm-row{border-top:1px solid var(--orange-100);}
.pm-item{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;transition:background .15s;}
.pm-item:hover{background:#fff8f0;}
.pm-thumb{flex:0 0 auto;width:52px;height:52px;border-radius:10px;overflow:hidden;background:var(--orange-50);border:1px solid var(--orange-200);display:grid;place-items:center;}
.pm-avatar{background-size:cover;background-position:center;font-size:.9rem;font-weight:800;color:var(--orange-700);}
.pm-thumb img{width:100%;height:100%;object-fit:cover;}
.pm-thumb-empty{color:var(--orange-500);font-size:1.25rem;}
.pm-body{flex:1 1 auto;min-width:0;}
.pm-name{display:block;font-weight:900;color:#3a2415;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pm-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pm-price{flex:0 0 auto;font-weight:900;color:var(--orange-800);white-space:nowrap;}
.pm-unit{font-weight:700;color:var(--muted);font-size:.78rem;}
.pm-tag{display:inline-block;background:var(--orange-100);color:var(--orange-800);font-size:.68rem;font-weight:800;padding:.15rem .5rem;border-radius:999px;margin-left:.5rem;}
.pm-actions{flex:0 0 auto;display:flex;align-items:center;gap:.2rem;}
.pm-act{border:0;background:transparent;color:var(--orange-700);font-weight:800;font-size:.8rem;cursor:pointer;padding:.35rem .6rem;border-radius:8px;font-family:inherit;}
.pm-act:hover{background:var(--orange-100);}
.pm-del-inline{display:inline-flex;margin:0;}
.pm-del-inline .pm-act{color:#c93a3a;}
.pm-del-inline .pm-act:hover{background:#fdecec;}
.pm-quick-edit{display:none;background:#fffbf5;border-top:1px dashed var(--orange-300);padding:1rem;margin:0;}
.pm-quick-edit label{display:block;font-size:.72rem;font-weight:800;color:var(--muted);margin:.55rem 0 .25rem;text-transform:uppercase;letter-spacing:.05em;}
.pm-quick-edit input,.pm-quick-edit select,.pm-quick-edit textarea{width:100%;padding:.55rem;border:1px solid var(--orange-200);border-radius:8px;font:inherit;font-size:.9rem;background:#fff;}
.pm-quick-edit input:focus,.pm-quick-edit select:focus,.pm-quick-edit textarea:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(231,102,8,.15);}
.pm-quick-edit textarea{min-height:64px;resize:vertical;}
.pm-edit-actions{display:flex;gap:.6rem;margin-top:.9rem;}
.pm-img-field{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;}
.pm-img-preview{width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--orange-200);background:var(--orange-50);flex:0 0 auto;}
.pm-img-preview img{width:100%;height:100%;object-fit:cover;}
.pm-img-field input[type="file"]{flex:1 1 180px;}
.pm-remove-img{color:#c93a3a!important;text-transform:none!important;letter-spacing:0!important;display:flex!important;align-items:center;gap:.4rem;margin-top:.5rem!important;cursor:pointer;font-size:.8rem;}
.pm-remove-img input{width:auto!important;accent-color:#c93a3a;}
.pm-empty{padding:1.2rem;color:var(--muted);text-align:center;font-weight:700;background:#fff;border:1px dashed var(--orange-200);border-radius:12px;}
/* === Admin product variants === */
.pm-variants{margin-top:1rem;padding:1rem 1.1rem;background:var(--orange-50);border:1px dashed var(--orange-300);border-radius:12px;}
.pm-variant-toggle{display:flex!important;align-items:flex-start!important;gap:.6rem!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-size:.85rem!important;margin:0!important;}
.pm-variant-toggle input{width:auto!important;accent-color:var(--orange-500);margin-top:.15rem;}
.pm-variant-toggle span{font-weight:800;color:var(--orange-900);display:flex;align-items:center;gap:.4rem;}
.pm-variant-toggle small{display:block;font-weight:600;color:var(--muted);margin-top:.15rem;}
.pv-list{margin-top:.9rem;}
.pv-row{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--orange-200);border-radius:10px;padding:.55rem .65rem;margin-bottom:.5rem;}
.pv-fields{flex:1;display:flex;gap:.5rem;flex-wrap:wrap;}
.pv-fields input{width:100%;padding:.5rem;border:1px solid var(--orange-200);border-radius:8px;font:inherit;font-size:.88rem;background:#fff;}
.pv-fields .pv-label{flex:1 1 140px;}
.pv-fields .pv-price{flex:0 1 110px;}
.pv-fields .pv-info{flex:1 1 160px;}
.pv-tools{flex:0 0 auto;display:flex;align-items:center;gap:.2rem;}
.pv-default{display:flex!important;align-items:center!important;gap:.3rem!important;font-size:.72rem!important;font-weight:800!important;color:var(--muted)!important;text-transform:none!important;letter-spacing:0!important;margin:0!important;cursor:pointer;white-space:nowrap;}
.pv-default input{width:auto!important;accent-color:var(--orange-500);}
.pv-img{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;min-width:0;}
.pv-img-preview{width:56px;height:56px;flex:0 0 56px;border:1px solid var(--orange-200);border-radius:8px;overflow:hidden;display:grid;place-items:center;background:#fff;}
.pv-img-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.pv-img-preview.pv-img-empty{background:#fff8f0;color:var(--orange-300);font-size:1.15rem;}
.pv-img-controls{display:flex;flex-direction:column;gap:.28rem;min-width:0;}
.pv-image-input{font-size:.74rem;max-width:190px;width:100%;}
.pv-existing-image{display:none;}
.pv-remove-img{display:flex!important;align-items:center!important;gap:.28rem!important;font-size:.68rem!important;font-weight:800!important;color:var(--muted)!important;text-transform:none!important;letter-spacing:0!important;margin:0!important;cursor:pointer;white-space:nowrap;}
.pv-remove-img input{width:auto!important;accent-color:#c93a3a;}
@media(max-width:640px){.pv-row{flex-direction:column;align-items:stretch;}.pv-tools{justify-content:flex-end;}.pv-img{width:100%;}.pv-image-input{max-width:none;}}
.product-media img{transition:opacity .22s ease, transform .22s ease;}
.vp-variant{font-style:normal;color:var(--muted);font-weight:700;font-size:.78em;}
@media(max-width:640px){.pm-item{flex-wrap:wrap;}.pm-price{order:3;width:100%;}}

/* === Product variant picker === */
.variant-picker{margin-top:1.3rem;}
.variant-label{display:flex;align-items:center;gap:.45rem;font-weight:800;color:var(--orange-900);font-size:.9rem;margin-bottom:.6rem;}
.variant-label i{color:var(--orange-500);}
.variant-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem;}
.variant-option{position:relative;display:block;cursor:pointer;}
.variant-option input{position:absolute;opacity:0;pointer-events:none;}
.variant-option-body{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .85rem;border:1.5px solid var(--orange-200);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s;}
.variant-option:hover .variant-option-body{border-color:var(--orange-400);}
.variant-option input:checked + .variant-option-body{border-color:var(--orange-500);background:var(--orange-50);box-shadow:0 0 0 1px var(--orange-500) inset;}
.variant-option-label{font-weight:800;color:var(--ink);font-size:.9rem;}
.variant-option-price{font-weight:800;color:var(--orange-600);font-size:.88rem;}
.variant-option-price small{font-size:.72em;color:var(--muted);}
.variant-option-info{font-size:.76rem;color:var(--muted);line-height:1.35;}
@media(max-width:420px){.variant-options{grid-template-columns:1fr 1fr;}}

/* === Admin Stores & Vendors === */
.store-kind-badge{display:inline-block;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:.28rem .6rem;border-radius:999px;margin-left:.55rem;vertical-align:middle;}
.store-kind-hotel{background:#fff3d6;color:#9a6b00;}
.store-kind-mart{background:#e3f4e8;color:#19733a;}
.store-kind-other{background:#e9e7ff;color:#4c3db8;}
.store-kind-beverage{background:#e0f2fe;color:#0369a1;}
.pm-vendor-row{font-weight:800;}
.pm-user-meta{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;align-items:flex-end;font-size:.78rem;color:var(--muted);white-space:nowrap;}
.pm-user-meta span{display:block;}
@media(max-width:640px){.pm-user-meta{order:4;width:100%;align-items:flex-start;margin-top:6px;}}
.store-vendor-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:900;padding:.3rem .7rem;border-radius:999px;background:#eef0f3;color:#5a6472;border:1px solid #dfe3ea;white-space:nowrap;}
.store-vendor-pill.is-active{background:#e4f6ea;color:#1e7d3c;border-color:#bfe8cd;}
.store-vendor-pill i{font-size:.75rem;}
.pm-vendor-block{margin-top:1rem;padding:1rem 1.1rem;background:var(--orange-50);border:1px dashed var(--orange-300);border-radius:12px;}
.pm-vendor-title{margin:0 0 .2rem;font-family:var(--font-display);color:var(--orange-900);font-size:1rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;}
.pm-vendor-title .small-note{margin-left:auto;font-size:.75rem;font-weight:700;color:var(--muted);}
.pm-vendor-title code{background:var(--orange-100);padding:.1rem .45rem;border-radius:6px;color:var(--orange-800);font-size:.75rem;}
.pm-add-panel .pm-vendor-title .small-note{margin-left:0;}
.pm-status-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:900;padding:.3rem .7rem;border-radius:999px;background:#eef0f3;color:#5a6472;border:1px solid #dfe3ea;white-space:nowrap;}
.pm-status-pill.is-active{background:#e4f6ea;color:#1e7d3c;border-color:#bfe8cd;}
.pm-status-pill i{font-size:.75rem;}

/* ==========================================================
   ADMIN SETTINGS — enhanced UI/UX (tabs, live previews, etc.)
   ========================================================== */
.settings-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap;position:sticky;top:64px;z-index:45;background:rgba(250,243,235,.9);backdrop-filter:blur(8px);padding:.45rem;border-radius:14px}
.settings-tabs .admin-tab{display:inline-flex;align-items:center;gap:.4rem;font-family:inherit;cursor:pointer;margin:0}
.settings-tabs .admin-tab i{font-size:.95rem}
@media(max-width:560px){.settings-tabs{position:static}}
body.settings-js .settings-pane{display:none}
body.settings-js .settings-pane.active{display:block;animation:fadeUp .35s ease}
.settings-section-title{display:flex;align-items:center;gap:.55rem;margin:0;font-family:var(--font-display);font-weight:400;color:var(--orange-900);font-size:1.3rem}
.settings-section-title i{color:var(--orange-600)}
.settings-pane .admin-section-top .section-sub{margin-top:.3rem}
.settings-card h3 i{color:var(--orange-600)}
.settings-preview{position:relative;width:130px;height:130px;display:grid;place-items:center;background:linear-gradient(135deg,#fff 0%,#fdf5ec 100%);border:2px solid var(--orange-200);border-radius:14px;margin:0 0 .8rem;overflow:hidden;padding:8px;transition:border-color .2s,box-shadow .2s}
.settings-preview:hover{border-color:var(--orange-400);box-shadow:var(--shadow-sm)}
.settings-preview img{max-width:100%;max-height:100%;object-fit:contain}
.settings-preview.preview-sm{width:72px;height:72px;border-radius:16px}
.settings-preview.preview-placeholder{background:repeating-linear-gradient(45deg,#fffdfa 0,#fffdfa 10px,#fdf5ec 10px,#fdf5ec 20px);border-style:dashed}
.settings-preview.preview-placeholder img{display:none}
.settings-preview .preview-empty{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--muted);font-size:.68rem;font-weight:800;text-align:center;padding:.4rem}
.settings-preview.preview-placeholder .preview-empty{display:flex}
.settings-preview .preview-empty i{font-size:1.7rem;color:var(--orange-300)}
.admin-card .settings-file-input{color:var(--muted);cursor:pointer;background:#fffbf5;border:2px dashed var(--orange-300);padding:.55rem .65rem;border-radius:10px;font-size:.85rem;transition:border-color .2s,background .2s}
.admin-card .settings-file-input:hover{border-color:var(--orange-500);background:#fff}
.admin-card .settings-file-input:focus{outline:none;border-color:var(--orange-500);box-shadow:0 0 0 3px rgba(231,102,8,.15)}
.admin-card .settings-file-input::-webkit-file-upload-button{background:var(--orange-600);color:#fff;border:0;border-radius:8px;padding:.5rem .85rem;font-weight:800;font-family:inherit;margin-right:.6rem;cursor:pointer}
.admin-card .settings-file-input::file-selector-button{background:var(--orange-600);color:#fff;border:0;border-radius:8px;padding:.5rem .85rem;font-weight:800;font-family:inherit;margin-right:.6rem;cursor:pointer}
.password-wrap{position:relative}
.password-wrap input{padding-right:3.1rem}
.password-toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-size:.95rem;transition:background .2s,color .2s}
.password-toggle:hover{background:var(--orange-100);color:var(--orange-700)}
.password-strength{display:block;margin-top:.4rem;font-size:.72rem;font-weight:800;color:var(--muted)}
.password-strength.s1,.password-strength.s0{color:#c93a3a}
.password-strength.s2{color:#a86b00}
.password-strength.s3{color:#2f7d46}
.password-strength.s4{color:#166534}
.password-mismatch{border-color:#c93a3a!important;box-shadow:0 0 0 3px rgba(201,58,58,.15)!important}
.password-match-note{margin-top:.4rem;min-height:1.05em}
.settings-number-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;margin:.7rem 0 .3rem}
.settings-number-row label{display:block;margin:0;font-size:.7rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.settings-number-row input{margin-top:.3rem}

/* ==========================================================
   MOBILE APP — search-only header + floating bottom navigation
   Injected/added on every customer page; desktop (>=961px) is
   completely untouched. The bar is hidden on desktop by default.
   ========================================================== */
.bottom-nav{display:none;}

@media (max-width:960px){
  /* ---- Mobile header: keep ONLY the search bar + notification bell ---- */
  .topbar .brand,
  .topbar .nav-toggle,
  .topbar .nav-links{display:none !important;}
  .topbar .nav{flex-wrap:nowrap;gap:.55rem;padding:.55rem .8rem;}
  .topbar .nav-search{flex:1 1 100%;max-width:none;order:0;padding:.3rem .55rem .3rem 1rem;}
  .topbar .nav-search input{font-size:.98rem;padding:.25rem .2rem;}
  .topbar .nav-search .search-ico{font-size:1rem;}
  .topbar .nav #notifyBell{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin-left:0;}
  .topbar .nav #notifyBell button{flex:0 0 auto;}
  .topbar .back-link.top-back-link{display:inline-flex;}
  main .back-link{display:none !important;}

  /* ---- Cart FAB is replaced by the bottom-nav Cart tab on mobile ---- */
  .cart-fab{display:none !important;}

  .product-wrap{padding-top:0;}

  /* ---- Floating bottom navigation ---- */
  .bottom-nav{
    display:flex;
    position:fixed;
    left:10px;right:10px;
    bottom:calc(env(safe-area-inset-bottom,0px) + 10px);
    z-index:95;
    background:#fff;
    border:1px solid var(--orange-100);
    border-radius:22px;
    box-shadow:0 12px 32px rgba(90,40,10,.22),0 2px 8px rgba(90,40,10,.08);
    padding:6px 4px;
    align-items:stretch;
  }
  .bn-item{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:58px;
    padding:.3rem .15rem;
    border:0;
    border-radius:16px;
    background:transparent;
    color:var(--muted);
    text-decoration:none;
    font:inherit;
    font-weight:800;
    font-size:.62rem;
    letter-spacing:.02em;
    text-transform:uppercase;
    line-height:1.1;
    cursor:pointer;
    position:relative;
    -webkit-tap-highlight-color:transparent;
    transition:color .2s ease,background .2s ease,transform .15s ease;
  }
  .bn-ico{
    position:relative;
    display:grid;
    place-items:center;
    width:44px;
    height:30px;
    border-radius:999px;
    font-size:1.08rem;
    line-height:1;
    transition:background .2s ease,color .2s ease;
  }
  .bn-item:hover{color:var(--orange-700);}
  .bn-item:active{transform:scale(.95);}
  .bn-item.active{color:var(--orange-700);}
  .bn-item.active .bn-ico{background:var(--orange-100);color:var(--orange-600);}
  .bn-count{
    position:absolute;
    top:-4px;right:-2px;
    min-width:18px;height:18px;
    padding:0 4px;
    border-radius:999px;
    background:var(--orange-600);
    color:#fff;
    font-size:.64rem;
    font-weight:900;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
    box-shadow:0 2px 6px rgba(166,80,7,.35);
  }
  .bn-count:empty{display:none;}

  /* ---- Scroll-aware nav: slides away scrolling down, returns on scroll up ---- */
  .bottom-nav{transition:transform .28s ease,opacity .28s ease;will-change:transform;}
  .bottom-nav.bn-hidden{transform:translateY(140%);opacity:0;pointer-events:none;}

  /* ---- Lift transient overlays above the bottom nav ---- */
  .toast{bottom:calc(env(safe-area-inset-bottom,0px) + 100px) !important;}
  .loc-banner{bottom:calc(env(safe-area-inset-bottom,0px) + 100px) !important;}
}

/* ---- Profile page: desktop has Log Out in the header dropdown, so the
   red button at the end of the page is for phones only ---- */
.profile-mobile-logout{display:none;}
@media (min-width:961px){
  .profile-mobile-logout{display:none !important;}
}
@media (max-width:960px){
  .profile-mobile-logout{display:inline-flex;}
}

/* ==========================================================
   CATEGORIES PAGE — grouped category cards (mobile-first)
   ========================================================== */
.cat-section+.cat-section{margin-top:2.6rem;}
.cat-section-head{display:flex;align-items:center;gap:.65rem;margin-bottom:1.05rem;}
.cat-section-ico{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:13px;background:var(--orange-100);color:var(--orange-600);font-size:1.1rem;}
.cat-section-head h2{font-family:var(--font-display);font-weight:400;font-size:1.35rem;color:var(--orange-900);margin:0;flex:1;}
.cat-section-desc{color:var(--muted);font-weight:700;font-size:.88rem;margin:-.45rem 0 1.1rem;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;}
.cat-card{background:#fff;border:1px solid var(--orange-100);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;}
.cat-card-main{display:flex;align-items:center;gap:.75rem;padding:1rem 1.05rem;text-decoration:none !important;color:var(--ink);transition:background .2s ease;}
.cat-card-main:hover{background:var(--orange-50);}
.cat-card-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:13px;background:var(--orange-100);color:var(--orange-600);font-size:1.2rem;}
.cat-card-main strong{font-weight:900;font-size:.95rem;line-height:1.25;flex:1;min-width:0;}
.cat-card-arrow{color:var(--orange-300);font-size:.8rem;flex:0 0 auto;}
.cat-card-children{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.05rem 1rem;}
.cat-pill{display:inline-flex;align-items:center;padding:.34rem .75rem;border-radius:999px;border:1.5px solid var(--orange-200);background:#fff;color:var(--orange-800);font-size:.76rem;font-weight:800;text-decoration:none !important;transition:.2s ease;line-height:1.2;}
.cat-pill:hover{background:var(--orange-600);border-color:var(--orange-600);color:#fff;}
@media(max-width:560px){
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;}
  .cat-card-main{flex-direction:column;align-items:flex-start;gap:.55rem;padding:.9rem .9rem .6rem;}
  .cat-card-icon{width:42px;height:42px;font-size:1.08rem;}
  .cat-card-arrow{display:none;}
  .cat-card-children{padding:.35rem .9rem .9rem;}
  .cat-pill{font-size:.7rem;padding:.3rem .6rem;}
}
@media(max-width:340px){
  .cat-grid{grid-template-columns:1fr;}
}

/* ==========================================================
   PROFILE PAGE — MOBILE UI/UX REFRESH
   - The top search bar is removed entirely on phones; navigation
     is handled by the compact .profile-mheader + bottom tab bar.
   - Desktop (>=961px) is completely untouched.
   ========================================================== */
.profile-mheader,.profile-idcard,.orders-row,.pm-info,.pm-loc{display:none;}
/* Photo + personal info wrapper: transparent on desktop so its two forms
   behave exactly like direct grid children; becomes a bottom sheet on phones. */
.profile-edit-group{display:contents;}
.pe-backdrop,.peg-chrome{display:none;}

@media (max-width:960px){
  /* ---- Remove the top nav bar on the profile page ---- */
  .profile-body .topbar{display:none !important;}

  /* ---- Compact app-style sticky header ---- */
  .profile-mheader{
    position:sticky;
    top:0;
    z-index:70;
    display:flex;
    align-items:center;
    gap:.6rem;
    padding:calc(env(safe-area-inset-top,0px) + .5rem) .8rem .5rem;
    background:rgba(255,253,250,.96);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--orange-100);
  }
  .pmh-title{
    flex:1;
    text-align:center;
    font-family:var(--font-display);
    font-size:1.05rem;
    letter-spacing:.4px;
    color:var(--orange-950);
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .pmh-btn{
    flex:0 0 auto;
    width:40px;height:40px;
    border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    background:#fff;
    border:2px solid var(--orange-200);
    color:var(--orange-700);
    font-size:1.05rem;
    text-decoration:none!important;
    box-shadow:var(--shadow-sm);
    line-height:1;
    transition:border-color .2s ease,transform .15s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .pmh-btn:hover{border-color:var(--orange-500);}
  .pmh-btn:active{transform:scale(.92);border-color:var(--orange-500);}

  /* ---- Page rhythm ---- */
  .profile-body .profile-page{padding:.95rem .9rem 2rem;}
  .profile-body .section-head{display:none;} /* title now lives in the mobile header */

  /* This page ends with the Log Out button (no footer), so keep a body
     clearance here — otherwise the floating bottom-nav covers it.
     Scoped to .profile-body only; other pages keep no extra space. */
  .profile-body{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 96px);}

  /* ---- Identity card ---- */
  .profile-idcard{
    display:flex;
    align-items:center;
    gap:.85rem;
    background:linear-gradient(135deg,#fff 55%,var(--orange-50));
    border:1.5px solid var(--orange-200);
    border-radius:20px;
    padding:.95rem 1rem;
    margin-bottom:1rem;
    box-shadow:0 10px 26px rgba(160,80,10,.09);
  }
  .pidc-avatar{
    width:62px;height:62px;
    font-size:1.35rem;
    border-radius:50%;
    border:3px solid #fff;
    box-shadow:0 4px 14px rgba(231,102,8,.35);
    flex-shrink:0;
  }
  .pidc-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.14rem;}
  .pidc-name{
    font-family:var(--font-display);
    font-weight:400;
    font-size:1.1rem;
    line-height:1.2;
    color:var(--orange-950);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .pidc-line{
    display:flex;align-items:center;gap:.35rem;
    font-size:.76rem;font-weight:800;color:var(--muted);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .pidc-line i{color:var(--orange-500);width:1rem;text-align:center;flex-shrink:0;}
  .profile-idcard .order-status-pill{flex-shrink:0;}

  /* ---- Full-screen overlay: edit photo + personal info.
         Opened by the gear button in the mobile header. ---- */
  .pe-backdrop{
    display:block;
    position:fixed;inset:0;z-index:135;
    background:rgba(40,20,5,.55);
    opacity:0;pointer-events:none;
    transition:opacity .28s ease;
  }
  .pe-backdrop.show{opacity:1;pointer-events:auto;}
  body.pe-lock{overflow:hidden;}
  .profile-body .profile-edit-group{
    display:flex;flex-direction:column;
    position:fixed;inset:0;z-index:140;
    background:#fffcf8;
    padding:0 0 calc(env(safe-area-inset-bottom,0px) + 1.1rem);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    transform:translateY(100%);
    visibility:hidden;
    transition:transform .32s cubic-bezier(.32,.72,.33,1),visibility .32s;
  }
  /* Editor opens ONLY in the locked state: body.profile-body.pe-lock.
     Viewing happens on the plain page, editing happens here. */
  .profile-body.pe-lock .profile-edit-group.open{transform:none;visibility:visible;}
  .peg-chrome{
    position:sticky;top:0;z-index:2;
    flex:0 0 auto;
    display:flex;align-items:center;gap:.6rem;
    padding:calc(env(safe-area-inset-top,0px) + .9rem) 1rem .65rem;
    background:#fffcf8;
    border-bottom:1.5px dashed var(--orange-100);
  }
  .peg-title{
    flex:1;min-width:0;
    font-family:var(--font-display);
    font-weight:400;font-size:1.08rem;color:var(--orange-900);
    display:flex;align-items:center;gap:.5rem;
  }
  .peg-title i{color:var(--orange-600);}
  .peg-close{
    flex:0 0 auto;
    width:36px;height:36px;border-radius:50%;
    border:1.5px solid var(--orange-200);
    background:#fff;color:var(--orange-800);
    font-size:1.1rem;line-height:1;cursor:pointer;
    display:grid;place-items:center;
    transition:.18s ease;-webkit-tap-highlight-color:transparent;
  }
  .peg-close:active{transform:scale(.92);}
  .profile-body .profile-edit-group .profile-card{margin:.95rem 1rem 0;}

  /* ---- My Orders quick link (moved out of the header) ---- */
  .orders-row{
    display:flex;
    align-items:center;
    gap:.8rem;
    background:#fff;
    border:1.5px solid var(--orange-100);
    border-radius:16px;
    padding:.8rem .9rem;
    margin-bottom:1rem;
    text-decoration:none!important;
    box-shadow:0 6px 18px rgba(150,75,10,.07);
    transition:transform .15s ease,border-color .2s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .orders-row:active{transform:scale(.98);border-color:var(--orange-300);}
  .or-ico{
    flex:0 0 auto;
    width:44px;height:44px;
    border-radius:13px;
    display:grid;place-items:center;
    background:var(--orange-100);
    color:var(--orange-600);
    font-size:1.1rem;
  }
  .or-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;}
  .or-txt strong{font-size:.95rem;font-weight:900;color:var(--ink);line-height:1.25;}
  .or-txt small{font-size:.74rem;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .or-chev{flex:0 0 auto;color:var(--orange-300);font-size:.8rem;}

  /* ---- Read-only summaries (photo/info/home editing happens in the editor sheet) ---- */
  .pm-info{
    display:block;
    background:#fff;
    border:1.5px solid var(--orange-100);
    border-radius:18px;
    padding:.15rem .95rem;
    margin-bottom:1rem;
    box-shadow:0 6px 18px rgba(150,75,10,.07);
  }
  .pmi-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.72rem 0;}
  .pmi-row+.pmi-row{border-top:1px dashed var(--orange-100);}
  .pmi-k{
    flex:0 0 auto;
    display:flex;align-items:center;gap:.45rem;
    color:var(--muted);font-size:.7rem;font-weight:800;
    text-transform:uppercase;letter-spacing:.04em;
  }
  .pmi-k i{width:16px;text-align:center;color:var(--orange-500);font-size:.82rem;}
  .pmi-v{text-align:right;font-weight:800;font-size:.88rem;color:var(--ink);overflow-wrap:anywhere;min-width:0;}
  .pmi-v em{color:var(--muted);font-weight:700;}
  .pm-loc{
    display:block;
    background:#fff;
    border:1.5px solid var(--orange-100);
    border-radius:18px;
    padding:.9rem;
    margin-bottom:1rem;
    box-shadow:0 6px 18px rgba(150,75,10,.07);
  }
  .pml-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.65rem;}
  .pml-ico{
    flex:0 0 auto;
    width:38px;height:38px;border-radius:12px;
    display:grid;place-items:center;
    background:var(--orange-100);color:var(--orange-600);
    font-size:1rem;
  }
  .pml-head strong{font-family:var(--font-display);font-weight:400;font-size:1.02rem;color:var(--orange-950);}
  .pml-map{height:200px;border-radius:14px;border:2px solid var(--orange-200);overflow:hidden;z-index:0;}
  .pml-addr{margin:.65rem 0 0;font-size:.8rem;font-weight:700;color:var(--muted);line-height:1.5;overflow-wrap:anywhere;}

  /* ---- State rule: the read-only summaries live in the browsing view only.
     While the full-screen editor is open (body.pe-lock) they disappear —
     viewing happens here, editing happens inside the editor sheet. ---- */
  body.pe-lock .pm-info,
  body.pe-lock .pm-loc{display:none;}

  /* ---- Cards ---- */
  .profile-body .profile-grid{gap:.9rem;}
  .profile-body .profile-card{
    border-radius:18px;
    padding:1.15rem 1rem 1.25rem;
    border:1.5px solid var(--orange-100);
    box-shadow:0 6px 18px rgba(150,75,10,.07);
  }
  .profile-body .profile-card h2{
    font-size:1.12rem;
    display:flex;align-items:center;gap:.55rem;
    margin-bottom:.9rem;padding-bottom:.7rem;
    border-bottom:1.5px dashed var(--orange-100);
  }
  .profile-body .profile-card h2 i{color:var(--orange-600);}

  /* ---- Touch-friendly inputs (16px stops iOS zoom-on-focus) ---- */
  .profile-body .profile-card input,
  .profile-body .profile-card select,
  .profile-body .profile-card textarea{
    font-size:16px;
    padding:.8rem .85rem;
    border-radius:12px;
    background:#fffdfb;
  }
  .profile-body .profile-card label{font-size:.86rem;margin-bottom:.95rem;}
  .profile-body .profile-card .btn{min-height:48px;}

  /* ---- Avatar upload ---- */
  .avatar-upload{gap:.8rem;}
  .avatar-preview{width:118px;height:118px;}
  .small-note{font-size:.78rem;line-height:1.5;}

  /* ---- Map ---- */
  .loc-map{height:230px;border-radius:14px;}
  .map-actions .btn{flex:1 1 auto;}

  /* ---- KYC bits ---- */
  .kyc-gate-banner{font-size:.84rem;padding:.8rem .9rem;border-radius:16px;gap:.55rem;margin-bottom:1rem;}
  .kyc-status-row{gap:.6rem;}
  .kyc-check{font-size:.82rem;padding:.65rem .7rem;border-radius:12px;}
  .kyc-doc-list li{padding:.7rem .75rem;border-radius:14px;flex-wrap:wrap;row-gap:.45rem;}
  .kyc-doc-name small{font-size:.66rem;}
  .kyc-doc-row select{min-height:46px;}
  .kyc-doc-row input[type=file]{font-size:.8rem;padding:.65rem .7rem;}

  /* ---- Full-width actions ---- */
  .profile-card .btn-block{margin-top:.9rem;}
  .profile-mobile-logout{margin-top:1rem !important;min-height:50px;border-radius:14px;font-size:.98rem;}
}

@media (max-width:360px){
  .profile-body .profile-page{padding:.85rem .7rem 1.8rem;}
  .profile-idcard{padding:.85rem .8rem;gap:.65rem;}
  .pidc-avatar{width:54px;height:54px;font-size:1.15rem;}
  .pidc-name{font-size:1rem;}
  .pidc-line{font-size:.72rem;}
  .orders-row{padding:.7rem .75rem;gap:.65rem;}
  .or-ico{width:40px;height:40px;font-size:1rem;}
  .or-txt strong{font-size:.88rem;}
}

/* ==========================================================
   DISCOUNT DEALS - "-X%" badges, struck old prices, save chips
   (base styles are the FINAL state so prefers-reduced-motion,
   which globally disables animations, still shows the strike)
   ========================================================== */
.deal-badge{position:absolute;top:6px;right:6px;z-index:2;display:inline-block;background:linear-gradient(135deg,#ef2d35 0%,#b31217 100%);color:#fff;font-size:.56rem;font-weight:900;letter-spacing:.05em;line-height:1;padding:.26rem .5rem;border-radius:999px;box-shadow:0 4px 12px rgba(179,18,23,.38);animation:deal-pop .45s cubic-bezier(.34,1.56,.64,1) .15s backwards;}
@keyframes strike-draw{from{width:0;}}
@keyframes deal-pop{from{transform:scale(.4);opacity:0;}}

/* Product detail page */
.product-price-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .8rem;}
.deal-badge-inline{position:static;animation:none;font-size:.78rem;padding:.32rem .7rem;}
.product-price-was{position:relative;display:inline-block;color:var(--muted);font-family:var(--font-display);font-size:1.15rem;text-decoration:none;}
.product-price-was small{font-size:.68em;margin-right:.15rem;}
.product-price-was::after{content:'';position:absolute;left:-3%;top:52%;height:3px;width:106%;background:#c62b2b;border-radius:3px;transform:rotate(-7deg);animation:strike-draw .6s ease-out .4s backwards;}
.product-deal-save{display:inline-flex;align-items:center;gap:.35rem;background:var(--orange-100);color:var(--orange-800);font-size:.78rem;font-weight:900;padding:.32rem .75rem;border-radius:999px;}
.product-deal-save i{color:var(--orange-600);}
.deal-flag{position:absolute;top:14px;right:14px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef2d35 0%,#b31217 100%);color:#fff;border-radius:14px;padding:.5rem .7rem;box-shadow:0 10px 24px rgba(179,18,23,.4);animation:deal-pop .5s cubic-bezier(.34,1.56,.64,1) .2s backwards;}
.deal-flag b{font-family:var(--font-display);font-weight:400;font-size:1.25rem;line-height:1;}
.deal-flag small{font-size:.58rem;font-weight:900;letter-spacing:.18em;margin-top:.15rem;}

/* Variant option strike */
.variant-option-price .variant-price-was{margin-left:.3rem;color:var(--muted);font-size:.78em;position:relative;display:inline-block;text-decoration:none;}
.variant-option-price .variant-price-was::after{content:'';position:absolute;left:-4%;top:54%;height:1.5px;width:108%;background:#c62b2b;border-radius:2px;transform:rotate(-8deg);}

/* Card price-row badge (dish cards, related cards): hugs the price,
   pushes the Add button to the far side of the foot. Text-only look:
   no background, red percentage text. */
.dish-foot .deal-badge-inline,.related-foot .deal-badge-inline{margin-left:-.18rem;margin-right:auto;background:none;box-shadow:none;color:#d92027;font-weight:900;padding:0;}

/* Card currency label: phones swap "Rs." for the compact "रु" symbol
   (see cards-mobile.css media queries). Extra-bold so the Devanagari
   glyph matches the heavy display price next to it even though it
   renders through the system fallback font. */
.price .rs-s{display:none;font-weight:900;}

/* Admin & vendor product-manager rows */
.pm-was,.vp-was{margin-left:.35rem;color:var(--muted);font-weight:700;font-size:.82em;}
.pm-deal-tag,.vp-deal-tag{display:inline-block;background:linear-gradient(135deg,#ef2d35,#b31217);color:#fff;font-size:.62rem;font-weight:900;border-radius:999px;padding:.14rem .45rem;margin-left:.4rem;vertical-align:middle;}

@media(max-width:560px){
  .deal-badge{top:4px;right:4px;font-size:.5rem;padding:.18rem .36rem;}
  .deal-flag{top:10px;right:10px;padding:.4rem .55rem;border-radius:11px;}
  .deal-flag b{font-size:1.05rem;}
  .product-price-was{font-size:1rem;}
  .product-deal-save{font-size:.72rem;}
  .dish-foot{gap:.28rem;}
  .dish-foot .deal-badge-inline,.related-foot .deal-badge-inline{font-size:.5rem;padding:0;}
  .dish-card .price .rs-l,.related-card .price .rs-l{display:none;}
  .dish-card .price .rs-s,.related-card .price .rs-s{display:inline;}
}

/* ---------- Google Sign-In (additive, matches .btn look) ---------- */
.auth-divider{display:flex;align-items:center;gap:.7rem;margin:.85rem 0 .6rem;color:var(--muted,#8a7a6d);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--orange-100,#f7e3cf);}
.btn-google{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:44px;padding:.65rem 1rem;background:#fff;border:2px solid #dadce0;border-radius:var(--fe-radius-md,12px);color:#3c4043;font-family:inherit;font-weight:850;line-height:1;font-size:.95rem;text-decoration:none!important;cursor:pointer;box-shadow:0 2px 0 rgba(90,40,10,.06);transition:transform var(--fe-transition,.18s ease),box-shadow var(--fe-transition,.18s ease),background var(--fe-transition,.18s ease);}
.btn-google:hover{background:#f8f9fa;transform:translateY(-2px);box-shadow:0 6px 14px rgba(60,64,67,.16);color:#202124;}
.btn-google:active{transform:translateY(0) scale(.98);}
.btn-google:focus-visible{outline:none;box-shadow:var(--fe-focus,0 0 0 3px rgba(231,102,8,.35));}
.btn-google svg{width:18px;height:18px;flex:none;}
@media(max-width:760px){.btn-google{min-height:46px;}}

/* ---------- Complete-profile banner for Google signups ---------- */
.complete-banner{max-width:1200px;margin:1rem auto 0;display:flex;align-items:flex-start;gap:.6rem;background:#fff7e6;border:1px solid #f5d9a8;border-left:5px solid #e7a100;color:#7a5200;border-radius:14px;box-shadow:var(--shadow-sm,0 2px 10px rgba(90,40,10,.06));padding:.85rem 1.1rem;font-weight:800;font-size:.9rem;}
.complete-banner i{margin-top:.15rem;color:#e7a100;}

/* ==========================================================
   DELIVERY TOPBAR — hamburger mobile menu (rider & vendor)
   Desktop (>=901px) unchanged. Mobile gets a clean off-canvas
   drawer toggled by the hamburger in .delivery-topbar.
   ========================================================== */
.delivery-nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:9px;flex:none;
  border:2px solid var(--orange-200);border-radius:10px;
  background:#fff;cursor:pointer;transition:background .2s,border-color .2s;
}
.delivery-nav-toggle span{display:block;height:3px;border-radius:3px;background:var(--orange-900);transition:transform .25s,opacity .25s;}
.delivery-nav-toggle:hover{background:var(--orange-50);border-color:var(--orange-300);}
.delivery-nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.delivery-nav-toggle.open span:nth-child(2){opacity:0;}
.delivery-nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.delivery-nav-close{
  display:none;position:absolute;top:.75rem;right:.75rem;
  width:36px;height:36px;border-radius:50%;
  border:1.5px solid var(--orange-200);background:#fff;color:var(--orange-800);
  font-size:1rem;place-items:center;cursor:pointer;transition:.18s;
}
.delivery-nav-close:hover{background:var(--orange-50);border-color:var(--orange-300);}
.delivery-user-meta{display:flex;align-items:center;gap:.7rem;}
.delivery-user-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;}
.delivery-user-actions form{margin:0;}
.delivery-nav-backdrop[hidden]{display:none !important;}
.delivery-nav-backdrop{
  display:block;position:fixed;inset:0;z-index:80;
  background:rgba(18,18,32,.46);opacity:0;visibility:hidden;
  transition:opacity .28s ease,visibility .28s;
}
.delivery-nav-backdrop.show{opacity:1;visibility:visible;}
/* keep topbar above backdrop so hamburger never looks faded */
.delivery-topbar{position:sticky;z-index:70;}

@media (max-width:900px){
  .delivery-topbar{gap:.6rem;padding:.6rem .9rem;flex-wrap:nowrap;align-items:center;z-index:92;}
  .delivery-topbar .brand{font-size:1.12rem;gap:.32rem;flex:0 0 auto;}
  .delivery-topbar .brand-logo{height:32px;}
  .delivery-role-badge{font-size:.68rem;padding:.3rem .58rem;gap:.3rem;flex:0 1 auto;white-space:nowrap;}
  .delivery-nav-toggle{display:flex;margin-left:.55rem;}
  /* when bell is parked inside header, both sit at the far right as a group */
  .delivery-topbar #notifyBell{margin-left:auto !important;flex:0 0 auto;position:relative !important;top:auto !important;right:auto !important;bottom:auto !important;z-index:3 !important;}
  .delivery-topbar #notifyBell button{width:40px !important;height:40px !important;font-size:.95rem !important;}
  /* delivery dropdown: referenced from index.php (#notifyList 330px/92vw) but fixed centered on mobile so never cut off — scoped to rider/vendor only */
  .delivery-topbar #notifyBell #notifyList{
    position:fixed !important;left:50% !important;right:auto !important;
    transform:translateX(-50%) !important;
    top:58px !important;
    width:min(92vw,360px) !important;max-width:92vw !important;
    margin:0 !important;z-index:97 !important;
  }
  .delivery-user{
    position:fixed;top:0;right:0;bottom:0;
    width:300px;max-width:85vw;margin-left:0;
    background:#fff;flex-direction:column;align-items:stretch;gap:0;
    padding:1rem 1rem calc(env(safe-area-inset-bottom,0px) + 1rem);
    box-shadow:-12px 0 32px rgba(0,0,0,.18);
    transform:translateX(100%);visibility:hidden;
    transition:transform .28s ease,visibility .28s;
    z-index:96;overflow-y:auto;overscroll-behavior:contain;
  }
  .delivery-user.open{transform:none;visibility:visible;}
  .delivery-nav-close{display:grid;}
  .delivery-user-meta{
    padding:2.15rem 0 .9rem;border-bottom:1.5px dashed var(--orange-100);
    margin-bottom:.95rem;gap:.85rem;
  }
  .delivery-user-meta .avatar{width:46px;height:46px;font-size:1.05rem;flex:none;}
  .delivery-user-meta div strong{font-size:.95rem;}
  .delivery-user-meta div small{font-size:.76rem;}
  .delivery-user-actions{flex-direction:column;align-items:stretch;gap:.6rem;}
  .delivery-user-actions a.btn,
  .delivery-user-actions .btn{width:100%;justify-content:flex-start;min-height:46px;}
  .delivery-user-actions form{width:100%;}
  .delivery-user-actions form .btn{width:100%;}
  body.delivery-nav-lock{overflow:hidden;}
}
@media (max-width:360px){
  .delivery-topbar{padding:.55rem .7rem;gap:.45rem;}
  .delivery-topbar .brand{font-size:1rem;}
  .delivery-topbar .brand-logo{height:28px;}
  .delivery-role-badge{font-size:.62rem;padding:.26rem .5rem;}
  .delivery-nav-toggle{width:40px;height:40px;padding:8px;}
  .delivery-user{width:280px;}
}
@media (prefers-reduced-motion:reduce){
  .delivery-nav-toggle span,.delivery-user,.delivery-nav-backdrop{transition:none !important;}
}
/* rider/vendor only: ref index.php — compact header, scoped to delivery, index.php untouched */
.delivery-body #notifyMarkAll{white-space:nowrap !important;flex:0 0 auto !important;word-break:keep-all !important;text-align:right !important;font-size:.78rem !important;padding-left:10px !important;padding-right:.2rem !important;overflow:visible !important;text-overflow:clip !important;max-width:none !important;}
.delivery-body #notifyList > div:first-child{justify-content:space-between !important;gap:.4rem !important;padding:.3rem 0 .35rem !important;margin:0 0 .4rem !important;box-sizing:border-box !important;min-width:0 !important;}
@media (max-width:900px){
  /* mobile: Mark all read just beside Notifications, not far right */
  .delivery-body #notifyList > div:first-child{justify-content:flex-start !important;}
  .delivery-body #notifyMarkAll{margin-left:0 !important;text-align:left !important;}
}
.delivery-body #notifyList{box-sizing:border-box !important;}
/* rider/vendor only: prevent horizontal scroll in notifyList — scoped to delivery */
.delivery-body #notifyList{overflow-x:hidden !important;overflow-y:auto !important;overscroll-behavior:contain !important;word-wrap:break-word !important;overflow-wrap:anywhere !important;box-sizing:border-box !important;}
.delivery-body #notifyList a{white-space:normal !important;word-break:break-word !important;overflow-wrap:anywhere !important;max-width:100% !important;box-sizing:border-box !important;}
