/* ==========================================================
   AMAZUKA EATS — style.css
   Palette dérivée du logo réel (vert / noir / blanc)
   ========================================================== */

:root{
  --green:#08B949;
  --green-dark:#079B3E;
  --green-bg:#E9F9EE;
  --ink:#111111;
  --gray-900:#1A1A1A;
  --gray-600:#5E5E5E;
  --gray-400:#9C9C9C;
  --gray-100:#F2F2F2;
  --line:#E6E6E6;
  --white:#FFFFFF;
  --radius-lg:16px;
  --radius-md:12px;
  --radius-sm:8px;
}

*{box-sizing:border-box;margin:0;padding:0;}

body{
  font-family:'Inter', system-ui, sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  padding-bottom:78px; /* espace pour la bottom nav mobile */
}

a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;}

.container{
  max-width:1100px;
  margin:0 auto;
  padding:0 18px;
}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--white);
  border-bottom:1px solid var(--line);
  padding:14px 0;
}
/* Dans l'app native (téléphone), on laisse la place pour la barre de statut / l'encoche du téléphone. */
.native-app .site-header{
  padding-top:calc(14px + env(safe-area-inset-top));
}
.native-app .bottomnav{
  padding-bottom:env(safe-area-inset-bottom);
}
.native-app .pd-order-final,
.native-app .cart-bar,
.native-app .checkout-topbar{
  padding-bottom:env(safe-area-inset-bottom);
}

/* ---------- Retour instantané au clic + transition douce (effet "vraie app") ---------- */
#navProgressBar{
  position:fixed;top:0;left:0;height:3px;width:0%;z-index:999999;
  background:var(--green);transition:width .3s ease,opacity .3s ease;
  opacity:0;pointer-events:none;
}
.native-app #navProgressBar{top:env(safe-area-inset-top);}
#navProgressBar.active{opacity:1;}
body{animation:pageFadeIn .18s ease;}
@keyframes pageFadeIn{from{opacity:0;}to{opacity:1;}}

/* ---------- Bandeau "Installer l'app" ---------- */
#installBanner{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:9998;
  background:var(--white);border:1.5px solid var(--line);border-radius:16px;
  padding:12px;display:flex;align-items:center;gap:12px;
  box-shadow:0 6px 24px rgba(0,0,0,.15);
}
#installBanner img{width:44px;height:44px;border-radius:11px;flex-shrink:0;}
.install-banner-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.install-banner-text strong{font-size:13px;font-weight:800;}
.install-banner-text span{font-size:11px;color:var(--gray-600);}
#installBannerBtn{
  background:var(--ink);color:#fff;border:none;padding:9px 14px;border-radius:9px;
  font-weight:700;font-size:12.5px;flex-shrink:0;
}
#installBannerClose{
  background:none;border:none;color:var(--gray-400);font-size:15px;padding:4px;flex-shrink:0;
}

#installModalOverlay{
  position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.install-modal{background:#fff;border-radius:18px;padding:24px 20px;max-width:340px;width:100%;}
.install-modal h3{font-size:16px;font-weight:800;margin:0 0 16px;}
.install-modal ol{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.5;}
.install-modal button{
  width:100%;background:var(--ink);color:#fff;border:none;padding:12px;border-radius:10px;
  font-weight:700;font-size:13.5px;
}

/* (L'animation d'ouverture est maintenant intégrée directement dans
   header.php avec son propre <style> inline — plus besoin ici.) */
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:9px;}
.brand img{width:32px;height:32px;object-fit:contain;}
.brand-text{font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1;}
.brand-account-name{font-size:19px;font-weight:800;letter-spacing:-.01em;}
.brand-text span{color:var(--green);}
.loc-row{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--gray-600);margin-top:4px;font-weight:600;}
.header-right{display:flex;align-items:center;gap:14px;}
.avatar{
  width:34px;height:34px;border-radius:50%;
  background:var(--gray-100);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;border:1.5px solid var(--line);
}
.back-link{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;}

/* ---------- SEARCH ---------- */
.search-bar{
  margin:14px 0;
  background:var(--gray-100);
  border-radius:var(--radius-md);
  padding:13px 14px;
  display:flex;align-items:center;gap:9px;
  font-size:13.5px;color:var(--gray-400);font-weight:500;
  border:none;width:100%;
}
.search-bar input{
  border:none;background:transparent;outline:none;
  font-size:13.5px;color:var(--ink);width:100%;font-family:inherit;
}
.search-bar input::placeholder{color:var(--gray-400);}

/* ---------- CATEGORY ROW ---------- */
.cat-row{display:flex;gap:16px;padding:4px 0 22px;overflow-x:auto;}
.cat-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;width:60px;}
.cat-circle{
  width:54px;height:54px;border-radius:50%;background:var(--gray-100);
  display:flex;align-items:center;justify-content:center;font-size:22px;
  border:1.5px solid transparent;transition:.15s;color:var(--gray-600);
}
.cat-item.on .cat-circle{background:var(--green-bg);border-color:var(--green);color:var(--green-dark);}
.cat-item:hover .cat-circle{border-color:var(--green);}
.cat-item span{font-size:10.5px;font-weight:600;color:var(--gray-600);text-align:center;}
.cat-item.on span{color:var(--ink);}

