.mckf-woocommerce-shell{width:min(calc(100% - 48px),var(--mckf-container));margin-inline:auto;padding-block:50px 120px}.woocommerce-products-header{margin-bottom:45px}.woocommerce-products-header__title{font-size:clamp(3.5rem,7vw,7rem)}.mckf-catalogue-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:55px;align-items:end;margin-bottom:58px;padding-bottom:45px;border-bottom:1px solid #e2ddd6}.mckf-catalogue-hero__copy h1{font-size:clamp(3.6rem,7vw,7.2rem)}.mckf-catalogue-hero__copy p{max-width:680px;color:var(--mckf-color-ink-soft);font-size:1.18rem}.mckf-catalogue-hero__image{aspect-ratio:16/9;overflow:hidden}.mckf-catalogue-hero__image img{width:100%;height:100%;object-fit:cover}.woocommerce .woocommerce-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 25px;color:var(--mckf-color-ink-soft);font-size:.84rem}.woocommerce .woocommerce-breadcrumb i{font-size:.55rem}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:34px}.woocommerce .woocommerce-ordering select{min-height:44px}.mckf-filter-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid #d8d2ca;background:#fff;padding:8px 15px;margin-right:18px}
.woocommerce ul.products,.mckf-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px;margin:0;padding:0;list-style:none}.mckf-products--tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product,.mckf-product-card{width:auto;float:none;margin:0;list-style:none}.mckf-product-card__media{position:relative;aspect-ratio:4/5;display:block;overflow:hidden;background:var(--mckf-color-surface-warm)}.mckf-product-card__media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s var(--mckf-ease),transform .8s var(--mckf-ease)}.mckf-product-card__secondary{opacity:0}.mckf-product-card:hover .mckf-product-card__primary{opacity:0}.mckf-product-card:hover .mckf-product-card__secondary{opacity:1;transform:scale(1.025)}.mckf-product-card__view{position:absolute;right:14px;bottom:14px;width:42px;height:42px;display:grid;place-items:center;background:#fff;transform:translateY(9px);opacity:0;transition:.3s var(--mckf-ease)}.mckf-product-card:hover .mckf-product-card__view{opacity:1;transform:none}.mckf-product-card__body{padding-top:18px}.mckf-product-card__brand{display:block;margin-bottom:6px;color:var(--mckf-color-accent);font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.mckf-product-card h3,.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0;font-size:1.42rem;line-height:1.1}.mckf-card-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:14px}.mckf-card-swatch{display:inline-flex;flex:0 0 30px;width:30px;height:30px;aspect-ratio:1/1;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid transparent;border-radius:50%;padding:2px;background:#fff;overflow:hidden}.mckf-card-swatch img,.mckf-card-swatch i{display:block;flex:0 0 100%;width:100%;height:100%;aspect-ratio:1/1;border-radius:50%;object-fit:cover}.mckf-card-swatch i{background:var(--mckf-color-accent-soft)}.mckf-product-card__actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px}.mckf-product-card__quote{font-size:.9rem;font-weight:600;color:var(--mckf-color-accent)}

/* Single product: stable two-column gallery + quote summary. */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:clamp(44px,5vw,82px);align-items:start}.woocommerce div.product::before,.woocommerce div.product::after{display:none}.woocommerce div.product div.summary{width:auto;float:none;margin:0;padding-top:18px;min-width:0;position:static;top:auto;align-self:start}.mckf-product-gallery{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;min-width:0;align-items:start}.mckf-product-gallery__thumbs{display:flex;flex-direction:column;gap:10px;max-height:720px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.mckf-product-gallery__thumb{display:block;width:84px;aspect-ratio:1;border:1px solid transparent;background:var(--mckf-color-surface-soft);padding:0;overflow:hidden;cursor:pointer}.mckf-product-gallery__thumb img{display:block;width:100%;height:100%;object-fit:cover}.mckf-product-gallery__thumb.is-active{border-color:var(--mckf-color-ink)}.mckf-product-gallery__stage{position:relative;min-width:0;aspect-ratio:1/1;background:var(--mckf-color-surface-soft);overflow:hidden}.mckf-product-gallery__main,.mckf-product-gallery__stage>img{display:block;width:100%;height:100%;object-fit:cover}.mckf-product-gallery__zoom{position:absolute;z-index:2;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;background:rgba(255,255,255,.94);color:var(--mckf-color-ink)}.mckf-product-gallery__counter{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);padding:7px 10px;font-size:.78rem;letter-spacing:.08em}.mckf-product-gallery--empty{display:block}.mckf-product-brand{display:inline-block;margin-bottom:12px;color:var(--mckf-color-accent);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.woocommerce div.product .product_title{margin:0 0 18px;font-size:clamp(2.8rem,4.5vw,4.9rem);line-height:.96}.woocommerce div.product .woocommerce-product-details__short-description{max-width:620px;color:var(--mckf-color-ink-soft);font-size:1.08rem;line-height:1.6}.woocommerce div.product p.price{margin:14px 0;color:var(--mckf-color-ink);font-size:1.2rem}.woocommerce div.product form.cart{display:block;margin:28px 0 18px}.woocommerce div.product form.cart .variations{display:block;width:100%;margin:0}.woocommerce div.product form.cart .variations tbody,.woocommerce div.product form.cart .variations tr,.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;width:100%}.woocommerce div.product form.cart .variations tr{margin:0 0 22px}.woocommerce div.product form.cart .variations th{padding:0 0 10px;font-size:.82rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.woocommerce div.product form.cart .variations td{padding:0}.woocommerce div.product form.cart .variations select{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.woocommerce div.product form.cart .reset_variations{display:none!important}.mckf-quote-variations{margin:28px 0 18px}.mckf-quote-variations__label{display:block;margin-bottom:10px;font-size:.82rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.mckf-variation-swatches{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:12px;width:100%;max-width:620px;margin:0;padding:4px 4px 12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}.mckf-swatch{position:relative;display:flex;flex:0 0 72px;flex-direction:column;align-items:center;gap:8px;min-width:72px;border:0;background:transparent;padding:4px 2px;cursor:pointer;scroll-snap-align:start;box-shadow:none;transition:color .2s var(--mckf-ease)}.mckf-swatch:hover,.mckf-swatch:focus-visible{color:var(--mckf-color-accent)}.mckf-swatch:focus-visible{outline:2px solid var(--mckf-color-accent);outline-offset:2px}.mckf-swatch.is-selected{color:var(--mckf-color-ink);box-shadow:none}.mckf-swatch img,.mckf-swatch__fallback{display:block;flex:0 0 58px;width:58px;height:58px;aspect-ratio:1/1;border:2px solid transparent;border-radius:50%;object-fit:cover;background:var(--mckf-color-surface-warm);box-sizing:border-box;transition:border-color .2s var(--mckf-ease),box-shadow .2s var(--mckf-ease)}.mckf-swatch:hover img,.mckf-swatch:hover .mckf-swatch__fallback{border-color:var(--mckf-color-accent-soft)}.mckf-swatch.is-selected img,.mckf-swatch.is-selected .mckf-swatch__fallback{border-color:var(--mckf-color-ink);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--mckf-color-ink)}.mckf-swatch__fallback{display:grid;place-items:center;color:var(--mckf-color-ink-soft);font-size:.78rem}.mckf-swatch__name{display:block;width:72px;font-size:.75rem;line-height:1.15;text-align:center;white-space:normal;overflow-wrap:anywhere}.mckf-selected-colour{min-height:24px;margin:10px 0 0;color:var(--mckf-color-ink-soft);font-size:.94rem}.mckf-selected-colour:not(:empty)::before{content:'Selected: ';color:var(--mckf-color-ink);font-weight:600}.mckf-single-quote{margin-top:8px}.mckf-product-consultation{display:grid;grid-template-columns:22px 1fr;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #e4dfd9;color:var(--mckf-color-ink-soft)}.mckf-product-consultation i{margin-top:4px;color:var(--mckf-color-accent)}.mckf-product-consultation p{margin:0}.mckf-product-consultation strong,.mckf-product-consultation span{display:block}.mckf-product-consultation strong{margin-bottom:3px;color:var(--mckf-color-ink);font-weight:600}.mckf-product-consultation span{font-size:.94rem}.woocommerce div.product .stock{color:var(--mckf-color-ink-soft)}

.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;padding-top:72px}.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:30px;padding:0;margin:0;border-bottom:1px solid #ddd7cf;overflow:auto;white-space:nowrap;scrollbar-width:thin}.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:transparent;padding:0;margin:0}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:14px 0;font-weight:500}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--mckf-color-accent)}.woocommerce div.product .woocommerce-tabs .panel{max-width:960px;padding:34px 0 10px}.woocommerce div.product .woocommerce-tabs .panel>h2:first-child{display:none}.woocommerce div.product .woocommerce-tabs .panel p,.woocommerce div.product .woocommerce-tabs .panel li{line-height:1.72}.mckf-specs{margin:0}.mckf-specs>div{display:grid;grid-template-columns:240px 1fr;gap:22px;padding:13px 0;border-bottom:1px solid #e4dfd9}.mckf-specs dt{font-weight:600}.mckf-specs dd{margin:0;color:var(--mckf-color-ink-soft)}.woocommerce .related.products{grid-column:1/-1;padding-top:70px}.woocommerce .related.products>h2{margin-bottom:30px;font-size:clamp(2.5rem,4vw,4.5rem)}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--mckf-color-accent);background:var(--mckf-color-surface-soft)}.woocommerce-info::before,.woocommerce-message::before{color:var(--mckf-color-accent)}
.woocommerce-pagination{margin-top:55px}.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:3px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:40px;min-height:40px;display:grid;place-items:center;background:var(--mckf-color-surface-soft)}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--mckf-color-ink);color:#fff}


