/* ODDWRIST — catalog: shop, cards, filters, compare, wishlist, directories */

/* Shop hero */
.ow-shop-hero{position:relative;padding-block:clamp(28px,4vw,56px) clamp(24px,3vw,40px)}
.ow-shop-hero .ow-display{font-size:var(--fs-2xl)}
.ow-shop-hero__intro{max-width:60ch;color:var(--ow-muted);margin-top:16px}
.ow-shop-hero__intro p:last-child{margin:0}
.ow-shop-hero--banner{min-height:clamp(320px,38vw,560px);display:grid;align-items:end;color:var(--ow-paper);background:var(--ow-ink);isolation:isolate;overflow:hidden;margin-bottom:clamp(24px,3vw,40px)}
.ow-shop-hero__media{position:absolute;inset:0;z-index:-1}
.ow-shop-hero__media img{width:100%;height:100%;object-fit:cover;object-position:75% 50%}
.ow-shop-hero--banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.75),rgba(10,10,10,0) 65%)}
.ow-shop-hero--banner .ow-shop-hero__intro{color:#e3e0d9}
.ow-shop-hero--banner .ow-crumbs,.ow-shop-hero--banner .ow-crumbs a{color:rgba(255,255,255,.75)}
.ow-crumbs{font:500 expanded 11px/1.4 var(--ow-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ow-muted);margin-bottom:20px}
.ow-crumbs p{margin:0;display:flex;flex-wrap:wrap;gap:6px}
.ow-crumbs a{text-decoration:none}
.ow-crumbs a:hover{color:var(--ow-signal)}
.ow-crumbs__sep{opacity:.5}

/* Layout */
.ow-shop{display:grid;gap:32px;padding-bottom:var(--section)}
@media (min-width:1024px){.ow-shop{grid-template-columns:260px 1fr;gap:48px}}
@media (min-width:1024px){.ow-shop--full{grid-template-columns:1fr}}

/* Filters */
.ow-filters__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--ow-ink)}
.ow-filters__close{display:none}
.ow-facet{border-bottom:1px solid var(--ow-mist)}
.ow-facet summary{display:flex;align-items:center;gap:8px;padding:16px 0;cursor:pointer;list-style:none;font-weight:500;font-size:var(--fs-sm)}
.ow-facet summary::-webkit-details-marker{display:none}
.ow-facet summary span:first-child{flex:1}
.ow-facet summary .ow-icon{transition:transform var(--t-fast)}
.ow-facet[open] summary .ow-icon{transform:rotate(180deg)}
.ow-facet__n{display:grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--ow-signal);color:#fff;font:600 expanded 10px var(--ow-mono)}
.ow-facet__list{list-style:none;display:grid;gap:10px;padding-bottom:16px}
.ow-facet__list.is-long:not(.is-expanded) li:nth-child(n+7){display:none}
.ow-facet__more{margin:-6px 0 16px}
.ow-check__label{flex:1}
.ow-check__count{color:var(--ow-muted);font:500 expanded 11px var(--ow-mono)}
.ow-facet--toggles{border:0;margin:0;padding:12px 0;display:grid;gap:12px;border-bottom:1px solid var(--ow-mist)}
.ow-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--fs-sm);cursor:pointer}
.ow-swatch{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);flex:0 0 auto}
.ow-swatch--sm{width:12px;height:12px}
.ow-range{padding-bottom:18px}
.ow-range__slider{position:relative;height:28px;margin:4px 9px 10px}
.ow-range__slider::before{content:"";position:absolute;left:0;right:0;top:13px;height:2px;background:var(--ow-mist)}
.ow-range__fill{position:absolute;top:13px;height:2px;background:var(--ow-ink)}
.ow-range__slider input{position:absolute;left:-9px;right:-9px;width:calc(100% + 18px);top:0;height:28px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.ow-range__slider input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--ow-paper);border:1.5px solid var(--ow-ink);cursor:grab}
.ow-range__slider input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--ow-paper);border:1.5px solid var(--ow-ink);cursor:grab}
.ow-range__slider input:active::-webkit-slider-thumb{border-color:var(--ow-signal)}
.ow-range__inputs{display:flex;align-items:center;gap:8px}
.ow-range__inputs label{flex:1}
.ow-range__inputs input{width:100%;height:40px;padding:0 10px;border:1px solid var(--ow-line);font:500 expanded 13px var(--ow-mono);-moz-appearance:textfield}
.ow-range__unit{font:500 expanded 12px var(--ow-mono);color:var(--ow-muted);min-width:20px}
.ow-filters__actions{display:grid;gap:12px;justify-items:center;padding:20px 0}
.js .ow-filters__actions .ow-btn{display:none}
@media (max-width:1023px){
	.ow-filters{position:fixed;inset:0 auto 0 0;z-index:120;width:min(400px,90vw);background:var(--ow-paper);padding:16px var(--gutter);overflow-y:auto;transform:translateX(-102%);transition:transform var(--t-med) var(--ease-out);box-shadow:0 0 0 100vmax rgba(10,10,10,0);visibility:hidden}
	.ow-filters.is-open{transform:none;visibility:visible;box-shadow:0 0 0 100vmax rgba(10,10,10,.45)}
	.ow-filters__close{display:inline-grid}
	.js .ow-filters__actions .ow-btn{display:inline-flex;position:sticky;bottom:0}
}
@media (min-width:1024px){.ow-filters{position:sticky;top:calc(var(--header-h) + 16px);align-self:start;max-height:calc(100vh - var(--header-h) - 32px);overflow-y:auto;scrollbar-width:thin;padding-right:6px}.ow-toolbar__filter{display:none!important}}