/* ---------- PROMO ---------- */
.promo{
  margin:0 0 26px;background:linear-gradient(135deg,#1F1B14,var(--ink) 60%);border-radius:20px;
  padding:26px 24px;display:flex;align-items:center;justify-content:space-between;
  overflow:hidden;position:relative;box-shadow:0 14px 28px -10px rgba(0,0,0,.35);
}
.promo::after{
  content:"";position:absolute;right:-30px;bottom:-30px;width:150px;height:150px;
  background:var(--green);opacity:.18;border-radius:50%;
}
.promo-text{color:var(--white);position:relative;z-index:2;}
.promo-eyebrow{font-family:'Space Mono',monospace;font-size:10px;color:var(--green);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.promo-text h2{font-size:20px;font-weight:800;line-height:1.25;max-width:280px;}
.promo-cta{background:var(--green);color:var(--white);border:none;font-weight:700;font-size:12.5px;padding:10px 16px;border-radius:9px;margin-top:14px;position:relative;z-index:2;}

/* ---------- SECTIONS ---------- */
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;}
.section-head h3{font-size:18px;font-weight:800;letter-spacing:-.01em;}
.section-head a{font-size:12px;color:var(--green-dark);font-weight:700;}

/* ---------- RESTAURANT CARD (grid horizontal scroll on mobile, grid on desktop) ---------- */
.rest-scroll{display:flex;gap:14px;padding-bottom:26px;overflow-x:auto;}
.rest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding-bottom:26px;}

.rcard{
  flex-shrink:0;width:168px;background:var(--white);border-radius:var(--radius-md);
  border:1px solid var(--line);overflow:hidden;transition:.15s ease;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.rest-grid .rcard{width:100%;}
.rcard:hover{box-shadow:0 8px 20px rgba(0,0,0,.09);transform:translateY(-2px);}
.rimg{height:100px;display:flex;align-items:center;justify-content:center;font-size:30px;position:relative;}
.rbadge{position:absolute;top:8px;left:8px;background:var(--white);font-size:9.5px;font-weight:700;padding:3px 7px;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.15);}
.rbody{padding:11px 12px 13px;}
.rname{font-size:13.5px;font-weight:700;margin-bottom:3px;line-height:1.25;}
.rtags{font-size:11px;color:var(--gray-600);margin-bottom:8px;}
.rmeta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--gray-600);}
.rmeta .rating{color:var(--ink);font-weight:700;}

