
/*
 DINO CAISSE v0.3.57 TEST — ERGONOMIE CAISSIER
 ------------------------------------------------
 - Design visuel existant conservé.
 - Organisation pensée pour prise de commande rapide.
 - Produits en lignes compactes.
 - Catégories + produits côte à côte.
 - Commande à droite, total/paiement toujours visibles.
 - Alertes WEB non bloquantes.
*/

html,body{overflow:hidden}
.shell{
  height:100dvh!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:7px!important;
  padding:7px!important;
}
.footer{display:none!important}

/* Barre haute = vigilance, pas zone de travail principale */
.topbar{
  grid-template-columns:minmax(220px,.8fr) minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:7px 9px!important;
  border-radius:17px!important;
}
.brand img{width:46px!important;height:46px!important}
.brand h1{font-size:23px!important}
.brand p{display:none!important}
.services{
  display:none!important; /* déplacés dans la colonne gauche par JS */
}
.top-actions{gap:6px!important}
.clock{min-width:88px!important;font-size:18px!important}
.server-inbox-top,.held-top,.receipt-quick-top,.quick-menu-top{
  min-height:44px!important;height:44px!important;border-radius:11px!important
}
.dino21-widget-host{
  min-width:245px!important;width:245px!important;height:50px!important;min-height:50px!important
}
.dino21-widget-host iframe{width:245px!important;height:50px!important;border-radius:12px!important}

/* Nouvelle grille : modes | catégories | produits | commande */
.workspace{
  display:grid!important;
  grid-template-columns:
    minmax(160px,10.5%)
    minmax(205px,14.5%)
    minmax(0,1fr)
    minmax(300px,22%);
  gap:7px!important;
  min-height:0!important;
}