/* Product-grid stability: neutralize WooCommerce percentage widths inside CSS Grid. */
.woocommerce ul.products[class*="columns-"]>li.product,
.woocommerce .related.products ul.products[class*="columns-"]>li.product,
.woocommerce .upsells.products ul.products[class*="columns-"]>li.product{width:100%;max-width:none;min-width:0;float:none;margin:0}
.woocommerce ul.products li.product .mckf-product-card__media>img{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:cover;box-shadow:none}
.woocommerce .related.products,.woocommerce .upsells.products{width:100%;min-width:0;overflow:hidden;margin:0;padding-top:72px;border-top:1px solid #e4dfd9}
.woocommerce .related.products>h2,.woocommerce .upsells.products>h2{max-width:780px;margin:0 0 32px;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1}
.woocommerce .related.products ul.products,.woocommerce .upsells.products ul.products{width:100%;min-width:0;align-items:start}
.woocommerce .related.products .mckf-product-card,.woocommerce .upsells.products .mckf-product-card{min-width:0}
.woocommerce .related.products .mckf-product-card h3,.woocommerce .upsells.products .mckf-product-card h3{display:-webkit-box;min-height:2.2em;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}

@media(hover:none){
  .mckf-product-card__secondary{display:none}
  .mckf-product-card:hover .mckf-product-card__primary{opacity:1}
  .mckf-product-card__view{opacity:1;transform:none}
}

/* v1.1.2: keep post-summary sections in normal document flow; no sticky overlap. */
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{position:relative;z-index:0;min-width:0;clear:both}
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{align-self:start}


/* v1.1.3: product-page inline-size containment. */
.woocommerce,.woocommerce-page,.woocommerce div.product{width:100%;max-width:100%;min-width:0}
.woocommerce div.product>*{min-width:0;max-width:100%}
.mckf-product-gallery,.mckf-product-gallery__stage,.mckf-product-gallery__thumbs{width:100%;max-width:100%;min-width:0}
.mckf-product-gallery__stage{contain:layout paint}
.mckf-product-gallery__main,.mckf-product-gallery__stage>img{max-width:100%;min-width:0}
.woocommerce div.product div.summary,.woocommerce div.product form.cart,.woocommerce div.product form.cart .variations,.mckf-quote-variations,.mckf-variation-swatches{max-width:100%;min-width:0}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .woocommerce-tabs .panel,.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{width:100%;max-width:100%;min-width:0}
.woocommerce div.product .woocommerce-tabs .panel :where(img,table,pre,iframe,video){max-width:100%}

/* v1.2.0 catalogue filters */
.mckf-shop-toolbar{display:flex;align-items:center;gap:18px;margin:0 0 28px;min-width:0}.mckf-shop-toolbar .woocommerce-result-count{float:none;margin:0 auto 0 0;color:var(--mckf-color-ink-soft);font-size:.92rem}.mckf-shop-toolbar .woocommerce-ordering{float:none;margin:0}.mckf-shop-toolbar .woocommerce-ordering select{min-width:190px;margin:0}.mckf-filter-toggle{display:none;align-items:center;gap:9px;min-height:44px;border:1px solid #d8d2ca;background:#fff;padding:8px 14px;margin:0;color:var(--mckf-color-ink);font:inherit;cursor:pointer}.mckf-filter-toggle__count{display:grid;place-items:center;min-width:22px;height:22px;padding-inline:5px;border-radius:50%;background:var(--mckf-color-ink);color:#fff;font-size:.72rem;line-height:1}.mckf-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-8px 0 28px}.mckf-filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;background:var(--mckf-color-surface-soft);color:var(--mckf-color-ink);font-size:.82rem;line-height:1;text-decoration:none}.mckf-filter-chip i{font-size:.72rem}.mckf-active-filters__clear{margin-left:6px;color:var(--mckf-color-ink-soft);font-size:.82rem;text-underline-offset:3px}.mckf-shop-layout{display:grid;grid-template-columns:minmax(220px,255px) minmax(0,1fr);gap:46px;align-items:start;min-width:0}.mckf-shop-results{min-width:0}.mckf-shop-results ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.mckf-filter-panel{min-width:0}.mckf-filter-form{position:sticky;top:105px;max-height:calc(100vh - 130px);overflow-y:auto;overscroll-behavior:contain;padding-right:10px;scrollbar-width:thin}.mckf-filter-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 0 18px}.mckf-filter-panel__head .mckf-eyebrow{display:block;margin-bottom:4px;font-size:.68rem}.mckf-filter-panel__head strong{font-size:1.55rem;font-weight:600}.mckf-filter-close{display:none;width:42px;height:42px;border:0;background:transparent;color:var(--mckf-color-ink);font-size:1.15rem;cursor:pointer}.mckf-filter-group{border-top:1px solid #e3ded7}.mckf-filter-group:last-of-type{border-bottom:1px solid #e3ded7}.mckf-filter-group summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:52px;cursor:pointer;list-style:none;font-size:.94rem;font-weight:600}.mckf-filter-group summary::-webkit-details-marker{display:none}.mckf-filter-group summary>i{font-size:.7rem;transition:transform .2s ease}.mckf-filter-group[open] summary>i{transform:rotate(180deg)}.mckf-filter-group__selected{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:var(--mckf-color-surface-warm);font-size:.69rem}.mckf-filter-group__body{padding:0 0 17px}.mckf-filter-search{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:5px;margin:0 0 10px;padding:0 8px;border:1px solid #ddd7cf;background:#fff}.mckf-filter-search i{color:var(--mckf-color-ink-soft);font-size:.75rem}.mckf-filter-search input{width:100%;min-width:0;height:38px;border:0;outline:0;background:transparent;padding:0;font:inherit;font-size:.82rem}.mckf-filter-options{display:grid;gap:2px;max-height:265px;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin}.mckf-filter-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:34px;padding:4px 2px;cursor:pointer;font-size:.86rem}.mckf-filter-option[hidden]{display:none}.mckf-filter-option input{position:absolute;opacity:0;pointer-events:none}.mckf-filter-option__box{display:grid;place-items:center;width:17px;height:17px;border:1px solid #c9c2b9;background:#fff}.mckf-filter-option__box i{opacity:0;font-size:.58rem}.mckf-filter-option input:checked+.mckf-filter-option__box{border-color:var(--mckf-color-ink);background:var(--mckf-color-ink);color:#fff}.mckf-filter-option input:checked+.mckf-filter-option__box i{opacity:1}.mckf-filter-option input:focus-visible+.mckf-filter-option__box{outline:2px solid var(--mckf-color-accent);outline-offset:2px}.mckf-filter-option__label{min-width:0;overflow-wrap:anywhere}.mckf-filter-option__count{color:var(--mckf-color-ink-soft);font-size:.75rem}.mckf-filter-group__clear{display:inline-block;margin-top:10px;color:var(--mckf-color-ink-soft);font-size:.78rem;text-underline-offset:3px}.mckf-filter-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding-top:18px}.mckf-filter-actions .mckf-button{width:100%;justify-content:center}.mckf-filter-actions>a{color:var(--mckf-color-ink-soft);font-size:.84rem;text-underline-offset:3px}.mckf-filter-backdrop{display:none}.mckf-shop-results .woocommerce-pagination{margin-top:55px}
.mckf-filter-option{position:relative}