/* ---------- GRILLE 2 COLONNES (accueil — "Les mieux notés") ---------- */
.rest-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:26px;}
.rcard-2{
  background:var(--white);border-radius:16px;border:1px solid var(--line);
  overflow:hidden;text-decoration:none;color:inherit;transition:.18s ease;
  box-shadow:0 3px 10px -2px rgba(0,0,0,.08);
}
.rcard-2:hover{box-shadow:0 14px 26px -8px rgba(0,0,0,.18);transform:translateY(-3px);}
.rimg-2{height:92px;display:flex;align-items:center;justify-content:center;font-size:30px;position:relative;}
.rbadge-closed{left:auto;right:8px;background:var(--ink);color:#fff;}

/* ---------- MEILLEURS PLATS (accueil) ---------- */
.dish-scroll{display:flex;gap:12px;padding-bottom:26px;overflow-x:auto;}
.dish-scroll::-webkit-scrollbar{display:none;}
.dish-card{
  flex-shrink:0;width:142px;background:var(--white);border-radius:16px;
  border:1px solid var(--line);overflow:hidden;text-decoration:none;color:inherit;
  box-shadow:0 3px 10px -2px rgba(0,0,0,.08);transition:.18s ease;
}
.dish-card:hover{box-shadow:0 14px 26px -8px rgba(0,0,0,.18);transform:translateY(-3px);}
.dish-img{height:90px;display:flex;align-items:center;justify-content:center;font-size:26px;}
.dish-body{padding:9px 10px 11px;}
.dish-name{font-size:12px;font-weight:700;line-height:1.25;margin-bottom:4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dish-resto{font-size:10px;color:var(--gray-600);margin-bottom:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dish-foot{display:flex;justify-content:space-between;align-items:center;}
.dish-price{font-size:11.5px;font-weight:800;}
.dish-rating{font-size:10.5px;font-weight:700;color:var(--gray-600);}

.pd-related{margin-top:8px;padding:24px 0 10px;border-top:8px solid var(--gray-100);}
.pd-related h2{font-size:16px;font-weight:800;margin-bottom:14px;}

/* ---------- LIST VIEW (page restaurants.php) ---------- */
.rlist{display:flex;flex-direction:column;gap:14px;padding-bottom:30px;}
.rlist-card{
  background:var(--white);border-radius:var(--radius-md);border:1px solid var(--line);
  display:flex;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.rlist-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.09);}
.rlist-thumb{width:96px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:30px;}
.rlist-info{padding:14px 16px 14px 14px;flex:1;}
.rlist-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.rlist-name{font-size:14.5px;font-weight:700;}
.status-pill{font-size:9.5px;font-weight:700;background:var(--green-bg);color:var(--green-dark);padding:3px 8px;border-radius:20px;white-space:nowrap;}
.status-pill.closed{background:var(--gray-100);color:var(--gray-400);}
.rlist-tags{font-size:11.5px;color:var(--gray-600);margin:4px 0 9px;}
.rlist-meta{display:flex;gap:14px;font-size:11px;color:var(--gray-600);}
.rlist-meta b{color:var(--ink);}

.filters{display:flex;gap:8px;padding:0 0 18px;overflow-x:auto;}
.chip{flex-shrink:0;padding:8px 15px;border-radius:20px;background:var(--white);border:1.5px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;}
.chip.on{background:var(--ink);color:var(--white);border-color:var(--ink);}
.chip:hover{border-color:var(--green);}

/* ---------- RESTAURANT PAGE (façon Uber Eats) ---------- */
.rc-cover{
  height:160px;margin:0 -18px;position:relative;display:flex;align-items:center;justify-content:center;
  font-size:70px;
}
.rc-cover-emoji{font-size:64px;}
.rc-fav-btn{right:16px;color:var(--ink);}
.rc-fav-btn.on{color:#E63946;}
.rc-share-btn{right:64px;}

.rc-avatar-wrap{display:flex;justify-content:center;margin-top:-38px;position:relative;z-index:5;}
.rc-avatar{
  width:76px;height:76px;border-radius:50%;border:4px solid var(--white);
  display:flex;align-items:center;justify-content:center;font-size:30px;
  box-shadow:0 4px 14px rgba(0,0,0,.15);
}

.rc-info{text-align:center;padding:10px 10px 18px;border-bottom:8px solid var(--gray-100);margin:0 -18px 20px;}
.rc-info h1{font-size:20px;font-weight:800;margin-bottom:6px;padding:0 18px;}
.rc-meta-row{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--gray-600);font-weight:600;flex-wrap:wrap;}
.rc-meta-rating{color:var(--ink);font-weight:800;}
.rc-meta-dot{color:var(--gray-400);}
.rc-address-row{
  display:flex;align-items:center;justify-content:center;gap:5px;
  font-size:12px;color:var(--gray-600);margin-top:6px;
}
.rc-status-badge{
  display:inline-block;margin-top:10px;font-size:11px;font-weight:700;
  padding:5px 12px;border-radius:20px;background:var(--gray-100);color:var(--gray-600);
}
.rc-status-badge.open{background:var(--green-bg);color:var(--green-dark);}

.rc-badges-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px;}
.rc-green-badge{
  background:var(--green-bg);color:var(--green-dark);font-size:11px;font-weight:700;
  padding:6px 13px;border-radius:20px;
}

.rc-section-title{font-size:18px;font-weight:800;margin-bottom:14px;}

.menu-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:20px;margin-bottom:6px;}
.menu-pill{
  flex-shrink:0;padding:9px 16px;border-radius:20px;background:var(--gray-100);
  font-size:12.5px;font-weight:700;color:var(--gray-600);text-decoration:none;white-space:nowrap;
}
.menu-pill.active{background:var(--ink);color:#fff;}

.menu-cat-section{margin-bottom:28px;}
.menu-cat-title{font-size:15.5px;font-weight:800;margin-bottom:12px;}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.menu-card{background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 3px 10px -2px rgba(0,0,0,.06);}
.menu-card-imgwrap{display:block;position:relative;}
.menu-card-img{height:100px;display:flex;align-items:center;justify-content:center;font-size:28px;}
.menu-card-body{display:block;text-decoration:none;color:inherit;padding:14px 12px 16px;}
.menu-card-name{font-size:12.5px;font-weight:700;line-height:1.3;margin-bottom:5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.menu-card-price{font-size:12px;font-weight:700;color:var(--gray-600);margin-bottom:5px;}
.menu-card-desc{font-size:10.5px;color:var(--gray-600);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- COMPTE — onglets ---------- */
.account-tabs{display:flex;gap:6px;background:var(--gray-100);padding:4px;border-radius:12px;margin-bottom:18px;overflow-x:auto;}
.account-tabs a{flex:0 0 auto;text-align:center;padding:9px 14px;border-radius:9px;font-size:12px;font-weight:700;color:var(--gray-600);text-decoration:none;white-space:nowrap;}
.account-tabs a.on{background:var(--ink);color:#fff;}

.account-section-label{font-size:11px;font-weight:800;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em;margin:20px 4px 8px;}
.account-promo-referral{background:linear-gradient(135deg,var(--green-bg),#fff);border:1.5px solid var(--green-bg);}
.account-promo-referral .account-promo-title{color:var(--green-dark);}

/* ---------- COMPTE — hub façon Uber Eats ---------- */
.account-hub{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;}
.account-hub-name{font-size:24px;font-weight:800;letter-spacing:-.01em;line-height:1.15;}
.account-hub-phone{font-size:12.5px;color:var(--gray-600);margin-top:4px;}
.account-hub-avatar{
  width:56px;height:56px;border-radius:50%;background:var(--gray-100);
  display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;
  color:var(--ink);flex-shrink:0;
}

.account-quick-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}
.quick-card{
  background:var(--gray-100);border-radius:14px;padding:16px 8px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  text-decoration:none;color:var(--ink);text-align:center;
}
.quick-card span{font-size:11.5px;font-weight:700;}
.quick-card:hover{background:var(--green-bg);color:var(--green-dark);}

.account-promo{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--gray-100);border-radius:14px;padding:16px;margin-bottom:22px;
  text-decoration:none;color:inherit;
}
.account-promo-title{font-weight:800;font-size:13.5px;}
.account-promo-sub{font-size:11.5px;color:var(--gray-600);margin-top:2px;}
.account-promo-arrow{font-size:18px;color:var(--green-dark);flex-shrink:0;}

.account-menu-list{display:flex;flex-direction:column;margin-bottom:22px;border-top:1px solid var(--line);}
.account-menu-item{
  display:flex;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;
}
.account-menu-item svg{color:var(--gray-600);flex-shrink:0;}
.account-menu-item-danger{color:#B3261E;}
.account-menu-item-danger svg{color:#B3261E;}

.address-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px;}
.rest-hero .emoji{position:absolute;top:22px;right:24px;font-size:52px;opacity:.95;}
.rest-hero-info h1{color:#fff;font-size:26px;font-weight:800;}
.rest-hero-info p{color:var(--green);font-size:12.5px;font-weight:700;margin-top:4px;}

.rest-stats{
  display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);
  font-size:12px;color:var(--gray-600);flex-wrap:wrap;margin-bottom:6px;
}
.rest-stats b{color:var(--ink);}
.rest-stats .open{color:var(--green-dark);font-weight:700;display:flex;align-items:center;gap:5px;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;}

.menu-tabs{
  display:flex;gap:24px;padding:14px 0 10px;border-bottom:1.5px solid var(--line);
  font-size:13px;font-weight:700;color:var(--gray-400);
  position:sticky;top:64px;background:var(--white);z-index:20;
}
.menu-tabs a{position:relative;padding-bottom:11px;}
.menu-tabs a.active{color:var(--ink);}
.menu-tabs a.active::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2.5px;background:var(--green);border-radius:2px;}

.product-list{padding-bottom:100px;}
.product{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.p-info{flex:1;}
.p-name{font-size:14.5px;font-weight:700;margin-bottom:5px;}
.p-desc{font-size:12px;color:var(--gray-600);line-height:1.5;margin-bottom:10px;max-width:420px;}
.p-price{font-size:13px;font-weight:700;}
.p-thumb{width:78px;height:78px;flex-shrink:0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:26px;position:relative;}
.p-add{
  position:absolute;bottom:-9px;right:-9px;width:28px;height:28px;border-radius:50%;
  background:var(--green);border:3px solid var(--white);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;color:var(--white);transition:.12s ease;
  box-shadow:0 2px 6px rgba(8,185,73,.4);
}
.p-add:active{transform:scale(.85);}

/* ---------- CART BAR ---------- */
.cart-bar{
  position:fixed;left:16px;right:16px;bottom:18px;max-width:1068px;margin:0 auto;
  background:var(--green);border-radius:var(--radius-md);padding:14px 18px;
  display:flex;justify-content:space-between;align-items:center;
  box-shadow:0 10px 24px -8px rgba(8,185,73,.5);z-index:40;
}
.cart-left{display:flex;align-items:center;gap:11px;}
.cart-count{background:var(--white);color:var(--green-dark);width:23px;height:23px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;}
.cart-bar span.label{color:#fff;font-size:13px;font-weight:700;}
.cart-bar .total{color:#fff;font-weight:800;font-size:13px;}

/* ---------- BOTTOM NAV (mobile) ---------- */
.bottomnav{
  position:fixed;bottom:0;left:0;right:0;background:var(--white);
  border-top:1px solid var(--line);display:flex;padding:8px 8px 14px;z-index:60;
  box-shadow:0 -4px 16px rgba(0,0,0,.05);
}
.navitem{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  font-size:10px;color:var(--gray-400);font-weight:700;padding:6px 4px;border-radius:12px;
  transition:.15s ease;position:relative;
}
.navitem svg{transition:.15s ease;}
.navitem.on{color:var(--ink);}
.navitem.on svg{color:var(--green);stroke:var(--green);}
.nav-badge{
  position:absolute;top:2px;right:calc(50% - 20px);
  background:var(--green);color:#fff;font-size:9px;font-weight:800;
  min-width:15px;height:15px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 2px;
  border:2px solid var(--white);
}
.nav-search-pill{
  display:flex;align-items:center;gap:6px;background:var(--white);border:1px solid var(--line);
  border-radius:24px;padding:9px 16px;box-shadow:0 4px 14px -4px rgba(0,0,0,.18);
  color:var(--ink);font-weight:700;font-size:11.5px;text-decoration:none;flex-shrink:0;
}

/* ---------- FLASH / TOAST ---------- */
.flash{
  background:var(--green-bg);color:var(--green-dark);font-size:12.5px;font-weight:600;
  padding:11px 14px;border-radius:10px;margin-bottom:16px;
}
.flash.error{background:#FDEDED;color:#B3261E;}

/* ---------- FORMS (checkout) ---------- */
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:12.5px;font-weight:600;}
.form-group input[type=text],
.form-group input[type=tel]{
  border:1.5px solid var(--line);border-radius:10px;padding:12px 13px;
  font-size:13.5px;font-family:inherit;outline:none;background:var(--white);
}
.form-group input:focus{border-color:var(--green);}
.form-hint{font-size:11px;color:var(--gray-600);}

.pay-option{
  display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);
  border-radius:10px;padding:12px 13px;margin-top:8px;font-size:13px;font-weight:600;
}
.pay-option.selected{border-color:var(--green);background:var(--green-bg);}
.pay-option.disabled{opacity:.5;}
.pay-option input{accent-color:var(--green);}

/* ---------- RÉCAPITULATIF DE COMMANDE (checkout, avec photos des plats) ---------- */
.checkout-recap{
  background:var(--white);border:1px solid var(--line);border-radius:16px;
  padding:16px;margin-bottom:22px;
}
.checkout-recap-item{display:flex;align-items:center;gap:12px;padding:8px 0;}
.checkout-recap-item + .checkout-recap-item{border-top:1px solid var(--line);}
.checkout-recap-thumb{
  width:52px;height:52px;flex-shrink:0;border-radius:12px;
  display:flex;align-items:center;justify-content:center;font-size:20px;
}
.checkout-recap-info{flex:1;min-width:0;}
.checkout-recap-name{font-size:13px;font-weight:600;}
.checkout-recap-opts{font-size:11px;color:var(--gray-600);margin-top:2px;}
.checkout-recap-price{font-size:12.5px;font-weight:600;color:var(--gray-600);flex-shrink:0;}
.checkout-recap-totals{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:13px;}
.checkout-recap-totals .row{display:flex;justify-content:space-between;color:var(--gray-600);}
.checkout-recap-totals .row.total{color:var(--ink);font-weight:700;font-size:14.5px;padding-top:8px;border-top:1px dashed var(--line);}

.btn-primary{
  width:100%;background:var(--green);color:#fff;border:none;
  padding:15px;border-radius:12px;font-weight:800;font-size:14px;
  font-family:inherit;
}
.btn-primary:hover{background:var(--green-dark);}

/* ---------- PANIER ---------- */
.cart-line{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:14px 0;}
.cart-line .p-thumb{position:static;}
.cart-line .qty-controls{display:flex;align-items:center;gap:10px;margin-left:auto;}
.qty-btn{
  width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);
  background:#fff;font-weight:800;font-size:15px;color:var(--ink);
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.qty-btn:hover{border-color:var(--green);}
.qty-value{font-weight:700;min-width:16px;text-align:center;font-size:13px;}

/* ---------- PAGE PRODUIT (style Uber Eats) ---------- */
.pd-hero{
  height:260px;margin:0 -18px;display:flex;align-items:center;justify-content:center;
  font-size:88px;
}

/* ---------- GALERIE PHOTOS (page produit) ---------- */
.pd-gallery-wrap{position:relative;margin:0 -18px;}
.pd-float-btn{
  position:absolute;top:16px;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.92);border:none;display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,.25);color:var(--ink);z-index:10;text-decoration:none;font-size:16px;font-weight:700;
}
.native-app .pd-float-btn{top:calc(16px + env(safe-area-inset-top));}
.pd-float-close{left:16px;}

.checkout-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.checkout-referral-msg{
  color:#D93025;font-size:12.5px;font-weight:600;margin-bottom:18px;
}
.checkout-back-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:var(--gray-100);color:var(--ink);
}
.pd-float-share{right:16px;}
.pd-float-cart{right:64px;}
.pd-gallery{
  height:280px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.pd-gallery::-webkit-scrollbar{display:none;}
.pd-gallery-slide{
  flex:0 0 100%;scroll-snap-align:start;background-size:cover;background-position:center;
}
.pd-gallery-wrap::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:64px;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.35));
}
.pd-gallery-dots{
  position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;z-index:2;
}
.pd-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:.15s;}
.pd-dot.on{background:#fff;width:16px;border-radius:4px;}
.pd-gallery-count{
  position:absolute;top:12px;right:12px;background:rgba(0,0,0,.5);color:#fff;
  font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:20px;z-index:2;
}
.pd-sheet{
  background:var(--white);border-radius:20px 20px 0 0;margin:-24px -18px 0;
  padding:24px 18px 20px;position:relative;box-shadow:0 -8px 20px rgba(0,0,0,.04);
}
.pd-top-row h1{font-size:21px;font-weight:800;line-height:1.25;}
.pd-price-row{display:flex;align-items:center;gap:9px;margin-top:2px;flex-wrap:wrap;}
.pd-price{font-size:16px;font-weight:500;color:var(--gray-600);font-family:inherit;}
.pd-gift-badge{
  display:inline-flex;align-items:center;gap:4px;background:#D93025;color:#fff;
  font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;
}
.pd-resto-link{font-size:12.5px;color:var(--gray-600);text-decoration:none;display:inline-block;margin-top:6px;}
.pd-resto-link strong{color:var(--ink);}
.pd-rating{display:flex;align-items:center;gap:5px;margin:10px 0 2px;font-size:13px;font-weight:700;}
.pd-rating span{color:var(--gray-600);font-weight:500;}
.pd-desc{font-size:13.5px;color:var(--gray-600);line-height:1.6;margin-top:12px;}

.opt-group{border-top:8px solid var(--gray-100);padding:20px 0 4px;}
.opt-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.opt-group-head h3{font-size:14.5px;font-weight:800;}
.opt-tag{font-size:10px;font-weight:700;color:var(--gray-600);background:var(--gray-100);padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;}
.opt-tag.required{color:var(--green-dark);background:var(--green-bg);}

.opt-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;
}
.opt-row:last-child{border-bottom:none;}
.opt-row-left{display:flex;align-items:center;gap:11px;min-width:0;}
.opt-row-thumb{width:38px;height:38px;border-radius:8px;flex-shrink:0;background-size:cover;background-position:center;border:1px solid var(--line);}
.opt-row-name{font-size:13.5px;font-weight:600;}
.opt-row-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.opt-row-price{font-size:12px;color:var(--gray-600);font-weight:600;}
.opt-input{width:19px;height:19px;accent-color:var(--green);}

