/* Catalogue-only presentation; native forms and WC gallery own transactional state. */
.ow-catalogue #main-content{background:var(--ow-canvas);padding:36px 0 64px}
.ow-catalogue #main-content>.container{width:calc(100% - 64px);max-width:1280px}
.ow-catalogue #main-content>.container>.row{display:block;margin:0}
.ow-catalogue .ow-catalogue-content,.ow-catalogue .ow-product-page{width:100%;max-width:none;min-width:0;float:none;padding:0}
.ow-catalogue #main-content :is(h1,h2,h3){font-family:var(--ow-font-display);font-weight:500;letter-spacing:-.04em;color:var(--ow-ink)}
.ow-catalogue #main-content :is(p,select,input,button,label,summary,table){font-family:var(--ow-font-body)}
.ow-catalogue #main-content p{line-height:1.7;color:var(--ow-muted)}
.ow-catalogue .ow-catalogue-eyebrow{font:600 12px/1.6 var(--ow-font-body);color:var(--ow-brand)!important;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px}
.ow-collection-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:32px 0 40px}
.ow-collection-heading h1{font-size:clamp(40px,5vw,68px);margin:0 0 16px;line-height:1.08}
.ow-collection-heading p{max-width:560px;margin-bottom:0}
.ow-category-hero{width:35%;max-height:300px;aspect-ratio:4/3;object-fit:cover}
.ow-cat-nav{display:flex;flex-wrap:wrap;gap:8px 32px;border-block:1px solid var(--ow-divider);padding:12px 0;margin-bottom:24px}
.ow-cat-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--ow-ink);font-size:15px}
.ow-cat-nav a[aria-current]{color:var(--ow-brand);text-decoration:underline;text-underline-offset:8px}
.ow-filters{border-bottom:1px solid var(--ow-divider);padding-bottom:20px;margin-bottom:24px}
.ow-filters summary{cursor:pointer;font-size:16px;min-height:48px;padding:12px 0;color:var(--ow-brand)}
.ow-filters form{display:flex;flex-wrap:wrap;align-items:end;gap:18px;padding-top:16px}
.ow-filters label{display:flex;flex:1 1 150px;flex-direction:column;gap:8px;margin:0;font-size:13px;font-weight:500;color:var(--ow-ink)}
.ow-catalogue #main-content :is(select,input[type=number]){background:#fff;border:1px solid var(--ow-control-border);border-radius:2px;min-height:48px;height:auto;font-size:16px;max-width:100%;padding:10px 12px;color:var(--ow-ink)}
.ow-filters label input{width:100%}.ow-clear{min-height:48px;display:inline-flex;align-items:center;text-decoration:underline;color:var(--ow-brand)}
.ow-catalogue-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.ow-catalogue-toolbar .woocommerce-result-count{margin:0;font-size:14px}.ow-catalogue-toolbar .woocommerce-ordering{margin:0;float:none}
.ow-catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px;margin:0;padding:0;list-style:none}
.ow-product-card{min-width:0;overflow-wrap:anywhere;list-style:none;padding:0!important}
.ow-product-photo{aspect-ratio:2/3;overflow:hidden;background:#eae6dd}
.ow-product-photo img{height:100%;width:100%;object-fit:cover;transition:transform .2s}
.ow-catalogue #main-content .ow-product-card h2{font:500 16px/1.45 var(--ow-font-body);letter-spacing:0;margin:16px 0 8px;color:var(--ow-ink)}
.ow-product-price{font:600 17px/1.5 var(--ow-font-body);color:var(--ow-ink)}
.ow-product-price del{color:var(--ow-muted);font-size:14px}.ow-product-price ins{background:transparent;text-decoration:none}
.ow-catalogue #main-content .ow-product-stock,.ow-catalogue #main-content .ow-product-colour{font-size:13px;margin:8px 0}
.ow-product-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;color:var(--ow-brand);font-size:14px;text-decoration:underline;text-underline-offset:5px}
.ow-catalogue-empty{padding:44px;background:#efede6;border-left:3px solid var(--ow-brand);margin:24px 0 48px}
.ow-catalogue-empty h2{font-size:36px;margin:0 0 16px}.ow-catalogue-empty .ow-button{margin-top:16px}
.ow-catalogue .woocommerce-pagination{margin:48px 0 0}.ow-catalogue .woocommerce-pagination a,.ow-catalogue .woocommerce-pagination span{min-width:44px;min-height:44px}
.ow-catalogue .woocommerce-breadcrumb{font:13px/1.6 var(--ow-font-body);margin-bottom:32px;color:var(--ow-muted)}
.ow-product-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:24px 64px;align-items:start}
.ow-product-heading{grid-column:2;grid-row:1}.ow-product-gallery{grid-column:1;grid-row:1/3;min-width:0}
.ow-catalogue #main-content .ow-product-heading h1{font-size:clamp(32px,3vw,46px);line-height:1.15;margin:0 0 20px}
.ow-catalogue #main-content .ow-product-heading .price{font:500 24px/1.4 var(--ow-font-body);color:var(--ow-ink);margin:0}
.ow-product-heading .price ins{background:none}.ow-product-heading .price del{font-size:18px;color:var(--ow-muted)}
.ow-catalogue .ow-product-layout .summary{grid-column:2;grid-row:2;width:auto!important;float:none!important;margin:0!important}
.ow-product-layout .woocommerce-product-details__short-description{margin-bottom:24px}
.ow-product-layout form.cart{margin:24px 0}.ow-product-layout .quantity{display:inline-block;margin-right:12px}
.ow-product-layout .qty{width:80px!important;min-height:48px}
.ow-catalogue #main-content .single_add_to_cart_button{background:var(--ow-brand);color:#fff;border:0;min-height:50px;padding:14px 24px;font:600 15px var(--ow-font-body);border-radius:2px}
.ow-catalogue #main-content button:disabled{opacity:.55;cursor:not-allowed}
.ow-product-layout table.variations{width:100%;margin:0 0 16px}.ow-product-layout .variations th,.ow-product-layout .variations td{padding:8px 0;border:0;display:block;text-align:left;width:100%}
.ow-product-layout .variations select{width:100%}.ow-product-layout .reset_variations{display:inline-flex;min-height:44px;align-items:center;color:var(--ow-brand);text-decoration:underline}
.ow-product-layout .product_meta{border-top:1px solid var(--ow-divider);padding-top:24px;font-size:13px;line-height:1.8;margin-top:24px}
.ow-product-layout .product_meta>span{display:block}.ow-product-layout .stock{font-size:14px;color:var(--ow-success)!important}
.ow-product-layout .out-of-stock{color:var(--ow-error)!important}
.ow-catalogue .ow-product-gallery .woocommerce-product-gallery{float:none!important;width:100%!important;opacity:1!important;margin:0!important;position:relative}
.ow-product-gallery .woocommerce-product-gallery__wrapper{margin:0}
.ow-product-gallery .woocommerce-product-gallery__image img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#efede6}
.ow-product-gallery .flex-control-thumbs{display:flex;gap:12px;list-style:none;margin:16px 0 0;padding:0;overflow-x:auto}
.ow-product-gallery .flex-control-thumbs li{flex:0 0 72px;padding:0!important;list-style:none}
.ow-product-gallery .flex-control-thumbs img{cursor:pointer;width:72px;height:90px;object-fit:cover;opacity:.7}
.ow-product-gallery .flex-control-thumbs .flex-active{opacity:1;outline:2px solid var(--ow-brand);outline-offset:-2px}
.ow-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.ow-gallery-controls button{min-height:44px;min-width:44px;background:transparent;color:var(--ow-brand);border:1px solid var(--ow-control-border);padding:8px 16px}
.ow-gallery-controls span{font-size:13px}.ow-product-gallery .woocommerce-product-gallery__trigger{position:absolute;right:12px;top:12px;z-index:5;background:#fff;min-width:44px;min-height:44px;padding:12px}
.ow-product-details{margin-top:64px;border-top:1px solid var(--ow-divider)}
.ow-product-details details{border-bottom:1px solid var(--ow-divider);padding:20px 0}
.ow-product-details summary{font:500 20px/1.5 var(--ow-font-display);cursor:pointer;min-height:48px;padding:8px 0;color:var(--ow-ink)}
.ow-product-details details>div{max-width:760px;padding:20px 0}.ow-product-details table{max-width:850px;width:100%;border-collapse:collapse;font-size:15px}
.ow-product-details th,.ow-product-details td{padding:12px 16px;border-bottom:1px solid var(--ow-divider);text-align:left;width:auto}
.ow-related{margin-top:64px}.ow-related>h2{font-size:36px;margin-bottom:30px}
.ow-catalogue #main-content :is(a,button,input,select,summary):focus-visible{outline:2px solid var(--ow-brand);outline-offset:4px;box-shadow:0 0 0 2px var(--ow-canvas)}
.ow-catalogue .ow-site-footer{margin-top:0}
@media(hover:hover){.ow-product-card a:hover img{transform:scale(1.02)}}
@media(max-width:1023px){.ow-catalogue #main-content>.container{width:calc(100% - 48px)}.ow-catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}.ow-product-layout{gap:24px 32px}}
@media(max-width:767px){.ow-catalogue #main-content{padding-top:20px}.ow-catalogue #main-content>.container{width:calc(100% - 32px)}.ow-collection-heading{padding:20px 0 24px;gap:24px;align-items:start;flex-direction:column}.ow-category-hero{width:100%;max-height:240px}.ow-collection-heading h1{font-size:40px}.ow-cat-nav{gap:4px 24px;margin-bottom:16px}.ow-cat-nav a{font-size:14px}.ow-filters form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ow-filters label{min-width:0}.ow-filters label:last-of-type{grid-column:1/-1}.ow-catalogue-toolbar{margin-bottom:24px;align-items:start;flex-direction:column}.ow-catalogue-toolbar select{width:100%}.ow-catalogue-toolbar .woocommerce-ordering{width:100%}.ow-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.ow-catalogue #main-content .ow-product-card h2{font-size:14px;margin-top:12px}.ow-product-price{font-size:17px}.ow-product-stock,.ow-product-colour{font-size:12px}.ow-catalogue-empty{padding:28px 24px}.ow-catalogue-empty h2{font-size:30px}.ow-catalogue-empty p{font-size:15px}.ow-product-layout{display:flex;flex-direction:column;gap:24px}.ow-product-layout>header,.ow-product-layout>div{width:100%}.ow-product-heading{order:0}.ow-product-gallery{order:1}.ow-product-layout .summary{order:2}.ow-catalogue #main-content .ow-product-heading h1{font-size:32px}.ow-catalogue .woocommerce-breadcrumb{margin-bottom:24px}.ow-product-layout .single_add_to_cart_button{width:calc(100% - 100px)}.ow-product-details,.ow-related{margin-top:40px}.ow-product-details th,.ow-product-details td{padding:12px 8px}.ow-product-details{overflow-wrap:anywhere}}
@media(max-width:359px){.ow-catalogue-grid{grid-template-columns:1fr}.ow-filters form{grid-template-columns:1fr}.ow-filters label{grid-column:1}}
@media(prefers-reduced-motion:reduce){.ow-catalogue *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Kapee's Slick wrapper cap must not constrain WooCommerce's FlexSlider track. */
.ow-product-gallery .woocommerce-product-gallery__wrapper{max-width:none}
.ow-product-gallery .woocommerce-product-gallery__trigger{display:flex;align-items:center;justify-content:center}

.ow-gallery-enlarge{display:block;min-height:44px;padding:8px 0;background:none;border:0;color:var(--ow-brand);text-decoration:underline}
/* Keep filtering limits legible and long product data within the viewport. */
.ow-catalogue #main-content .ow-filter-help{font-size:14px;line-height:1.6;max-width:70ch;margin:4px 0 12px}
.ow-product-heading h1{overflow-wrap:anywhere}
.ow-product-details table caption{text-align:left;color:var(--ow-muted);padding:12px 0}
.ow-product-gallery{contain:layout}

/* Reserve native thumbnail geometry before Flexslider inserts its navigation. */
.ow-js .ow-has-thumbnails .woocommerce-product-gallery{padding-bottom:106px}
.ow-js .ow-has-thumbnails .flex-control-thumbs{position:absolute;inset:auto 0 0;height:90px;margin:0;width:100%;max-width:100%}
html:not(.ow-js) .ow-gallery-tools{display:none}
.ow-gallery-tools .ow-gallery-controls[hidden]{display:none}
/* Before native slider wrapping, extra full-size slides must not push controls down. */
.ow-js .ow-product-gallery .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child){display:none}
/* Keep the 3:4 image stage constant while Flexslider wraps/measures its slides. */
.ow-js .ow-product-gallery .woocommerce-product-gallery > .flex-viewport{aspect-ratio:3/4;height:auto!important}
.ow-js .ow-product-gallery .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{aspect-ratio:3/4;overflow:hidden}
