/* Catalog bodies; the shared shop shell is styled separately. */
.ov-catalog-page { color:#171c19; }
.ov-catalog-page [data-ov-catalog-cart][hidden],
.ov-catalog-page [data-ov-bundle-cart][hidden] { display:none; }
.ov-catalog-page :is(a,button,select,summary):focus-visible { outline:3px solid #297c43; outline-offset:2px; }
.ov-catalog-page .ov-catalog-breadcrumb { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0 0 8px; color:#68716b; font-size:12px; }
.ov-catalog-page .ov-catalog-breadcrumb a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.ov-catalog-page .ov-catalog-hero { padding:0 0 18px; border-bottom:1px solid #e7eae6; background:#fff; }
.ov-catalog-page .ov-catalog-hero h1 { margin:0; max-width:none; color:#171c19; font-size:clamp(25px,2.8vw,34px); letter-spacing:-.035em; line-height:1.17; }
.ov-catalog-page .ov-catalog-lead { max-width:760px; margin:7px 0 0; color:#606963; font-size:14px; line-height:1.5; }
.ov-catalog-page .ov-catalog-facts { display:flex; flex-wrap:wrap; gap:6px 17px; margin:8px 0 0; padding:0; color:#606963; font-size:12px; list-style:none; }
.ov-catalog-page .ov-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:49px; margin:0; border-bottom:1px solid #e7eae6; font-size:12px; }
.ov-catalog-page .ov-catalog-toolbar strong { color:#252b27; }
.ov-catalog-page .ov-catalog-toolbar .ov-catalog-availability { color:#2d813f; }
.ov-catalog-page .ov-catalog-sort { display:flex; gap:8px; align-items:center; color:#69716b; }
.ov-catalog-page .ov-catalog-sort select { min-height:44px; padding:0 31px 0 11px; border:1px solid #dfe3df; border-radius:8px; background:#fff; color:#252b27; font:inherit; font-weight:700; }
.ov-catalog-page .ov-catalog-mobile-nav { display:none; }
.ov-catalog-page .ov-catalog-grid,
.ov-catalog-page .ov-product-landing-products,
.ov-catalog-page .ov-ad-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ov-catalog-page .ov-catalog-card,
.ov-catalog-page .ov-product-landing-card,
.ov-catalog-page .ov-ad-card { display:flex; flex-direction:column; min-width:0; min-height:286px; gap:0; padding:0; overflow:hidden; border:1px solid #e2e6e1; border-top:4px solid var(--ov-card-accent,#8b978d); border-radius:9px; background:#fff; color:#171c19; box-shadow:none; }
.ov-catalog-page .ov-catalog-card:hover,
.ov-catalog-page .ov-catalog-card:focus-within,
.ov-catalog-page .ov-product-landing-card:hover,
.ov-catalog-page .ov-product-landing-card:focus-within,
.ov-catalog-page .ov-ad-card:hover,
.ov-catalog-page .ov-ad-card:focus-within { transform:none; box-shadow:0 5px 19px rgba(0,0,0,.09); }
.ov-catalog-page .ov-catalog-media,
.ov-catalog-page .ov-product-landing-media,
.ov-catalog-page .ov-ad-card-media { display:grid; place-items:center; width:100%; min-height:0; height:155px; padding:10px; border:0; border-bottom:1px solid #f1f2f0; border-radius:0; background:#fff; }
.ov-catalog-page .ov-catalog-media img,
.ov-catalog-page .ov-product-landing-media img,
.ov-catalog-page .ov-ad-card-media img { width:100%; max-width:135px; height:130px; object-fit:contain; }
.ov-catalog-page .ov-catalog-card-body,
.ov-catalog-page .ov-product-landing-card > div { display:flex; flex:1; flex-direction:column; min-width:0; padding:10px 11px 11px; }
.ov-catalog-page .ov-catalog-card h2,
.ov-catalog-page .ov-product-landing-card h2,
.ov-catalog-page .ov-ad-card h2 { margin:0 0 3px; color:#1a1f1b; font-size:14px; font-weight:750; line-height:1.28; }
.ov-catalog-page .ov-catalog-card h2 a { color:inherit; text-decoration:none; }
.ov-catalog-page .ov-catalog-card h2 a:hover { text-decoration:underline; }
.ov-catalog-page .ov-catalog-variant,
.ov-catalog-page .ov-product-landing-variant { display:block; min-height:0; margin:0 0 4px; color:#737b75; font-size:11px; font-weight:400; line-height:1.35; }
.ov-catalog-page .ov-catalog-stock,
.ov-catalog-page .ov-product-landing-stock { display:block; margin:0 0 7px; padding:0; border-radius:0; background:none; color:#2c8240; font-size:11px; font-weight:600; }
.ov-catalog-page .ov-catalog-stock::before,
.ov-catalog-page .ov-product-landing-stock::before { content:'●'; margin-right:4px; font-size:8px; }
.ov-catalog-page .ov-catalog-purchase { display:flex; align-items:end; justify-content:space-between; gap:5px; margin-top:auto; }
.ov-catalog-page .ov-catalog-price,
.ov-catalog-page .ov-product-landing-price { display:block; color:#171c19; font-size:17px; font-weight:800; line-height:1.15; }
.ov-catalog-page .ov-catalog-base-price,
.ov-catalog-page .ov-product-landing-base-price { display:block; width:auto; margin-top:2px; color:#757d76; font-size:10px; line-height:1.25; }
.ov-catalog-page .ov-catalog-add,
.ov-catalog-page .ov-product-landing-cart { display:grid; place-items:center; flex:0 0 44px; width:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:9px; background:#171c19; color:#fff; font-size:24px; font-weight:400; line-height:1; cursor:pointer; }
.ov-catalog-page .ov-catalog-add:hover,
.ov-catalog-page .ov-product-landing-cart:hover { background:#2e6840; }
.ov-catalog-page .ov-catalog-add:disabled { opacity:.6; cursor:wait; }
.ov-catalog-page .ov-catalog-status { display:block; min-height:0; margin:3px 0 0; font-size:11px; }
.ov-catalog-page .ov-catalog-status:empty { display:none; }
.ov-catalog-page .ov-catalog-status.is-error { color:#a51d33; }
.ov-catalog-page.ov-product-landing { gap:0; }
.ov-catalog-page .ov-product-landing-hero { padding:0 0 15px; border-bottom:1px solid #e7eae6; }
.ov-catalog-page .ov-product-landing-summary { display:none; }
.ov-catalog-page .ov-product-landing-meta { display:flex; flex-direction:column; align-items:start; gap:0; margin:0; }
.ov-catalog-page .ov-product-landing-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
.ov-catalog-page .ov-product-landing-cta,
.ov-catalog-page .ov-product-landing-checkout { display:flex; min-height:44px; padding:8px; font-size:11px; }
.ov-catalog-page .ov-product-landing-cta { flex:1 1 100%; background:#f5f7f4; color:#263629; }
.ov-catalog-page .ov-product-landing-checkout { flex:1; border:1px solid #dfe6df; background:#fff; color:#276b37; }
.ov-catalog-page .ov-product-landing-cart { flex:1; width:auto; font-size:12px; font-weight:700; }
.ov-catalog-page .ov-product-landing-cart::before { content:'+'; margin-right:5px; font-size:19px; font-weight:400; }
.ov-catalog-page .ov-product-landing-products { margin-top:14px; }
.ov-catalog-page .ov-product-landing-trust { gap:4px 16px; margin-top:8px; }
.ov-catalog-page .ov-product-landing-trust li { min-height:0; padding:0; border:0; background:none; color:#69716b; font-size:12px; font-weight:400; }
.ov-catalog-page .ov-product-landing-secondary { display:none; }
.ov-catalog-page .ov-product-landing-cart-status { min-height:0; margin-top:3px; font-size:11px; }
.ov-catalog-page .ov-product-landing-cart-status:empty { display:none; }
.ov-catalog-page .ov-bundle-group { display:grid; grid-template-columns:minmax(170px,210px) minmax(0,1fr); gap:18px; padding:18px 0; border-bottom:1px solid #e7eae6; }
.ov-catalog-page .ov-bundle-group-intro { display:flex; flex-direction:column; }
.ov-catalog-page .ov-bundle-group h2 { margin:0 0 8px; font-size:19px; }
.ov-catalog-page .ov-bundle-group p { margin:0; color:#646c65; font-size:13px; line-height:1.5; }
.ov-catalog-page .ov-bundle-group .ov-bundle-total { display:block; margin-top:auto; padding-top:20px; border-top:1px solid #edf0ed; }
.ov-catalog-page .ov-bundle-total strong { display:block; color:#171c19; font-size:21px; }
.ov-catalog-page .ov-bundle-total small { display:block; margin-top:3px; font-size:11px; }
.ov-catalog-page .ov-bundle-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ov-catalog-page .ov-bundle-page { gap:0; }
.ov-catalog-page .ov-bundle-hero { padding:0 0 18px; }
.ov-catalog-page .ov-bundle-group .ov-catalog-card { min-height:278px; }
.ov-catalog-page .ov-bundle-group .ov-catalog-card h3 { margin:0 0 4px; font-size:14px; }
.ov-catalog-page .ov-bundle-group .ov-catalog-card h3 a { color:inherit; text-decoration:none; }
.ov-catalog-page .ov-bundle-group .ov-catalog-card h3 a:hover { text-decoration:underline; }
.ov-catalog-page .ov-bundle-actions { margin-top:10px; }
.ov-catalog-page .ov-bundle-action { width:100%; min-height:44px; border:0; border-radius:8px; background:#171c19; color:#fff; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.ov-catalog-page .ov-bundle-action:disabled { opacity:.6; cursor:wait; }
.ov-catalog-page .ov-bundle-note { margin-top:16px; padding:12px; border:1px solid #e2e8e2; background:#f8faf8; font-size:12px; }
@media(max-width:1100px) { .ov-catalog-page .ov-catalog-grid,.ov-catalog-page .ov-product-landing-products,.ov-catalog-page .ov-ad-products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
 .ov-catalog-page .ov-product-landing-secondary { display:block; order:-1; margin:0 0 12px; }
 .ov-catalog-page .ov-catalog-mobile-nav { display:block; margin:0 0 14px; border:1px solid #e2e6e1; border-radius:9px; }
 .ov-catalog-page .ov-catalog-mobile-nav summary { min-height:44px; padding:12px; font-size:13px; font-weight:700; cursor:pointer; }
 .ov-catalog-page .ov-catalog-mobile-nav nav { display:grid; max-height:58vh; padding:5px 7px 9px; overflow:auto; }
 .ov-catalog-page .ov-catalog-mobile-nav a { display:flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:7px; color:#303630; text-decoration:none; }
 .ov-catalog-page .ov-catalog-mobile-nav a[aria-current=page] { background:#eef1ed; font-weight:700; }
 .ov-catalog-page .ov-catalog-grid,.ov-catalog-page .ov-product-landing-products,.ov-catalog-page .ov-ad-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .ov-catalog-page .ov-catalog-card,.ov-catalog-page .ov-product-landing-card,.ov-catalog-page .ov-ad-card { min-height:250px; }
 .ov-catalog-page .ov-catalog-media,.ov-catalog-page .ov-product-landing-media,.ov-catalog-page .ov-ad-card-media { height:125px; padding:5px; }
 .ov-catalog-page .ov-catalog-media img,.ov-catalog-page .ov-product-landing-media img,.ov-catalog-page .ov-ad-card-media img { max-width:100px; height:112px; }
 .ov-catalog-page .ov-catalog-card-body,.ov-catalog-page .ov-product-landing-card > div { padding:8px; }
 .ov-catalog-page .ov-product-landing-cart { flex:0 0 44px; width:44px; min-width:44px; font-size:0; }
 .ov-catalog-page .ov-product-landing-cart::before { margin:0; font-size:23px; }
 .ov-catalog-page .ov-product-landing-checkout { flex:1 1 calc(100% - 50px); min-width:0; padding:5px 4px; font-size:10px; line-height:1.2; text-align:center; }
 .ov-catalog-page .ov-bundle-group { display:block; }
 .ov-catalog-page .ov-bundle-group-intro { margin-bottom:12px; }
 .ov-catalog-page .ov-bundle-group .ov-bundle-total { margin-top:12px; padding-top:8px; }
 .ov-catalog-page .ov-bundle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:380px) { .ov-catalog-page .ov-catalog-card h2,.ov-catalog-page .ov-product-landing-card h2 { font-size:12px; } .ov-catalog-page .ov-catalog-price,.ov-catalog-page .ov-product-landing-price { font-size:15px; } }