.pd-sticky-top{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.pd-sticky-bar .qty-stepper{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.pd-sticky-bar #qtyValue{font-weight:800;font-size:14px;min-width:14px;text-align:center;}
.pd-sticky-total{font-size:13px;font-weight:700;color:var(--gray-600);}
.pd-sticky-total span{color:var(--ink);}
.pd-sticky-actions{display:flex;gap:10px;}
.pd-sticky-actions .btn-primary,
.pd-sticky-actions .btn-secondary{flex:1;padding:12px;font-size:13px;}
.btn-secondary{
  background:var(--white);color:var(--ink);border:1.5px solid var(--line);
  border-radius:12px;font-weight:800;font-family:inherit;
}
.btn-secondary:hover{border-color:var(--green);}

.pd-reviews{margin-top:8px;padding:24px 0 20px;border-top:8px solid var(--gray-100);}
.pd-reviews h2{font-size:16px;font-weight:800;margin-bottom:14px;}
.pd-reviews-count{color:var(--gray-600);font-weight:500;font-size:13px;}
.pd-review{border-bottom:1px solid var(--line);padding-bottom:14px;}
.pd-review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.pd-review-avatar{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  background-size:cover;background-position:center;background-color:var(--gray-100);
}
.pd-review-avatar-letter{
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;color:var(--ink);
}

/* ---------- ZONE D'ACTION PRODUIT (instructions + quantité + boutons) ---------- */
.pd-order-box{
  background:var(--white);border:1.5px solid var(--line);border-radius:16px;
  padding:18px 16px;margin:0 0 30px;display:flex;flex-direction:column;gap:16px;
}
.pd-order-qty-row{display:flex;align-items:center;justify-content:space-between;}
.pd-order-qty-label{font-size:13px;font-weight:700;}

/* ---------- BLOC QUANTITÉ (juste avant les instructions) ---------- */
.pd-qty-box{
  background:var(--white);border:1.5px solid var(--line);border-radius:16px;
  padding:16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.pd-qty-box-left{display:flex;flex-direction:column;gap:4px;}
.pd-qty-box-label{font-size:13.5px;font-weight:800;}
.pd-qty-box-total{font-size:12px;color:var(--gray-600);font-weight:600;}
.pd-qty-box-total span{color:var(--ink);font-weight:800;}

/* ---------- COMMANDER DIRECTEMENT — naturel en bas de page + version sticky ---------- */
/* ---------- PLEINE LARGEUR (comme Uber) : quantité, instructions, commander ---------- */
.pd-full-bleed{
  margin-left:-18px;margin-right:-18px;border-radius:0;
  border-left:none;border-right:none;
}

.pd-order-final{
  position:fixed;left:0;right:0;bottom:0;z-index:65;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom));
  background:var(--white);border-top:1px solid var(--line);
  box-shadow:0 -6px 20px rgba(0,0,0,.1);
}
.pd-btn-commander{
  width:100%;background:var(--ink);color:#fff;border:none;
  padding:16px;border-radius:8px;font-weight:700;font-size:15.5px;font-family:inherit;
}
.pd-btn-commander-sep{opacity:.5;font-weight:400;margin:0 2px;}
.pd-order-total{
  display:flex;justify-content:space-between;font-size:13.5px;font-weight:700;
  padding-top:4px;border-top:1px dashed var(--line);
}
.pd-order-total span{font-weight:800;font-size:15px;}
.pd-btn-cart{
  width:100%;padding:13px;border-radius:12px;border:1.5px solid var(--ink);
  background:#fff;color:var(--ink);font-weight:700;font-size:13.5px;
}
.pd-btn-cart:active{background:var(--gray-100);}
.pd-review-top strong{font-size:13px;}
.pd-review-stars{font-size:12px;color:var(--green-dark);font-weight:700;}
.pd-review-stars .dim{color:var(--line);}
.pd-review p{font-size:12.5px;color:var(--gray-600);line-height:1.5;}
.pd-review-date{font-size:10.5px;color:var(--gray-400);margin-top:4px;}

.star-picker{display:flex;gap:6px;font-size:26px;color:var(--line);cursor:pointer;}
.star-picker .star.active{color:var(--green);}
.form-group textarea{
  border:1.5px solid var(--line);border-radius:10px;padding:12px 13px;
  font-size:13.5px;font-family:inherit;outline:none;resize:vertical;
}
.form-group textarea:focus{border-color:var(--green);}

/* ---------- CONFIRMATION (design soigné) ---------- */
.conf-hero{text-align:center;padding:20px 0 8px;}
.conf-check{
  width:66px;height:66px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;
  margin:0 auto 16px;box-shadow:0 8px 20px rgba(8,185,73,.35);
}
.conf-hero h1{font-size:20px;font-weight:800;margin-bottom:5px;}
.conf-hero p{font-size:12.5px;color:var(--gray-600);}

.conf-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:16px;}

