/* GGF S4 POINT7 OHPOLLY-R4 — image-first listing with functional wishlist. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .products,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .js-product-list .products {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch;
  gap:26px 12px !important;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature {
  display:flex !important;
  min-width:0;
  height:100%;
  align-self:stretch !important;
  flex-direction:column;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__inner {
  display:flex;
  width:100%;
  min-height:100%;
  flex:1 1 auto;
  flex-direction:column;
  overflow:visible;
  border:0 !important;
  border-radius:0 !important;
  background:#fff;
  box-shadow:none !important;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__top {
  position:relative;
  flex:0 0 auto;
  overflow:hidden;
  border-radius:0 !important;
  background:#f5f3ef;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__bottom {
  display:flex;
  flex:1;
  flex-direction:column;
  gap:7px;
  padding:10px 2px 0 !important;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__infos {
  display:flex;
  flex:0 1 auto;
  flex-direction:column;
  gap:5px;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__title {
  display:-webkit-box;
  min-height:38px;
  overflow:hidden;
  color:#242220;
  font-size:14px !important;
  font-weight:450;
  line-height:1.35;
  text-decoration:none;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__prices {
  min-height:24px;
  margin-top:2px;
  color:#181716;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__price { font:inherit; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__regular-price { color:#77716b; font-size:12px; font-weight:450; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__variants {
  min-height:26px;
  margin-top:2px;
  overflow:hidden;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__variants[aria-hidden=true] { min-height:0; margin:0; }

:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .wishlist-button-add {
  top:12px;
  right:12px;
  z-index:5;
  border:0;
  border-radius:50%;
  background:transparent !important;
  box-shadow:none !important;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .wishlist-button-add:focus-visible { outline:2px solid #c8102e; outline-offset:2px; }
@media (min-width:768px) and (max-width:1100px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .products,
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .js-product-list .products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px 10px !important; }
}
@media (max-width:767.98px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .products,
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .js-product-list .products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px 8px !important; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__bottom { gap:6px; padding:8px 1px 0 !important; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__title { min-height:35px; font-size:13px !important; line-height:1.35; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__prices { min-height:22px; font-size:14px; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .wishlist-button-add { top:8px; right:8px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature *, :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature *::before, :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* R5: keep a 40px touch target, but make the visible heart small and integrated with the image. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .wishlist-button-add { padding:0 !important; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .wishlist-button-add i { font-size:20px !important; color:#161616; text-shadow:0 1px 2px rgba(255,255,255,.8); }
/* The combined module CSS can remain stale in CCC; this uncombined listing sheet fixes only wishlist backdrops. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .wishlist-modal.show + .modal-backdrop { z-index:1050 !important; }

/* R6: important declarations in the existing ps-modules layer outrank unlayered important CSS. */
@layer ps-modules {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .wishlist-button-add {
    background-color:transparent !important;
    border:0 !important;
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    padding:0 !important;
  }
}

/* R7 GGF-LISTING-POLISH-20261015 (IT single) ------------------------------------------------------------ */

