:root{
  --ink:#14110F; --ink-soft:#221D18; --bone:#F3ECDF; --bone-dim:#E8DFCC; --card:#FFFCF6;
  --gold:#B6862C; --gold-light:#D9AE5D; --burgundy:#6E2437; --burgundy-light:#F6E4E8;
  --forest:#3B5A45; --forest-light:#E3ECE6; --slate:#4A4640; --line:#DCD1B8; --radius:14px;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --gradient-gold:linear-gradient(135deg,#D9AE5D 0%,#B6862C 55%,#8C6420 100%);
  --gradient-dark:linear-gradient(160deg,#221D18 0%,#14110F 60%,#0B0907 100%);
  --gradient-burgundy:linear-gradient(135deg,#8A2E45 0%,#6E2437 60%,#4E1727 100%);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;color:var(--ink);font-family:var(--sans);}
body{
  -webkit-font-smoothing:antialiased;
  background-color:var(--bone);
  background-image:
    radial-gradient(circle at 8% 8%, rgba(182,134,44,.10) 0%, transparent 40%),
    radial-gradient(circle at 92% 18%, rgba(110,36,55,.08) 0%, transparent 42%),
    radial-gradient(circle at 50% 92%, rgba(59,90,69,.08) 0%, transparent 45%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23B6862C' stroke-width='1.4' opacity='0.11'%3E%3Cpath d='M40 70c-13 0-19-10-19-20 0-7 3.5-11 8.5-11 3.5 0 5.6 2.8 5.6 6.3 0-6.3-4.2-10.5-9.8-10.5-6.3 0-11.2 5.6-11.2 13.3 0 14 10.5 24.5 26 24.5s26-10.5 26-24.5c0-7.7-4.9-13.3-11.2-13.3-5.6 0-9.8 4.2-9.8 10.5 0-3.5 2.1-6.3 5.6-6.3 5 0 8.5 4 8.5 11 0 10-6 20-19 20z'/%3E%3Ccircle cx='170' cy='40' r='13'/%3E%3Cpath d='M158 40h24M170 28v24'/%3E%3Cpath d='M120 150l14 14 26-30' /%3E%3Crect x='30' y='150' width='36' height='28' rx='3'/%3E%3Cpath d='M30 158h36M42 150v-8a6 6 0 0 1 12 0v8'/%3E%3Cpath d='M190 130c0 12-9 20-9 20s-9-8-9-20a9 9 0 0 1 18 0z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat, no-repeat, no-repeat, repeat;
  background-attachment:fixed, fixed, fixed, fixed;
  background-size:cover, cover, cover, 220px 220px;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:.02em;}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--sans);cursor:pointer;border:none;}
input,select,textarea{font-family:var(--sans);}
::selection{background:var(--gold-light);color:var(--ink);}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--gradient-dark);color:var(--bone);position:sticky;top:0;z-index:50;box-shadow:0 6px 22px rgba(0,0,0,.28);border-bottom:1px solid rgba(217,174,93,.25);}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:19px;letter-spacing:.06em;}
.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.22em;color:var(--gold-light);text-transform:uppercase;margin-top:2px;}
.horn{width:26px;height:26px;flex:none;}
.brand-logo{width:36px;height:36px;flex:none;object-fit:contain;border-radius:9px;box-shadow:0 2px 10px rgba(182,134,44,.5);background:rgba(255,255,255,.05);}
.footer-logo{width:34px;height:34px;object-fit:contain;border-radius:9px;flex:none;}
.pill{background:var(--gradient-gold);color:var(--ink);padding:8px 16px;border-radius:30px;font-size:12.5px;font-weight:600;letter-spacing:.03em;border:none;cursor:pointer;box-shadow:0 3px 10px rgba(182,134,44,.35);transition:transform .15s ease, box-shadow .15s ease;}
.pill:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(182,134,44,.5);}
.pill.ghost{background:transparent;border:1px solid rgba(243,236,223,.35);color:var(--bone);box-shadow:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.sync{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--gold-light);opacity:.8;}
.sync .horn{width:14px;height:14px;animation:spin 2.4s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---- Navigation retour / accueil (toutes pages, toutes tailles d'écran) ---- */
.nav-actions{display:flex;align-items:center;gap:8px;margin-right:14px;flex:none;}
.nav-actions button{
  display:flex;align-items:center;justify-content:center;gap:6px;
  background:rgba(243,236,223,.08);border:1px solid rgba(217,174,93,.35);color:var(--bone);
  width:36px;height:36px;border-radius:50%;font-size:16px;transition:background .15s ease, transform .15s ease;
}
.nav-actions button.nav-home{width:auto;padding:0 14px;border-radius:20px;font-size:12.5px;font-weight:600;gap:7px;background:var(--gradient-gold);color:var(--ink);border:none;}
.nav-actions button:hover{transform:translateY(-1px);}
.nav-actions button:not(.nav-home):hover{background:rgba(217,174,93,.22);}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 2px 14px rgba(20,17,15,.05);}
.grid{display:grid;gap:18px;}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}
.btn{display:inline-block;padding:10px 20px;border-radius:30px;font-size:13px;font-weight:600;letter-spacing:.02em;background:var(--gradient-gold);color:var(--ink);border:none;cursor:pointer;box-shadow:0 4px 14px rgba(182,134,44,.32);transition:transform .15s ease, box-shadow .15s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(182,134,44,.42);}
.btn.outline{background:transparent;border:1.5px solid var(--ink);color:var(--ink);box-shadow:none;}
.btn.small{padding:6px 14px;font-size:12px;}
.btn.danger{background:var(--gradient-burgundy);color:var(--bone);box-shadow:0 4px 14px rgba(110,36,55,.35);}
.btn.ghost-dark{background:var(--gradient-dark);color:var(--bone);box-shadow:0 4px 14px rgba(0,0,0,.3);}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.btn.outline:hover{background:rgba(20,17,15,.06);}
.btn.small.outline{border-color:var(--line);color:var(--ink-soft);}
.btn.small.outline:hover{border-color:var(--gold);color:var(--ink);background:rgba(182,134,44,.08);}
/* ---- Alignement professionnel des groupes de boutons d'action (tableaux, tableau de bord) ---- */
.actions-cell{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.actions-cell .btn{white-space:nowrap;}
.dash-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 28px;}
.dash-actions .btn{min-width:190px;text-align:center;}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em;}
.badge.ok{background:var(--forest-light);color:var(--forest);}
.badge.warn{background:#FBEFDA;color:#8A5A12;}
.badge.bad{background:var(--burgundy-light);color:var(--burgundy);}
.badge.muted{background:#EEE8D8;color:var(--slate);}
/* ---- Formulaires : carte arrondie, en-tête coloré, champs aérés ---- */
.field{margin-bottom:20px;text-align:left;}
.field label{display:block;font-size:12.5px;color:var(--slate);margin-bottom:7px;letter-spacing:.02em;font-weight:600;}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;font-size:14.5px;background:#fff;transition:border-color .15s ease, box-shadow .15s ease;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(182,134,44,.15);}
.field textarea{min-height:90px;resize:vertical;}
.field textarea.fixed{resize:none;min-height:150px;}

.form-card{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);overflow:hidden;box-shadow:0 10px 30px rgba(20,17,15,.10);}
.form-card-head{background:var(--gradient-gold);color:var(--ink);padding:22px 26px;}
.form-card-head .eyebrow{color:rgba(20,17,15,.65);}
.form-card-head h2,.form-card-head h3{margin-top:4px;}
.form-card-body{padding:26px;}
.form-card-body .field:last-child{margin-bottom:0;}

.modal-bg{position:fixed;inset:0;background:rgba(20,17,15,.62);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;}
.modal{background:var(--card);border-radius:calc(var(--radius) + 4px);padding:28px;max-width:460px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.35);border-top:4px solid var(--gold);}
.modal h3{font-size:19px;margin-bottom:4px;}
.modal .sub{font-size:12.5px;color:var(--slate);margin-bottom:18px;}
.toast-wrap{position:fixed;bottom:22px;right:22px;z-index:300;display:flex;flex-direction:column;gap:10px;}
.toast{background:var(--ink);color:var(--bone);padding:12px 18px;border-radius:10px;font-size:13px;box-shadow:0 10px 26px rgba(0,0,0,.3);border-left:3px solid var(--gold);animation:slidein .25s ease;}
@keyframes slidein{from{transform:translateX(30px);opacity:0;}to{transform:translateX(0);opacity:1;}}
table{width:100%;border-collapse:collapse;font-size:13.5px;}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);}
th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);}
@media (max-width:760px){
  table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  thead,tbody,tr{display:table;width:100%;table-layout:auto;}
}
.tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.tab{padding:10px 16px;font-size:13px;font-weight:600;color:var(--slate);border-bottom:2px solid transparent;cursor:pointer;background:none;}
.tab.active{color:var(--ink);border-color:var(--gold);}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;}
.stat .num{font-family:var(--serif);font-size:30px;}
.stat .lbl{font-size:11.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;}
.empty{padding:40px 20px;text-align:center;color:var(--slate);font-size:14px;}
.prod-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.prod-card img{width:100%;height:150px;object-fit:cover;background:#eee;}
.prod-card .pc-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;}
.prod-card h4{font-size:15px;margin-bottom:4px;}
.prod-card .price{color:var(--gold);font-weight:700;font-family:var(--serif);font-size:17px;margin:6px 0;}
.photo-box{border:2px dashed var(--line);border-radius:10px;padding:14px;text-align:center;font-size:12px;color:var(--slate);cursor:pointer;}
.photo-thumbs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.photo-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--line);}
.bell{position:relative;}
.bell .dot{position:absolute;top:-4px;right:-6px;background:var(--burgundy);color:#fff;font-size:10px;border-radius:10px;padding:1px 5px;}
.banner{padding:12px 18px;border-radius:10px;font-size:13px;margin-bottom:18px;}
.banner.warn{background:#FBEFDA;color:#7A4E10;border:1px solid #E9C787;}
.banner.bad{background:var(--burgundy-light);color:var(--burgundy);border:1px solid #E3B4BE;}
.divider-horn{display:flex;align-items:center;gap:14px;color:var(--gold);margin:34px 0;}
.divider-horn::before,.divider-horn::after{content:'';flex:1;height:1px;background:var(--line);}
.page-body{padding:32px 24px 80px;}
.center-auth{max-width:420px;margin:60px auto;}
.print-only{display:none;}
@media print{
  body *{visibility:hidden;}
  .print-only,.print-only *{visibility:visible;}
  .print-only{display:block;position:absolute;top:0;left:0;width:100%;padding:20px;}
  .p-watermark{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:0;pointer-events:none;}
  .p-watermark img{width:70%;max-width:520px;opacity:.07;filter:grayscale(1);}
  .p-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #14110F;padding-bottom:14px;margin-bottom:18px;}
  .p-head h1{font-family:Georgia,serif;font-size:22px;letter-spacing:.08em;}
  .p-head .p-sub{font-size:11px;color:#555;text-align:right;line-height:1.5;}
  .p-table{position:relative;z-index:1;width:100%;border-collapse:collapse;font-size:11.5px;}
  .p-table th{background:#14110F;color:#fff;padding:7px 8px;text-align:left;}
  .p-table td{padding:6px 8px;border-bottom:1px solid #ccc;}
  .p-foot{position:relative;z-index:1;margin-top:24px;font-size:10px;color:#777;border-top:1px solid #ccc;padding-top:8px;line-height:1.6;}
}
@media (max-width:900px){
  .grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .hero h1{font-size:32px;}
}
@media (max-width:560px){
  .grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr;}
}

/* ---- Bannière défilante : défile de la gauche vers la droite, avec effets d'accroche ---- */
.marquee-bar{background:linear-gradient(90deg,var(--burgundy),#8a2436,var(--burgundy));background-size:220% 100%;color:#fff;overflow:hidden;white-space:nowrap;position:relative;animation:marqueeGlow 5s ease-in-out infinite;}
.marquee-bar::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 rgba(182,134,44,0);animation:marqueePulse 2.4s ease-in-out infinite;pointer-events:none;}
.marquee-track{display:inline-block;padding:8px 0;font-size:12.5px;font-weight:700;letter-spacing:.03em;animation:marquee 16s linear infinite;text-shadow:0 0 8px rgba(255,255,255,.35);}
@keyframes marquee{from{transform:translateX(-50%);}to{transform:translateX(0);}}
@keyframes marqueeGlow{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
@keyframes marqueePulse{0%,100%{box-shadow:inset 0 0 0 rgba(182,134,44,0);}50%{box-shadow:inset 0 0 22px rgba(182,134,44,.7);}}

/* ---- Zoom photo ---- */
.lightbox-bg{background:rgba(20,17,15,.92);}
.lightbox-img{max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);cursor:default;}
.lightbox-close{position:absolute;top:22px;right:26px;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:38px;height:38px;font-size:16px;}
.zoomable{cursor:zoom-in;}

/* ---- Pied de page ---- */
.site-footer{background:var(--gradient-dark);color:var(--bone);margin-top:60px;padding:44px 0 0;border-top:1px solid rgba(217,174,93,.25);position:relative;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:34px;}
.footer-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-light);margin-bottom:12px;font-weight:700;}
.footer-line{font-size:13px;color:#C9C2B3;margin:0 0 8px;display:block;}
.footer-link:hover{color:var(--gold-light);}
.footer-bottom{border-top:1px solid rgba(243,236,223,.12);padding:16px 24px;text-align:center;font-size:11.5px;color:#8f887c;}
@media (max-width:800px){ .footer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }

/* ---- Bannière d'installation PWA ---- */
.install-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:420px;margin:0 auto;background:var(--gradient-dark);color:var(--bone);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 16px 40px rgba(0,0,0,.35);z-index:250;border:1px solid rgba(217,174,93,.25);}
.install-banner .horn{width:28px;height:28px;color:var(--gold);}
.install-close{background:transparent;color:#C9C2B3;font-size:14px;padding:4px;}

/* ---- Navigation mobile ---- */
.nav-burger{display:none;background:transparent;color:var(--bone);font-size:22px;padding:4px 8px;}
.mobile-nav{display:none;}
@media (max-width:900px){
  .nav-links{display:none;}
  .nav-burger{display:block;}
  .mobile-nav{position:fixed;top:0;right:-280px;width:280px;height:100vh;background:var(--gradient-dark);color:var(--bone);z-index:400;transition:right .25s ease;padding:70px 24px 24px;box-shadow:-10px 0 30px rgba(0,0,0,.3);}
  .mobile-nav.open{right:0;}
  .mobile-nav a, .mobile-nav button{display:block;width:100%;text-align:left;color:var(--bone);padding:12px 0;border-bottom:1px solid rgba(243,236,223,.12);font-size:14px;background:transparent;}
}

/* ---- Stock / rupture ---- */
.prod-card.out-of-stock{opacity:.55;filter:grayscale(60%);}
.stock-tag{font-size:11px;color:var(--slate);margin-top:2px;}
.stock-tag.low{color:var(--burgundy);font-weight:600;}

/* ---- Catégories (barre latérale façon Jumia) ---- */
.cat-sidebar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px;}
.cat-sidebar a{display:block;padding:9px 12px;border-radius:8px;font-size:13px;color:var(--ink);}
.cat-sidebar a.active,.cat-sidebar a:hover{background:var(--bone-dim);color:var(--gold);font-weight:600;}
.cat-chips{display:none;}
.sidebar-toggle-mobile{display:none;}
.sidebar-drawer-backdrop{display:none;}
@media (max-width:900px){
  .cat-sidebar{position:fixed;top:0;left:-290px;width:270px;height:100vh;z-index:410;border-radius:0;overflow-y:auto;padding:70px 16px 24px;transition:left .25s ease;box-shadow:10px 0 30px rgba(0,0,0,.25);}
  .cat-sidebar.open{left:0;display:block;}
  .cat-sidebar .drawer-close{display:flex;}
  .cat-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:12px;}
  .sidebar-toggle-mobile{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;}
  .sidebar-drawer-backdrop.open{display:block;position:fixed;inset:0;background:rgba(20,17,15,.5);z-index:405;}
}
.cat-sidebar .drawer-close{display:none;background:transparent;color:var(--ink);font-size:18px;position:absolute;top:18px;right:16px;}
.catalogue-layout{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:start;position:relative;}
@media (max-width:900px){ .catalogue-layout{grid-template-columns:1fr;} }

/* ---- Compte à rebours vente flash ---- */
.flash-timer{font-family:var(--serif);font-size:13px;color:var(--burgundy);font-weight:700;}
.section-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 16px;}
.section-heading h3{font-size:19px;}
.section-heading .tag-flash{background:var(--burgundy);color:#fff;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.04em;}

/* ---- Carrousels (boutique) ---- */
.carousel{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink);aspect-ratio:16/6;margin-bottom:18px;cursor:zoom-in;}
.carousel .car-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.carousel .car-slide.active{opacity:1;}
.carousel .car-slide img{width:100%;height:100%;object-fit:cover;}
.carousel .car-slide .car-title{position:absolute;left:20px;bottom:16px;color:#fff;font-family:var(--serif);font-size:20px;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.carousel .car-dots{position:absolute;bottom:10px;right:16px;display:flex;gap:6px;}
.carousel .car-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);}
.carousel .car-dots span.active{background:#fff;}
@media (max-width:700px){ .carousel{aspect-ratio:16/9;} }
/* ---- Zoom carrousel (clic pour agrandir et mieux lire l'information) ---- */
.car-zoom-overlay{position:fixed;inset:0;background:rgba(10,8,6,.86);z-index:400;display:flex;align-items:center;justify-content:center;padding:24px;}
.car-zoom-box{max-width:900px;width:100%;background:var(--card);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.car-zoom-box img{width:100%;max-height:70vh;object-fit:contain;background:#000;display:block;}
.car-zoom-box .czb-body{padding:18px 22px;}
.car-zoom-close{position:absolute;top:18px;right:22px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);font-size:18px;}

/* ---- Étoiles / avis ---- */
.stars{color:var(--gold);letter-spacing:1px;font-size:14px;}
.review-item{border-bottom:1px solid var(--line);padding:14px 0;}
.review-item:last-child{border-bottom:none;}
.review-item .rev-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.review-item .rev-date{color:var(--slate);font-size:11.5px;}
.review-item p{margin:6px 0 0;font-size:13.5px;color:var(--slate);line-height:1.6;}
.rating-picker{display:flex;gap:6px;font-size:24px;cursor:pointer;margin:6px 0 14px;}
.rating-picker span{color:var(--line);}
.rating-picker span.active{color:var(--gold);}

/* ---- Barre latérale du compte client (façon Jumia) ---- */
.account-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;}
.account-sidebar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px;position:sticky;top:80px;}
.account-sidebar a{display:block;padding:10px 12px;border-radius:8px;font-size:13.5px;color:var(--ink);}
.account-sidebar a.active{background:var(--bone-dim);color:var(--gold);font-weight:600;}
.account-sidebar a:hover{background:var(--bone-dim);}
.account-sep{height:1px;background:var(--line);margin:8px 4px;}
@media (max-width:800px){
  .account-layout{grid-template-columns:1fr;}
  .account-sidebar{position:static;display:flex;flex-wrap:wrap;gap:4px;}
  .account-sidebar a{flex:none;}
}

/* ---- Panier client ---- */
.cart-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(243,236,223,.08);border:1px solid rgba(217,174,93,.35);color:var(--bone);font-size:16px;}
.cart-btn .cart-count{position:absolute;top:-6px;right:-6px;background:var(--burgundy);color:#fff;font-size:10px;font-weight:700;border-radius:10px;min-width:17px;height:17px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.cart-line{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}
.cart-line img{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#eee;flex:none;}
.cart-line .cl-body{flex:1;min-width:0;}
.cart-qty{display:flex;align-items:center;gap:8px;}
.cart-qty button{width:28px;height:28px;border-radius:8px;border:1.5px solid var(--line);background:#fff;font-size:15px;}
.cart-summary-row{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;}
.cart-summary-row.total{font-weight:700;font-size:16px;border-top:1px solid var(--line);margin-top:6px;padding-top:10px;}

/* ---- Photo jointe à un avis ---- */
.review-photo{width:74px;height:74px;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:zoom-in;margin-top:8px;}
.review-photo-input{display:flex;align-items:center;gap:10px;margin-top:8px;}
.review-photo-preview{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:none;}

/* ---- Notifications Direction (actions commerçants/livreurs/clients à interpeller) ---- */
.notif-dropdown{position:absolute;top:56px;right:24px;width:340px;max-height:420px;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.25);z-index:300;}
.nd-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);}
.nd-list{padding:6px 0;}
.nd-item{padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px;}
.nd-item.unread{background:rgba(182,134,44,.08);}
.nd-item .nd-date{font-size:11px;color:var(--slate);margin-top:3px;}