.conf-referral-card{text-align:center;background:linear-gradient(135deg,var(--green-bg),#fff);border-color:var(--green-bg);}
.conf-referral-code{
  display:inline-block;background:#fff;border:1.5px dashed var(--green);border-radius:12px;
  padding:12px 22px;font-size:18px;font-weight:800;letter-spacing:.08em;color:var(--ink);
}
.conf-number-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--gray-600);padding:4px 0;}
.conf-number-row strong{color:var(--ink);}

.conf-tracker{display:flex;justify-content:space-between;margin:22px 2px 6px;position:relative;}
.conf-tracker::before{
  content:"";position:absolute;top:6px;left:6px;right:6px;height:2px;background:var(--line);z-index:0;
}
.conf-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;z-index:1;}
.conf-step-dot{width:13px;height:13px;border-radius:50%;background:var(--line);border:2px solid var(--white);}
.conf-step.done .conf-step-dot{background:var(--green);}
.conf-step.current .conf-step-dot{box-shadow:0 0 0 4px var(--green-bg);}
.conf-step-label{font-size:8.5px;color:var(--gray-400);text-align:center;font-weight:700;max-width:52px;}
.conf-step.done .conf-step-label{color:var(--ink);}

.conf-restaurant{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:10px;}
.conf-emoji{font-size:22px;}
.conf-restaurant strong{font-size:14px;}

