/* Catalog and product detail refinement. Original OLADER content; native Woo behavior. */
.om-site .om-woocommerce-main { padding-top:16px; }
.om-site .om-woocommerce-main .woocommerce-breadcrumb { font-size:15px; line-height:1.6; margin:0 0 18px; padding:0; color:#626b75; }
.om-site .om-catalog-shell { grid-template-columns:285px minmax(0,1fr); gap:30px; }
.om-catalog-shell .om-category-card { margin-bottom:44px; min-height:70px; padding:22px 14px; border-color:#eee; border-radius:12px; }
.om-catalog-shell .om-category-card summary { font-size:14px; font-weight:400; color:#687078; }
.om-catalog-shell .om-category-card summary:after { content:'›'; transform:rotate(0); font-size:23px; line-height:20px; }
.om-catalog-shell .om-category-card[open] summary:after { transform:rotate(90deg); }
.om-catalog-shell .om-filter-card { padding:23px 15px; border:0; border-radius:20px; box-shadow:0 2px 18px #00000006; }
.om-catalog-shell .om-filter-heading { border-bottom:1px solid #e5e7eb; padding-bottom:11px; margin-bottom:16px; }
.om-catalog-shell .om-filter-heading h2 { font-size:22px; line-height:1.2; color:#151515; }
.om-catalog-shell .om-filter-heading h2:after { bottom:-12px; width:90px; height:3px; }
.om-catalog-condition { display:table; color:#80241e; border:1px solid #ecd8d8; border-radius:20px; background:#fcf6f6; padding:6px 11px; font-size:12px; font-weight:700; margin:0 0 30px; }
.om-catalog-shell .om-filter-section { padding-bottom:25px; margin-bottom:25px; }
.om-catalog-shell .om-filter-section legend { text-transform:uppercase; font-size:14px; margin-bottom:20px; }
.om-catalog-shell .om-filter-check { min-height:38px; }
.om-catalog-shell .om-filter-check input { width:17px; height:17px; }
.om-catalog-shell .om-title-panel { min-height:84px; padding:18px 20px; margin-bottom:18px; border-radius:16px; box-shadow:0 8px 22px #3127220e; }
.om-catalog-shell .om-title-panel h1 { font-size:28px; line-height:1.28; }
.om-catalog-shell .om-toolbar { min-height:57px; margin-bottom:16px; padding:8px 20px; }
.om-catalog-shell .om-sort select { min-width:143px; }
.om-catalog-shell .om-product-card { grid-template-columns:200px minmax(0,1fr) 210px; padding:14px 0; gap:16px; border-bottom:1px solid #e7e7e7; }
.om-catalog-shell .om-card-image { aspect-ratio:1; padding:6px; border:1px solid #e5e7eb; border-radius:8px; background:#f9fafb; }
.om-catalog-shell .om-card-image img { display:block; width:100%; height:100%; object-fit:contain; background:transparent; border-radius:4px; }
.om-catalog-shell .om-card-image .om-badge { left:6px; top:6px; }
.om-catalog-shell .om-card-info { padding-top:0; }
.om-catalog-shell .om-card-title { font-size:16.5px; line-height:1.28; margin-bottom:5px; color:#202730; }
.om-catalog-shell .om-card-meta { font-size:13px; gap:4px; }
.om-catalog-shell .om-card-spec { color:#545e69; }
.om-catalog-shell .om-card-actions { min-height:150px; padding-top:0; padding-left:16px; gap:8px; }
.om-catalog-shell .om-card-price-request { display:block; text-align:center; font-size:17px; line-height:1.35; font-weight:700; color:#333e48; margin-bottom:3px; }
.om-catalog-shell .om-card-actions .om-button.is-quote { background:#52525b; border-color:#52525b; color:#fff; height:42px; min-height:42px; border-radius:6px; font-size:13.5px; box-shadow:0 2px 5px #52525b22; }
.om-catalog-shell .om-card-actions .om-button.is-quote:hover { background:#3f3f46; border-color:#3f3f46; }
.om-catalog-shell .is-grid .om-product-card { padding:12px; gap:12px; }
.om-catalog-shell .is-grid .om-card-actions { min-height:0; padding-left:0; padding-top:12px; }
.om-catalog-shell .is-grid .om-card-price-request { font-size:15px; }

/* A slightly wider native gallery and compact information panel match the source. */
.om-site.single-product .om-woocommerce-main { padding-top:16px; }
.om-site.single-product .om-pdp-overview { margin-bottom:32px; }
.om-site.single-product div.product .om-pdp-overview div.images { flex-basis:62.5%; width:62.5%; }
.om-site.single-product .om-pdp-overview div.summary { flex-basis:37.5%; width:37.5%; }
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery:has(.flex-control-thumbs) { gap:8px; }
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery>.flex-viewport,
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper { background:#f9fafb; border:1px solid #e7e7e7; border-radius:6px; overflow:hidden; }
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery__image,
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery__image>a,
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery__image img:not(.zoomImg) { background:#f9fafb; border-radius:4px; }
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery__image--placeholder { display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; background:#f9fafb; }
.om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery__image--placeholder img { width:100%; height:100%; aspect-ratio:4/3; object-fit:contain; background:#f9fafb; }
.om-site.single-product div.product .product_title { font-size:25px; line-height:1.25; padding-bottom:14px; margin-bottom:16px; }
.om-site.single-product .summary p.price:empty { display:none; }
.om-site.single-product .om-product-identity { font-size:15px; gap:5px 12px; margin-bottom:18px; line-height:1.5; }
.om-site.single-product .om-product-identity strong { font-weight:700; }
.om-site.single-product .om-product-purchase-note { margin:0 0 22px; padding-bottom:24px; }
.om-site.single-product .om-product-purchase-note .om-pdp-quote-title { font-size:24px; line-height:1.3; color:#202730; font-weight:700; margin:0 0 8px; }
.om-site.single-product .om-product-purchase-note>p { font-size:13px; margin-bottom:16px; }
.om-pdp-quote-form { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0 0; }
.om-pdp-quote-form label { font-size:14px; color:#333e48; }
.om-pdp-quote-form input[type=number] { width:112px; height:44px; min-height:44px; padding:8px 12px; border:1px solid #dedfe3; border-radius:24px; background:#fafafa; color:#202730; text-align:center; }
.om-site.single-product .om-pdp-quote-form .om-button { flex:0 0 100%; width:100%; margin-top:5px; height:46px; min-height:46px; }
.om-product-facts h2 { font-size:16px; margin-bottom:14px; }
.om-product-facts dl { font-size:14px; line-height:1.55; }
.om-product-facts dl>div { grid-template-columns:112px minmax(0,1fr); gap:12px; padding:6px 0; }
.om-site.single-product div.product .woocommerce-product-details__short-description { font-size:14px; line-height:1.65; }
.om-site.single-product div.product .product_meta { border-top:0; padding-top:0; color:#687585; }

/* Keep Woo's tab activation, deep links, descriptions and attribute table native. */
.om-site.single-product div.product .woocommerce-tabs { margin:0 0 32px; border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; background:#fff; }
.om-site.single-product div.product .woocommerce-tabs ul.tabs { background:#f8f9fa; border-bottom:1px solid #e5e7eb; padding:0 24px; margin:0; gap:26px; flex-wrap:wrap; }
.om-site.single-product div.product .woocommerce-tabs ul.tabs li a { padding:18px 0; font-size:14px; color:#647084; }
.om-site.single-product div.product .woocommerce-tabs ul.tabs li.active a { color:#80241e; }
.om-site.single-product div.product .woocommerce-tabs .panel { margin:0; padding:28px 32px 40px; color:#4c5865; font-size:14px; line-height:1.75; }
.om-site.single-product div.product .woocommerce-tabs .panel>h2 { font-size:22px; margin-bottom:18px; color:#202730; }
.om-site.single-product .om-product-help-tab h2 { font-size:22px; margin:0 0 18px; color:#202730; }
.om-product-tab-links { display:flex; gap:20px; flex-wrap:wrap; margin-top:20px; }
.om-site.single-product div.product .woocommerce-tabs .panel a { color:#80241e; text-decoration:underline; text-underline-offset:3px; }
.om-site.single-product div.product .woocommerce-tabs table.shop_attributes { border-radius:8px; font-size:14px; }
.om-site.single-product div.product .woocommerce-tabs table.shop_attributes th { padding:12px 16px; }
.om-pdp-support-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:28px 35px; margin:8px 0 35px; background:#f7f7f7; }
.om-pdp-support-grid>a { display:flex; flex-direction:column; align-items:center; text-align:center; color:#fff; background:#33383e; border-radius:14px; padding:25px 15px; min-width:0; }
.om-pdp-support-grid>a:first-child { background:#80241e; }
.om-pdp-support-grid>a:hover { background:#621b17; color:#fff; }
.om-pdp-support-grid svg { width:32px; height:32px; color:#80241e; }
.om-pdp-support-grid .om-pdp-support-icon { width:65px; height:65px; border-radius:50%; display:grid; place-items:center; background:#fff; margin-bottom:15px; }
.om-pdp-support-grid h2,.om-pdp-support-grid strong { color:#fff; font-size:21px; line-height:1.25; font-weight:700; margin:0 0 6px; }
.om-pdp-support-grid p,.om-pdp-support-grid small,.om-pdp-support-text { color:#f1f1f1; font-size:13px; line-height:1.4; margin:0; }
.om-site.single-product .related.products,.om-site.single-product .up-sells.products { margin-top:35px; padding-top:24px; }
.om-site.single-product .related.products>h2,.om-site.single-product .up-sells.products>h2 { color:#202730; font-size:22px; }

@media(min-width:1200px) {
 .om-site .om-reference-header .om-header-inner { grid-template-columns:213px minmax(200px,1fr) auto; column-gap:24px; }
 .om-site .om-reference-header .om-logo { justify-self:center; }
}
@media(min-width:992px) and (max-width:1199px) {
 .om-site .om-catalog-shell { grid-template-columns:230px minmax(0,1fr); gap:24px; }
 .om-catalog-shell .om-product-card { grid-template-columns:150px minmax(0,1fr) 170px; gap:16px; }
 .om-catalog-shell .om-card-title { font-size:15px; }
 .om-catalog-shell .om-card-meta { font-size:12px; }
 .om-catalog-shell .om-card-price-request { font-size:15px; }
 .om-site.single-product div.product .om-pdp-overview div.images { flex-basis:59%; width:59%; padding-right:22px; }
 .om-site.single-product .om-pdp-overview div.summary { flex-basis:41%; width:41%; }
 .om-site.single-product div.product .product_title { font-size:23px; }
 .om-site.single-product .om-product-identity { font-size:13px; }
 .om-product-facts dl { font-size:13px; }
 .om-product-facts dl>div { grid-template-columns:100px minmax(0,1fr); }
}
@media(max-width:991px) {
 .om-site .om-catalog-shell { display:block; }
 .om-catalog-shell .om-product-card { grid-template-columns:150px minmax(0,1fr) 170px; }
 .om-site.single-product div.product .om-pdp-overview div.images,.om-site.single-product .om-pdp-overview div.summary { flex-basis:auto; width:100%; }
 .om-site.single-product div.product .om-pdp-overview .woocommerce-product-gallery:has(.flex-control-thumbs) { gap:12px; }
 .om-pdp-support-grid { padding:25px 18px; gap:14px; }
 .om-pdp-support-grid h2,.om-pdp-support-grid strong { font-size:18px; }
 .om-pdp-support-grid p,.om-pdp-support-grid small,.om-pdp-support-text { font-size:12px; }
}
@media(max-width:767px) {
 .om-site .om-woocommerce-main { padding-top:15px; }
 .om-site .om-woocommerce-main .woocommerce-breadcrumb { font-size:13px; line-height:1.6; margin-bottom:17px; }
 .om-catalog-shell .om-category-card { margin-bottom:23px; }
 .om-catalog-shell .om-filter-card { padding:20px 16px; }
 .om-catalog-shell .om-title-panel { padding:18px 15px; min-height:74px; margin-bottom:14px; }
 .om-catalog-shell .om-title-panel h1 { font-size:25px; }
 .om-catalog-shell .om-toolbar { padding:8px 9px; gap:7px; min-height:54px; margin-bottom:14px; }
 .om-catalog-shell .om-sort select { min-width:0; }
 .om-catalog-shell .om-product-list:not(.is-grid) { display:grid; gap:12px; }
 .om-catalog-shell .om-product-card { grid-template-columns:110px minmax(0,1fr); gap:12px; padding:12px; border:1px solid #e2e8f0; border-radius:12px; }
 .om-catalog-shell .om-card-image { padding:3px; }
 .om-catalog-shell .om-card-title { font-size:14px; }
 .om-catalog-shell .om-card-meta,.om-catalog-shell .om-card-meta .om-card-sku { font-size:11.5px; line-height:1.35; }
 .om-catalog-shell .om-card-actions { min-height:0; padding:10px 0 0; gap:8px; margin:0; }
 .om-catalog-shell .om-card-price-request { grid-column:1/-1; text-align:left; font-size:16px; margin-bottom:0; }
 .om-catalog-shell .om-card-actions .om-button.is-quote { font-size:12px; }
 .om-catalog-shell .is-grid .om-product-card { padding:10px; }
 .om-catalog-shell .is-grid .om-card-title { font-size:12px; }
 .om-catalog-shell .is-grid .om-card-meta,.om-catalog-shell .is-grid .om-card-meta .om-card-sku { font-size:10px; }
 .om-catalog-shell .is-grid .om-card-price-request { font-size:13px; }
 .om-site.single-product div.product .product_title { font-size:22px; line-height:1.3; }
 .om-site.single-product .om-product-identity { font-size:13px; gap:5px 10px; }
 .om-site.single-product .om-product-purchase-note .om-pdp-quote-title { font-size:22px; }
 .om-product-facts dl { font-size:13px; }
 .om-product-facts dl>div { grid-template-columns:105px minmax(0,1fr); gap:10px; }
 .om-site.single-product div.product .woocommerce-tabs ul.tabs { gap:20px; flex-wrap:nowrap; overflow-x:auto; padding:0 16px; }
 .om-site.single-product div.product .woocommerce-tabs ul.tabs li { flex:0 0 auto; }
 .om-site.single-product div.product .woocommerce-tabs ul.tabs li a { padding:15px 0; font-size:13px; white-space:nowrap; }
 .om-site.single-product div.product .woocommerce-tabs .panel { padding:22px 17px 28px; font-size:13px; }
 .om-site.single-product div.product .woocommerce-tabs .panel>h2 { font-size:20px; }
 .om-site.single-product div.product .woocommerce-tabs table.shop_attributes { font-size:12px; }
 .om-site.single-product div.product .woocommerce-tabs table.shop_attributes th { padding:10px; width:40%; }
 .om-site.single-product div.product .woocommerce-tabs table.shop_attributes td { padding:4px 10px; }
 .om-pdp-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:20px 12px; gap:12px; margin-bottom:25px; }
 .om-pdp-support-grid>a { padding:22px 10px; border-radius:12px; }
 .om-pdp-support-grid .om-pdp-support-icon { width:55px; height:55px; margin-bottom:12px; }
 .om-pdp-support-grid svg { width:27px; height:27px; }
 .om-pdp-support-grid h2,.om-pdp-support-grid strong { font-size:18px; }
}
@media(max-width:359px) {
 .om-catalog-shell .om-product-card { grid-template-columns:90px minmax(0,1fr); gap:10px; padding:10px; }
 .om-catalog-shell .om-card-title { font-size:13px; }
 .om-catalog-shell .om-card-meta,.om-catalog-shell .om-card-meta .om-card-sku { font-size:10.5px; }
}
