/* Shared Kadence storefront. No display overrides on tabs, notices or gateway panels. */
body.ld-site-layout { --ld-layout-space:20px; }
body.ld-site-layout #main { font-size:16px; line-height:1.55; }
body.ld-site-layout .content-area { margin-top:24px; margin-bottom:28px; }
body.ld-site-layout .entry-content-wrap { padding:24px; }
body.ld-site-layout #main :is(h1,h2,h3) { line-height:1.3; }
body.ld-site-layout #main h1 { font-size:clamp(24px,2.2vw,32px); }
body.ld-site-layout #main h2 { font-size:clamp(21px,1.7vw,26px); margin-top:24px; margin-bottom:16px; }
body.ld-site-layout #main h3 { font-size:20px; margin-top:20px; margin-bottom:12px; }
body.ld-site-layout #main p { margin-top:0; margin-bottom:16px; }
body.ld-site-layout #main :is(input,select,textarea,button) { font-size:16px; }
body.ld-site-layout #main :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],select) { min-height:44px; max-width:100%; }
body.ld-site-layout #main textarea { min-height:112px; max-width:100%; }
body.ld-site-layout #main :is(button:not(.show-password-input),.button,input[type=submit]) { min-height:44px; }
body.ld-site-layout :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #2269b0!important; outline-offset:3px; }
body.ld-site-layout #masthead .laptop-depot-search :is(input[type=search],button) { font-size:16px!important; }
body.ld-site-layout #masthead .laptop-depot-search input[type=search] { min-width:0; }
body.ld-site-layout #site-navigation .primary-menu-container>ul>li>a { padding-top:10px; padding-bottom:10px; font-size:16px; }
body.ld-site-layout .entry-hero-container-inner .entry-header { min-height:0; padding-top:20px; padding-bottom:20px; }
body.ld-site-layout .entry-hero-container-inner h1 { margin:0; font-size:28px; line-height:1.3; }
/* Native catalogue grid/list switch and column counts are preserved. */
body.ld-site-layout ul.products { row-gap:24px; }
body.ld-site-layout ul.products li.product .product-details { padding:12px!important; }
body.ld-site-layout ul.products li.product .woocommerce-loop-product__title { margin:0 0 8px!important; font-size:15px!important; line-height:1.4!important; }
body.ld-site-layout ul.products li.product .woocommerce-loop-product__title a { display:-webkit-box!important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.4; min-height:2.8em; }
body.ld-site-layout ul.products li.product .price { font-size:16px; margin-bottom:8px; }
body.ld-site-layout ul.products li.product .woocommerce-loop-image-link img { width:100%; aspect-ratio:1; object-fit:contain!important; background:#fff; }
body.ld-site-layout .wc-block-grid__product-image img,
body.ld-site-layout .wc-block-product-template .wc-block-components-product-image img { object-fit:contain; }
body.ld-site-layout .wc-block-product-template .wp-block-post-title { font-size:15px; line-height:1.4!important; height:2.8em!important; -webkit-line-clamp:2!important; }
/* Main product gallery: reduce its column width, allowing the native slider to measure normally. */
@media(min-width:768px) {
 body.ld-site-layout.single-product div.product .woocommerce-product-gallery { width:40%!important; max-width:440px; }
 body.ld-site-layout.single-product div.product .summary { width:56%!important; min-width:0; }
}
body.ld-site-layout.single-product .woocommerce-product-gallery__image img:not(.zoomImg) { object-fit:contain; }
body.ld-site-layout.single-product .woocommerce-product-gallery .flex-control-thumbs { margin-top:12px; }
body.ld-site-layout.single-product .woocommerce-product-gallery .flex-control-thumbs img { object-fit:contain!important; }
body.ld-site-layout.single-product div.product .product_title { margin-top:0!important; margin-bottom:16px; }
body.ld-site-layout.single-product div.product .woocommerce-tabs { padding-top:20px; }
body.ld-site-layout.single-product div.product .woocommerce-tabs .panel { margin-bottom:24px; }
body.ld-site-layout.single-product #tab-description { overflow-wrap:anywhere; }
body.ld-site-layout.single-product #tab-description img { max-width:100%; height:auto; }
body.ld-site-layout .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { padding-top:12px; padding-bottom:12px; margin-bottom:16px; }
/* Both block cart and classic cart/checkout retain their own responsive layout. */
body.ld-site-layout .woocommerce :is(form.checkout,.woocommerce-cart-form) .form-row { margin-bottom:14px; }
body.ld-site-layout .woocommerce .select2-container .select2-selection--single { min-height:44px; }
body.ld-site-layout .woocommerce .select2-container .select2-selection__rendered { line-height:42px; }
body.ld-site-layout .woocommerce .select2-container .select2-selection__arrow { height:42px; }
body.ld-site-layout .woocommerce table.shop_table :is(th,td) { padding:12px; line-height:1.5; }
body.ld-site-layout .woocommerce-cart-form .product-thumbnail img { width:80px; height:80px; object-fit:contain; }
body.ld-site-layout .wc-block-cart .wc-block-cart-item__image img { max-width:80px; max-height:80px; object-fit:contain; }
body.ld-site-layout .wc-block-cart .wc-block-cart-item__wrap { padding-bottom:16px; }
body.ld-site-layout .wc-block-cart .wc-block-components-product-name { font-size:16px; line-height:1.4; }
body.ld-site-layout .wc-block-components-totals-item { padding-top:12px; padding-bottom:12px; }
body.ld-site-layout .woocommerce-checkout-payment .payment_box { padding:16px; }
body.ld-site-layout #place_order { min-height:48px; }
body.ld-site-layout .entry-content>.wp-block-columns { gap:24px; margin-bottom:24px; }
body.ld-site-layout .entry-content .wp-block-spacer { max-height:28px; }
body.ld-site-layout :is(input,button,a,section) { scroll-margin-top:140px; }
@media(max-width:767px) {
 body.ld-site-layout .content-container.site-container { padding-left:12px; padding-right:12px; }
 body.ld-site-layout .entry-content-wrap { padding:16px; }
 body.ld-site-layout .content-area { margin-top:16px; margin-bottom:20px; }
 body.ld-site-layout .entry-hero-container-inner .entry-header { padding-top:16px; padding-bottom:16px; }
 body.ld-site-layout .entry-hero-container-inner h1 { font-size:24px; }
 body.ld-site-layout ul.products { column-gap:12px; row-gap:16px; }
 body.ld-site-layout ul.products li.product .product-details { padding:10px!important; }
 body.ld-site-layout.single-product div.product .woocommerce-product-gallery,
 body.ld-site-layout.single-product div.product .summary { width:100%!important; max-width:100%; float:none; }
 body.ld-site-layout.single-product div.product .woocommerce-product-gallery { max-width:360px; margin-left:auto; margin-right:auto; }
 body.ld-site-layout .woocommerce table.shop_table :is(th,td) { padding:10px; }
 body.ld-site-layout .entry-content>.wp-block-columns { gap:16px; }
}
@media(prefers-reduced-motion:reduce) { body.ld-site-layout * { scroll-behavior:auto!important; } }
/* Product-only public search: WooCommerce catalogue hierarchy, not article cards. */
body.ld-site-layout.ld-product-search .woocommerce-products-header { margin-bottom:16px; }
body.ld-site-layout.ld-product-search .woocommerce-products-header__title {
 margin:0!important; font-size:clamp(24px,5.8vw,30px)!important; line-height:1.2!important;
}
body.ld-site-layout.ld-product-search :is(.woocommerce-result-count,.woocommerce-ordering) { margin-bottom:16px; }
body.ld-site-layout.ld-product-search .woocommerce-ordering select { min-height:44px; max-width:100%; }
/* Defensive fallback if a theme bypasses WooCommerce's archive template. */
body.ld-site-layout.ld-product-search article.entry :is(.entry-meta,.entry-summary,.more-link) { display:none!important; }
body.ld-site-layout .ld-loop-stock {
 margin:4px 0 0!important; font-size:13px; line-height:1.35; font-weight:600; color:#18743D;
}
body.ld-site-layout .ld-loop-stock-out { color:#B42318; }
body.ld-site-layout .ld-loop-stock-backorder { color:#8A5A00; }
@media(max-width:767px) {
 body.ld-site-layout.ld-product-search .woocommerce-products-header { margin-bottom:12px; }
 body.ld-site-layout.ld-product-search .woocommerce-products-header__title { font-size:24px!important; }
 body.ld-site-layout.ld-product-search .woocommerce-ordering { float:none; width:100%; }
 body.ld-site-layout.ld-product-search .woocommerce-ordering select { width:100%; }
 body.ld-site-layout.ld-product-search ul.products {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:12px!important; row-gap:16px!important;
 }
 body.ld-site-layout.ld-product-search ul.products li.product {
  float:none!important; clear:none!important; width:100%!important; min-width:0!important; margin:0!important;
 }
 body.ld-site-layout.ld-product-search ul.products li.product .woocommerce-loop-product__title {
  font-size:14px!important; line-height:1.35!important;
 }
 body.ld-site-layout.ld-product-search ul.products li.product .woocommerce-loop-product__title a { min-height:2.7em; }
 body.ld-site-layout.ld-product-search ul.products li.product .price { font-size:16px!important; }
 body.ld-site-layout.ld-product-search ul.products li.product :is(.button,.added_to_cart) {
  width:100%; min-height:40px; padding:9px 8px; text-align:center; box-sizing:border-box;
 }
 body.ld-site-layout .ld-loop-stock { font-size:12px; }
}
/* The animated Baptor artwork and all percentage overlays share one figure. */
body.ld-site-layout.home figure:has(img.wp-image-8497) img.wp-image-8497 {
 width:100%!important; max-width:100%!important; height:auto!important;
 margin-left:0!important; margin-right:0!important; display:block;
}
/* Customer-facing product prices only; cart, checkout and dealer accounts excluded. */
body.ld-site-layout:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.ld-readable-vendor) :is(ul.products li.product .price,.wc-block-grid__product-price,.wp-block-woocommerce-product-price,.wc-block-components-product-price),
body.ld-site-layout.single-product div.product .summary .price {
 color:#B42318!important;
}
body.ld-site-layout:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.ld-readable-vendor) :is(ul.products li.product .price,.wc-block-grid__product-price,.wp-block-woocommerce-product-price,.wc-block-components-product-price) :is(.amount,bdi,ins),
body.ld-site-layout.single-product div.product .summary .price :is(.amount,bdi,ins) {
 color:inherit!important;
}
body.ld-site-layout:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.ld-readable-vendor) :is(ul.products li.product .price,.wc-block-grid__product-price,.wp-block-woocommerce-product-price,.wc-block-components-product-price) del,
body.ld-site-layout.single-product div.product .summary .price del {
 color:#666!important;
}
/* Product cards: one consistent frame; preserve native grid/list switching. */
body.ld-site-layout:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search) { background-color:#F5F5F5; }
body.ld-site-layout ul.products { column-gap:16px!important; row-gap:20px!important; }
body.ld-site-layout ul.products li.product,
body.ld-site-layout .wc-block-grid__product {
 background:#fff; border:1px solid #E5E7EB; border-radius:6px;
 box-shadow:0 1px 3px rgba(24,37,75,.04);
 transition:border-color 150ms ease,box-shadow 150ms ease;
}
body.ld-site-layout ul.products li.product .product-details { background:#fff; border-radius:0 0 6px 6px; }
body.ld-site-layout ul.products li.product .price,
body.ld-site-layout .wc-block-grid__product-price { font-size:17px!important; font-weight:700; }
body.ld-site-layout ul.products li.product .woocommerce-loop-product__title a,
body.ld-site-layout .wc-block-grid__product-title {
 display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
 overflow:hidden; min-height:2.8em; line-height:1.4; color:#2D3748;
}
body.ld-site-layout ul.products li.product:focus-within,
body.ld-site-layout .wc-block-grid__product:focus-within {
 border-color:#2269B0; box-shadow:0 3px 10px rgba(24,37,75,.12);
}
@media(hover:hover) and (pointer:fine) {
 body.ld-site-layout ul.products li.product:hover,
 body.ld-site-layout .wc-block-grid__product:hover {
  border-color:#2269B0; box-shadow:0 3px 10px rgba(24,37,75,.12);
 }
}
body.ld-site-layout ul.products li.product:active,
body.ld-site-layout .wc-block-grid__product:active { border-color:#2269B0; }
@media(max-width:767px) {
 body.ld-site-layout ul.products { column-gap:12px!important; row-gap:16px!important; }
}
@media(prefers-reduced-motion:reduce) {
 body.ld-site-layout ul.products li.product,
 body.ld-site-layout .wc-block-grid__product { transition:none; }
}
/* Modern WooCommerce Product Collection, used by homepage best sellers. */
body.ld-site-layout .wc-block-product-template>li.wc-block-product {
 background:#fff; border:1px solid #E5E7EB; border-radius:6px;
 box-shadow:0 1px 3px rgba(24,37,75,.04);
 transition:border-color 150ms ease,box-shadow 150ms ease;
 padding:0 0 12px; margin:0; min-width:0;
}
body.ld-site-layout .wc-block-product-template { gap:16px!important; }
body.ld-site-layout .wc-block-product-template>li.wc-block-product :is(.wp-block-post-title,.wp-block-woocommerce-product-price) { padding-left:12px; padding-right:12px; }
body.ld-site-layout .wc-block-product-template>li.wc-block-product:focus-within {
 border-color:#2269B0; box-shadow:0 3px 10px rgba(24,37,75,.12);
}
@media(hover:hover) and (pointer:fine) {
 body.ld-site-layout .wc-block-product-template>li.wc-block-product:hover {
  border-color:#2269B0; box-shadow:0 3px 10px rgba(24,37,75,.12);
 }
}
body.ld-site-layout .wc-block-product-template>li.wc-block-product:active { border-color:#2269B0; }
@media(max-width:767px) { body.ld-site-layout .wc-block-product-template { gap:12px!important; } }
@media(prefers-reduced-motion:reduce) { body.ld-site-layout .wc-block-product-template>li.wc-block-product { transition:none; } }

/* Clickable hero: shadow only, with no movement or image/container resizing. */
body.ld-site-layout.home figure.ld-shop-banner {
 box-shadow:0 2px 8px rgba(24,37,75,.08);
 transition:box-shadow 150ms ease;
}
body.ld-site-layout.home .ld-shop-banner-link { display:block; width:100%; text-decoration:none; }
body.ld-site-layout.home figure.ld-shop-banner:focus-within { box-shadow:0 6px 20px rgba(24,37,75,.20); }
@media(hover:hover) and (pointer:fine) {
 body.ld-site-layout.home figure.ld-shop-banner:hover { box-shadow:0 6px 20px rgba(24,37,75,.20); }
}
@media(prefers-reduced-motion:reduce) { body.ld-site-layout.home figure.ld-shop-banner { transition:none; } }

/* Homepage category artwork links: emphasis without resizing the artwork. */
body.ld-site-layout.home #main .wp-block-image a:has(>img:is(.wp-image-8551,.wp-image-8552,.wp-image-8553,.wp-image-8554,.wp-image-8555)) {
 display:block; outline:1px solid transparent; outline-offset:0; border-radius:6px;
 box-shadow:0 1px 4px rgba(24,37,75,.04);
 transition:outline-color 150ms ease,box-shadow 150ms ease;
}
body.ld-site-layout.home #main .wp-block-image a:has(>img:is(.wp-image-8551,.wp-image-8552,.wp-image-8553,.wp-image-8554,.wp-image-8555)):focus-within {
 outline-color:#2269B0; box-shadow:0 3px 9px rgba(24,37,75,.10);
}
@media(hover:hover) and (pointer:fine) {
 body.ld-site-layout.home #main .wp-block-image a:has(>img:is(.wp-image-8551,.wp-image-8552,.wp-image-8553,.wp-image-8554,.wp-image-8555)):hover {
  outline-color:#2269B0; box-shadow:0 3px 9px rgba(24,37,75,.10);
 }
}
body.ld-site-layout.home #main .wp-block-image a:has(>img:is(.wp-image-8551,.wp-image-8552,.wp-image-8553,.wp-image-8554,.wp-image-8555)):active { outline-color:#2269B0; }
@media(prefers-reduced-motion:reduce) {
 body.ld-site-layout.home #main .wp-block-image a:has(>img:is(.wp-image-8551,.wp-image-8552,.wp-image-8553,.wp-image-8554,.wp-image-8555)) { transition:none; }
}
/* Kadence mobile/tablet search row: let every grid/flex ancestor shrink. */
@media(max-width:1024px) {
 body.ld-site-layout #mobile-header .site-header-row:has(.laptop-depot-search) {
  grid-template-columns:minmax(0,1fr)!important; column-gap:0!important;
 }
 body.ld-site-layout #mobile-header :is(.site-header-section,.site-header-item):has(.laptop-depot-search),
 body.ld-site-layout #mobile-header :is(.mobile-html,.mobile-html-inner):has(.laptop-depot-search) {
  min-width:0!important; width:100%!important; max-width:100%!important;
 }
 body.ld-site-layout #mobile-header .laptop-depot-search {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto;
  width:100%!important; max-width:100%!important; min-width:0!important;
  box-sizing:border-box; margin:0!important;
 }
 body.ld-site-layout #mobile-header .laptop-depot-search input[type=search] {
  width:100%!important; max-width:100%!important; min-width:0!important;
  box-sizing:border-box; padding-left:12px!important; padding-right:10px!important;
  font-size:16px!important; height:46px!important;
 }
 body.ld-site-layout #mobile-header .laptop-depot-search button {
  width:auto!important; min-width:76px; max-width:100%; box-sizing:border-box;
  padding-left:12px!important; padding-right:12px!important;
  white-space:nowrap; font-size:16px!important; height:46px!important;
 }
}