.conf-item{padding:8px 0;border-bottom:1px dashed var(--line);}
.conf-item-top{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink);font-weight:600;}
.conf-item-options{font-size:11px;color:var(--gray-600);margin-top:3px;line-height:1.5;padding-left:14px;}

.conf-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--gray-600);padding:8px 0 0;}
.conf-row.total{font-weight:800;font-size:14px;color:var(--ink);border-top:1px dashed var(--line);margin-top:8px;padding-top:10px;}

.conf-info-row{display:flex;gap:12px;padding:8px 0;}
.conf-info-icon{font-size:18px;}
.conf-info-label{font-size:10.5px;color:var(--gray-600);margin-bottom:2px;}
.conf-info-value{font-size:12.5px;font-weight:600;}

/* ---------- COMPTE — HISTORIQUE COMMANDES ---------- */
.order-card{
  display:block;background:var(--white);border:1px solid var(--line);border-radius:14px;
  padding:14px;text-decoration:none;color:inherit;
}
.order-card:hover{border-color:var(--green);}
.order-card-top{display:flex;align-items:center;gap:12px;}
.order-card-emoji{font-size:26px;}
.order-card-name{font-size:13.5px;font-weight:700;}
.order-card-meta{font-size:11px;color:var(--gray-600);margin-top:2px;}
.order-card-total{font-size:13px;font-weight:800;}
.order-card-status{
  margin-top:10px;display:inline-block;font-size:10.5px;font-weight:700;
  padding:4px 10px;border-radius:20px;background:var(--gray-100);color:var(--gray-600);
}
.order-card-status.status-livree{background:var(--green-bg);color:var(--green-dark);}
.order-card-status.status-annulee{background:#FDEDED;color:#B3261E;}
.order-card-status.status-recue,
.order-card-status.status-acceptee,
.order-card-status.status-preparation,
.order-card-status.status-prete,
.order-card-status.status-livraison{background:#FFF4E0;color:#B8860B;}


/* ================= DASHBOARD — SHELL PRO (sidebar) ================= */
.dash-body{padding-bottom:0;background:#F6F7F5;}

.dash-shell{display:flex;min-height:100vh;}

.dash-sidebar{
  width:236px;flex-shrink:0;background:var(--ink);color:#fff;
  position:fixed;top:0;bottom:0;left:0;z-index:100;
  display:flex;flex-direction:column;padding:22px 16px;
}
.dash-sidebar-logo{
  display:flex;align-items:center;gap:9px;text-decoration:none;color:#fff;
  padding:6px 8px 22px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px;
}
.dash-sidebar-logo img{width:28px;height:28px;object-fit:contain;}
.dash-sidebar-logo span{font-weight:800;font-size:14.5px;}
.dash-sidebar-logo em{font-style:normal;color:var(--green);}

.dash-sidebar-nav{display:flex;flex-direction:column;gap:3px;flex:1;}
.dash-sidebar-nav a{
  display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;
  color:rgba(255,255,255,.62);text-decoration:none;font-size:13px;font-weight:600;
  transition:.15s ease;
}
.dash-sidebar-nav a svg{flex-shrink:0;opacity:.85;}
.dash-sidebar-nav a:hover{background:rgba(255,255,255,.06);color:#fff;}
.dash-sidebar-nav a.on{background:var(--green);color:#fff;}
.dash-sidebar-nav a.on svg{opacity:1;}
.dash-sidebar-divider{height:1px;background:rgba(255,255,255,.08);margin:10px 4px;}

.dash-sidebar-foot{
  display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.08);
  padding-top:16px;margin-top:12px;
}
.dash-sidebar-resto-emoji{
  width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;
}
.dash-sidebar-resto-name{font-size:12.5px;font-weight:700;color:#fff;line-height:1.3;}
.dash-sidebar-resto-tag{font-size:10px;color:rgba(255,255,255,.45);margin-top:1px;}

.dash-main{margin-left:236px;flex:1;padding:34px 42px 60px;max-width:1040px;}

@media (max-width:860px){
  .dash-sidebar-logo{display:none;}
  .dash-sidebar-foot{display:none;}
  .dash-sidebar-divider{display:none;}
  .dash-main{margin-left:0;padding:18px 16px 100px;}

  /* Le menu latéral devient un vrai menu du bas, façon app mobile —
     exactement le même principe que sur le site client, pour que ce soit
     aussi pro et aussi simple à utiliser d'une seule main. */
  .dash-sidebar{
    position:fixed;bottom:0;left:0;right:0;top:auto;z-index:100;
    width:100%;flex-direction:row;align-items:stretch;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));gap:0;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .dash-sidebar-nav{
    flex-direction:row;justify-content:space-around;overflow-x:visible;gap:0;width:100%;
  }
  .dash-sidebar-nav a{
    flex-direction:column;gap:3px;padding:8px 4px;border-radius:10px;
    font-size:10px;text-align:center;flex:1;white-space:normal;
  }
  .dash-sidebar-nav a svg{margin:0 auto;}
  .dash-sidebar-nav a.on{background:transparent;color:var(--green);}

  /* Déconnexion : plus dans le menu du bas (pas de place), déplacée en haut de chaque page. */
  .dash-sidebar-nav a[href="dashboard-logout.php"]{display:none;}
}

/* Bouton de déconnexion mobile, affiché en haut des pages (remplace celui du menu du bas caché ci-dessus). */
.dash-mobile-logout{
  display:none;
  position:fixed;top:14px;right:14px;z-index:101;
  width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.06);
  align-items:center;justify-content:center;color:var(--ink);text-decoration:none;
}
@media (max-width:860px){
  .dash-mobile-logout{display:flex;}
}

/* ---------- Page header ---------- */
.dash-page-head{margin-bottom:24px;}
.dash-page-head h1{font-size:22px;font-weight:800;letter-spacing:-.01em;}
.dash-page-head p{font-size:13px;color:var(--gray-600);margin-top:4px;}
.dash-back-link{font-size:12.5px;color:var(--gray-600);text-decoration:none;display:inline-flex;align-items:center;gap:5px;margin-bottom:16px;font-weight:600;}
.dash-back-link:hover{color:var(--ink);}

/* ---------- Stat cards ---------- */
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px;}
@media (max-width:860px){
  .dash-stats{grid-template-columns:1fr;gap:10px;}
}
.dash-stat-card{
  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 20px;
  display:flex;align-items:center;gap:14px;
}
.dash-stat-icon{
  width:42px;height:42px;border-radius:11px;background:var(--green-bg);color:var(--green-dark);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.dash-stat-value{font-size:21px;font-weight:800;letter-spacing:-.01em;}
.dash-stat-label{font-size:11px;color:var(--gray-600);margin-top:2px;font-weight:600;}

.dash-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
.dash-section-head h2{font-size:15.5px;font-weight:800;}
.dash-section-head a{font-size:12px;color:var(--green-dark);font-weight:700;text-decoration:none;}

/* ---------- Table-style lists ---------- */
.dash-table{background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.dash-table-row{
  display:flex;align-items:center;gap:14px;padding:14px 18px;
  border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
}
.dash-table-row:last-child{border-bottom:none;}
.dash-table-row.link:hover{background:#FAFAF8;}

.dash-order-row{
  display:flex;justify-content:space-between;align-items:center;background:var(--white);
  border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit;
}
.dash-order-row:hover{border-color:var(--green);}

.dash-order-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px;}
.dash-order-card-top{display:flex;justify-content:space-between;align-items:center;}
.dash-order-card-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line);}

/* ---------- Vignettes photo des plats (liste + détail commande) ---------- */
.dash-order-thumbs{display:flex;gap:6px;margin-top:10px;}
.dash-order-thumb-mini{
  width:38px;height:38px;border-radius:9px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  border:1.5px solid var(--white);box-shadow:0 0 0 1px var(--line);
}
.dash-order-thumb-more{background:var(--gray-100);color:var(--gray-600);font-size:11px;font-weight:800;}

.dash-order-item-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);}
.dash-order-item-row:last-child{border-bottom:none;}
.dash-order-item-thumb{
  width:44px;height:44px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:19px;
}
.dash-instructions-badge{
  margin-top:6px;font-size:11px;font-weight:600;color:#8A5A00;
  background:#FFF4E0;border-radius:8px;padding:6px 9px;display:inline-block;
}

