/* Approved Sea Shop catalog chapter; native Woo data and controls. */
body:is(.post-type-archive-product,.tax-product_cat) { --mv-paper:#f7faf9; --mv-shell:#edf3f5; --mv-ink-950:#0b2433; --mv-ink-500:#536b7b; }
body:is(.post-type-archive-product,.tax-product_cat) .sea-catalog { padding:24px 0 64px !important; min-block-size:0 !important; }
body:is(.post-type-archive-product,.tax-product_cat) .sea-catalog > .alignwide { width:min(calc(100% - 112px),1680px) !important; inline-size:min(calc(100% - 112px),1680px) !important; max-inline-size:1680px !important; }
.sea-catalog .mv-archive-intro { gap:16px; margin-bottom:24px !important; }
.sea-catalog-title { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 20px; }
.sea-catalog .mv-archive-intro h1 { font-size:48px; line-height:1.12; letter-spacing:-1.8px; }
.sea-catalog .sea-catalog-title .mv-catalog-count { width:auto; inline-size:auto; flex:0 0 auto; margin:0; font-size:14px; font-weight:450; }
.sea-catalog-categories { display:flex; flex-wrap:wrap; gap:4px 28px; }
.sea-catalog-categories a { display:flex; align-items:center; min-height:44px; color:#0b2433; font-size:16px; text-decoration:none; border-bottom:2px solid transparent; }
.sea-catalog-categories a[aria-current] { color:#0077b3; border-color:currentColor; font-weight:650; }
.sea-catalog .mv-catalog-workspace { grid-template-columns:240px minmax(0,1fr); gap:32px; }
.sea-catalog .mv-catalog-sidebar { width:240px; inline-size:240px; margin-top:0; top:112px; }
.sea-catalog .mv-catalog-filters { padding:20px; background:#edf3f5; border-radius:10px; }
.sea-catalog .mv-catalog-filters__heading { min-height:32px; border:0; margin-bottom:20px; }
.sea-catalog .mv-catalog-filter { padding:20px 0; }
.sea-catalog .mv-catalog-filter h3,.sea-catalog-price h3 { font-size:14px; margin:0 0 12px; }
.sea-catalog .mv-catalog-filter a { min-height:40px; font-size:15px; }
/* Filter links retain native navigation; their indicators share a generous hit area. */
.sea-catalog .mv-catalog-filter a:has(.mv-filter-box),
.sea-catalog .mv-catalog-switches a {
 min-block-size:44px; padding:6px 8px; gap:12px; border-radius:9px;
 color:var(--mv-ink-950); transition:background-color 160ms ease-out,color 160ms ease-out;
}
.sea-catalog .mv-catalog-filter a:has(.mv-filter-box) { grid-template-columns:22px minmax(0,1fr) auto; }
.sea-catalog .mv-filter-box {
 position:relative; inline-size:22px; block-size:22px; border-radius:7px;
 border:1px solid #acc3ce; background:var(--mv-paper); font-size:0;
 transition:background-color 160ms ease-out,border-color 160ms ease-out,transform 120ms ease-out;
}
.sea-catalog .mv-filter-box::after {
 content:"\f147"; position:absolute; inset:0; display:grid; place-items:center; font:20px/1 dashicons; color:var(--mv-paper);
 opacity:0; transform:scale(.7); transition:opacity 120ms ease-out,transform 160ms cubic-bezier(.22,1,.36,1);
}
.sea-catalog .mv-catalog-filter a.is-active:has(.mv-filter-box),
.sea-catalog .mv-catalog-switches a.is-active { background:#e0eef4; color:#005f91; }
.sea-catalog a.is-active .mv-filter-box { background:#0077b3; border-color:#0077b3; }
.sea-catalog a.is-active .mv-filter-box::after { opacity:1; transform:scale(1); }
.sea-catalog .mv-catalog-switches a { grid-template-columns:40px minmax(0,1fr); }
.sea-catalog .mv-filter-switch { inline-size:40px; block-size:24px; background:#bacdd5; touch-action:none; user-select:none; transition:background-color 160ms ease-out; }
.sea-catalog .mv-filter-switch span { inset:3px auto auto 3px; inline-size:18px; block-size:18px; background:var(--mv-paper); box-shadow:0 1px 3px #0b24331a; transition:transform 180ms cubic-bezier(.22,1,.36,1); }
.sea-catalog .mv-catalog-switches a.is-active .mv-filter-switch { background:#0077b3; }
.sea-catalog .mv-catalog-switches a.is-active .mv-filter-switch span { transform:translateX(16px); }
.sea-catalog .mv-filter-switch.is-dragging span { transition:none; }
.sea-catalog .mv-catalog-filter a:active .mv-filter-box { transform:scale(.92); }
@media(hover:hover) and (pointer:fine) {
 .sea-catalog .mv-catalog-filter a:has(.mv-filter-box):hover,
 .sea-catalog .mv-catalog-switches a:hover { background:#e0eef4; color:#005f91; }
 .sea-catalog .mv-catalog-filter a:hover .mv-filter-box { border-color:#0077b3; }
}
@media(prefers-reduced-motion:reduce) {
 .sea-catalog .mv-catalog-filter :is(a,.mv-filter-box,.mv-filter-switch,.mv-filter-switch span),
 .sea-catalog .mv-filter-box::after { transition:none; }
}
.sea-catalog-price { padding-bottom:20px; border-bottom:1px solid #d5e0e4; }
.sea-catalog-price .sea-price-values { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sea-catalog-price label { display:grid; gap:6px; color:#536b7b; font-size:13px; }
.sea-catalog-price input[type=number] { box-sizing:border-box; width:100%; min-width:0; height:44px; padding:8px; background:#f7faf9; border:1px solid #b8cbd4; border-radius:6px; font-size:16px; font-variant-numeric:tabular-nums; }
.sea-price-slider { position:relative; height:44px; margin:0 -12px 12px; touch-action:none; user-select:none; }
.sea-price-slider::before { content:""; position:absolute; inset:20px 22px; height:4px; border-radius:4px; background:linear-gradient(to right,#c0d2da var(--price-from,0%),#0077b3 var(--price-from,0%),#0077b3 var(--price-to,100%),#c0d2da var(--price-to,100%)); }
.sea-catalog-price .sea-price-slider input[type=range] { appearance:none; -webkit-appearance:none; position:absolute; inset:0; width:100%; height:44px; margin:0; padding:0; border:0; background:transparent; pointer-events:none; cursor:grab; }
.sea-price-slider__high { z-index:2; }
.sea-catalog-price .sea-price-slider input[type=range]::-webkit-slider-runnable-track { height:44px; background:transparent; }
.sea-catalog-price .sea-price-slider input[type=range]::-moz-range-track { height:44px; background:transparent; }
.sea-catalog-price .sea-price-slider input[type=range]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; box-sizing:border-box; width:44px; height:44px; border:12px solid transparent; border-radius:50%; background:#0077b3; background-clip:padding-box; pointer-events:auto; }
.sea-catalog-price .sea-price-slider input[type=range]::-moz-range-thumb { box-sizing:border-box; width:44px; height:44px; border:12px solid transparent; border-radius:50%; background:#0077b3; background-clip:padding-box; pointer-events:auto; }
.sea-catalog-price .sea-price-slider input[type=range]:active { cursor:grabbing; }
/* Range inputs overlap above the rail; never paint them like text fields. */
.sea-catalog-price .sea-price-slider input[type=range]:focus { background:transparent; box-shadow:none; }
body[data-sea-input="keyboard"] .sea-price-slider input[type=range]:focus-visible::-webkit-slider-thumb { outline:2px solid #0b2433; outline-offset:-10px; }
body[data-sea-input="keyboard"] .sea-price-slider input[type=range]:focus-visible::-moz-range-thumb { outline:2px solid #0b2433; outline-offset:-10px; }
.sea-catalog-price button { min-height:40px; padding:8px 0; margin-top:8px; border:0; color:#0077b3; background:transparent; font:inherit; font-size:14px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.sea-catalog-price button[hidden] { display:none !important; }
.sea-catalog .mv-catalog-toolbar { display:flex !important; align-items:center; flex-wrap:wrap; min-block-size:44px; padding:0; border:0; margin-bottom:20px !important; gap:8px 16px; }
.sea-catalog .mv-catalog-toolbar .mv-catalog-count { padding:0; margin:0; flex:1; color:#536b7b; font-size:14px; font-weight:450; white-space:nowrap; }
.sea-catalog .mv-catalog-toolbar__sorting { margin-left:auto; min-width:0; }
.sea-catalog .mv-catalog-toolbar__sorting .woocommerce-ordering { float:none; margin:0; }
.sea-catalog .mv-catalog-toolbar__sorting select { width:auto; max-inline-size:240px; min-block-size:44px; border:0; border-radius:8px; padding:0 32px 0 12px; background-color:#edf3f5; font-size:14px; font-weight:500; }
.sea-catalog .mv-catalog-toolbar__sorting select[hidden] { display:none !important; }
.sea-ordering { position:relative; }
.sea-catalog .sea-ordering__trigger {
 display:flex; align-items:center; justify-content:space-between; gap:14px;
 min-block-size:44px; max-inline-size:100%; padding:10px 14px; border:1px solid transparent;
 border-radius:10px; background:var(--mv-shell); color:var(--mv-ink-950); font:inherit;
 font-size:14px; line-height:20px; font-weight:500; text-align:start; cursor:pointer;
 transition:background-color 160ms ease-out,border-color 160ms ease-out;
}
.sea-ordering__trigger::after { content:"\f347"; font:16px/1 dashicons; transition:transform 180ms cubic-bezier(.22,1,.36,1); }
.sea-ordering.is-open .sea-ordering__trigger::after { transform:rotate(180deg); }
.sea-ordering.is-open .sea-ordering__trigger { border-color:#acc3ce; }
.sea-ordering__options {
 position:absolute; z-index:30; inset-block-start:calc(100% + 8px); inset-inline-end:0;
 inline-size:260px; max-inline-size:calc(100vw - 32px); max-block-size:min(320px,60dvh);
 overflow-y:auto; overscroll-behavior:contain; padding:6px; border:1px solid #d5e0e4;
 border-radius:14px; background:var(--mv-paper); box-shadow:0 12px 32px #0b24331a;
 visibility:hidden; opacity:0; transform:translateY(-5px) scale(.98); transform-origin:top right;
 transition:opacity 120ms ease-out,transform 160ms cubic-bezier(.22,1,.36,1),visibility 0s 160ms;
}
.sea-ordering.is-open .sea-ordering__options { visibility:visible; opacity:1; transform:none; transition-delay:0s; }
.sea-catalog .sea-ordering__options button {
 display:flex; align-items:center; justify-content:space-between; gap:10px; inline-size:100%; min-block-size:44px;
 padding:10px; border:0; border-radius:8px; background:transparent; color:var(--mv-ink-950);
 font:inherit; font-size:14px; line-height:20px; text-align:start; cursor:pointer;
 transition:background-color 120ms ease-out,color 120ms ease-out;
}
.sea-catalog .sea-ordering__options button[aria-selected=true] { background:#e0eef4; color:#005f91; }
.sea-ordering__options button[aria-selected=true]::after { content:"\f147"; font:20px/1 dashicons; }
.sea-catalog .sea-ordering :is(button):focus-visible { outline:2px solid #0077b3; outline-offset:-2px; }
@media(hover:hover) and (pointer:fine) {
 .sea-catalog .sea-ordering__trigger:hover,.sea-catalog .sea-ordering__options button:hover { background:#e0eef4; }
}
@media(prefers-reduced-motion:reduce) {
 .sea-ordering__options,.sea-ordering__trigger::after { transform:none !important; transition:none; }
}
.sea-catalog-feedback { color:#536b7b; font-size:13px; }
.sea-catalog-feedback:not(.is-error) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); margin:0; }
.sea-catalog-feedback.is-error { color:var(--mv-danger); }
.sea-catalog .mv-live-product-grid ul.wc-block-product-template { gap:40px 24px !important; }
.sea-catalog .mv-catalog-card__media { aspect-ratio:1.12; border-radius:8px; margin-bottom:14px; }
.sea-catalog .mv-catalog-card__title { display:block; overflow:visible; -webkit-line-clamp:unset; min-height:0; font-size:22px; line-height:1.25; font-weight:700; margin:0 0 12px; }
.sea-catalog .mv-catalog-card__price { font-size:28px; line-height:1.2; margin-block-start:auto; }
/* Share image/title/price/stock/action tracks within each row, without truncating names. */
@supports (grid-template-rows:subgrid) {
 .sea-catalog .mv-live-product-grid ul.wc-block-product-template {
  --sea-card-row-gap:40px; --sea-card-track-gap:0px; row-gap:0 !important; margin-block-end:calc(-1 * var(--sea-card-row-gap)) !important;
 }
 .sea-catalog .mv-live-product-grid li.wc-block-product { margin-block-end:var(--sea-card-row-gap); }
 .sea-catalog .mv-live-product-grid li.wc-block-product,
 .sea-catalog .mv-catalog-card {
  display:grid !important; grid-template-rows:subgrid; grid-row:span 5; row-gap:0; align-self:stretch;
 }
 .sea-catalog .mv-catalog-card { block-size:auto; }
 .sea-catalog .mv-catalog-card__body {
  display:grid; grid-template-rows:subgrid; grid-row:span 4; row-gap:0;
 }
 .sea-catalog .mv-catalog-card__price { margin-block-start:0; }
 .sea-catalog .mv-catalog-card-actions { align-self:start; }
 @media(max-width:768px) {
  .sea-catalog .mv-live-product-grid ul.wc-block-product-template { --sea-card-row-gap:28px; row-gap:0 !important; }
 }
}
.sea-catalog .mv-catalog-card-stock { font-size:12px; margin-top:8px; }
.sea-catalog .mv-catalog-card-actions { grid-template-columns:1fr; gap:4px; margin-top:16px; }
.sea-catalog .mv-catalog-card-actions__cart { color:#f7faf9 !important; background:#0077b3 !important; border-color:#0077b3 !important; border-radius:6px; min-height:48px; font-size:15px; }
.sea-catalog .mv-catalog-card-actions__quick { min-height:44px; color:#0077b3 !important; font-size:14px; font-weight:600; }
.sea-catalog .is-load-more { margin-top:36px; }
.sea-catalog .mv-catalog-load-more { color:#0077b3; border-color:#0077b3; border-radius:6px; }
.sea-catalog .mv-catalog-load-more__status { order:-1; font-size:14px; margin:0 0 8px; }
.sea-catalog .mv-catalog-empty { padding:40px 0; max-width:45ch; font-size:20px; line-height:1.5; }
.sea-catalog .sea-catalog-description { padding-top:40px !important; color:#536b7b; font-size:14px; }
.sea-catalog .mv-live-product-grid { transition:opacity 140ms ease; }
.sea-catalog .mv-catalog-results[aria-busy=true] .mv-live-product-grid { opacity:.5; }
.sea-catalog :is(a,button,input,select):focus-visible { outline:2px solid #0077b3 !important; outline-offset:3px; }
@media(hover:hover) and (pointer:fine) {
 .sea-catalog-categories a:hover { color:#0077b3; }
 .sea-catalog .mv-catalog-card-actions__cart:hover { background:#005f91 !important; }
}
@media(max-width:1200px) {
 body:is(.post-type-archive-product,.tax-product_cat) .sea-catalog > .alignwide { width:calc(100% - 64px) !important; inline-size:calc(100% - 64px) !important; }
 .sea-catalog .mv-catalog-card__title { font-size:19px; }
}
@media(max-width:1120px) {
 .sea-catalog .mv-catalog-workspace { grid-template-columns:minmax(0,1fr); }
 .sea-catalog .mv-catalog-sidebar { width:min(100%,420px); inline-size:min(100%,420px); margin:0; top:0; }
 .sea-catalog .mv-catalog-filters { padding:0; background:transparent; }
 .sea-catalog .mv-catalog-toolbar { display:flex !important; }
 .sea-catalog .mv-catalog-filters__heading { min-height:64px; margin-bottom:16px; }
}
@media(max-width:768px) {
 .sea-catalog .mv-catalog-toolbar { gap:8px; }
 .sea-catalog .mv-catalog-toolbar .mv-catalog-count { order:3; flex-basis:100%; font-size:12px; }
 .sea-catalog .mv-catalog-toolbar__sorting select { max-inline-size:200px; font-size:13px; }
 body:is(.post-type-archive-product,.tax-product_cat) .sea-catalog > .alignwide { width:calc(100% - 32px) !important; inline-size:calc(100% - 32px) !important; }
 .sea-catalog .mv-archive-intro h1 { font-size:36px; }
 .sea-catalog-categories { flex-wrap:nowrap; gap:20px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; padding-block:4px; }
 .sea-catalog-categories::-webkit-scrollbar { display:none; }
 .sea-catalog-categories.swiper { display:block; width:100%; min-width:0; margin:0; overflow:hidden; touch-action:pan-y; }
 .sea-catalog-categories .sea-category-track { display:flex; align-items:center; gap:0; }
 .sea-catalog-categories .swiper-slide { width:auto; height:auto; flex:0 0 auto; }
 .sea-catalog-categories a { flex-shrink:0; font-size:15px; }
 .sea-catalog .mv-catalog-card__media { aspect-ratio:1; }
 .sea-catalog .mv-catalog-card__title { font-size:16px; }
 .sea-catalog .mv-catalog-card__price { font-size:21px; }
 .sea-catalog .mv-catalog-card-actions__cart { font-size:13px; min-height:44px; }
 .sea-catalog .mv-catalog-card-actions__quick { font-size:12px; }
 .sea-catalog .mv-live-product-grid ul.wc-block-product-template { gap:var(--sea-card-track-gap,28px) 14px !important; }
 .sea-catalog-feedback { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .sea-catalog-feedback.is-error { position:static; width:auto; height:auto; clip-path:none; }
}
@media(max-width:360px) { .sea-catalog .mv-catalog-card__price { font-size:19px; } .sea-catalog .mv-catalog-card-actions__cart { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .sea-catalog .mv-live-product-grid { transition:none; } }
