/* Catalogue layout measured on psk.artwolf.pl; IRE content and size controls retained. */
.wp-site-blocks > .ire-catalogue { margin-block-start: 0; padding-inline: 28px; }
.ire-catalogue .ire-catalogue-heading { position: relative; isolation: isolate; padding: 40px 0; margin-block: 0; background: transparent; }
.ire-catalogue-heading::before { content: ""; position: absolute; inset-block: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #f7f8fa; z-index: -1; }
.ire-catalogue-heading .wp-block-query-title { margin: 16px 0 0; font-size: clamp(34px, 3.25vw, 52px); line-height: 1.14; font-weight: 700; letter-spacing: -0.025em; }
.ire-shop-breadcrumbs { font-size: 13px; color: #626972; line-height: 1.5; }
.ire-shop-breadcrumbs__trail { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 0; margin: 0; list-style: none; }
.ire-shop-breadcrumbs__trail li { display: inline-flex; align-items: center; gap: 10px; margin: 0; }
.ire-shop-breadcrumbs__trail li + li::before { content: "›"; color: #92979e; }
.ire-shop-breadcrumbs a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.ire-shop-breadcrumbs a:hover { color: #242424; text-decoration: underline; }
.ire-shop-breadcrumbs [aria-current] { color: #242424; font-weight: 600; }
.ire-shop-breadcrumbs .ire-shop-breadcrumbs__back { display: none; }
.ire-catalogue .ire-category-intro { margin-block: 24px; }
.ire-catalogue-heading .ire-category-intro:last-child { margin-bottom: 0; }
.ire-catalogue-heading .ire-category-shortcuts { margin-top: 28px; }
.ire-category-shortcuts ul { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 0; list-style: none; }
.ire-category-shortcuts li { min-width: 0; margin: 0; }
.ire-category-shortcuts a { display: flex; align-items: center; gap: 10px; box-sizing: border-box; min-height: 56px; padding: 6px 12px; border: 0; border-radius: 6px; background: #fff; color: var(--wp--preset--color--ink); font-size: 15px; line-height: 1.4; text-decoration: none; }
.ire-category-shortcuts a:hover { color: var(--wp--preset--color--accent); }
.ire-category-shortcuts a:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.ire-category-shortcuts .ire-category-shortcut-image { display: block; flex: 0 0 40px; width: 40px; height: 40px; object-fit: contain; }
@media (max-width: 599px) {
 .ire-category-shortcuts ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
 .ire-category-shortcuts a { gap: 8px; height: 100%; min-height: 52px; padding: 6px 10px; font-size: 14px; }
 .ire-category-shortcuts .ire-category-shortcut-image { flex-basis: 36px; width: 36px; height: 36px; }
}
.ire-catalogue .ire-catalogue-tools { display: flex; align-items: center; gap: 24px; padding: 24px; margin-block: 24px 0; background: #f2f2f2; border-radius: 12px; box-sizing: border-box; }
.ire-catalogue-tools > * { flex: 1 1 20rem; min-width: 0; margin: 0; }
.ire-catalogue-tools .woocommerce-result-count { font-size: 16px; color: #171717; margin: 0; }
.ire-catalogue-tools .wp-block-search { width: auto; }
.ire-catalogue-tools .wp-block-search__inside-wrapper { padding: 0; border: 0; gap: 10px; }
.ire-catalogue-tools .wp-block-search__input { min-height: 44px; border: 1px solid #d8dde2; border-radius: 8px; background: #f7f8fa; padding: 10px 12px; font-size: 16px; }
.ire-catalogue-tools .wp-block-search__button { border-radius: 8px; min-height: 44px; padding: 8px 20px; background: #343434; color: #fff; }
.ire-catalogue .ire-catalogue-layout { position: relative; align-items: flex-start; gap: 24px; margin-top: 24px; }
.ire-catalogue .ire-catalogue-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 24px; }
.ire-catalogue-results { min-width: 0; }
.ire-view-switch { display: flex; align-items: center; gap: 4px; }
.ire-view-switch:not([data-ready]) { visibility: hidden; }
.ire-view-switch > span { margin-right: 8px; font-size: 16px; }
.ire-view-switch button { display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #707070; cursor: pointer; }
.ire-view-switch button:hover { background: #f1f1f1; color: #333; }
.ire-view-switch button[aria-pressed="true"] { background: #e9e9e9; color: #222; }
.ire-catalogue-toolbar .woocommerce-ordering { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; }

.ire-catalogue .ire-catalogue-sort .woocommerce-ordering label { margin: 0; white-space: nowrap; }

.ire-catalogue-toolbar .ire-catalogue-sort select { max-width: 220px; min-width: 0; min-height: 44px; padding: 8px; border: 0; border-radius: 0; background: transparent; color: #171717; font: 600 16px/1.7 "Instrument Sans", sans-serif; }
.ire-catalogue .ire-product-grid .wc-block-product-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px clamp(32px, 4vw, 64px); }
.ire-catalogue[data-product-view="2"] .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ire-catalogue[data-product-view="3"] .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ire-catalogue[data-product-view="4"] .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; }
.ire-catalogue .ire-product-grid .wc-block-product { grid-template: "image image image" auto "title title title" 1fr "price utility action" auto "sizes sizes sizes" minmax(44px, auto) / minmax(0, 1fr) 44px 44px; width: auto; min-width: 0; padding: 0 4px 8px; background: #fff; border: 0; border-radius: 12px; row-gap: 8px; column-gap: 6px; box-sizing: border-box; }
.ire-product-actions { grid-area: utility; display: flex; align-items: center; gap: 12px; align-self: start; }
.ire-product-actions button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 0; padding: 0; border: 0; background: transparent; color: #171717; font: inherit; font-size: 13px; cursor: pointer; white-space: nowrap; }
.ire-product-actions svg { flex: 0 0 19px; width: 19px; height: 19px; }
.ire-product-actions [aria-pressed="true"] { color: #2f7d32; }
.ire-product-actions [data-ire-save="observed"][aria-pressed="true"] svg { fill: #c92035; stroke: #c92035; }
.ire-product-actions button:hover { color: #28784c; }
.ire-catalogue .ire-card-sizes { align-self: start; align-content: start; }
.ire-catalogue-savedbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.ire-catalogue-savedbar[hidden], .ire-catalogue-savedbar button[hidden] { display: none; }
.ire-catalogue-savedbar button { padding: 8px 14px; min-height: 44px; border: 1px solid #d9e5dc; border-radius: 8px; background: #f1f1f1; color: #333; font: inherit; font-size: 13px; cursor: pointer; }
.ire-saved-status { font-size: 13px; }
.ire-saved-dialog { width: min(1080px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 28px; box-sizing: border-box; border: 1px solid #e3e6e4; border-radius: 16px; color: #171717; background: #fff; box-shadow: 0 24px 80px #0003; }
.ire-saved-dialog::backdrop { background: #0006; }
.ire-saved-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ire-saved-dialog h2 { margin: 0; font-size: 24px; }
.ire-saved-dialog button { min-height: 44px; padding: 8px 12px; background: #f7f8fa; color: #171717; border: 1px solid #d8dde2; border-radius: 8px; font: inherit; font-size: 13px; cursor: pointer; }
.ire-saved-dialog__note { color: #626972; font-size: 13px; }
.ire-saved-dialog__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px; }
.ire-saved-dialog__product { min-width: 0; }
.ire-saved-dialog__product img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.ire-saved-dialog__product a { font-size: 15px; color: #171717; font-weight: 600; }
.ire-saved-dialog__product p { font-size: 13px; }
.ire-saved-dialog__price { font-weight: 600; }
.ire-product-actions button:focus-visible, .ire-saved-dialog :focus-visible, .ire-catalogue-savedbar button:focus-visible { outline: 2px solid #28784c; outline-offset: 3px; }
@supports (grid-template-rows: subgrid) {
 .ire-catalogue:not([data-product-view="list"]) .ire-product-grid .wc-block-product { grid-row: span 4; grid-template-rows: subgrid; }
}
.ire-catalogue .ire-product-media { width: calc(100% + 8px); margin-inline: -4px; background: #fff; border-radius: 12px; }
.ire-catalogue .ire-product-media img { object-fit: contain !important; aspect-ratio: 1; }
.ire-catalogue .ire-product-grid .wp-block-post-title { font-size: 15px !important; line-height: 1.35 !important; letter-spacing: normal; min-height: 2.7em; }
.ire-catalogue .ire-product-grid .wp-block-post-title a { text-decoration: none; }
.ire-catalogue .ire-product-grid .wp-block-woocommerce-product-price { padding-top: 4px; }
.ire-catalogue .ire-product-grid .wp-block-woocommerce-product-button { padding-top: 4px; justify-self: end; }
.ire-catalogue .ire-card-cart { justify-self: end; }
.ire-catalogue .ire-product-grid .wp-block-query-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 96px; gap: 4px; }
.ire-catalogue .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; margin: 0; }
.ire-catalogue .wp-block-query-pagination :is(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 44px; min-height: 44px; margin: 0; padding: 8px 12px; border-radius: 4px; color: #171717; text-decoration: none; font-size: 16px; }
.ire-catalogue .wp-block-query-pagination :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) { border: 1px solid #e3e6e4; background: #fff; }
.ire-catalogue .wp-block-query-pagination .page-numbers.current, .ire-catalogue .wp-block-query-pagination a:hover { background: #f2f2f2; }
.ire-catalogue .wp-block-query-pagination .current { font-weight: 700; }
.ire-catalogue .wp-block-query-pagination .dots { min-width: 28px; padding-inline: 4px; }
.ire-catalogue :is(.ire-view-switch button, .ire-catalogue-toolbar select, .wp-block-query-pagination a, .ire-shop-breadcrumbs a):focus-visible { outline: 2px solid #28784c; outline-offset: 3px; }

/* A list uses the same full title, price, size choices and native cart controls. */
.ire-catalogue[data-product-view="list"] .wc-block-product-template { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.ire-catalogue[data-product-view="list"] .ire-product-grid .wc-block-product { grid-row: auto; grid-template: "image title title title" auto "image price utility action" auto "image sizes sizes sizes" 1fr / minmax(120px, 24%) minmax(0, 1fr) 44px 44px; align-items: start; gap: 8px 24px; padding-bottom: 24px; border-bottom: 1px solid #edf0ee; border-radius: 0; }
.ire-catalogue[data-product-view="list"] .ire-card-cart, .ire-catalogue[data-product-view="list"] .wp-block-woocommerce-product-button { justify-self: start; }
.ire-catalogue[data-product-view="list"] .ire-product-media { align-self: start; width: 100%; margin: 0; }
.ire-catalogue[data-product-view="list"] .wp-block-post-title { min-height: 0; font-size: 18px !important; }
.ire-catalogue[data-product-view="list"] .ire-card-sizes { align-self: start; }

@media (min-width: 1200px) {
 .ire-catalogue[data-product-view="4"] .ire-card-cart, .ire-catalogue[data-product-view="4"] .wp-block-woocommerce-product-button .add_to_cart_button { width: 44px; min-width: 44px; height: 44px; padding: 0; }
 .ire-catalogue[data-product-view="4"] .ire-card-cart > span, .ire-catalogue[data-product-view="4"] .wp-block-woocommerce-product-button .add_to_cart_button > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (min-width: 782px) and (max-width: 1199px) {
 .ire-catalogue .ire-catalogue-sidebar { flex-basis: 220px !important; }
 .ire-catalogue .ire-product-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
 .ire-catalogue[data-product-view="3"] .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .ire-catalogue[data-product-view="list"] .wc-block-product-template { grid-template-columns: minmax(0, 1fr); }
 .ire-catalogue .ire-catalogue-toolbar { flex-wrap: wrap; }
 .ire-catalogue .ire-catalogue-sort { margin-left: auto; }
 .ire-catalogue[data-product-view="3"] .ire-product-actions { gap: 4px; justify-content: space-between; }
 .ire-catalogue[data-product-view="3"] .ire-product-actions button { font-size: 10px; gap: 3px; }
 .ire-catalogue[data-product-view="3"] .ire-product-actions svg { width: 14px; height: 14px; flex-basis: 14px; }
}
@media (max-width: 1199px) {
 .ire-view-switch button[data-ire-view="4"] { display: none; }
}
@media (max-width: 781px) {
 .wp-site-blocks > .ire-catalogue { padding-top: 0 !important; padding-inline: 16px; }
 .ire-catalogue .ire-catalogue-heading { padding: 8px 0; margin: 0; }
 .ire-catalogue-heading .wp-block-query-title { margin-block: 6px; font-size: 25px; }
 .ire-shop-breadcrumbs__trail { display: none; }
 .ire-shop-breadcrumbs .ire-shop-breadcrumbs__back { display: inline-flex; gap: 12px; min-height: 48px; color: #242424; font-size: 14px; font-weight: 600; }
 .ire-shop-breadcrumbs__back > span:first-child { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #fff; font-size: 22px; }
 .ire-shop-breadcrumbs__back small { display: block; font-size: 11px; color: #626972; font-weight: 400; }
 .ire-catalogue .ire-category-intro { margin-block: 16px; font-size: 15px; }
 .ire-catalogue .ire-catalogue-tools { gap: 8px; margin-block: 16px; padding: 0; background: transparent; }
 .ire-catalogue-tools > * { flex-basis: 100%; }
 .ire-catalogue-tools .woocommerce-result-count { font-size: 14px; }
 .ire-catalogue .ire-catalogue-layout { gap: 12px; margin-top: 12px; }
 .ire-catalogue .ire-catalogue-sidebar { padding-top: 70px; margin: 0; }
 .ire-catalogue .ire-shop-filters { display: block; }
 .ire-catalogue .ire-shop-filters .wc-block-product-filters__open-overlay { position: absolute; top: 14px; left: 0; width: 80px; height: 44px; box-sizing: border-box; padding: 8px 6px; gap: 2px; font-size: 13px; white-space: nowrap; background: #fff; border: 1px solid #e3e6e4; border-radius: 6px; }
 .ire-catalogue .ire-shop-filters .wc-block-product-filters__open-overlay svg { flex: 0 0 24px; }
 .ire-catalogue .ire-catalogue-toolbar { position: absolute; top: 14px; right: 0; display: grid; align-items: center; grid-template-columns: minmax(88px, 1fr) minmax(0, clamp(112px, 36vw, 150px)); gap: 0; width: calc(100% - 80px); margin: 0; }
 .ire-view-switch { justify-self: center; }
 .ire-view-switch > span, .ire-view-switch button[data-ire-view="3"] { display: none; }
 .ire-catalogue-toolbar .ire-catalogue-sort { width: 100%; min-width: 0; }
 .ire-catalogue-toolbar .woocommerce-ordering { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 0; font-size: 10px; line-height: 1; }

 .ire-catalogue .ire-catalogue-sort .woocommerce-ordering label { position: absolute; bottom: 100%; left: 2px; line-height: 12px; }

 .ire-catalogue-toolbar .ire-catalogue-sort select { width: 100%; max-width: 100%; min-height: 44px; height: 44px; padding: 8px 2px; font-size: 13px; line-height: 1.5; white-space: nowrap; }
 .ire-catalogue .ire-product-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
 .ire-catalogue .ire-product-grid .wp-block-post-title { font-size: clamp(12px, 3.34vw, 13px) !important; line-height: 1.35 !important; }
 .ire-catalogue .ire-product-grid .wc-block-components-product-price { font-size: clamp(12px, 3.2vw, 13px) !important; }
 .ire-catalogue .ire-product-grid .wp-block-query-pagination { margin-top: 40px; gap: 4px; }
 .ire-catalogue .wp-block-query-pagination :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) { padding-inline: 10px; font-size: 13px; }
 .ire-catalogue[data-product-view="list"] .wc-block-product-template { grid-template-columns: minmax(0, 1fr); }
 .ire-catalogue[data-product-view="list"] .ire-product-grid .wc-block-product { grid-template: "image title title title" auto "image price utility action" auto "sizes sizes sizes sizes" auto / minmax(88px, 30%) minmax(0, 1fr) 44px 44px; gap: 8px 16px; padding-bottom: 16px; }
 .ire-catalogue[data-product-view="list"] .ire-product-grid .wp-block-post-title { font-size: 14px !important; }
 .ire-catalogue[data-product-view="list"] .ire-product-grid .wc-block-components-product-price { font-size: 16px !important; }
 .ire-product-actions { justify-content: space-between; gap: 4px; }
 .ire-product-actions button { font-size: 11px; gap: 4px; }
 .ire-product-actions svg { width: 14px; height: 14px; flex-basis: 14px; }
 .ire-catalogue-savedbar { margin-bottom: 16px; }
 .ire-saved-dialog { padding: 16px; }
 .ire-saved-dialog h2 { font-size: 20px; }
 .ire-saved-dialog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 360px) {
 .ire-product-actions button { font-size: 10px; gap: 2px; }
}

.ire-product-grid .ire-product-actions { align-self: center; justify-content: center; }
.ire-product-grid .ire-product-actions button { justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 8px; }
.ire-product-grid .ire-product-actions svg { width: 20px; height: 20px; flex-basis: 20px; }
.ire-catalogue .ire-product-grid .wp-block-woocommerce-product-button { padding-top: 0; }
@media (max-width: 480px) {
 .ire-home .ire-product-grid .wc-block-product, .ire-catalogue:not([data-product-view="list"]) .ire-product-grid .wc-block-product { grid-template: "image image" auto "title title" 1fr "price price" auto "utility action" auto "sizes sizes" minmax(44px, auto) / minmax(0, 1fr) 44px; grid-row: span 5; }
 .ire-product-grid .ire-product-actions { justify-self: end; }
}

/* IRE catalogue: aligned counts and product-page size selection. */
.ire-category-list summary { grid-template-columns: minmax(0, 1fr) 14px 32px; padding-right: 0; }
.ire-category-list summary > svg { position: static; grid-column: 2; grid-row: 1; }
.ire-category-list summary > .ire-category-count { grid-column: 3; grid-row: 1; }
.ire-category-leaf { grid-template-columns: minmax(0, 1fr) 32px; }
.ire-category-count, .ire-shop-filters .wc-block-product-filter-checkbox-list__count { width: 32px; margin-left: auto; }
.ire-shop-filters .ire-size-filter .wc-block-product-filter-checkbox-list__items { grid-template-columns: repeat(auto-fill, 38px); gap: 8px; }
.ire-shop-filters .ire-size-filter .wc-block-product-filter-checkbox-list__item { border: 0; padding: 0; margin: 0; }
.ire-shop-filters .ire-size-filter .wc-block-product-filter-checkbox-list__count { display: none; }
.ire-shop-filters .ire-size-filter .wc-block-product-filter-checkbox-list__label { position: relative; width: 38px; min-height: 38px; gap: 0; }
.ire-size-filter .wc-block-product-filter-checkbox-list__input-wrapper { position: absolute; width: 38px; height: 38px; opacity: 0; }
.ire-size-filter .wc-block-product-filter-checkbox-list__text-wrapper { align-items: center; }
.ire-size-filter .wc-block-product-filter-checkbox-list__text { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; box-sizing: border-box; border: 1px solid #dce1e7; font-size: 12px; font-weight: 600; color: #687588; }
.ire-size-filter label:has(input:checked) .wc-block-product-filter-checkbox-list__text { color: var(--wp--preset--color--accent); background: var(--wp--preset--color--accent-light); }
.ire-size-filter label:has(input:focus-visible) .wc-block-product-filter-checkbox-list__text { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.ire-product-grid .wc-block-product, .ire-catalogue .ire-product-grid .wc-block-product { position: relative; grid-template-columns: minmax(0, 1fr); grid-template-areas: "image" "title" "price" "sizes"; grid-template-rows: auto 1fr auto minmax(44px, auto); grid-row: span 4; }
.ire-product-grid .ire-product-actions { position: absolute; top: 8px; right: 8px; z-index: 2; grid-area: auto; }
.ire-product-grid .ire-product-actions button { background: #ffffffed; border-radius: 50%; }
.ire-product-grid .wp-block-post-title { text-align: center; }
.ire-product-grid .wc-block-components-product-price, .ire-catalogue .ire-product-grid .wc-block-components-product-price { color: var(--wp--preset--color--accent); font-weight: 700; font-size: 20px !important; text-align: center; }
.ire-product-grid .ire-card-sizes { justify-content: center; gap: 4px; align-self: start; }
.ire-product-grid .ire-size-choice { width: 32px; height: 32px; flex: 0 0 32px; min-width: 0; padding: 0; border-radius: 0; font-size: 12px; }
.ire-product-grid .ire-last-pairs-badge { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 5px 9px; border-radius: 3px; background: var(--wp--preset--color--accent); color: #fff; font-size: 11px; font-weight: 600; line-height: 1.3; }
.ire-product-grid a.ire-size-choice:hover, .ire-product-grid a.ire-size-choice:focus-visible { color: var(--wp--preset--color--accent); border-color: currentColor; background: #fff; }
.ire-product-grid a.ire-size-choice:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.ire-catalogue[data-product-view="list"] .ire-product-grid .wc-block-product { grid-template: "image title" auto "image price" auto "image sizes" 1fr / minmax(120px, 24%) minmax(0, 1fr); grid-row: auto; }
@media (max-width: 781px) {
 .ire-catalogue[data-product-view="list"] .ire-product-grid .wc-block-product { grid-template: "image title" auto "image price" auto "sizes sizes" auto / minmax(88px, 30%) minmax(0, 1fr); }
 .ire-product-grid .wc-block-components-product-price, .ire-catalogue .ire-product-grid .wc-block-components-product-price { font-size: 18px !important; }
}

/* Price filter 06: compact fields above a neutral, fine track. */
.ire-shop-filters .wc-block-product-filter-price-slider__content { grid-template-areas: "left-input right-input" "price-slider price-slider"; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 12px; }
.ire-shop-filters .wc-block-product-filter-price-slider__left,
.ire-shop-filters .wc-block-product-filter-price-slider__right { position: relative; width: 100%; padding: 22px 10px 6px; background: #f7f7f6; border-radius: 5px; box-sizing: border-box; }
.ire-shop-filters .wc-block-product-filter-price-slider__left::before,
.ire-shop-filters .wc-block-product-filter-price-slider__right::before { position: absolute; top: 7px; left: 12px; font-size: 10px; line-height: 1.2; color: #817d78; }
.ire-shop-filters .wc-block-product-filter-price-slider__left::before { content: 'Od'; }
.ire-shop-filters .wc-block-product-filter-price-slider__right::before { content: 'Do'; }
.ire-shop-filters .wc-block-product-filter-price-slider input[type="text"] { display: block; width: 100%; max-width: none; min-height: 24px; height: 24px; margin: 0; padding: 0 2px; border: 0; border-radius: 0; background: transparent; color: #292724; font: inherit; font-size: 16px; text-align: left; }
.ire-shop-filters .wc-block-product-filter-price-slider__range { --range-color: #8a8581; height: 2px; margin: 4px 8px 14px; color: #8a8581; }
.ire-shop-filters .wc-block-product-filter-price-slider__range .range-bar { height: 2px; }
.ire-shop-filters .wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb { width: 10px; height: 10px; margin-top: -6px; border: 3px solid #fff; background: #8a8581; box-shadow: 0 0 0 1px #a49a94; }
.ire-shop-filters .wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-thumb { width: 10px; height: 10px; border: 3px solid #fff; border-radius: 50%; background: #8a8581; box-shadow: 0 0 0 1px #a49a94; }
.ire-shop-filters .wc-block-product-filter-price-slider__range input[type="range"]:hover::-webkit-slider-thumb,
.ire-shop-filters .wc-block-product-filter-price-slider__range input[type="range"]:focus-visible::-webkit-slider-thumb { background: #9d626a; box-shadow: 0 0 0 1px #9d626a; }
.ire-shop-filters .wc-block-product-filter-price-slider__range input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 2px solid #9d626a; outline-offset: 3px; }
.ire-shop-filters .wc-block-product-filter-price-slider__range input[type="range"]:focus-visible::-moz-range-thumb { outline: 2px solid #9d626a; outline-offset: 3px; }

/* PSK native select enhancement; unsupported browsers keep their system picker. */
@supports (appearance: base-select) {
	.ire-catalogue-sort select,
	.ire-catalogue-sort select::picker(select) {
		appearance: base-select;
	}

	.ire-catalogue-sort select::picker(select) {
		background: #fff;
		border: 0;
		border-radius: 8px;
		box-shadow: 0 12px 36px rgb(0 0 0 / 12%);
		margin-top: 8px;
		min-width: min(240px, calc(100vw - 32px));
		max-width: calc(100vw - 32px);
		padding: 0.75rem;
	}

	.ire-catalogue-sort select::picker-icon {
		color: #686363;
		margin-left: .375rem;
	}

	.ire-catalogue-sort option {
		border-radius: 4px;
		box-sizing: border-box;
		color: #686363;
		font-weight: 400;
		line-height: 1.5;
		min-height: 44px;
		padding: 0.375rem 0.75rem;
	}

	.ire-catalogue-sort option:checked {
		color: #252323;
		font-weight: 700;
	}

	.ire-catalogue-sort option:hover,
	.ire-catalogue-sort option:focus-visible {
		background: #fff1f3;
		color: #252323;
	}

	.ire-catalogue-sort option::checkmark {
		display: none;
	}
}

/* Full HD catalogue: approved compact proposal 2. Keep mobile and wide desktop layouts. */
@media (min-width: 782px) and (max-width: 2000px) {
	.ire-catalogue .ire-catalogue-heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 12px 40px;
		align-items: center;
		padding: 18px 0;
	}
	.ire-catalogue-heading .ire-shop-breadcrumbs,
	.ire-catalogue-heading .ire-category-shortcuts {
		grid-column: 1 / -1;
	}
	.ire-catalogue .ire-catalogue-heading .wp-block-query-title {
		grid-column: 1 / -1;
		min-width: 0;
		margin: 0;
		font-size: 36px;
	}
	.ire-catalogue .ire-category-intro {
		min-width: 0;
		margin: 0;
		font-size: 15px;
		line-height: 1.65;
	}
	.ire-catalogue .ire-category-intro .ire-content,
	.ire-catalogue .ire-category-intro p {
		margin: 0;
		padding: 0;
	}
	.ire-catalogue-heading .ire-category-shortcuts {
		margin-top: 0;
	}
	.ire-catalogue .ire-catalogue-tools {
		padding: 8px 16px;
		margin-top: 14px;
	}
	.ire-catalogue .ire-catalogue-layout {
		margin-top: 14px;
	}
	.ire-catalogue .ire-catalogue-toolbar {
		margin-bottom: 16px;
	}
}
@media (min-width: 1200px) and (max-width: 2000px) {
	.ire-catalogue .ire-catalogue-heading:has(.ire-category-intro) {
		grid-template-columns: 400px minmax(0, 1fr);
	}
	.ire-catalogue .ire-catalogue-heading:has(.ire-category-intro) .wp-block-query-title {
		grid-column: 1;
	}
}

/* Keep every size accessible in one row without shrinking its label. */
.ire-product-grid .ire-card-sizes {
	flex-wrap: nowrap;
	justify-content: safe center;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding-block: 3px;
	scrollbar-width: thin;
}
.ire-product-grid .ire-card-sizes > :not(legend) { flex: 0 0 auto; }

/* Four real rows; no empty cart row or title stretched to fill spare space. */
.ire-home .ire-product-grid .wc-block-product {
	grid-template: "image" auto "title" auto "price" auto "sizes" auto / minmax(0, 1fr);
	grid-row: auto;
	align-content: start;
	row-gap: 6px;
}
.ire-home .ire-product-grid .wp-block-post-title { min-height: 0; margin-block: 0; }

@media (max-width: 781px) {
	.ire-product-grid .wp-block-post-title { text-align: left; }
}

/* Category title vertically centred beside description and shortcuts. */
@media (min-width: 1200px) {
 .tax-product_cat .ire-catalogue .ire-catalogue-heading { display: grid; grid-template-columns: minmax(260px, 29%) minmax(0, 1fr); gap: 16px 40px; align-items: center; }
 .tax-product_cat .ire-catalogue-heading .ire-shop-breadcrumbs { grid-column: 1 / -1; grid-row: 1; }
 .tax-product_cat .ire-catalogue .ire-catalogue-heading .wp-block-query-title { grid-column: 1; grid-row: 2 / 4; align-self: center; margin: 0; }
 .tax-product_cat .ire-catalogue-heading .ire-category-intro { grid-column: 2; grid-row: 2; margin: 0; }
 .tax-product_cat .ire-catalogue-heading .ire-category-shortcuts { grid-column: 2; grid-row: 3; margin: 0; }
}

.ire-product-grid .ire-product-model { color: #6b6b6b; }