.dash-status-pill{
  font-size:9.5px;font-weight:800;padding:4px 10px;border-radius:20px;margin-left:8px;
  background:var(--gray-100);color:var(--gray-600);text-transform:uppercase;letter-spacing:.03em;
}
.dash-status-pill.status-livree{background:var(--green-bg);color:var(--green-dark);}
.dash-status-pill.status-annulee{background:#FDEDED;color:#B3261E;}
.dash-status-pill.status-recue{background:#FFF4E0;color:#B8860B;}
.dash-status-pill.status-acceptee,
.dash-status-pill.status-preparation,
.dash-status-pill.status-prete,
.dash-status-pill.status-livraison{background:#E8F0FE;color:#1A56C4;}

.dash-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px;}
.dash-card h2, .dash-card h3{letter-spacing:-.005em;}

.dash-product-row{
  display:flex;align-items:center;gap:14px;background:var(--white);
  padding:13px 18px;border-bottom:1px solid var(--line);
}
.dash-product-row:last-child{border-bottom:none;}
.dash-product-thumb{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;}
.dash-cat-tag{
  font-size:9.5px;font-weight:700;color:var(--gray-600);background:var(--gray-100);
  padding:3px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.02em;
}

.dash-empty{text-align:center;padding:50px 20px;color:var(--gray-600);}
.dash-empty-icon{font-size:34px;margin-bottom:10px;}

.dash-btn-icon{
  width:32px;height:32px;border-radius:9px;border:1.5px solid var(--line);background:var(--white);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;color:var(--gray-600);
  transition:.15s ease;
}
.dash-btn-icon:hover{border-color:var(--green);color:var(--green-dark);}
.dash-btn-icon.danger:hover{border-color:#B3261E;color:#B3261E;}

/* ---------- Détail commande — bandeau statut + hiérarchie pro ---------- */
.dash-order-hero{
  border-radius:16px;padding:18px 20px;margin-bottom:14px;
  background:var(--gray-100);color:var(--ink);
}
.dash-order-hero.status-recue{background:#FFF4E0;}
.dash-order-hero.status-acceptee,
.dash-order-hero.status-preparation,
.dash-order-hero.status-prete,
.dash-order-hero.status-livraison{background:#E8F0FE;}
.dash-order-hero.status-livree{background:var(--green-bg);}
.dash-order-hero.status-annulee{background:#FDEDED;}
.dash-order-hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.dash-order-hero-status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.75;}
.dash-order-hero-time{font-size:11px;font-weight:600;opacity:.6;}
.dash-order-hero-number{font-size:15px;font-weight:700;opacity:.7;margin-bottom:2px;}
.dash-order-hero-total{font-size:26px;font-weight:800;letter-spacing:-.01em;}

.dash-order-action-btn{
  display:block;width:100%;text-align:center;background:var(--ink);color:#fff;
  padding:15px;border-radius:12px;font-weight:700;font-size:14px;text-decoration:none;
  margin-bottom:10px;
}
.dash-order-cancel-link{
  display:block;text-align:center;color:#B3261E;font-weight:600;font-size:12.5px;
  text-decoration:none;margin-bottom:20px;padding:6px;
}

.dash-card-label{font-size:11px;font-weight:800;color:var(--gray-600);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px;}
.dash-card-muted{background:var(--gray-100);border-color:var(--gray-100);}
.dash-card-muted .dash-card-label{opacity:.7;}
.dash-item-qty{color:var(--green-dark);font-weight:800;}
.dash-client-name{font-size:15px;font-weight:700;margin-bottom:6px;}
.dash-client-phone{font-size:13px;color:var(--green-dark);font-weight:700;text-decoration:none;}
.dash-card-divider{height:1px;background:var(--line);margin:16px 0;}

/* ---------- Liste des commandes — cartes cliquables, actives mises en avant ---------- */
.dash-order-card2{
  background:var(--white);border:1.5px solid var(--line);border-radius:16px;overflow:hidden;
}
.dash-order-card2.prominent{border-left:4px solid var(--gray-400);}
.dash-order-card2.prominent.status-recue{border-left-color:#B8860B;background:#FFFBF2;}
.dash-order-card2.prominent.status-acceptee,
.dash-order-card2.prominent.status-preparation,
.dash-order-card2.prominent.status-prete,
.dash-order-card2.prominent.status-livraison{border-left-color:#1A56C4;}
.dash-order-card2-link{display:block;padding:16px;text-decoration:none;color:inherit;}
.dash-order-card2-top{display:flex;justify-content:space-between;align-items:flex-start;}
.dash-order-card2-status{font-size:10px;font-weight:800;color:var(--gray-600);text-transform:uppercase;letter-spacing:.03em;}
.dash-order-card2-number{font-size:15px;font-weight:800;margin-top:2px;}
.dash-order-card2-total{font-size:16px;font-weight:800;flex-shrink:0;}
.dash-order-card2-meta{font-size:11.5px;color:var(--gray-600);margin-top:8px;}
.dash-order-card2-action{
  display:block;text-align:center;background:var(--ink);color:#fff;
  padding:12px;font-weight:700;font-size:12.5px;text-decoration:none;
}

/* ---------- RESPONSIVE ---------- */
@media (min-width:768px){
  .rest-scroll{display:none;}
  .rest-grid-wrap{display:block;}
  .bottomnav{display:none;}
  body{padding-bottom:0;}
  .cart-bar{bottom:24px;}
}
@media (max-width:767px){
  .rest-grid{display:none;}
}
