
/*
 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}
}