/* R7.1 Card info like the owner's Oh Polly reference: name left + colour dots right, price left + ETS stars right.
   Our own quantity + "Aggiungi al carrello" actions stay below (owner decision 15.10). CSS only; modules untouched. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__infos {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title variants" "price reviews";
  align-items:start;
  gap:4px 10px;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__title { grid-area:title; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__variants { grid-area:variants; justify-self:end; min-height:0; margin:3px 0 0; overflow:visible; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__variants[aria-hidden=true] { display:none; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__prices { grid-area:price; display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; min-height:0; margin:0; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-list-review,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-list-reviews { grid-area:reviews; justify-self:end; align-self:center; min-width:0; margin:0; color:#8a847d; font-size:12px; line-height:1; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview { display:flex; min-height:0; align-items:center; justify-content:flex-end; gap:6px; overflow:visible; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .color,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .texture { width:18px; height:18px; flex:0 0 18px; margin:0; padding:0; border:1px solid rgba(24,23,22,.16); border-radius:50%; outline:0; box-shadow:none; cursor:pointer; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .color:hover,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .texture:hover,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .color:focus-visible,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .texture:focus-visible { outline:2px solid #222; outline-offset:2px; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__more { min-width:0; height:18px; padding:0 2px; border:0; color:#3b3835; font-size:12px; font-weight:600; background:none; }
/* Owner 15.10: no -/+ quantity on cards ("mało kto kupuje więcej sztuk"). Only the control is hidden: the input keeps
   the template value (quantity_wanted, never below quantity_required), so minimum-purchase rules still apply;
   quantity stays editable in the cart and on the product page. Card actions shrink to the button only. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions .quantity-button { display:none !important; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions .d24-card-variant-form { min-height:0; }
@media (max-width:767.98px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__infos { gap:4px 6px; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview { gap:8px; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .color,
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview > .texture { width:16px; height:16px; flex-basis:16px; }
}

/* R7.2 Same card button and the same "choose variant" window on every listing: copy of the body#category rules
   from d24-global.css (lines 3117-3132, 3150-3190, 3247-3254) for the other listing controllers. */
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-card-variant-cta { width:100%; min-height:44px !important; height:44px !important; max-height:44px !important; padding:8px 10px; border-color:var(--d24-cta-border) !important; border-radius:8px; color:var(--d24-cta-color) !important; font-size:12px; font-weight:750; background:var(--d24-cta-bg) !important; box-shadow:var(--d24-cta-shadow) !important; text-shadow:0 1px 1px rgba(140,35,10,.28); transition:background .18s ease,box-shadow .18s ease; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-card-variant-cta:active { box-shadow:var(--d24-cta-shadow-active) !important; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-card-variant-cta:focus-visible { box-shadow:var(--d24-cta-shadow),var(--d24-cta-ring) !important; outline:0 !important; }
@media (hover:hover) {
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-card-variant-cta:hover { color:var(--d24-cta-color) !important; background:var(--d24-cta-bg-hover) !important; border-color:var(--d24-cta-border) !important; box-shadow:var(--d24-cta-shadow-hover) !important; }
}
@media (prefers-reduced-motion:reduce) {
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-card-variant-cta { transition:none; }
}
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__actions { display:flex; width:100%; min-height:96px; margin-top:auto; align-items:stretch; flex-direction:column; justify-content:flex-end; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__actions > .d24-card-variant-cta { margin-top:auto; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__form { display:grid; width:100%; margin-top:auto; align-content:end; gap:7px; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-card-variant-form { min-height:96px; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__form .quantity-button { width:100%; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__form .product-miniature__add { display:inline-flex !important; width:100%; min-height:44px !important; height:44px !important; max-height:44px !important; align-items:center; justify-content:center; gap:7px; padding-block:8px !important; border-radius:8px; font-size:12px; font-weight:750; line-height:1.15; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__form .product-miniature__add-text { display:inline !important; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview__dialog { max-width:min(980px,calc(100vw - 32px)); }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview__content { overflow:hidden; border:0; border-radius:16px; box-shadow:0 24px 80px rgba(24,20,17,.28); }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product__description-short { display:-webkit-box; max-height:4.5em; overflow:hidden; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product-variant { margin:12px 0; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product-variant__label { display:flex; align-items:baseline; gap:4px; margin-bottom:7px; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product-variant__legend,
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product-variant__selected { margin:0; color:#34312e; font-size:13px; line-height:1.35; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product-variant__colors { display:flex; flex-wrap:wrap; gap:8px; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product-variant__color { position:relative; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .input-color__input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .input-color__label { display:block; padding:3px; border:1px solid #cbc4ba; border-radius:50%; cursor:pointer; background:#fff; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .input-color__input:checked + .input-color__label { border-color:#222; box-shadow:0 0 0 2px rgba(34,34,34,.16); }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .input-color__label .color,
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .input-color__label .texture { display:block; width:34px; height:34px; border:1px solid #e0dcd5; border-radius:50%; background-position:center; background-size:cover; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .variant-group { margin:12px 0; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .variant-title { display:flex; align-items:baseline; justify-content:flex-start; gap:5px; margin:0 0 8px; color:#34312e; font-size:13px; font-weight:700; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .variant-title .selected-value { color:#6d665f; font-weight:500; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .swatches,
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .sizes { display:flex; flex-wrap:wrap; gap:9px; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .swatch { position:relative; display:block; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:#fff; box-shadow:0 0 0 1px #bdb6ad; cursor:pointer; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .swatch > input,
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .size > input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .swatch__color { position:absolute; inset:3px; display:block; border:1px solid #e2ddd6; border-radius:50%; background:var(--swatch,#fff) center/cover no-repeat; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .swatch.is-selected { box-shadow:0 0 0 2px #fff,0 0 0 4px #222; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .size { position:relative; display:grid; min-width:48px; min-height:38px; padding:5px 10px; place-items:center; border:1px solid #393531; border-radius:8px; background:#fff; cursor:pointer; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .size.is-selected { color:#fff; border-color:#222; background:#222; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product__actions-qty-add { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:end; gap:10px; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product__add-to-cart { width:100%; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product-add-to-cart .btn-primary,
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart'] { display:inline-flex !important; width:100% !important; min-height:46px !important; height:46px !important; max-height:46px !important; align-items:center; justify-content:center; gap:8px; padding:9px 14px !important; border-color:var(--d24-cta-border) !important; border-radius:9px; color:var(--d24-cta-color) !important; font-size:14px !important; line-height:1.2 !important; background:var(--d24-cta-bg) !important; box-shadow:var(--d24-cta-shadow) !important; text-shadow:0 1px 1px rgba(140,35,10,.28); transition:background .18s ease,box-shadow .18s ease; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart']:active { box-shadow:var(--d24-cta-shadow-active) !important; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart']:focus-visible { box-shadow:var(--d24-cta-shadow),var(--d24-cta-ring) !important; outline:0 !important; }
@media (hover:hover) {
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart']:hover { color:var(--d24-cta-color) !important; background:var(--d24-cta-bg-hover) !important; border-color:var(--d24-cta-border) !important; box-shadow:var(--d24-cta-shadow-hover) !important; }
}
@media (prefers-reduced-motion:reduce) {
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart'] { transition:none; }
}
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart'] .material-icons { display:inline-block !important; width:20px !important; height:20px !important; margin:0 !important; font-size:20px !important; line-height:20px !important; }
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart'] > i,
:is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart'] > svg { display:block !important; width:20px !important; min-width:20px !important; max-width:20px !important; height:20px !important; min-height:20px !important; max-height:20px !important; margin:0 !important; flex:0 0 20px !important; overflow:hidden !important; }
@media (max-width:767px) {
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__actions { min-height:88px; }
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .product-miniature__form .product-miniature__add,
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-card-variant-cta { min-height:40px !important; height:40px !important; max-height:40px !important; padding-inline:6px; font-size:11px; }
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview { align-items:flex-end; }
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview__dialog { width:100%; max-width:none; max-height:92dvh; margin:0; }
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview__content { max-height:92dvh; border-radius:18px 18px 0 0; }
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview__body { overflow-y:auto; }
  :is(body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview .product__actions-qty-add { grid-template-columns:96px minmax(0,1fr); gap:8px; }
}

/* R7.3 Italian heading of the "choose variant" window (d24-global.css:3147 hard-codes the Polish text). */
html:lang(it) :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview__header::before { margin-inline-end:auto; color:#222; font:700 18px/1.2 Inter,Arial,sans-serif; content:'Scegli la variante e aggiungi al carrello'; }

/* R7.4 Smaller subcategory tiles (owner 15.10: "te kafle mniejsze zdecydowanie"); category description untouched.
   Desktop/tablet: dense grid; phone: one horizontally scrollable row instead of 2-column stacks. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__list--with-images { grid-template-columns:repeat(auto-fill,minmax(124px,1fr)); gap:10px; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__link--with-image { gap:6px; padding:8px; border-radius:10px; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__link--with-image picture { height:72px; aspect-ratio:auto; border-radius:6px; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__thumbnail { padding:2px; border-radius:6px; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__name { display:-webkit-box; overflow:hidden; font-size:12.5px; line-height:1.25; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__link--with-image:focus-visible { outline:2px solid #222; outline-offset:2px; }
@media (max-width:767px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__list--with-images {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:100px;
    gap:8px;
    padding-bottom:6px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__link--with-image { scroll-snap-align:start; padding:6px; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__link--with-image picture { height:60px; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .subcategory .subcategory__name { font-size:12px; }
}

/* R8 GGF-LISTING-POLISH-20261015: "Vedi dettagli" is now shown only for products that cannot be bought in any variant;
   same geometry as the card button, outlined so it reads as "not purchasable from the card". */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions .product-miniature__details {
  display:inline-flex; width:100%; min-height:44px; height:44px; align-items:center; justify-content:center; margin-top:auto;
  padding:8px 10px; border:1px solid #1d1b19; border-radius:8px; color:#1d1b19; font-size:12px; font-weight:750; line-height:1.15;
  text-decoration:none; background:#fff; box-shadow:none;
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions .product-miniature__details:hover,
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions .product-miniature__details:focus-visible { color:#fff; background:#1d1b19; outline:2px solid #1d1b19; outline-offset:2px; }
@media (max-width:767px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions .product-miniature__details { min-height:40px; height:40px; padding-inline:6px; font-size:11px; }
}
/* GGF-LISTING-CTA (21.10.2026, owner decision): card buttons as on the production shop.
   Desktop with a mouse: the button keeps exactly its look and effects, it is only hidden until the card is hovered
   (or focused from the keyboard). Phones: the same buttons, lower (30px since R3, owner 22.10), the cart one with the short native label "Cart".
   Quick view: the cart icon is an outline SVG without stroke/fill, so it rendered as a black blob — draw it white.
   The short label is rendered only on these 7 pages (product.tpl) and hidden here by default on the whole page. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .d24-cta-label--short { display:none !important; }
@media (hover:hover) and (pointer:fine) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature .product-miniature__actions { opacity:0; pointer-events:none; transition:opacity .18s ease; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature:is(:hover,:focus-within) .product-miniature__actions { opacity:1; pointer-events:auto; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature .product-miniature__actions { transition:none; }
}
@media (max-width:767.98px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature .d24-card-variant-cta,
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__form .product-miniature__add,
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature .product-miniature__details { min-height:30px !important; height:30px !important; max-height:30px !important; gap:5px; font-size:11px !important; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature .product-miniature__details { display:inline-flex !important; align-items:center; justify-content:center; padding-block:0 !important; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature :is(.d24-card-variant-cta,.product-miniature__add) .material-icons { font-size:16px !important; line-height:1 !important; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature .d24-cta-label--full { display:none !important; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature .d24-cta-label--short { display:inline !important; }
}
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart'] > svg { fill:none !important; stroke:currentColor !important; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) .quickview [data-button-action='add-to-cart'] > svg circle { fill:currentColor !important; stroke:none !important; }

/* GGF-LISTING-CTA R2 (21.10.2026, owner): the colour dots sat 2px from the card edge, right next to the neighbour
   card's name. Name, price and dots get an inner margin inside the white card; the button keeps its full width. */
:is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__infos { padding-inline:10px; }
@media (max-width:767.98px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__infos { padding-inline:6px; }
}

/* GGF-LISTING-CTA R3 (22.10.2026, owner, real phone): stars sat in the right column next to the colour dots, so the
   name was squeezed to one word per line ("Abito da...") and the price ran under the stars. Phones and tablets get
   Oh Polly-like rows: name (2 lines) + colour dots (on phones in their own row under the name), stars on their own row, price on its own row. Phone button 30px
   with a small side margin. Desktop keeps the accepted layout. */
@media (max-width:1100px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__infos { grid-template-areas:"title variants" "reviews reviews" "price price"; row-gap:4px; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-list-review,
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-list-reviews { justify-self:start; align-self:start; }
  /* ETS centres its star widget inside the review box; align it with the name and price. */
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list :is(.product-list-reviews,.product-list-reviews .ets-rv-grade-stars,.product-list-reviews .comments-note,.product-list-reviews .ets_rv_grade_stars) { justify-content:flex-start !important; text-align:left !important; margin-inline:0 !important; }
}
@media (max-width:767.98px) {
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__actions { padding-inline:6px; padding-bottom:6px; }
  /* Phones: the name gets the full card width (two lines); colour dots move to their own row under it. */
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__infos { grid-template-columns:minmax(0,1fr); grid-template-areas:"title" "variants" "reviews" "price"; row-gap:3px; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .product-miniature__variants { justify-self:start; margin:1px 0 0; }
  :is(body#category,body#search,body#manufacturer,body#supplier,body#new-products,body#prices-drop,body#best-sales) #js-product-list .d24-card-variants__preview { justify-content:flex-start; }
}