/* Comfortable desktop density at browser zoom 100%; mobile layout stays intact. */
@media (min-width:900px) {
  body[data-page="eshop"] {
    --topheader-h:52px;
    --searchwrap-h:106px;
    --header-gap:8px;
    padding-top:166px!important;
  }
  body[data-page="eshop"] #topHeader {
    height:52px!important;
    min-height:52px!important;
    box-sizing:border-box;
    padding-block:4px!important;
  }
  body[data-page="eshop"] #topHeader .text-logo {font-size:28px!important}
  body[data-page="eshop"] #searchWrapper {
    top:52px!important;
    grid-template-columns:180px minmax(0,680px)!important;
    grid-template-areas:"allcats search" "categories categories"!important;
    justify-content:center;
    gap:7px 10px!important;
    padding:7px 20px 5px!important;
  }
  body[data-page="eshop"] #allCategoriesBtn,
  body[data-page="eshop"] #searchBar {width:100%!important}
  body[data-page="eshop"] #searchWrapper .kojo-header-categories {max-width:none}
  body[data-page="eshop"] #searchWrapper #mainCategories {
    padding-bottom:3px!important;
    gap:7px!important;
  }
  body[data-page="eshop"] #searchWrapper #mainCategories .main-cat-btn {
    min-height:34px!important;
    padding:6px 12px!important;
  }
  body[data-page="eshop"] #kojoGoogleReviews {margin-top:6px;margin-bottom:10px}
  body[data-page="eshop"] #kojoGoogleReviews .kgr-fallback {min-height:44px;padding-block:8px}
  body[data-page="eshop"] .promoted-products-box {margin-top:10px;padding:10px 12px}
  body[data-page="eshop"] .promoted-products-head {margin-bottom:6px}
  body[data-page="eshop"] .promoted-product-banner {
    flex-basis:360px;
    grid-template-columns:104px minmax(0,1fr);
    min-height:128px;
    gap:9px;
    padding:8px;
  }
  body[data-page="eshop"] .promoted-product-image {width:104px;height:104px}
  body[data-page="eshop"] .promoted-products-row {padding-block:2px 5px}
  body[data-page="eshop"] .promoted-swipe-hint {margin-top:4px}
  body[data-page="eshop"] #bottomNav {
    box-sizing:border-box;
    height:56px!important;
    min-height:56px!important;
    padding-block:4px!important;
  }
  body[data-page="eshop"] #bottomNav a {padding-block:3px}
}

/* Product grid density only: no changes to the header, navigation or modal. */
@media (min-width:900px) {
  body[data-page="eshop"] #products {
    grid-template-columns:repeat(auto-fill,minmax(175px,1fr))!important;
    gap:14px!important;
    padding:18px 20px!important;
    align-items:stretch;
  }
  body[data-page="eshop"] #products .card.product {
    min-height:0!important;
    padding:12px!important;
    justify-content:flex-start;
    font-size:14px;
  }
  body[data-page="eshop"] #products .product-image-wrapper {
    width:100%!important;
    height:144px!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }
  body[data-page="eshop"] #products .product-image-wrapper img.modal-img {
    width:100%!important;
    height:144px!important;
    max-height:144px!important;
    object-fit:contain!important;
  }
  body[data-page="eshop"] #products .card.product h3 {
    box-sizing:border-box;
    min-height:46px!important;
    height:46px!important;
    max-height:46px!important;
    padding:5px 8px!important;
    margin:8px 0 4px!important;
    font-size:13px!important;
    line-height:17px!important;
    overflow:hidden;
  }
  body[data-page="eshop"] #products .card.product .summary {
    min-height:34px!important;
    max-height:34px;
    margin:6px 0!important;
    font-size:13px!important;
    line-height:17px!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  body[data-page="eshop"] #products .card.product .price {
    min-height:21px!important;
    margin:6px 0!important;
    font-size:14px!important;
  }
  body[data-page="eshop"] #products .card.product .btn-cart {
    min-height:38px!important;
    margin-top:8px!important;
    padding:7px 8px!important;
    font-size:12px!important;
    line-height:16px!important;
  }
  body[data-page="eshop"] #products .card.product .kojo-share-product {
    min-height:28px!important;
    margin-top:5px!important;
    padding-block:3px!important;
  }
}