/* Toolbar & chips */
.ow-toolbar{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--ow-ink);margin-bottom:20px;flex-wrap:wrap}
.ow-toolbar__count{margin:0;font:500 expanded 12px var(--ow-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ow-muted)}
.ow-toolbar__right{margin-left:auto;display:flex;align-items:center;gap:8px}
.ow-toolbar .woocommerce-ordering{margin:0}
.ow-toolbar .woocommerce-ordering select{height:42px;min-width:200px;padding:0 40px 0 14px;border:1px solid var(--ow-line);background-color:var(--ow-paper);font-size:var(--fs-sm)}
.ow-view-toggle{display:none}
@media (min-width:768px){.ow-view-toggle{display:flex}}
.ow-view-toggle [aria-pressed=true]{color:var(--ow-signal)}
.ow-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:24px}
.ow-chip{background:var(--ow-bone);border-color:var(--ow-bone)}
.ow-chip .ow-icon{opacity:.6}
.ow-chip:hover .ow-icon{opacity:1;color:var(--ow-signal)}

/* Product grid */
ul.products,.ow-grid{list-style:none;margin:0;padding:0;display:grid;gap:clamp(28px,3vw,44px) clamp(12px,1.6vw,24px);grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){ul.products,.ow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.ow-section ul.products,.ow-section .ow-grid,.ow-listing ul.products,.ow-wishlist ul.products,.ow-recent ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ow-grid--scroll{grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px}
.ow-grid--scroll>li{scroll-snap-align:start}
@media (min-width:1280px){.ow-grid--scroll{grid-auto-columns:calc((100% - 3 * clamp(12px,1.6vw,24px)) / 4)}}
.woocommerce .ow-listing ul.products::before,.woocommerce .ow-listing ul.products::after{display:none}
.woocommerce-result-count,.ow-listing .woocommerce-ordering{display:none}

/* Card */
.ow-card{position:relative;display:flex;flex-direction:column;min-width:0}
.ow-card__media{position:relative;aspect-ratio:4/5;background:var(--ow-bone);overflow:hidden}
.ow-card__img{position:absolute;inset:0;display:block}
.ow-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s var(--ease-out),transform 1.2s var(--ease-out)}
.ow-card__alt{opacity:0}
@media (hover:hover){
	.ow-card:hover .ow-card__alt{opacity:1}
	.ow-card:hover .ow-card__img img{transform:scale(1.035)}
	.ow-card__actions{opacity:0;transform:translateX(6px);transition:opacity var(--t-fast),transform var(--t-med) var(--ease-out)}
	.ow-card:hover .ow-card__actions,.ow-card:focus-within .ow-card__actions,.ow-card__actions:has([aria-pressed=true]){opacity:1;transform:none}
	.ow-card__quick{transform:translateY(100%)}
	.ow-card:hover .ow-card__quick,.ow-card__quick:focus-visible{transform:none}
}
.ow-badges{position:absolute;top:12px;left:12px;list-style:none;display:flex;flex-direction:column;gap:6px;align-items:flex-start;z-index:2;pointer-events:none}
.ow-badge{padding:5px 8px;font:600 expanded 10px/1 var(--ow-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--ow-paper);color:var(--ow-ink)}
.ow-badge--ink{background:var(--ow-ink);color:var(--ow-paper)}
.ow-badge--signal{background:var(--ow-signal);color:#fff}
.ow-badge--outline{background:transparent;box-shadow:inset 0 0 0 1px var(--ow-ink)}
.ow-badge--sold{background:var(--ow-graphite);color:#fff}
.ow-card__actions{position:absolute;top:12px;right:12px;display:grid;gap:6px;z-index:2}
.ow-card__quick{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border:0;background:rgba(10,10,10,.92);color:#fff;font:500 expanded 11px/1 var(--ow-mono);letter-spacing:.14em;text-transform:uppercase;transition:transform var(--t-med) var(--ease-out)}
.ow-card__quick:hover{background:var(--ow-signal)}
@media (hover:none){.ow-card__quick{display:none}}
.ow-card__body{display:flex;flex-direction:column;gap:4px;padding-top:14px;flex:1}
.ow-card__brand{margin:0;font:500 expanded 10.5px/1.3 var(--ow-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ow-muted)}
.ow-card__title{font:500 var(--fs-base)/1.3 var(--ow-sans);letter-spacing:-.005em;margin:0}
.ow-card__title a{text-decoration:none}
.ow-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.ow-card__title a:hover{text-decoration:underline;text-decoration-color:var(--ow-signal)}
.ow-card__specs{margin:0;font:400 expanded 12px/1.4 var(--ow-mono);color:var(--ow-muted)}
.ow-card__desc{display:none}
.ow-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.ow-card__swatches{display:flex;gap:4px}
.ow-stock{margin:2px 0 0;font:500 expanded 11px/1.3 var(--ow-mono);letter-spacing:.04em}
.ow-stock--in{display:none}
.ow-card .ow-stock--in{display:none}
.ow-stock--low,.ow-stock--out{color:var(--ow-signal)}
.ow-stock--note{color:var(--ow-ink)}
.ow-card__add{display:none;position:relative;z-index:2;margin-top:12px;align-self:flex-start}
.ow-card__actions,.ow-card__quick{z-index:3}

/* List view */
.is-list ul.products{grid-template-columns:1fr!important}
.is-list .ow-card{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--ow-mist)}
.is-list .ow-card__body{padding-top:0;justify-content:center}
.is-list .ow-card__title{font:500 expanded var(--fs-xl)/1.05 var(--ow-display);letter-spacing:-.03em}
.is-list .ow-card__desc{display:block;color:var(--ow-muted);font-size:var(--fs-sm);margin:6px 0;max-width:60ch}
.is-list .ow-card__add{display:inline-flex}
.is-list .ow-card__foot{justify-content:flex-start;gap:16px}

/* Load more */
.ow-loadmore{display:grid;justify-items:center;gap:14px;margin:48px auto 0;max-width:280px;text-align:center}
.ow-loadmore p{margin:0;font:500 expanded 11px var(--ow-mono);letter-spacing:.08em;text-transform:uppercase}
.ow-loadmore .ow-progressbar{width:100%}
.js .woocommerce-pagination{display:none}

/* Recently viewed */
.ow-recent{padding-block:var(--section) 0}
.ow-recent:last-child{padding-bottom:var(--section)}

/* Quick view */
.ow-qv{display:grid;gap:0}
@media (min-width:860px){.ow-qv{grid-template-columns:1.1fr 1fr}}
.ow-qv__media{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;background:var(--ow-bone)}
.ow-qv__media img{scroll-snap-align:start;width:100%;aspect-ratio:4/5;object-fit:cover}
.ow-qv__info{padding:clamp(24px,4vw,48px);display:grid;gap:14px;align-content:center}
.ow-qv__info .ow-h2{font-size:var(--fs-xl)}
.ow-qv__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}

/* Compare page */
.ow-compare{padding-bottom:var(--section)}
.ow-compare__bar{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:14px 0;border-bottom:1px solid var(--ow-ink);margin-bottom:0;position:sticky;top:var(--header-h);background:var(--ow-paper);z-index:5}
.ow-compare__count{margin:0;font:500 expanded 12px var(--ow-mono);letter-spacing:.08em;text-transform:uppercase}
.ow-compare__bar .ow-link{margin-left:auto}
.ow-compare__scroll{overflow-x:auto;scrollbar-width:thin;outline-offset:-2px}
.ow-compare__table{border-collapse:separate;border-spacing:0;width:100%;min-width:calc(150px + var(--cols) * 190px);table-layout:fixed}
.ow-compare__table th,.ow-compare__table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ow-mist);font-size:var(--fs-sm)}
.ow-compare__table tbody th{position:sticky;left:0;z-index:2;width:150px;background:var(--ow-paper);font:500 expanded 11px/1.4 var(--ow-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ow-muted)}
.ow-compare__corner{position:sticky;left:0;z-index:3;background:var(--ow-paper);width:150px}
.ow-compare__product{position:relative;vertical-align:bottom!important;border-bottom:1px solid var(--ow-ink)!important;padding-top:24px!important}
.ow-compare__media{display:block;aspect-ratio:4/5;background:var(--ow-bone);margin-bottom:12px;overflow:hidden}
.ow-compare__media img{width:100%;height:100%;object-fit:cover}
.ow-compare__product .ow-eyebrow{margin:0 0 4px}
.ow-compare__name{display:block;font:500 expanded var(--fs-lg)/1.15 var(--ow-display);text-decoration:none;margin-bottom:12px;letter-spacing:-.03em}
.ow-compare__remove{position:absolute;top:28px;right:24px;z-index:1;width:30px;height:30px;border-radius:50%;border:0;background:var(--ow-paper);font-size:18px;line-height:30px;box-shadow:0 0 0 1px var(--ow-line)}
.ow-compare__remove:hover{background:var(--ow-signal);color:#fff;box-shadow:none}
.ow-compare__table tr.is-diff td{background:linear-gradient(90deg,rgba(215,20,26,.06),rgba(215,20,26,0))}
.ow-compare__table tr.is-diff th{box-shadow:inset 2px 0 0 var(--ow-signal);color:var(--ow-ink)}
.ow-compare.is-diff-only tr.is-same{display:none}
.ow-na{color:var(--ow-line)}
.ow-compare .ow-note{margin-top:16px}

/* Wishlist */
.ow-wishlist{padding-bottom:var(--section)}
.ow-wishlist .ow-callout{margin-bottom:28px}

/* Term cards (collections index) */
.ow-term-cards{display:grid;gap:clamp(16px,2vw,28px);grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));padding-bottom:var(--section)}
.ow-term-card{position:relative;display:grid;text-decoration:none;color:var(--ow-paper);background:var(--ow-ink);overflow:hidden;isolation:isolate;min-height:clamp(300px,30vw,440px)}
.ow-term-card__media{position:absolute;inset:0;z-index:-1}
.ow-term-card__media img{width:100%;height:100%;object-fit:cover;object-position:72% 50%;transition:transform 1.4s var(--ease-out)}
.ow-term-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,10,.82),rgba(10,10,10,0) 60%)}
.ow-term-card:hover img{transform:scale(1.04)}
.ow-term-card__body{align-self:end;padding:28px;display:grid;gap:8px}
.ow-term-card__body .ow-eyebrow{color:var(--ow-muted-dark);margin:0}
.ow-term-card__title{font:500 expanded var(--fs-2xl)/1 var(--ow-display);letter-spacing:-.03em}
.ow-term-card__desc{color:#d9d6cf;font-size:var(--fs-sm);max-width:46ch}

/* Directory (brands) */
.ow-directory{padding-bottom:var(--section)}
.ow-directory__index{position:sticky;top:var(--header-h);z-index:3;display:flex;flex-wrap:wrap;gap:4px;padding:12px 0;background:var(--ow-paper);border-bottom:1px solid var(--ow-ink);margin-bottom:24px}
.ow-directory__index a{display:grid;place-items:center;width:36px;height:36px;font:500 expanded 13px var(--ow-mono);text-decoration:none;border:1px solid transparent}
.ow-directory__index a:hover{border-color:var(--ow-ink)}
.ow-directory__group{display:grid;gap:12px;padding:24px 0;border-bottom:1px solid var(--ow-mist)}
@media (min-width:768px){.ow-directory__group{grid-template-columns:120px 1fr}}
.ow-directory__letter{font:500 expanded 64px/1 var(--ow-display);color:var(--ow-signal);letter-spacing:-.03em}
.ow-directory ul{list-style:none;display:grid;gap:4px 32px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ow-directory li a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font:500 expanded var(--fs-lg)/1.2 var(--ow-display);text-decoration:none;border-bottom:1px solid var(--ow-mist);letter-spacing:-.03em}
.ow-directory li a:hover{color:var(--ow-signal)}
.ow-directory__count{font:500 expanded 12px var(--ow-mono);color:var(--ow-muted)}
.ow-directory li p{margin:6px 0 0;color:var(--ow-muted);font-size:var(--fs-sm)}
.ow-card__foot{flex-wrap:wrap}
.ow-card .ow-price{white-space:normal;min-width:0}

.ow-check.is-empty{opacity:.4;cursor:not-allowed}
.ow-check.is-empty .ow-swatch{filter:grayscale(1)}
.ow-qv__attr{border:0;margin:0 0 14px;padding:0}
.ow-qv__attr legend{font:500 expanded var(--fs-xs)/1.2 var(--ow-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ow-muted);margin-bottom:8px}
.ow-qv__status{margin:0;font-size:var(--fs-sm);color:var(--ow-signal);min-height:1.2em}
.ow-qv .ow-swatch-btn[aria-pressed=true]{border-color:var(--ow-ink);box-shadow:inset 0 0 0 1px var(--ow-ink)}

/* Swatch buttons (shared by product page and quick add) */
.ow-swatches{display:flex;flex-wrap:wrap;gap:8px}
.ow-swatch-btn{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--ow-line);background:var(--ow-paper);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--t-fast)}
.ow-swatch-btn:hover{border-color:var(--ow-ink)}
.ow-swatch-btn[aria-checked=true]{border-color:var(--ow-ink);box-shadow:inset 0 0 0 1px var(--ow-ink)}
.ow-swatch-btn[aria-checked=true]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--ow-signal)}
.ow-swatch-btn.is-unavailable{color:var(--ow-muted);background:repeating-linear-gradient(135deg,transparent 0 6px,var(--ow-mist) 6px 7px)}
.ow-swatch-btn.is-colour{padding:0 14px 0 8px}
