/* v12z4 — installation Safari onglet, tactile staff, Accueil replié */

/* Le popup d'install ne doit PAS défiler en entier : le corps défile,
   « Fermer » reste coincé en bas, dans le visual viewport (barres Safari). */
.r-ios-sheet .r-ios-card{
  overflow:hidden !important;
  max-height:100% !important;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.r-ios-sheet .r-ios-body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
.r-ios-sheet .r-ios-actions{
  flex:none;
  position:relative;
  z-index:2;
  padding-bottom:max(16px, env(safe-area-inset-bottom, 0px));
}

/* Safari / Chrome onglet (pas l'appli installée) : caler la feuille
   sur le visual viewport (--fq-vv*), pas sur 100vh (sous la barre d'outils). */
@media (max-width:1023px){
  html:not(.ios-sa) .r-ios-sheet{
    position:absolute;
    inset:auto;
    top:var(--fq-vvt, 0px);
    left:var(--fq-vvl, 0px);
    width:var(--fq-vvw, 100%);
    height:var(--fq-vvh, 100%);
    max-height:var(--fq-vvh, 100dvh);
    padding:max(12px, env(safe-area-inset-top, 0px)) 16px max(12px, env(safe-area-inset-bottom, 0px));
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
  }
}

/* Accueil BO : blocs repliés par défaut, interrupteur visible dans l'en-tête */
.acc-block .acc-f{display:none}
.acc-block.open .acc-f{display:grid}
.acc-block .bb-h{cursor:pointer;min-height:48px}
.acc-block .bb-h .sw,
.acc-block .bb-h [data-accon],
.acc-block .acc-ord,
.acc-block .acc-up,
.acc-block .acc-dn{flex:none;min-width:48px;min-height:48px}

/* Staff tactile : cibles ≥ 48 px, rien qui ne dépende que du survol */
.dk-nav button,
.botabs button,
.z4-tile,
.z4-modes button,
.z4-jour-bar button,
.z4-pay button,
.vt-q button,
.dk-prod,
.z4-plus a,
.z4-plus button,
.z4-fam,
.caisse-dist button,
.ptk-pad button,
.ptk-p{
  min-height:48px;
  min-width:48px;
  box-sizing:border-box;
}
@media (hover:none),(pointer:coarse){
  .dk-nav button:hover,
  .r-install-x:hover{filter:none}
}

/* Caisse TacSys */
.z4-caisse{display:flex;flex-direction:column;gap:10px;min-height:0}
.z4-modes{display:flex;gap:8px;position:sticky;top:0;z-index:4;background:var(--bg,#fff);padding:6px 0}
.z4-modes button{flex:1;border:1.5px solid var(--line,#e4e4e7);border-radius:12px;background:var(--surf,#fff);font:800 13px/1.1 system-ui;padding:8px;min-height:48px;min-width:48px}
.z4-modes button.on{background:#141414;color:#fff;border-color:#141414}
.z4-caisse-body{display:grid;grid-template-columns:1fr minmax(240px,32%);gap:12px;min-height:0}
@media (max-width:700px){
  .z4-caisse-body{grid-template-columns:1fr}
}
.z4-fams{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.z4-fam,.z4-tile{border:0;border-radius:14px;color:#fff;font:800 13px/1.2 system-ui;padding:10px;text-align:start;cursor:pointer}
.z4-ticket{background:var(--surf,#fff);border:1px solid var(--line,#e4e4e7);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:0}
.z4-caisse .vt-tot,.z4-total{font:900 28px/1.1 system-ui;letter-spacing:-.03em}
.z4-pay{display:flex;flex-direction:column;gap:8px}
.z4-pay .rendu{font:800 16px/1.2 system-ui}
.z4-jour-bar{display:flex;flex-wrap:wrap;gap:8px}
.z4-jour-bar button{min-height:48px;min-width:48px;padding:0 12px;border:1px solid var(--line,#e4e4e7);border-radius:12px;background:var(--surf,#fff);font:700 14px/1 system-ui;cursor:pointer}
.z4-plus{display:flex;flex-direction:column;gap:8px;padding:8px 0 24px}
.z4-plus button{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line,#e4e4e7);border-radius:14px;background:var(--surf,#fff);padding:0 14px;font:700 15px/1 system-ui;text-align:start;cursor:pointer}
.caisse-dist{display:flex;flex-direction:column;gap:12px}
.caisse-dist .audit{font-size:13px;color:var(--mut,#52525b)}
.caisse-dist .warn{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;padding:10px 12px;font-weight:700}
.demo-price{display:block;font-size:11px;color:var(--mut,#52525b);font-weight:600;margin-top:2px}
.cats{position:sticky;top:0;z-index:8;background:var(--bg,#f7f4ef)}
.cartbar.on,.pbar{z-index:25}
@media (min-width:768px) and (max-width:1024px){
  .dk-caisse,.z4-caisse-body{grid-template-columns:1fr 320px}
}

.z4-tab-extra{display:none!important}
