/* Server-rendered content is visible before scripts and stock data arrive. */
body[data-catalog-product] .container {
  display: flex;
}
body[data-catalog-product] #loader {
  display: none;
}
.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.gallery-item {
  flex: 1 1 240px;
  max-width: 560px;
}
.gallery-item img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.product-description-expo {
  white-space: normal;
}
.product-action-message {
  display: none;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #a82020;
  border-radius: 6px;
  color: #8a1919;
  background: #fff5f5;
}
.product-action-message:not(:empty) {
  display: block;
}
.rozmiar [data-size] {
  cursor: pointer;
}
.rozmiar [data-size]:focus-visible {
  outline: 3px solid #111;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

/* Per-product layout; only the primary image/description and purchase row. */
body[data-catalog-product] .container.product-layout-wide,
body[data-catalog-product] .container.product-layout-full { width:100%; max-width:100%; box-sizing:border-box; }
body[data-catalog-product] .product-layout-wide > .product-expo { flex:4 1 0%; min-width:0; box-sizing:border-box; }
body[data-catalog-product] .product-layout-wide > :not(.product-expo) { flex:1 1 260px; min-width:0; box-sizing:border-box; }
body[data-catalog-product] .container.product-layout-full { flex-direction:column; gap:20px; }
body[data-catalog-product] .product-layout-full > .product-expo,
body[data-catalog-product] .product-layout-full > :not(.product-expo) { flex:none; width:100%; max-width:100%; min-width:0; margin-right:0; box-sizing:border-box; }
@media(max-width:800px){
 body[data-catalog-product] .container.product-layout-wide { flex-direction:column; gap:20px; }
 body[data-catalog-product] .product-layout-wide > .product-expo,
 body[data-catalog-product] .product-layout-wide > :not(.product-expo) { flex:none; width:100%; max-width:100%; margin-right:0; }
}

/* Explicit width overrides presets, but shrinks inside the available column. */
body[data-catalog-product] .container > .product-expo.product-expo-custom {
 flex:0 1 auto;
 width:var(--product-expo-width);
 max-width:100%;
 min-width:0;
 box-sizing:border-box;
}
@media(max-width:800px){
 body[data-catalog-product] .container:has(> .product-expo-custom){flex-direction:column;gap:20px;}
 body[data-catalog-product] .container > .product-expo.product-expo-custom { margin-right:0; }
}

/* Theme-aware product detail sections; retain a two-column table on mobile. */
.product-specifications > .product-expo {width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
.lj-specifications {width:100%;border-collapse:collapse;table-layout:fixed;color:var(--site-text,#18212f);background:var(--site-surface,#fff);}
.lj-specifications th,.lj-specifications td {padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid color-mix(in srgb,var(--site-text,#18212f) 18%,transparent);overflow-wrap:anywhere;white-space:normal;}
.lj-specifications thead th {background:color-mix(in srgb,var(--site-primary,#167c80) 9%,var(--site-surface,#fff));font-weight:700;}
.lj-specifications th:first-child {width:35%;}
.lj-specifications tbody th {font-weight:600;}
.lj-product-reviews {box-sizing:border-box;width:calc(100% - 32px);max-width:1100px;margin:40px auto;padding:clamp(16px,4vw,32px);border-radius:16px;border:1px solid color-mix(in srgb,var(--site-text,#18212f) 16%,transparent);background:var(--site-surface,#fff);background:color-mix(in srgb,var(--site-primary,#167c80) 5%,var(--site-surface,#fff));color:var(--site-text,#18212f);overflow-wrap:anywhere;}
.lj-product-reviews article {padding:16px 0;border-top:1px solid color-mix(in srgb,var(--site-text,#18212f) 16%,transparent);}
.lj-product-reviews article p {white-space:pre-wrap;line-height:1.6;}
.lj-variant-choice {display:block;margin:12px 0;color:var(--site-text,#18212f);}
.lj-variant-choice select {display:block;box-sizing:border-box;width:100%;max-width:100%;padding:10px;margin-top:6px;background:var(--site-surface,#fff);color:var(--site-text,#18212f);border:1px solid currentColor;border-radius:6px;}
@media(max-width:600px){.lj-specifications th,.lj-specifications td{padding:10px 8px;font-size:14px;}.product-specifications{min-width:0;max-width:100%;}.lj-product-reviews{margin:24px auto;}}

.lj-specifications caption.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
