/* PWA + responsive sizing layer only. Existing Index 19 visual theme is untouched. */
html, body { width:100%; min-width:0; min-height:100%; }
body { min-height:100dvh; }
.kiosk-screen {
  width:100%;
  height:100dvh;
  min-height:100dvh;
  max-width:none;
  max-height:none;
  padding-top:env(safe-area-inset-top,0px);
  padding-right:env(safe-area-inset-right,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  padding-left:env(safe-area-inset-left,0px);
}
button, input, select, textarea { font-size:max(16px,1em); }
img, video { max-width:100%; }

/* iPad / tablet */
@media (min-width:769px) and (max-width:1366px) {
  .categories-sidebar { width:clamp(190px,18vw,245px); }
  .products-area { padding:clamp(14px,2vw,24px); }
  .products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.5vw,18px); }
  .product-card { min-width:0; }
}

/* Phones: same theme, compact sizing/navigation */
@media (max-width:768px) {
  body { overflow:hidden; }
  .kiosk-header { min-height:64px; height:auto; padding:8px 10px; gap:8px; }
  .kiosk-header .logo { min-width:0; font-size:clamp(16px,4.7vw,20px); gap:8px; }
  .kiosk-header .logo-icon { flex:0 0 auto; }
  .header-right { min-width:0; gap:6px; }
  .lang-selector { overflow-x:auto; max-width:46vw; }
  .lang-btn { min-width:46px; padding:8px 10px; }
  .main-container { min-width:0; }
  .categories-sidebar { width:82px; min-width:82px; padding:8px 5px calc(72px + env(safe-area-inset-bottom,0px)); }
  .category-btn-v { min-height:58px; padding:8px 5px; border-radius:12px; }
  .products-area { min-width:0; padding:10px 8px calc(92px + env(safe-area-inset-bottom,0px)); }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:2px; }
  .product-card { min-width:0; min-height:0; border-radius:16px; }
  .product-img { height:clamp(105px,28vw,145px)!important; }
  .product-info { padding:10px; gap:5px; }
  .product-name { font-size:clamp(14px,4vw,17px); min-height:0; }
  .product-desc { font-size:11.5px; }
  .product-price { font-size:clamp(18px,5vw,22px); }
  .add-btn { width:48px!important; height:48px!important; min-width:48px!important; font-size:25px!important; }
  #floatingCartBtn { right:max(12px,env(safe-area-inset-right,0px))!important; bottom:max(12px,env(safe-area-inset-bottom,0px))!important; min-width:132px!important; min-height:54px!important; padding:12px 16px!important; font-size:16px!important; }
  .cart-panel,.checkout-modal,.modifier-modal,.receipt-modal { width:calc(100% - 20px); max-width:none; max-height:calc(100dvh - 20px); }
  .admin-panel { width:100%; height:100dvh; max-width:none; border-radius:0; }
  .admin-sidebar { width:76px; }
  .admin-tab { padding:10px 7px; font-size:11px; }
  .admin-content { padding:10px; }
}

/* Very small phones */
@media (max-width:390px) {
  .categories-sidebar { width:70px; min-width:70px; }
  .products-grid { gap:7px; }
  .product-img { height:102px!important; }
  .product-info { padding:8px; }
  .product-desc { -webkit-line-clamp:1; }
}

/* Large kiosk / POS screens */
@media (min-width:1600px) and (min-height:850px) {
  .kiosk-screen { width:100vw; height:100dvh; }
}