/* Le JS ajoute ces panneaux sans changer les fonctions existantes */
.v3-mode-panel,.category-rail,.catalog,.cart{
  min-height:0!important;
  border:1px solid #8a5e24!important;
  border-radius:17px!important;
  background:linear-gradient(160deg,#171512,#080909 60%,#11100e)!important;
  box-shadow:0 8px 25px #0008!important;
  overflow:hidden!important;
}

.v3-mode-panel{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
}
.v3-panel-title{
  padding:11px 12px 7px;
  color:#f0be65;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.09em;
}
.v3-mode-panel .services{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-auto-rows:56px;
  gap:7px!important;
  padding:6px 9px 10px!important;
}
.v3-mode-panel .service{
  min-height:56px!important;
  font-size:13px!important;
  border-radius:13px!important;
}
.v3-quick{
  align-self:end;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:9px;
  border-top:1px solid #8a5e2445;
}
.v3-quick button{
  min-height:50px;
  padding:6px;
  border:1px solid #76511f;
  border-radius:12px;
  background:linear-gradient(160deg,#171512,#0c0c0b);
  color:#fff5e4;
  font-weight:900;
  font-size:10px;
}
.v3-quick button span{display:block;font-size:19px;margin-bottom:2px}

/* Catégories */
.category-rail{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.category-rail-head{padding:10px 10px 7px!important}
.category-rail-head h2{font-size:17px!important}
.cats-vertical{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-auto-rows:minmax(51px,auto)!important;
  gap:6px!important;
  padding:7px!important;
  overflow-y:auto!important;
}
.cats-vertical .cat{
  min-width:0!important;
  min-height:51px!important;
  width:100%!important;
  padding:6px 8px!important;
  gap:7px!important;
  border-radius:12px!important;
}
.cats-vertical .cat span{font-size:21px!important}
.cats-vertical .cat b{font-size:11px!important;line-height:1.1!important}

/* Produits : vraie liste tactile compacte */
.catalog{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.catalog-head-products{padding:7px 8px!important}
.catalog-title-row{margin-bottom:5px!important}
.catalog-title-row h2{font-size:17px!important}
.catalog-meta{font-size:10px!important}
.burger-meat-filters{gap:5px!important}
.search{
  min-height:38px!important;
  padding:7px 10px!important;
  font-size:12px!important;
  border-radius:11px!important;
}
.products{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  padding:7px!important;
  overflow-y:auto!important;
}
.product-with-thumb,
.product{
  flex:0 0 74px!important;
  min-height:74px!important;
  height:74px!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
.product-with-thumb .product-add,
.product-add{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) auto!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:10px!important;
  padding:5px 92px 5px 5px!important;
}
.product-thumb{
  width:70px!important;
  height:62px!important;
  margin:0!important;
  border:0!important;
  border-radius:10px!important;
  object-fit:cover!important;
  grid-column:1!important;
}
.product-copy{
  grid-column:2!important;
  min-height:0!important;
  padding:0!important;
  padding-right:0!important;
  display:block!important;
}
.product-with-thumb b,.product b{
  margin:0!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1.1!important;
  -webkit-line-clamp:2!important;
}
.product-with-thumb .price,.price{
  grid-column:3!important;
  align-self:center!important;
  padding:0!important;
  margin:0!important;
  min-width:76px!important;
  text-align:right!important;
  font-size:17px!important;
  color:#f6ca71!important;
}
.vat-badge{
  top:5px!important;
  right:56px!important;
  font-size:8px!important;
  padding:3px 5px!important;
}
.halal-badge{
  top:auto!important;
  left:86px!important;
  bottom:7px!important;
  font-size:8px!important;
}
.product-info,.product-options{
  width:34px!important;height:34px!important;
  bottom:20px!important;
  border-radius:10px!important;
}
.product-info{right:47px!important}
.product-options{right:8px!important}

/* Commande = contrôle et encaissement */
.cart{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
}
.cart-head{padding:10px!important}
.cart-head h2{font-size:18px!important}
.cart-head-actions{gap:5px!important}
.btn-compact{padding:7px 8px!important;font-size:10px!important;min-height:34px!important}
.cart-list{padding:7px!important;overflow-y:auto!important}
.line{padding:8px!important;margin-bottom:6px!important;border-radius:11px!important}
.line-main b{font-size:13px!important}
.line-main strong{font-size:13px!important}
.mods,.note{font-size:10px!important}
.line-actions{gap:4px!important;margin-top:6px!important}
.line-actions button{padding:4px 7px!important;font-size:10px!important}

.cart-foot{
  padding:8px 9px!important;
  position:relative!important;
}
.grand{font-size:20px!important}
.grand strong{font-size:24px!important}
.operation-row{
  display:grid!important;
  grid-template-columns:1.6fr .7fr .7fr!important;
  gap:5px!important;
}
.operation-row .btn{min-height:42px!important;padding:6px!important;font-size:10px!important}
.checkout-actions{gap:5px!important}
.checkout-actions .btn{min-height:52px!important}
.pay{font-size:15px!important}

/* Ancien énorme bandeau : jamais bloquant en V3 */
#webOrderBigAlert{
  display:none!important;
}

/* Nouvelle alerte légère */
.v3-web-notice{
  position:fixed;
  z-index:24000;
  right:18px;
  top:78px;
  width:min(390px,calc(100vw - 36px));
  border:2px solid #9b53ff;
  border-radius:17px;
  background:linear-gradient(145deg,#291145,#13091f);
  box-shadow:0 18px 45px #000b,0 0 24px #8c32ff55;
  color:white;
  padding:12px;
  animation:v3pulse 1.15s ease-in-out infinite alternate;
}
.v3-web-notice.hidden{display:none!important}
@keyframes v3pulse{
  from{box-shadow:0 18px 45px #000b,0 0 10px #8c32ff44}
  to{box-shadow:0 18px 45px #000b,0 0 28px #b767ff99}
}
.v3-web-kicker{font-size:10px;font-weight:1000;letter-spacing:.1em;color:#d9bbff}
.v3-web-title{font-size:17px;font-weight:1000;margin-top:4px}
.v3-web-detail{font-size:12px;color:#e6d8f3;margin-top:3px}
.v3-web-actions{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:7px;
  margin-top:10px;
}
.v3-web-actions button{
  min-height:43px;
  border-radius:11px;
  font-weight:1000;
  border:1px solid #a168e5;
  color:white;
  background:#31164d;
}
.v3-web-actions .take{
  background:linear-gradient(180deg,#b566ff,#7f28dc);
}
.v3-web-actions .later{
  background:linear-gradient(180deg,#e1a844,#9b671d);
  border-color:#f4c168;
  color:#201308;
}
.v3-snooze-chip{
  position:fixed;
  z-index:23000;
  right:18px;
  top:78px;
  min-width:220px;
  padding:9px 12px;
  border:1px solid #a56ce2;
  border-radius:13px;
  background:#21102f;
  color:#f4eaff;
  font-size:11px;
  font-weight:900;
  box-shadow:0 8px 25px #0009;
}
.v3-snooze-chip.hidden{display:none!important}

/* Tablette paysage */
@media(max-width:1280px) and (orientation:landscape){
  .workspace{
    grid-template-columns:minmax(135px,10%) minmax(170px,14%) minmax(0,1fr) minmax(265px,23%)!important;
    gap:5px!important;
  }
  .topbar{grid-template-columns:minmax(175px,.7fr) minmax(0,1fr) auto!important}
  .brand img{width:40px!important;height:40px!important}
  .brand h1{font-size:19px!important}
  .dino21-widget-host{min-width:200px!important;width:200px!important}
  .dino21-widget-host iframe{width:200px!important}
  .clock{min-width:66px!important;font-size:15px!important}
  .v3-mode-panel .services{grid-auto-rows:50px!important}
  .v3-mode-panel .service{min-height:50px!important;font-size:11px!important}
  .v3-quick button{min-height:44px!important;font-size:9px!important}
  .cats-vertical{grid-auto-rows:minmax(46px,auto)!important}
  .cats-vertical .cat{min-height:46px!important}
  .product-with-thumb,.product{flex-basis:68px!important;height:68px!important;min-height:68px!important}
  .product-thumb{width:62px!important;height:56px!important}
  .product-with-thumb .product-add,.product-add{
    grid-template-columns:68px minmax(0,1fr) auto!important;
    padding-right:82px!important;
  }
  .product-with-thumb b,.product b{font-size:13px!important}
  .product-with-thumb .price,.price{font-size:15px!important;min-width:65px!important}
  .product-info,.product-options{width:30px!important;height:30px!important;bottom:18px!important}
  .product-info{right:42px!important}
  .product-options{right:7px!important}
  .vat-badge{right:48px!important}
  .halal-badge{left:77px!important}
}

/* Très petit paysage : on garde le flux de travail, au prix de colonnes plus étroites */
@media(max-width:1040px) and (orientation:landscape){
  .workspace{
    grid-template-columns:120px 150px minmax(0,1fr) 245px!important;
  }
  .receipt-quick-top span,.quick-menu-top span{display:none!important}
  .dino21-widget-host{min-width:175px!important;width:175px!important}
  .dino21-widget-host iframe{width:175px!important}
}


/* =========================================================
   DINO CAISSE v0.3.58 TEST — correctifs affichage
   ========================================================= */
.top-actions{min-width:0!important}
.dino21-widget-host{width:270px!important;min-width:270px!important;height:60px!important;min-height:60px!important;overflow:hidden!important;border-radius:14px!important;background:#160b25!important;border:1px solid #7440b7!important}
.dino21-widget-host iframe{display:block!important;width:270px!important;min-width:270px!important;height:60px!important;min-height:60px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:13px!important;background:transparent!important}
.products{gap:7px!important;padding:7px!important}
.product,.product-with-thumb{position:relative!important;flex:0 0 82px!important;height:82px!important;min-height:82px!important;max-height:82px!important;overflow:hidden!important;border-radius:13px!important}
.product-with-thumb .product-add,.product .product-add{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;padding:0!important;text-align:left!important;overflow:hidden!important}
.product-thumb{position:absolute!important;left:7px!important;top:6px!important;width:86px!important;height:70px!important;min-width:86px!important;min-height:70px!important;margin:0!important;padding:0!important;border:1px solid #6f4c20!important;border-radius:10px!important;object-fit:contain!important;object-position:center center!important;background:#0b0b0b!important}
.product-copy{position:absolute!important;left:104px!important;right:205px!important;top:10px!important;bottom:28px!important;display:flex!important;align-items:flex-start!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
.product-with-thumb b,.product b{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;margin:0!important;padding:0!important;color:#fff7e8!important;font-size:16px!important;line-height:1.18!important;font-weight:950!important;text-shadow:0 1px 2px #000!important}
.product-with-thumb .price,.product .price,.price{position:absolute!important;right:92px!important;top:50%!important;transform:translateY(-50%)!important;display:block!important;width:108px!important;min-width:108px!important;padding:0!important;margin:0!important;color:#f6ca71!important;font-size:18px!important;line-height:1!important;font-weight:1000!important;text-align:right!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
.halal-badge{left:104px!important;right:auto!important;bottom:8px!important;top:auto!important;z-index:5!important}
.vat-badge{right:92px!important;top:6px!important;z-index:5!important}
.product-info,.product-options{position:absolute!important;top:22px!important;bottom:auto!important;width:36px!important;height:36px!important;border-radius:11px!important;z-index:8!important}
.product-info{right:48px!important}.product-options{right:7px!important}
.cats-vertical .cat{grid-template-columns:42px minmax(0,1fr)!important}
.cats-vertical .cat img{width:38px!important;height:38px!important;object-fit:cover!important;border-radius:9px!important}
.cats-vertical .cat span{width:38px!important;min-width:38px!important;font-size:24px!important}
.v3-snooze-chip{max-width:360px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.v358-web-actions{grid-template-columns:1fr 1.2fr!important}
.v358-web-actions .open21{grid-column:1/-1;min-height:38px!important;background:#17131d!important;border-color:#705093!important;color:#e8d8ff!important}
@media(max-width:1450px){.workspace{grid-template-columns:minmax(150px,10%) minmax(185px,14%) minmax(0,1fr) minmax(285px,23%)!important}.dino21-widget-host,.dino21-widget-host iframe{width:250px!important;min-width:250px!important}.product-copy{right:190px!important}.product-with-thumb .price,.product .price,.price{right:86px!important;width:102px!important;font-size:17px!important}.vat-badge{right:86px!important}}


/* =========================================================
   DINO CAISSE v0.3.66 — FIT LENOVO PAYSAGE + MODE STANDARD
   ========================================================= */
*{box-sizing:border-box}
html,body{max-width:100vw!important;overflow-x:hidden!important}
.shell{
  width:100vw!important;
  max-width:100vw!important;
  min-width:0!important;
  overflow:hidden!important;
}
.topbar{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.topbar>*{min-width:0!important}
.top-actions{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.workspace{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.workspace>*{min-width:0!important;max-width:100%!important}

/* Ordre fixe : modes | catégories | produits | commande */
.v3-mode-panel{grid-column:1}
.category-rail{grid-column:2}
.catalog{grid-column:3}
.cart{grid-column:4}

/* La colonne caisse doit rester visible à 100 % même dans Chrome avec barre d'onglets. */
@media (min-width:900px) and (orientation:landscape){
  .workspace{
    grid-template-columns:
      minmax(108px,9.5%)
      minmax(142px,12.5%)
      minmax(0,1fr)
      minmax(248px,24%)!important;
    gap:5px!important;
  }
  .cart{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .cart-head{padding:7px!important}
  .cart-head h2{font-size:15px!important;line-height:1.05!important}
  .cart-head-actions{flex-wrap:wrap!important;justify-content:flex-end!important}
  .btn-compact{min-width:0!important;padding:5px 6px!important}
  .cart-foot{padding:6px!important}
  .operation-row{grid-template-columns:minmax(0,1.55fr) minmax(50px,.72fr) minmax(50px,.72fr)!important}
  .checkout-actions{grid-template-columns:minmax(88px,.75fr) minmax(0,1.55fr)!important}
  .checkout-actions .btn,.operation-row .btn{min-width:0!important}
  .pay{font-size:13px!important;padding:5px!important}
  .split-pay{padding:5px!important}
  .grand strong{font-size:22px!important}
  .dino21-widget-host,
  .dino21-widget-host iframe{
    width:210px!important;
    min-width:210px!important;
  }
  .clock{min-width:58px!important;font-size:14px!important}
}

/* Lenovo / viewport CSS autour de 1000–1250 px */
@media (min-width:900px) and (max-width:1250px) and (orientation:landscape){
  .workspace{
    grid-template-columns:
      108px
      145px
      minmax(0,1fr)
      255px!important;
    gap:4px!important;
  }
  .topbar{
    grid-template-columns:minmax(145px,.55fr) minmax(0,1fr) auto!important;
    gap:4px!important;
    padding:5px!important;
  }
  .brand img{width:34px!important;height:34px!important}
  .brand h1{font-size:16px!important}
  .dino21-widget-host,.dino21-widget-host iframe{width:175px!important;min-width:175px!important}
  .server-inbox-top,.held-top,.receipt-quick-top,.quick-menu-top{min-width:36px!important;width:auto!important;padding:0 6px!important}
  .clock{min-width:52px!important;font-size:12px!important}
  .v3-panel-title{font-size:9px!important;padding:7px!important}
  .v3-mode-panel .services{padding:4px 6px!important;grid-auto-rows:46px!important}
  .v3-mode-panel .service{min-height:46px!important;font-size:10px!important}
  .v3-quick{padding:6px!important;gap:4px!important}
  .v3-quick button{min-height:39px!important;font-size:8px!important}
  .v3-quick button span{font-size:15px!important}
  .category-rail-head{padding:7px!important}
  .category-rail-head h2{font-size:14px!important}
  .cats-vertical{padding:5px!important;gap:4px!important;grid-auto-rows:minmax(43px,auto)!important}
  .cats-vertical .cat{min-height:43px!important;padding:4px 5px!important;grid-template-columns:34px minmax(0,1fr)!important}
  .cats-vertical .cat img,.cats-vertical .cat span{width:32px!important;height:32px!important;min-width:32px!important}
  .cats-vertical .cat b{font-size:9.5px!important}
  .product,.product-with-thumb{flex-basis:72px!important;height:72px!important;min-height:72px!important;max-height:72px!important}
  .product-thumb{width:72px!important;height:60px!important}
  .product-copy{left:88px!important;right:170px!important}
  .product-with-thumb b,.product b{font-size:13px!important}
  .product-with-thumb .price,.product .price,.price{right:78px!important;width:88px!important;font-size:15px!important}
  .vat-badge{right:78px!important}
  .halal-badge{left:88px!important}
  .product-info,.product-options{width:30px!important;height:30px!important}
  .product-info{right:41px!important}.product-options{right:6px!important}
}

/* Si Chrome réduit encore davantage le viewport : priorité absolue à la caisse droite. */
@media (min-width:800px) and (max-width:980px) and (orientation:landscape){
  .workspace{
    grid-template-columns:96px 125px minmax(0,1fr) 238px!important;
  }
  .dino21-widget-host,.dino21-widget-host iframe{width:145px!important;min-width:145px!important}
  .product-copy{left:78px!important;right:145px!important}
  .product-thumb{width:62px!important}
  .product-with-thumb .price,.product .price,.price{right:68px!important;width:72px!important;font-size:13px!important}
  .vat-badge{right:68px!important}
  .product-info,.product-options{width:27px!important;height:27px!important}
  .product-info{right:36px!important}
}

/* Sortie Standard toujours visible */
.standard-mode-banner{
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
}
.standard-mode-exit-btn{
  min-height:38px;
  padding:7px 13px;
  border:1px solid #ffe08a;
  border-radius:11px;
  background:linear-gradient(180deg,#f7c64c,#b87912);
  color:#211407;
  font-weight:1000;
  font-size:11px;
  white-space:nowrap;
}
.standard-mode-exit-btn:active{transform:translateY(1px)}


/* =========================================================
   v0.3.67 — PERFORMANCE / TACTILE POS
   Objectif : sensation "calculette" sur tablette Android.
   ========================================================= */
button,[role="button"],.cat,.product-add,.product-info,.product-options,.service,.table{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.products,.cart-list,.cats-vertical{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.product{
  contain:layout paint style;
  content-visibility:auto;
  contain-intrinsic-size:auto 186px;
}
.product-thumb,.cat-thumb{
  transform:translateZ(0);
  backface-visibility:hidden;
}
@media (pointer:coarse){
  .product-add,.product-info,.product-options,.cat,.service,.v3-quick button,.line-actions button,.pay-method,.btn{
    transition:none!important;
  }
  .product-add:active,.product-options:active,.product-info:active,.line-actions button:active,.cat:active,.service:active{
    transition:none!important;
  }
  .product-with-thumb{box-shadow:inset 0 1px 0 #fff1b71a,0 2px 6px #0005!important}
}


/* =========================================================
   DINO CAISSE v0.3.68
   Correctif colonne gauche — COLONNE DROITE v0.3.67 INCHANGÉE
   ========================================================= */

/* Tablette Lenovo paysage : on rend de l'espace aux commandes de gauche
   en le prenant uniquement sur la zone PRODUITS. La colonne COMMANDE
   conserve strictement sa largeur v0.3.67. */
@media (min-width:900px) and (max-width:1250px) and (orientation:landscape){
  .workspace{
    grid-template-columns:
      128px
      168px
      minmax(0,1fr)
      255px!important; /* NE PAS MODIFIER : colonne droite validée */
  }
  .v3-mode-panel{min-width:128px!important}
  .category-rail{min-width:168px!important}

  .v3-mode-panel .services{padding:5px 7px!important}
  .v3-mode-panel .service{
    min-width:0!important;
    width:100%!important;
    padding-left:6px!important;
    padding-right:6px!important;
    font-size:10px!important;
  }
  .v3-quick{
    grid-template-columns:1fr 1fr!important;
    padding:6px!important;
    gap:5px!important;
  }
  .v3-quick button{
    width:100%!important;
    min-width:0!important;
    padding:4px 3px!important;
    overflow:hidden!important;
  }

  .cats-vertical .cat{
    grid-template-columns:38px minmax(0,1fr)!important;
    padding:4px 7px!important;
  }
  .cats-vertical .cat img,
  .cats-vertical .cat span{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }
  .cats-vertical .cat b{
    font-size:10.5px!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* Cas où Android/Chrome expose un viewport plus étroit.
   La droite reste à 238px, exactement comme en v0.3.67. */
@media (min-width:800px) and (max-width:980px) and (orientation:landscape){
  .workspace{
    grid-template-columns:
      112px
      148px
      minmax(0,1fr)
      238px!important; /* NE PAS MODIFIER : colonne droite validée */
  }
  .v3-mode-panel{min-width:112px!important}
  .category-rail{min-width:148px!important}
  .v3-quick{grid-template-columns:1fr 1fr!important;gap:4px!important}
  .v3-quick button{min-width:0!important;width:100%!important;padding:3px 2px!important}
  .cats-vertical .cat{grid-template-columns:34px minmax(0,1fr)!important;padding:4px 5px!important}
  .cats-vertical .cat b{font-size:9.8px!important;white-space:normal!important}
}


/* =========================================================
   Dino Caisse v0.3.72 — rangée droite produit :
   [prix] [TVA argentée] [?] [±]
   IMPORTANT : aucune largeur de colonne n'est modifiée.
   ========================================================= */

/* Taille normale / grand paysage */
.product-vat-chip{
  position:absolute!important;
  top:22px!important;
  bottom:auto!important;
  right:89px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  max-width:36px!important;
  max-height:36px!important;
  border-radius:11px!important;
  display:grid!important;
  place-items:center!important;
  font-size:10px!important;
  z-index:8!important;
}
.product-with-thumb .price,
.product .price,
.price{
  right:133px!important;
  width:108px!important;
  min-width:108px!important;
}
.product-copy{
  right:246px!important;
}

/* Écrans jusqu'à 1450 px */
@media(max-width:1450px){
  .product-vat-chip{
    right:89px!important;
    width:36px!important;
    height:36px!important;
  }
  .product-with-thumb .price,
  .product .price,
  .price{
    right:133px!important;
    width:102px!important;
    min-width:102px!important;
  }
  .product-copy{
    right:240px!important;
  }
}

/* Lenovo paysage — réglage utilisé actuellement */
@media (min-width:900px) and (max-width:1250px) and (orientation:landscape){
  .product-vat-chip{
    top:22px!important;
    right:76px!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    border-radius:9px!important;
    font-size:8px!important;
  }
  .product-with-thumb .price,
  .product .price,
  .price{
    right:112px!important;
    width:88px!important;
    min-width:88px!important;
  }
  .product-copy{
    right:205px!important;
  }
}

/* Viewport Android plus étroit */
@media (min-width:800px) and (max-width:980px) and (orientation:landscape){
  .product-vat-chip{
    top:22px!important;
    right:66px!important;
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
    min-height:27px!important;
    max-width:27px!important;
    max-height:27px!important;
    border-radius:8px!important;
    font-size:7px!important;
  }
  .product-with-thumb .price,
  .product .price,
  .price{
    right:98px!important;
    width:72px!important;
    min-width:72px!important;
  }
  .product-copy{
    right:175px!important;
  }
}

/* L'ancien badge TVA n'est plus utilisé dans les tuiles produits. */
.product .vat-badge,
.product-with-thumb .vat-badge{
  display:none!important;
}


/* =========================================================
   DINO CAISSE v0.3.78 — PROPORTIONS TABLETTE LENOVO
   Objectif : colonne gauche lisible, catégories non écrasées.
   IMPORTANT : la colonne droite COMMANDE conserve exactement
   les valeurs déjà validées : 255 px / 238 px.
   ========================================================= */

/* Lenovo paysage / Chrome Android */
@media (min-width:981px) and (max-width:1250px) and (orientation:landscape){
  .workspace{
    grid-template-columns:
      clamp(150px,12.4vw,158px)
      clamp(182px,15.3vw,194px)
      minmax(0,1fr)
      255px!important; /* colonne droite inchangée */
    gap:5px!important;
  }

  .v3-mode-panel{
    min-width:150px!important;
  }
  .category-rail{
    min-width:182px!important;
  }

  .v3-panel-title{
    font-size:10px!important;
    padding:8px 9px!important;
  }
  .v3-mode-panel .services{
    padding:6px 8px!important;
    gap:6px!important;
    grid-auto-rows:48px!important;
  }
  .v3-mode-panel .service{
    min-height:48px!important;
    font-size:11px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .v3-quick{
    padding:7px!important;
    gap:6px!important;
    grid-template-columns:1fr 1fr!important;
  }
  .v3-quick button{
    min-width:0!important;
    min-height:43px!important;
    padding:5px 3px!important;
    font-size:9.5px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
  .v3-quick button span{
    font-size:16px!important;
    margin-bottom:2px!important;
  }

  .category-rail-head{
    padding:8px 9px!important;
  }
  .category-rail-head h2{
    font-size:15px!important;
  }
  .cats-vertical{
    padding:6px!important;
    gap:5px!important;
    grid-auto-rows:minmax(46px,auto)!important;
  }
  .cats-vertical .cat{
    min-height:46px!important;
    padding:5px 7px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:7px!important;
  }
  .cats-vertical .cat img,
  .cats-vertical .cat span{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }
  .cats-vertical .cat b{
    font-size:10.8px!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

/* Viewport Android plus étroit : on garde la droite à 238 px
   et on donne quand même plus d'air à la gauche. */
@media (min-width:800px) and (max-width:980px) and (orientation:landscape){
  .workspace{
    grid-template-columns:
      128px
      156px
      minmax(0,1fr)
      238px!important; /* colonne droite inchangée */
    gap:4px!important;
  }
  .v3-mode-panel{min-width:128px!important}
  .category-rail{min-width:156px!important}

  .v3-mode-panel .services{
    padding:5px 6px!important;
    grid-auto-rows:45px!important;
  }
  .v3-mode-panel .service{
    min-height:45px!important;
    font-size:9.5px!important;
  }
  .v3-quick{
    padding:5px!important;
    gap:4px!important;
  }
  .v3-quick button{
    min-height:39px!important;
    font-size:8.5px!important;
    line-height:1.05!important;
  }
  .v3-quick button span{font-size:14px!important}

  .cats-vertical .cat{
    grid-template-columns:34px minmax(0,1fr)!important;
    padding:4px 6px!important;
  }
  .cats-vertical .cat b{
    font-size:9.7px!important;
    line-height:1.06!important;
    white-space:normal!important;
    overflow:visible!important;
  }
}
