/* Long Supply custom CSS - migrated from cart_journal3_setting.customCSS on 2026-04-16 */

/* Hide ALL product labels/badges */
.product-labels,.product-labels-outside,.product-labels-price,.product-label{display:none!important}
/* Hide Find a Part in ALL popups/modals/overlays */
.modal #ls-partfinder,
.quickview-popup #ls-partfinder,
.popup-quickview #ls-partfinder,
.journal-popup #ls-partfinder,
.mfp-content #ls-partfinder,
.oc-popup #ls-partfinder,
body.popup-open #ls-partfinder,
#ls-partfinder:has(~ .modal.in),
.route-product-product .product-info #ls-partfinder {display:none!important}
/* Also ensure Part Finder doesn't overlap Add to Cart modals */
.modal.in ~ #ls-partfinder,
.oc-popup-active #ls-partfinder {display:none!important}

/* Fix: desktop logo rule leaks into mobile - scope img constraint */
html.mobile-header-active #logo img.header-logo,
html.mobile-header-active #logo img.header-logo-alternate {
max-width: 100% !important;
width: auto !important;
height: auto !important;
max-height: 100% !important;
}

/* Swap to white alternate logo when mobile header active */
html.mobile-header-active #logo img.header-logo {
display: none !important;
}
html.mobile-header-active #logo img.header-logo-alternate {
display: block !important;
}

/* Hide header notice bar */
.notice-module.module-header_notice-926 {
display: none !important;
}

/* Our Brands dropdown container + arrow alignment */
.main-menu-item-3 .j-dropdown {
max-width: 1100px !important;
max-height: none !important;
overflow-y: visible !important;
}
.main-menu-item-3 > .j-dropdown::before {
left: 0 !important;
margin-left: 0 !important;
transform: none !important;
position: absolute !important;
}
.main-menu-item-3 {
position: relative;
}
.main-menu-item-3 > .j-dropdown::before {
left: 50% !important;
transform: translateX(-50%) !important;
}

/* ====================================================================
FOOTER V3 - Prototype-matched footer layout (5 rows)
Row 0 (grid-row-1): Affiliations bar (light gray #eaecee)
Row 1 (grid-row-2): Value Props bar (navy #092a53) — #1176
Row 2 (grid-row-3): Newsletter strip (white #fff)
Row 3 (grid-row-4): Main footer 5-col (navy #092a53)
Row 4 (grid-row-6): Bottom bar (light gray #e8eaed)
==================================================================== */

/* --- Row 0: Affiliations (light gray) --- */
footer .grid-row-1 .row-bg { background: rgba(234,236,238,1) !important; }
footer .grid-row-1 { padding: 20px 40px !important; }
footer .grid-row-1 .grid-cols {
max-width: 1400px !important; margin: 0 auto !important;
display: flex !important; flex-direction: row !important;
align-items: center !important; justify-content: space-between !important;
gap: 24px !important;
}
footer .grid-row-1 .grid-col {
width: auto !important; flex: 0 1 auto !important;
max-width: none !important; min-width: 0 !important;
}
footer .grid-row-1 .info-block-title,
footer .grid-row-1 .info-block-icon { display: none !important; }
footer .grid-row-2 .row-bg { background: rgba(9,42,83,1) !important; }
footer .grid-row-2 { padding: 0 !important; }
footer .grid-row-2 .grid-cols {
max-width: none !important; margin: 0 !important;
display: flex !important; justify-content: center !important;
}
/* Add FA icons via CSS ::before on info-block-content — grid layout for icon left, text right */
/* --- Row 2: Newsletter (white bg, horizontal layout) --- */
footer .grid-row-3 { background: #fff !important; padding: 24px 40px !important; border-top: 1px solid #e0e0e0 !important; border-bottom: 1px solid #e0e0e0 !important; }
footer .grid-row-3 .row-bg { background: #fff !important; }
footer .grid-row-3 .grid-cols {
max-width: 1400px !important; margin: 0 auto !important;
display: flex !important; align-items: center !important;
justify-content: center !important;
}
footer .grid-row-3 .grid-col {
display: flex !important; align-items: center !important;
justify-content: center !important; width: 100% !important;
}
footer .module-newsletter-67 {
display: grid !important;
grid-template-columns: auto 1fr !important;
grid-template-rows: auto auto !important;
gap: 4px 40px !important; align-items: center !important;
width: 100% !important;
}
footer .module-newsletter-67 .module-title {
font-size: 16px !important; font-weight: 700 !important;
color: #092a53 !important; border-bottom: none !important;
text-transform: none !important; letter-spacing: 0 !important;
margin-bottom: 0 !important; padding-bottom: 0 !important;
display: block !important; white-space: nowrap !important;
grid-column: 1 !important; grid-row: 1 !important;
align-self: end !important;
}
footer .module-newsletter-67 .module-body {
display: contents !important;
}
footer .module-newsletter-67 .newsletter-text {
grid-column: 1 !important; grid-row: 2 !important;
font-size: 13px !important; color: #666 !important;
white-space: nowrap !important; align-self: start !important;
}
footer .module-newsletter-67 .newsletter-form {
grid-column: 2 !important; grid-row: 1 / 3 !important;
justify-self: end !important; align-self: center !important;
}
footer .module-newsletter-67 input[type=email],
footer .module-newsletter-67 input[type=text] {
padding: 11px 16px !important; font-size: 13px !important;
border: 1px solid #ccc !important; border-right: none !important;
border-radius: 4px 0 0 4px !important; background: #fff !important;
color: #333 !important; width: 380px !important; max-width: 380px !important;
}
footer .module-newsletter-67 input:focus { border-color: #092a53 !important; }
footer .module-newsletter-67 input::placeholder { color: #999 !important; }
footer .module-newsletter-67 .btn.btn-primary {
padding: 11px 28px !important; background: #d25400 !important;
color: #fff !important; border: none !important;
border-radius: 0 4px 4px 0 !important; font-size: 13px !important;
font-weight: 700 !important; text-transform: uppercase !important;
letter-spacing: 0.8px !important; line-height: 1 !important;
}
footer .module-newsletter-67 .btn.btn-primary span { display: none !important; }
footer .module-newsletter-67 .btn.btn-primary::before { content: none !important; }
footer .module-newsletter-67 .btn.btn-primary::after {
content: 'SUBSCRIBE' !important; font-family: inherit !important;
font-size: 13px !important; font-weight: 700 !important;
letter-spacing: 0.8px !important;
}
footer .module-newsletter-67 .btn.btn-primary:hover { background: #b84800 !important; }
footer .module-newsletter-67 .newsletter-agree,
footer .module-newsletter-67 .checkbox { display: none !important; }
footer .module-newsletter-67 form,
footer .module-newsletter-67 .input-group {
display: flex !important; align-items: center !important; gap: 0 !important;
flex-shrink: 0 !important;
}
footer .module-newsletter-67 .input-group-btn { display: contents !important; }

/* --- Row 3: Main Footer (navy 5-col grid) --- */
footer .grid-row-4 { background: rgba(9,42,83,1) !important; padding: 48px 40px 36px !important; }
footer .grid-row-4 .row-bg { background: rgba(9,42,83,1) !important; }
footer .grid-row-4 .grid-cols {
max-width: 1400px !important; margin: 0 auto !important;
display: grid !important; grid-template-columns: 1.8fr 1fr 1fr 1fr !important;
gap: 36px !important; align-items: start !important;
}

/* Footer section heading style — GENERAL rule, overridden by specific modules below */
footer .grid-row-4 .module-title {
font-size: 13px !important; font-weight: 700 !important; color: #fff !important;
text-transform: uppercase !important; letter-spacing: 1.2px !important;
margin-bottom: 18px !important; padding-bottom: 10px !important;
border-bottom: 2px solid #d25400 !important; display: inline-block !important;
}

/* Col 1: Brand/Contact (#328 + #61 social) — block, 1 grid column */
footer .grid-row-4 .grid-col-1 { display: block !important; }

/* Col 2: Catalog (#453) — spans grid columns 2-4 with internal 3-col grid */
footer .grid-row-4 .grid-col-2 {
grid-column: 2 / 5 !important; display: block !important;
}
footer .module-catalog-453 .module-title { display: none !important; }
footer .module-catalog-453 .admin-edit { display: none !important; }
footer .module-catalog-453 .auto-carousel-controls { display: none !important; }
footer .module-catalog-453 .auto-grid-items {
display: grid !important; grid-template-columns: 1fr 1fr 1fr !important;
gap: 36px !important;
}
footer .module-catalog-453 .catalog-image { display: none !important; }

/* Col 3: Hours/Company (#1174) — block, 1 grid column */
footer .grid-row-4 .grid-col-3 {
grid-column: 5 !important; display: block !important; text-align: left !important;
}

/* Catalog items */
footer .module-catalog-453 .module-item {
width: auto !important; min-width: 0 !important; max-width: none !important; flex: none !important;
}
footer .module-catalog-453 .catalog-title {
font-size: 13px !important; font-weight: 700 !important; color: #fff !important;
text-transform: uppercase !important; letter-spacing: 1.2px !important;
margin-bottom: 10px !important; padding-bottom: 8px !important;
border-bottom: 2px solid #d25400 !important; display: inline-block !important;
pointer-events: none !important; cursor: default !important;
}
footer .module-catalog-453 .item-assets { margin-top: 0 !important; }
footer .module-catalog-453 .module-subitem { margin-bottom: 8px !important; }
footer .module-catalog-453 .module-subitem a {
font-size: 13px !important; color: #a0b4c4 !important;
text-decoration: none !important; display: inline-block !important;
transition: color 0.15s, padding-left 0.15s !important;
}
footer .module-catalog-453 .module-subitem a:hover {
color: #fff !important; padding-left: 4px !important;
}
footer .module-catalog-453 .module-item:nth-child(1) .module-subitem:last-child a,
footer .module-catalog-453 .module-item:nth-child(2) .module-subitem:last-child a {
color: #d25400 !important; font-weight: 600 !important;
}

/* Brand/Contact column (#328) — MUST come after general .module-title rule */
/* First item = description paragraph (no title) */
/* Store name titles (Aurora Store, Addison Store) */

/* More space between last contact item and social icons */

/* Hours/Company column (#1174) — force left-alignment, kill grid gap */
footer .grid-row-4 .grid-col-3 { text-align: left !important; }
/* Add "Hours of Operation" heading via CSS if J3 doesn't render it */
/* Hours rows (items 1-3): day left, time right — table-like layout */
/* First hour item highlight */
/* Default title style for non-hours items */
/* "Company" heading (item 4) — style as section heading */
/* Company link items (5-8) — style as link list, compact */

/* --- Row 4: Bottom bar (light gray) --- */
footer .grid-row-5 { background: rgba(232,234,237,1) !important; padding: 20px 40px !important; }
footer .grid-row-5 .row-bg { background: rgba(232,234,237,1) !important; }
footer .grid-row-5 .grid-cols {
max-width: 1400px !important; margin: 0 auto !important;
display: flex !important; flex-direction: row !important;
align-items: center !important; justify-content: space-between !important;
}
footer .grid-row-5 .grid-col.grid-col-1,
footer .grid-row-5 .grid-col.grid-col-2,
footer .grid-row .grid-col.grid-col-1,
footer .grid-row .grid-col.grid-col-2 {
width: auto !important; max-width: none !important; min-width: 0 !important;
}
footer .grid-row-5 .grid-col.grid-col-1 { flex: 1 1 auto !important; }
footer .grid-row-5 .grid-col.grid-col-2 { flex: 0 0 auto !important; margin-left: auto !important; }
/* Payment icons — right-aligned (class is icons-menu-228 not module-icons_menu-228) */
footer .icons-menu-228 { margin-left: auto !important; }
footer .icons-menu-228 ul { display: flex !important; gap: 8px !important; flex-wrap: nowrap !important; justify-content: flex-end !important; list-style: none !important; }

/* Hide J3 defaults and stray elements */
footer .grid-row:last-child .grid-cols::before { display: none !important; content: none !important; }
footer .admin-edit { display: none !important; }
footer .grid-cols-wrapper { visibility: hidden !important; font-size: 0 !important; line-height: 0 !important; }
footer .grid-cols-wrapper .grid-cols { visibility: visible !important; font-size: 13px !important; line-height: normal !important; }

/* Line Card button styling in affiliations bar */

/* ALTERNATING SECTION BACKGROUNDS */

.grid-row-top-3 { background: rgba(245,245,248,1); padding: 30px 0; }
.grid-row-top-4 { background: rgba(255,255,255,1); padding: 30px 0; }
.grid-row-top-5 { background: rgba(245,245,248,1); padding: 20px 0; }
.grid-row-top-6 { background: rgba(255,255,255,1); padding: 20px 0; }

/* Store locations in col 3 (5th column) */

/* === MENU BAR FULL-WIDTH BG === */
.desktop-header-active .header-classic .desktop-main-menu-wrapper.menu-bar{position:relative;box-shadow:-50vw 0 0 0 var(--menu-bg-color,#0a3161),50vw 0 0 0 var(--menu-bg-color,#0a3161)!important;overflow:visible!important}
/* === END MENU BAR FULL-WIDTH BG === */

/* === LATEST FROM LONG SUPPLY === */
html.route-common-home .grid-row-top-2 { background: rgba(245,245,248,1); padding: 24px 0 28px; }
html.route-common-home .grid-row-top-2 .grid-cols {
display: grid !important;
grid-template-columns: 58fr 42fr !important;
gap: 14px !important;
align-items: start !important;
}
html.route-common-home .grid-row-top-2 .grid-col,
html.route-common-home .grid-row-top-2 .grid-items,
html.route-common-home .grid-row-top-2 .grid-item { display: block !important; }
/* === END LATEST FROM LONG SUPPLY === */

/* === NEWSLETTER 1180 BUTTON === */

/* CODEX MANAGED BLOCK START: footer-locations-fix */
@media (min-width: 1200px) {

}
/* CODEX MANAGED BLOCK END: footer-locations-fix */

/* CODEX MANAGED BLOCK START: contact-page-red

/* Wave 3: Hide zero-count badges in mobile accordion menu (#28) */
.accordion-menu .count-badge,
.accordion-menu .badge,
.module-accordion .count-badge,
.module-accordion .badge {
display: none !important;
}

/* Hide disabled sidebar module #872 (Why buy from us) */
.module-info_blocks-872,

/* Hide social sharing (AddToAny) */
.module-product_blocks-665,
.addtoany_share_save_container,
.a2a_kit,
.product-share,
.route-product-product .addtoany_share { display: none !important; }

/* Hide Shipping & Returns + Additional Product Info accordions */
.route-product-product .product-blocks-bottom,
.route-product-product .product-block-accordion,
.route-product-product .panel-group.product-blocks { display: none !important; }

/* Hide Tags section */
.route-product-product .tags-section,
.route-product-product .product-tags,
.route-product-product .tags { display: none !important; }

/* Hide Reviews tab and Custom Tabs tab */
.product-tab-285,
.tab-285,
.route-product-product .nav-tabs li a[href*="tab-review"],
.route-product-product #tab-review,
.route-product-product .nav-tabs li:has(a[href*="tab-review"]) { display: none !important; }
.module-product_tabs-285 { display: none !important; }

/* Product images: fill container, no zoom-out */
.product-image .swiper-slide img {
transform: scale(1) !important;
width: 100% !important;
height: 100% !important;
object-fit: contain;
}
.product-image .swiper-slide:hover img,
.product-image .swiper-slide .img-overlay:hover img {
transform: scale(1) !important;
}

/* Move description above tabs (show near product info) */
.route-product-product .product-info .product-details .description {
display: block !important;
order: -1;
margin-bottom: 15px;
font-size: 14px;
line-height: 1.5;
color: #555;
}

/* Make Find a Part widget larger */
#ls-pf-trigger {
padding: 12px 22px !important;
font-size: 15px !important;
border-radius: 28px !important;
}
#ls-pf-trigger .fa {
font-size: 16px !important;
}

/* ================================================================
MEGA MENU USABILITY FIX
The flyout dropdown extends below viewport, making bottom items
(Jobsite Essentials) unreachable because the mega panel renders
above them. Fix: constrain flyout height and add scroll, plus
position mega panels relative to viewport.
================================================================ */

/* Flyout category list: max height with scroll */
.flyout-menu > .j-menu {
max-height: calc(100vh - 200px) !important;
overflow-y: auto !important;
}

/* Mega menu panels: align to top of flyout, not the hovered item */
.flyout-menu .j-menu > li > .j-dropdown {
top: 0 !important;
max-height: calc(100vh - 200px) !important;
overflow-y: auto !important;
}

/* Second-level flyout (Shop by Category > subcategories): same fix */
.mega-menu-content .flyout-menu .j-menu > li > .j-dropdown {
top: 0 !important;
}

/* CODEX MANAGED BLOCK START: product-page-cleanup */
/* Product page cleanup */
.route-product-product .rating-page .review-links,
.route-product-product .rating-page .review-links * {
  display: none !important;
}

html.popup-open #ls-partfinder,
html.popup-iframe-loaded #ls-partfinder {
  display: none !important;
}

.route-product-product .product-tabs,
.route-product-product .module-product_tabs-284,
.route-product-product .module-product_tabs-285,
.route-product-product .grid-item.grid-module-product_tabs-284-1-1-1,
.route-product-product .grid-item.grid-module-product_tabs-285-1-1-1,
.route-product-product li.product_tabs-284-tab,
.route-product-product li.product_tabs-285-tab,
.route-product-product .product-extra-html.product_extra-284,
.route-product-product .product-extra-html.product_extra-285 {
  display: none !important;
}

.route-product-product .product-image,
.route-product-product .product-image .swiper-slide,
.route-product-product .product-image .swiper-slide > a,
.route-product-product .product-image .swiper-slide picture {
  background: #ffffff;
}

/* Style the inner anchor/picture only — NOT the swiper-slide itself (Swiper sets its width). */
.route-product-product .product-image .swiper-slide > a,
.route-product-product .product-image .swiper-slide picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.route-product-product .product-image .swiper-slide img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center;
}
/* CODEX MANAGED BLOCK END: product-page-cleanup */

/* Product page: description above price, hide stars */
.route-product-product .product-details .rating { display: none !important; }
.route-product-product .product-details .description { order: -1 !important; display: block !important; margin-bottom: 12px !important; }

/* Product page: image fits content, details fill rest */
.route-product-product .product-info {
display: flex !important;
gap: 20px !important;
}
.route-product-product .product-image {
flex: 0 0 auto !important;
max-width: 400px !important;
width: auto !important;
}
.route-product-product .product-image .swiper-container,
.route-product-product .product-image .swiper {
max-width: 100% !important;
}
.route-product-product .product-details {
flex: 1 1 auto !important;
min-width: 0 !important;
}

/* ===== TABLET: max 992px ===== */
@media (max-width: 992px) {
/* Row 0: Affiliations - center wrap, prevent overflow */
footer .grid-row-1 { padding: 16px 20px !important; overflow: hidden !important; }
footer .grid-row-1 .grid-cols {
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  max-width: 100% !important;
}

/* Row 1: Value props - keep horizontal, tighter */
footer .grid-row-2 { overflow: visible !important; position: relative !important; }

/* Row 2: Newsletter - reduce card width, tighter padding */
html body footer .grid-row-3 { padding: 20px 16px !important; }
html body footer .grid-row-3 .module-newsletter-67 {
  max-width: 560px !important;
  padding: 24px 28px !important;
  gap: 4px 24px !important;
}

/* Row 3: Main footer - single outer column, catalog 2-col */
footer .grid-row-4 { padding: 36px 20px 28px !important; }
html body footer .grid-row.grid-row-4 .grid-cols {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 32px !important;
}
/* Brand col - centered */
html body footer .grid-row-4 .grid-col-1 {
  text-align: center !important;
}
/* Catalog col - full width */
html body footer .grid-row-4 .grid-col-2 {
  grid-column: 1 !important;
}
/* CRITICAL: Internal catalog grid from 3-col to 2-col */
/* Must override grid-auto-flow:column set by J3 at 900px */
html body footer .module-catalog-453 .auto-grid .auto-grid-items {
  grid-template-columns: 1fr 1fr !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 28px 24px !important;
}
/* Fix text truncation on catalog links */
html body footer .module-catalog-453 .catalog-title {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
html body footer .module-catalog-453 .module-subitem a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
/* Hours/Company/Stores col */
html body footer .grid-row-4 .grid-col-3 {
  grid-column: 1 !important;
  text-align: center !important;
}

/* Row 4: Bottom bar */
footer .grid-row-5 { padding: 16px 20px !important; }
footer .grid-row-5 .grid-cols {
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
}
}

/* ===== LARGE PHONE: max 768px ===== */
@media (max-width: 768px) {
/* Row 0: Affiliations - stack logos above buttons */
footer .grid-row-1 .grid-cols {
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
}
html body footer .grid-row-1 .grid-col {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}
/* Constrain logo grid to viewport width */
html body footer .grid-row-1 .module-info_blocks-1172 .info_blocks-grid,
html body footer .grid-row-1 .module-info_blocks-1172 .auto-grid-items {
  max-width: 100% !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 16px !important;
}
html body footer .grid-row-1 .module-info_blocks-1172 .module-item {
  flex: 0 0 auto !important;
}
/* Constrain buttons row */
html body footer .grid-row-1 .module-info_blocks-1173 .info_blocks-grid {
  max-width: 100% !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* Row 1: Value props - stack vertically, centered */
/* Target the ipr-grid flex container that holds the items */
html body footer .grid-row-2 .module-info_blocks-1176 .module-body {
  flex-direction: column !important;
  align-items: stretch !important;
  padding: 0 !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .info_blocks-grid {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .module-item {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .info-block {
  text-align: center !important;
  border-right: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  padding: 16px 20px !important;
  flex-direction: column !important;
  align-items: center !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .module-item:last-child .info-block {
  border-bottom: none !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .info-block-content {
  text-align: center !important;
}
/* Icon above text instead of side-by-side */
html body footer .grid-row-2 .module-info_blocks-1176 .info-block-content::before {
  display: block !important;
  float: none !important;
  margin: 0 auto 8px !important;
  text-align: center !important;
}

/* Row 2: Newsletter card - single column, stacked (higher specificity to override SEAL block) */
html body footer .grid-row-3 .module-newsletter-67 {
  grid-template-columns: 1fr !important;
  text-align: center !important;
  padding: 24px 20px !important;
  max-width: 440px !important;
  gap: 6px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .module-title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  font-size: 18px !important;
  text-align: center !important;
  white-space: normal !important;
}
html body footer .grid-row-3 .module-newsletter-67 .newsletter-text {
  grid-column: 1 !important;
  grid-row: 2 !important;
  text-align: center !important;
  white-space: normal !important;
  font-size: 13px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .newsletter-form {
  grid-column: 1 !important;
  grid-row: 3 !important;
  justify-self: center !important;
  margin-top: 12px !important;
}

/* Row 3: Main footer - brand centered, images centered */
html body footer .grid-row-4 .grid-col-1 img {
  margin: 0 auto !important;
  display: block !important;
}
/* Social icons horizontal centered */
html body footer .icons-menu-61 {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 16px !important;
}

/* Store locations stack vertically */
html body footer .module-info_blocks-1181 .module-body {
  flex-direction: column !important;
  gap: 20px !important;
  align-items: center !important;
}
html body footer .module-info_blocks-1181 .auto-grid .auto-grid-items {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  gap: 20px !important;
  align-items: center !important;
}
html body footer .module-info_blocks-1181 .info_blocks-grid {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
}
html body footer .module-info_blocks-1181 .module-item {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Row 4: Bottom bar stacked centered */
html body footer .grid-row-5 .grid-cols {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
}
html body footer .grid-row-5 .grid-col {
  width: 100% !important;
  text-align: center !important;
}

/* Tap-to-call styling for phone links */
footer a[href^='tel:'] {
  display: inline-block !important;
  padding: 8px 16px !important;
  background: rgba(255,255,255,0.1) !important;
  border-radius: 6px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  min-height: 44px !important;
  line-height: 28px !important;
}
}

/* ===== SMALL PHONE: max 480px ===== */
@media (max-width: 480px) {
/* Global: tighter padding on all rows */
html body footer .grid-row {
  padding: 14px 16px !important;
}

/* Row 0: Affiliations - smaller logos */
html body footer .grid-row-1 .module-info_blocks-1172 img {
  max-height: 36px !important;
}
html body footer .grid-row-1 .module-info_blocks-1173 .btn,
html body footer .grid-row-1 .module-info_blocks-1173 a {
  font-size: 12px !important;
  padding: 8px 12px !important;
}

/* Row 1: Value props - compact, hide tinman */
html body footer .grid-row-2 .module-info_blocks-1176 .module-item:last-child .info-block::after {
  display: none !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .info-block {
  padding: 12px 16px !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .info-block-title {
  font-size: 14px !important;
}
html body footer .grid-row-2 .module-info_blocks-1176 .info-block-text {
  font-size: 12px !important;
}

/* Row 2: Newsletter - full width, bigger button */
html body footer .grid-row-3 .module-newsletter-67 {
  max-width: 100% !important;
  border-radius: 12px !important;
  padding: 20px 16px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .module-title {
  font-size: 16px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary {
  min-height: 48px !important;
  width: 100% !important;
  padding: 14px 20px !important;
  font-size: 15px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .newsletter-form,
html body footer .grid-row-3 .module-newsletter-67 form,
html body footer .grid-row-3 .module-newsletter-67 .input-group {
  width: 100% !important;
}

/* Row 3: Main footer - catalog single column (high specificity) */
html body footer .grid-row-4 { padding: 28px 16px !important; }
html body footer .grid-row.grid-row-4 .grid-cols {
  gap: 24px !important;
}
html body footer .module-catalog-453 .auto-grid .auto-grid-items {
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 24px !important;
}
/* Reduce link density: hide links beyond 4th, keep last (View All) */
html body footer .module-catalog-453 .module-item .module-subitem:nth-child(n+5) {
  display: none !important;
}
html body footer .module-catalog-453 .module-item .module-subitem:last-child {
  display: block !important;
}
/* 44px touch targets on all footer links */
html body footer .module-catalog-453 .module-subitem a {
  padding: 6px 0 !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  font-size: 14px !important;
}
html body footer .module-catalog-453 .catalog-title {
  font-size: 14px !important;
  padding-bottom: 10px !important;
  margin-bottom: 12px !important;
}

/* Social icons - 44px touch targets */
html body footer .icons-menu-61 .icons-menu-item a {
  min-width: 44px !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Hours/Company centered */
html body footer .grid-row-4 .grid-col-3 {
  text-align: center !important;
}

/* Store locations compact */
html body footer .module-info_blocks-1181 .info-block {
  text-align: center !important;
  padding: 12px !important;
}

/* Row 4: Bottom bar */
html body footer .grid-row-5 { padding: 12px 16px !important; }
html body footer .icons-menu-228 ul {
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px !important;
}
}
/* === COOKIE BANNER === */
.notification-wrapper.notification-wrapper-bottom {
  position: fixed !important;
  bottom: 16px !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  height: auto !important;
  width: auto !important;
  max-width: 620px !important;
  padding: 0 !important;
  z-index: 14000 !important;
  pointer-events: none !important;
}
.notification-wrapper-bottom .module-notification-137 {
  pointer-events: auto !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  background: #fff !important;
  color: #333 !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.05) !important;
  width: auto !important;
  max-width: 100% !important;
}
.notification-wrapper-bottom .notification-content {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.notification-wrapper-bottom .notification-content > div {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.notification-wrapper-bottom .notification-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0a3161 !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}
.notification-wrapper-bottom .notification-text {
  font-size: 12px !important;
  color: #666 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
.notification-wrapper-bottom .notification-text a {
  color: #d25400 !important;
  text-decoration: underline !important;
}
.notification-wrapper-bottom .notification-close {
  flex: 0 0 auto !important;
  background: #0a3161 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  min-height: 32px !important;
  line-height: 1 !important;
}
.notification-wrapper-bottom .notification-close:hover {
  background: #133d6b !important;
}
@media (max-width: 660px) {
  .notification-wrapper.notification-wrapper-bottom {
    left: 12px !important;
    right: 12px !important;
    transform: none !important;
    max-width: none !important;
    bottom: 12px !important;
  }
  .notification-wrapper-bottom .module-notification-137 {
    flex-direction: column !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 16px !important;
  }
  .notification-wrapper-bottom .notification-content > div {
    flex-direction: column !important;
    text-align: center !important;
  }
  .notification-wrapper-bottom .notification-close {
    width: 100% !important;
    padding: 10px !important;
  }
}
/* === END COOKIE BANNER === */

/* Hide scroll-to-top on mobile - bottom bar provides navigation */
@media (max-width: 768px) {
  .scroll-top { display: none !important; }
}

/* CODEX MANAGED BLOCK START: footer-desktop-top-rows-repair */
@media (min-width: 993px) {
  footer .grid-row-1 {
    padding: 16px 24px !important;
  }

  footer .grid-row-1 .grid-cols {
    max-width: 1320px !important;
    justify-content: center !important;
    gap: 56px !important;
  }

  footer .grid-row-1 .grid-col {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  footer .grid-row-1 .module-info_blocks-1172 .auto-grid-items,
  footer .grid-row-1 .module-info_blocks-1173 .auto-grid-items {
    display: flex !important;
    align-items: center !important;
  }

  footer .grid-row-1 .module-info_blocks-1172 .auto-grid-items {
    gap: 30px !important;
  }

  footer .grid-row-1 .module-info_blocks-1173 .auto-grid-items {
    gap: 18px !important;
  }

  footer .grid-row-1 .module-info_blocks-1172 .module-item,
  footer .grid-row-1 .module-info_blocks-1173 .module-item {
    flex: 0 0 auto !important;
  }

  footer .grid-row-1 .module-info_blocks-1172 img {
    width: auto !important;
    height: 44px !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  footer .grid-row-1 .module-info_blocks-1172 .module-item-2 img {
    height: 56px !important;
  }

  footer .grid-row-1 .module-info_blocks-1173 .module-item-1 img {
    width: auto !important;
    height: 48px !important;
    object-fit: contain !important;
  }

  footer .grid-row-1 .module-info_blocks-1173 .line-card-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 9px 20px !important;
    border: 2px solid rgba(9, 42, 83, 1) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: rgba(9, 42, 83, 1) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }

  footer .grid-row-1 .module-info_blocks-1173 .line-card-btn:hover {
    background: rgba(9, 42, 83, 1) !important;
    color: #ffffff !important;
  }

  footer .grid-row-2 {
    overflow: visible !important;
    position: relative !important;
  }

  footer .grid-row-2 .grid-cols {
    max-width: none !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
  }

  footer .module-info_blocks-1176 .module-title,
  footer .module-info_blocks-1176 .auto-carousel-controls,
  footer .module-info_blocks-1176 .info-block-button {
    display: none !important;
  }

  footer .module-info_blocks-1176 .module-body,
  footer .module-info_blocks-1176 .auto-grid-items {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    width: 100% !important;
  }

  footer .module-info_blocks-1176 .module-item {
    flex: 1 1 250px !important;
    max-width: 400px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 18px 28px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  footer .module-info_blocks-1176 .module-item:last-child {
    border-right: none !important;
    position: relative !important;
    padding-right: 120px !important;
    overflow: visible !important;
  }

  footer .module-info_blocks-1176 .module-item:last-child::after {
    content: "" !important;
    position: absolute !important;
    right: 12px !important;
    bottom: -10px !important;
    width: 90px !important;
    height: 120px !important;
    background: url(/image/catalog/logos/tinman-footer.png) no-repeat center !important;
    background-size: contain !important;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3)) !important;
    pointer-events: none !important;
    z-index: 10 !important;
  }

  footer .module-info_blocks-1176 .info-block {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    text-align: left !important;
  }

  footer .module-info_blocks-1176 .info-block-content {
    display: grid !important;
    grid-template-columns: 36px 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 0 14px !important;
    align-items: center !important;
  }

  footer .module-info_blocks-1176 .info-block-content::before {
    font-family: FontAwesome !important;
    font-weight: normal !important;
    font-size: 28px !important;
    color: #fff !important;
    text-align: center !important;
    line-height: 1 !important;
    grid-row: 1 / 3 !important;
    grid-column: 1 !important;
    align-self: center !important;
  }

  footer .module-info_blocks-1176 .module-item:nth-child(1) .info-block-content::before {
    content: "\f0d1" !important;
  }

  footer .module-info_blocks-1176 .module-item:nth-child(2) .info-block-content::before {
    content: "\f132" !important;
  }

  footer .module-info_blocks-1176 .module-item:nth-child(3) .info-block-content::before {
    content: "\f095" !important;
  }

  footer .module-info_blocks-1176 .info-block-title {
    color: #fff !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    display: block !important;
    text-transform: none !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
  }

  footer .module-info_blocks-1176 .info-block-text {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
  }

  footer .grid-row-3 {
    background: #ffffff !important;
    padding: 26px 24px 30px !important;
    border-top: none !important;
    border-bottom: none !important;
  }

  footer .grid-row-3 .row-bg {
    background: #ffffff !important;
  }

  footer .grid-row-3 .grid-cols {
    max-width: 1280px !important;
    margin: 0 auto !important;
    justify-content: center !important;
  }

  footer .grid-row-3 .grid-col,
  footer .grid-row-3 .grid-items,
  footer .grid-row-3 .grid-item {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  footer .grid-row-3 .module-newsletter-67 {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 28px 36px !important;
    background: linear-gradient(135deg, #0a2a4a 0%, #133d6b 42%, #1b5598 100%) !important;
    border: 1px solid rgba(10, 42, 74, 0.16) !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 28px rgba(10, 42, 74, 0.16) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 6px 28px !important;
    align-items: center !important;
    position: relative !important;
    overflow: hidden !important;
  }

  footer .grid-row-3 .module-newsletter-67::before,
  footer .grid-row-3 .module-newsletter-67::after {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    border-radius: 50% !important;
    pointer-events: none !important;
  }

  footer .grid-row-3 .module-newsletter-67::before {
    top: -55% !important;
    right: -8% !important;
    width: 280px !important;
    height: 280px !important;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%) !important;
  }

  footer .grid-row-3 .module-newsletter-67::after {
    bottom: -42% !important;
    left: 2% !important;
    width: 200px !important;
    height: 200px !important;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 72%) !important;
  }

  footer .grid-row-3 .module-newsletter-67 .module-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
    white-space: normal !important;
    position: relative !important;
    z-index: 1 !important;
  }

  footer .grid-row-3 .module-newsletter-67 .module-body {
    display: contents !important;
  }

  footer .grid-row-3 .module-newsletter-67 .newsletter-text {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    position: relative !important;
    z-index: 1 !important;
  }

  footer .grid-row-3 .module-newsletter-67 input[type=email],
  footer .grid-row-3 .module-newsletter-67 input[type=text],
  footer .grid-row-3 .module-newsletter-67 .form-control,
  footer .grid-row-3 .module-newsletter-67 .sr-only,
  footer .grid-row-3 .module-newsletter-67 .newsletter-agree,
  footer .grid-row-3 .module-newsletter-67 .checkbox {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  footer .grid-row-3 .module-newsletter-67 .newsletter-form {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1 !important;
  }

  footer .grid-row-3 .module-newsletter-67 .newsletter-form form,
  footer .grid-row-3 .module-newsletter-67 .input-group,
  footer .grid-row-3 .module-newsletter-67 .input-group-btn {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
  }

  footer .grid-row-3 .module-newsletter-67 .btn.btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 224px !important;
    min-height: 50px !important;
    padding: 0 28px !important;
    border: none !important;
    border-radius: 12px !important;
    background: #e87a1e !important;
    box-shadow: 0 8px 18px rgba(232, 122, 30, 0.32) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
  }

  footer .grid-row-3 .module-newsletter-67 .btn.btn-primary::before,
  footer .grid-row-3 .module-newsletter-67 .btn.btn-primary::after {
    display: none !important;
    content: none !important;
  }

  footer .grid-row-3 .module-newsletter-67 .btn.btn-primary span {
    display: inline !important;
    visibility: visible !important;
    color: #ffffff !important;
  }

  footer .grid-row-3 .module-newsletter-67 .btn.btn-primary:hover {
    background: #f08c32 !important;
    box-shadow: 0 10px 22px rgba(232, 122, 30, 0.4) !important;
    transform: translateY(-1px) !important;
  }
}
/* CODEX MANAGED BLOCK END: footer-desktop-top-rows-repair */

/* CODEX MANAGED BLOCK START: footer-mobile-polish */
@media (max-width: 560px) {
  html body footer .grid-row-2 {
    display: none !important;
  }

  html body footer .grid-row-2 .module-info_blocks-1176 .module-body,
  html body footer .grid-row-2 .module-info_blocks-1176 .info_blocks-grid,
  html body footer .grid-row-2 .module-info_blocks-1176 .auto-grid,
  html body footer .grid-row-2 .module-info_blocks-1176 .auto-grid-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
  }

  html body footer .grid-row-2 .module-info_blocks-1176 .module-item {
    width: 100% !important;
    max-width: none !important;
  }

  html body footer .grid-row-2 .module-info_blocks-1176 .info-block {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    padding: 16px 18px !important;
    text-align: left !important;
  }

  html body footer .grid-row-2 .module-info_blocks-1176 .info-block-content,
  html body footer .grid-row-2 .module-info_blocks-1176 .info-block-title,
  html body footer .grid-row-2 .module-info_blocks-1176 .info-block-text {
    text-align: left !important;
  }

  html body footer .grid-row-2 .module-info_blocks-1176 .info-block-content::before {
    display: block !important;
    margin: 0 !important;
  }

  html body footer .grid-row-2 .module-info_blocks-1176 .info-block-title {
    font-size: 15px !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
  }

  html body footer .grid-row-2 .module-info_blocks-1176 .info-block-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    gap: 10px !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .module-title,
  html body footer .grid-row-3 .module-newsletter-67 .newsletter-text {
    grid-column: 1 !important;
    white-space: normal !important;
    text-align: center !important;
    justify-self: center !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .module-title {
    grid-row: 1 !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .newsletter-text {
    grid-row: 2 !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .newsletter-form,
  html body footer .grid-row-3 .module-newsletter-67 form,
  html body footer .grid-row-3 .module-newsletter-67 .input-group {
    width: 100% !important;
    justify-content: center !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .newsletter-form {
    grid-column: 1 !important;
    grid-row: 3 !important;
    justify-self: stretch !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 form,
  html body footer .grid-row-3 .module-newsletter-67 .input-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .input-group-btn {
    display: block !important;
    width: 100% !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 input[type=email],
  html body footer .grid-row-3 .module-newsletter-67 input[type=text] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    border-right: 1px solid #ccc !important;
    border-radius: 4px !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 4px !important;
    position: static !important;
  }

  html body footer .grid-row.grid-row-4 .grid-cols {
    gap: 22px !important;
  }

  html body footer .grid-row-4 .grid-col-2,
  html body footer .grid-row-4 .grid-col-2 .grid-items,
  html body footer .grid-row-4 .grid-item.grid-module-footer-4-2-1,
  html body footer .grid-row-4 .module-catalog-453 {
    width: 100% !important;
    max-width: none !important;
  }

  html body footer .grid-item.grid-module-footer-4-1-2 {
    display: none !important;
  }

  html body footer .grid-item.grid-module-footer-4-3-3 {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    padding-top: 6px !important;
  }

  html body footer .module-catalog-453 .auto-grid .auto-grid-items,
  html body footer .module-catalog-453 .auto-grid-items {
    gap: 16px !important;
  }

  html body footer .module-catalog-453 .module-subitem {
    margin-bottom: 0 !important;
  }

  html body footer .module-catalog-453 .module-subitem a {
    display: block !important;
    padding: 4px 0 !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
  }

  html body footer .icons-menu-61 {
    margin: 0 !important;
    justify-content: center !important;
  }

  html body footer .icons-menu-61 ul {
    justify-content: center !important;
    gap: 12px !important;
  }

  html body footer .grid-item.grid-module-footer-4-3-3 .icons-menu-61 {
    width: 100% !important;
  }

  html body footer .grid-row-4 .module-info_blocks-1181 .info-block,
  html body footer .grid-row-4 .module-info_blocks-1181 .info-block-content,
  html body footer .grid-row-4 .module-info_blocks-1181 .module-item .info-block-title,
  html body footer .grid-row-4 .module-info_blocks-1181 .module-item .info-block-text {
    text-align: center !important;
  }

  html body footer .grid-row-4 .module-info_blocks-1181 .info-block {
    padding: 14px 10px !important;
  }

  html body footer .grid-row-4 .module-info_blocks-1181 .module-item .info-block-title {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body footer .grid-row-4 .module-info_blocks-1181 .store-phone-label {
    display: none !important;
  }

  html body footer .grid-row-4 .module-info_blocks-1181 .info-block-text a[href^='tel:'] {
    display: flex !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 10px auto 0 !important;
    padding: 9px 14px !important;
    min-height: 0 !important;
    line-height: 1.1 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    color: #f4f7fb !important;
    justify-content: center !important;
  }

  html body footer .grid-row-5 .grid-col.grid-col-2 {
    margin-left: 0 !important;
  }

  html body footer .icons-menu-228 {
    display: flex !important;
    width: 100% !important;
    margin: 0 auto !important;
    justify-content: center !important;
  }

  html body footer .icons-menu-228 ul {
    width: 100% !important;
    margin: 0 auto !important;
    justify-content: center !important;
  }
}

@media (min-width: 561px) {
  html body footer .grid-item.grid-module-footer-4-3-3 {
    display: none !important;
  }
}

@media (max-width: 400px) {
  html body footer .grid-row-2 .module-info_blocks-1176 .info-block {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: 15px 16px !important;
  }

  html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary {
    width: 100% !important;
  }

  html body footer .module-catalog-453 .module-subitem a {
    padding: 3px 0 !important;
  }
}
/* CODEX MANAGED BLOCK END: footer-mobile-polish */

/* Product page: Documents & Resources in sidebar */
.product-docs-sidebar { margin-bottom: 20px; }
.product-docs-sidebar .product-documents { margin: 0; }

/* Default styling for product-documents when description HTML didn't include
   inline styles (e.g. OxBox imports). Inline styles always win. */
.product-docs-sidebar .product-documents:not([style*="background"]) {
  padding: 16px 20px;
  background: #f8f9fa;
  border-left: 4px solid #d35400;
  border-radius: 4px;
}
.product-docs-sidebar .product-documents:not([style*="color"]) h4 {
  margin: 0 0 10px 0;
  color: #0a3161;
}
.product-docs-sidebar .product-documents ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.product-docs-sidebar .product-documents li + li { margin-top: 6px; }

/* Product page: reduce image column, widen details */
#product-product { --product-page-split: 38%; }

/* Full description in product details */
.product-description-full {
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.6;
}
.product-description-full h2,
.product-description-full h3,
.product-description-full h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 20px 0 8px;
}
.product-description-full h2:first-child,
.product-description-full h3:first-child {
    margin-top: 0;
}
.product-description-full p {
    margin-bottom: 8px;
}
.product-description-full table {
    margin-bottom: 20px;
    width: 100%;
    border-collapse: collapse;
}
.product-description-full table td,
.product-description-full table th {
    padding: 6px 10px;
    border-bottom: 1px solid #eee;
}
.product-description-full table tr:last-child td {
    border-bottom: none;
}
.product-description-full ul,
.product-description-full ol {
    margin-bottom: 15px;
    padding-left: 20px;
}
.product-description-full li {
    margin-bottom: 4px;
}
/* Mobile: stack promo + newsletter in row-top-2 */
@media (max-width: 768px) {
html.route-common-home .grid-row-top-2 .grid-cols {
grid-template-columns: 1fr !important;
}
}
/* Mobile: footer newsletter - navy gradient card like desktop */
@media (max-width: 992px) {
html body footer .grid-row-3 .module-newsletter-67 {
  background: linear-gradient(135deg, #0a2a4a 0%, #133d6b 42%, #1b5598 100%) !important;
  border: 1px solid rgba(10, 42, 74, 0.16) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 28px rgba(10, 42, 74, 0.16) !important;
  padding: 24px 20px !important;
  position: relative !important;
  overflow: hidden !important;
}
html body footer .grid-row-3 .module-newsletter-67 .module-title {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}
html body footer .grid-row-3 .module-newsletter-67 .newsletter-text {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 14px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .input-group {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
html body footer .grid-row-3 .module-newsletter-67 .input-group-btn {
  display: contents !important;
}
html body footer .grid-row-3 .module-newsletter-67 input[type=text],
html body footer .grid-row-3 .module-newsletter-67 input[type=email] {
  width: auto !important;
  max-width: none !important;
  flex: 1 1 0px !important;
  min-width: 0 !important;
  border-radius: 8px 0 0 8px !important;
  border: none !important;
  height: 48px !important;
  font-size: 14px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary {
  width: auto !important;
  min-width: auto !important;
  flex: 0 0 auto !important;
  border-radius: 0 8px 8px 0 !important;
  white-space: nowrap !important;
  background: #e87a1e !important;
  border: none !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}
html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary span {
  display: none !important;
}
html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary::after {
  content: 'SUBSCRIBE' !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary::before {
  content: none !important;
}
}
/* Mobile: newsletter input placeholder + spacing tweak */
@media (max-width: 992px) {
html body footer .grid-row-3 .module-newsletter-67 .newsletter-text {
  margin-bottom: 8px !important;
}
html body footer .grid-row-3 .module-newsletter-67 .newsletter-form {
  margin-top: 4px !important;
}
}
/* Popular Now #1177 - force square images (override J3 generated aspect-ratio) */
html.route-common-home .module-info_blocks-1177 .info-block-img { aspect-ratio: 1 / 1 !important; object-fit: contain !important; }
/* Compact list view - SupplyHouse style */
.product-list .product-layout { min-height: auto !important; }
.product-list .product-layout .product-thumb { gap: 16px; align-items: stretch; padding: 14px 0; border-bottom: 1px solid #e8e8e8; }
.product-list .product-layout .image-group { width: 120px !important; min-width: 120px; flex-shrink: 0; }
.product-list .product-layout .image { width: 120px !important; min-width: 120px; }
.product-list .product-layout .image img { width: 120px !important; height: 120px !important; object-fit: contain; }
.product-list .product-layout .product-img { width: 120px !important; height: 120px !important; }
.product-list .product-layout .quickview-button { display: none !important; }
.product-list .product-layout .caption { flex: 1; padding: 0 !important; display: grid !important; grid-template-columns: 1fr 180px; grid-template-rows: auto auto 1fr; gap: 2px 20px !important; align-content: start; }
.product-list .product-layout .stats { grid-column: 1; grid-row: 1; font-size: 12px; color: #666; margin: 0 !important; }
.product-list .product-layout .name { grid-column: 1; grid-row: 2; margin: 0 !important; }
.product-list .product-layout .name a { font-size: 15px !important; font-weight: 600; line-height: 1.3; }
.product-list .product-layout .description { grid-column: 1; grid-row: 3; font-size: 13px; color: #555; line-height: 1.4; max-height: 3em; overflow: hidden; margin: 2px 0 0 !important; align-self: start; }
.product-list .product-layout .price { grid-column: 2; grid-row: 1; font-size: 18px !important; font-weight: 700; margin: 0 !important; text-align: right; justify-self: end; }
.product-list .product-layout .buttons-wrapper { grid-column: 2; grid-row: 2 / 4; margin: 0 !important; align-self: start; justify-self: end; }
.product-list .product-layout .button-group { flex-direction: column !important; gap: 6px; align-items: flex-end !important; }
.product-list .product-layout .btn-cart { padding: 6px 20px !important; font-size: 13px !important; height: auto !important; white-space: nowrap; }
.product-list .product-layout .stepper { height: 28px !important; }
.product-list .product-layout .stepper input { height: 26px !important; }
.product-list .product-layout .cart-group { margin: 0 !important; padding: 0 !important; align-items: center; }
.product-list .product-layout .extra-group { grid-column: 2; grid-row: 4; margin: 2px 0 0 !important; justify-self: end; }
.product-list .product-layout .extra-group .btn-extra { padding: 3px 10px !important; font-size: 12px !important; }
.product-list .product-layout .rating { grid-column: 1; margin: 0 !important; }

/* Hide subcategory pills on all category pages - sidebar filter has the same list. */
.module-categories-1025 { display: none !important; }

/* "Contact Us to Place an Order" CTA shown on PDPs where add-to-cart is disabled. */
.contact-order-cta {
  margin: 16px 0 20px;
  padding: 16px 18px;
  background: #f7f9fc;
  border: 1px solid #d6e0ec;
  border-left: 4px solid #d35400;
  border-radius: 6px;
}
.contact-order-cta .cta-headline {
  font-size: 15px;
  font-weight: 600;
  color: #0a3161;
  margin: 0 0 10px;
}
.contact-order-cta .btn-contact-order {
  display: inline-block;
  padding: 10px 18px;
  background: #0a3161;
  color: #fff !important;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.15s ease;
}
.contact-order-cta .btn-contact-order:hover {
  background: #d35400;
}
.contact-order-cta .btn-contact-order .fa { margin-right: 6px; }
.contact-order-cta .cta-phone {
  display: inline-block;
  margin-left: 14px;
  font-size: 15px;
  color: #0a3161;
}
.contact-order-cta .cta-phone a {
  color: #0a3161;
  font-weight: 600;
  text-decoration: none;
}
.contact-order-cta .cta-phone a:hover { color: #d35400; }
.contact-order-cta .cta-phone .fa { margin-right: 4px; }
@media (max-width: 600px) {
  .contact-order-cta .cta-phone { display: block; margin: 10px 0 0; }
}

/* Manufacturer page - compact grid */
.route-product-manufacturer .manufacturer { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; margin-bottom: 0; }
.route-product-manufacturer .manufacturer > div { padding: 0; }
.route-product-manufacturer .image-card { padding: 12px; border: 1px solid #e8e8e8; border-radius: 8px; background: #fff; transition: box-shadow 0.2s ease; width: 100%; }
.route-product-manufacturer .image-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.route-product-manufacturer .image-card img { max-height: 80px; object-fit: contain; }
.route-product-manufacturer .image-card > span { font-size: 13px; font-weight: 600; max-width: none; }

/* === NEWSLETTER -> PHONE CTA CONVERSION === */
/* Hide email input, show button span, remove SUBSCRIBE text */
footer .module-newsletter-67 input[type=email],
footer .module-newsletter-67 input[type=text],
footer .module-newsletter-67 .form-control,
footer .module-newsletter-67 .sr-only,
footer .module-newsletter-67 label[for*=newsletter] {
  display: none !important;
}
footer .module-newsletter-67 .btn.btn-primary span {
  display: inline !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
}
footer .module-newsletter-67 .btn.btn-primary::after {
  content: none !important;
}
footer .module-newsletter-67 .btn.btn-primary {
  border-radius: 6px !important;
  cursor: pointer !important;
  min-width: 200px !important;
  text-align: center !important;
  font-size: 15px !important;
  padding: 12px 24px !important;
}
footer .module-newsletter-67 .newsletter-form,
footer .module-newsletter-67 form,
footer .module-newsletter-67 .input-group {
  justify-content: flex-end !important;
}
footer .module-newsletter-67 .input-group {
  display: block !important;
}
@media (max-width: 767px) {
  html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary::after {
    content: none !important;
  }
  html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary span {
    display: inline !important;
  }
  html body footer .grid-row-3 .module-newsletter-67 input[type=email],
  html body footer .grid-row-3 .module-newsletter-67 input[type=text] {
    display: none !important;
  }
  html body footer .grid-row-3 .module-newsletter-67 .input-group {
    display: block !important;
  }
  html body footer .grid-row-3 .module-newsletter-67 .btn.btn-primary {
    border-radius: 6px !important;
    width: 100% !important;
  }
}

/* Contact form submit button alignment */
.module-form-20 .buttons { justify-content: flex-end; }
/* Breadcrumb styling: contact + all-categories pages to match brands */
.route-information-contact .breadcrumbs { padding: 12px 0 !important; } html.layout-8.route-information-contact .page-title { display: block !important; }
.route-product-category.category- #product-category.container { margin-top: 0 !important; }
.route-product-category.category- #product-category > .breadcrumb { background: var(--j-color-scheme-background-tertiary, #f5f6f8); padding: 10px 15px !important; margin: 0 -15px; width: calc(100% + 30px); }
/* Hide sidebar logo on All Categories and All Brands pages */
.route-product-category.category- #column-left,
.route-product-manufacturer #column-left { display: none !important; }
.route-product-category.category- #column-left + #content,
.route-product-category.category- #content,
.route-product-manufacturer #column-left + #content,
.route-product-manufacturer #content { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }

/* All Categories tile cohesion: bound every tile with a uniform card so the tile, not the image, defines the edge. */
.route-product-category.category- .category-thumb {
  background: #ffffff;
  border: 1px solid #cfd4db;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(10,49,97,.06);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.route-product-category.category- .category-thumb:hover {
  box-shadow: 0 8px 20px rgba(10,49,97,.16);
  border-color: #0a3161;
  transform: translateY(-2px);
}
.route-product-category.category- .category-thumb .image {
  padding: 12px;
  background: #fff;
}
.route-product-category.category- .category-thumb .caption {
  padding: 12px 14px;
  border-top: 1px solid #e5e7eb;
  background: #f7f9fc;
}

/* =========================================================================
   Mobile drawer refactor (2026-05-07)
   Unify Products (mod 1152), Our Brands + Custom Links (mod 1067 inside grid 821),
   and inject search bar + store info chrome via header.twig HTML hooks.
   ========================================================================= */

/* --- Visual unification: drop the inset card around grid-821 ------------- */
.mobile-main-menu-container { background: #fff !important; }

.mobile-main-menu-container .module-grid-821 {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.mobile-main-menu-container .module-grid-821 [class*="grid-rows-row"],
.mobile-main-menu-container .module-grid-821 .grid-items,
.mobile-main-menu-container .module-grid-821 .grid-item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Modules 1152 (Products) + 1067 (Custom Links): scrub their own card chrome */
.mobile-main-menu-container .accordion-menu-1152,
.mobile-main-menu-container .accordion-menu-1067 {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
}

/* --- Top-level accordion rows: equal sizing, single divider style -------- */
.mobile-main-menu-container .accordion-menu-1152 > ul > li.accordion-menu-item,
.mobile-main-menu-container .accordion-menu-1067 > ul > li.accordion-menu-item,
.mobile-main-menu-container .accordion-menu-1152 > li.accordion-menu-item,
.mobile-main-menu-container .accordion-menu-1067 > li.accordion-menu-item {
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  margin: 0 !important;
}

.mobile-main-menu-container .accordion-menu-1152 > ul > li.accordion-menu-item > a,
.mobile-main-menu-container .accordion-menu-1067 > ul > li.accordion-menu-item > a,
.mobile-main-menu-container .accordion-menu-1152 > li.accordion-menu-item > a,
.mobile-main-menu-container .accordion-menu-1067 > li.accordion-menu-item > a {
  padding: 16px 20px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #0a3161 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 52px !important;
  box-sizing: border-box !important;
}

/* Sub-items (Products → categories, Our Brands → manufacturers) */
.mobile-main-menu-container .accordion-menu .collapse .menu-item > a {
  padding: 12px 20px 12px 32px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1f2937 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
}
.mobile-main-menu-container .accordion-menu .collapse .menu-item {
  border-bottom: 1px solid #f1f3f5 !important;
}
.mobile-main-menu-container .accordion-menu .collapse .menu-item:last-child {
  border-bottom: 0 !important;
}

/* Chevron uniformity */
.mobile-main-menu-container .accordion-menu .open-menu {
  color: #d35400 !important;
  background: transparent !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* --- Search bar (injected into header.twig as .ls-mobile-drawer-search) -- */
.ls-mobile-drawer-search {
  padding: 12px 16px 14px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}
.ls-mobile-drawer-search form {
  display: flex;
  align-items: stretch;
  background: #fff;
  border: 1px solid #cfd4db;
  border-radius: 6px;
  overflow: hidden;
}
.ls-mobile-drawer-search input[type="text"] {
  flex: 1;
  border: 0;
  outline: 0;
  padding: 10px 12px;
  font-size: 15px;
  background: transparent;
  color: #0a3161;
}
.ls-mobile-drawer-search input[type="text"]::placeholder {
  color: #6b7280;
}
.ls-mobile-drawer-search button {
  border: 0;
  background: #0a3161;
  color: #fff;
  padding: 0 16px;
  font-size: 16px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ls-mobile-drawer-search button:hover {
  background: #d35400;
}

/* --- Store info card (injected as .ls-mobile-drawer-stores) -------------- */
.ls-mobile-drawer-stores {
  padding: 18px 20px;
  background: #f8fafc;
  border-top: 1px solid #e5e7eb;
  font-size: 14px;
  line-height: 1.45;
  color: #1f2937;
}
.ls-mobile-drawer-stores .ls-stores-heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #0a3161;
  margin: 0 0 10px;
}
.ls-mobile-drawer-stores .ls-store {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 12px;
}
.ls-mobile-drawer-stores .ls-store:last-of-type {
  margin-bottom: 10px;
}
.ls-mobile-drawer-stores .ls-store-name {
  font-weight: 700;
  color: #0a3161;
  font-size: 15px;
}
.ls-mobile-drawer-stores .ls-store-addr {
  color: #4b5563;
  text-decoration: none;
}
.ls-mobile-drawer-stores a.ls-store-addr:hover {
  color: #0a3161;
  text-decoration: underline;
}
.ls-mobile-drawer-stores .ls-store-phone {
  color: #d35400;
  font-weight: 600;
  text-decoration: none;
}
.ls-mobile-drawer-stores .ls-store-phone:hover {
  text-decoration: underline;
}
.ls-mobile-drawer-stores .ls-store-hours {
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px solid #e5e7eb;
  font-size: 13px;
  color: #4b5563;
}
.ls-mobile-drawer-stores .ls-store-hours strong {
  color: #0a3161;
}

/* Account row above drawer body (J3 already renders one in mobile-wrapper-top-menu) */
.mobile-main-menu-container .mobile-wrapper-header .mobile-wrapper-top-menu {
  background: #f1f5f9 !important;
}

/* Remove the legacy outline/border that the wrapper-top-menu can pick up */
.mobile-main-menu-container .accordion-menu-1152 > ul,
.mobile-main-menu-container .accordion-menu-1067 > ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Hide spacer + social icons row (UX cleanup 2026-05-07) */
.mobile-main-menu-container .module-grid-821 .grid-module-grid-821-1-1-2,
.mobile-main-menu-container .module-grid-821 .grid-module-grid-821-1-1-3 {
  display: none !important;
}

/* Force the "Shop Products" row to match the same weight/size as siblings.
   Higher-specificity sibling selector to beat any J3 module-level overrides
   that target .accordion-menu-1152 .menu-item directly. */
html.mobile-main-menu-active .mobile-main-menu-container .accordion-menu-1152 .menu-item.mobile-products-root > a,
html .mobile-main-menu-container .accordion-menu-1152 ul.j-menu > li.menu-item > a,
.mobile-main-menu-container .accordion-menu-1152 .menu-item.mobile-products-root > a {
  font-weight: 600 !important;
  font-size: 16px !important;
  font-family: 'Inter Tight', Inter, sans-serif !important;
  padding: 16px 20px !important;
  min-height: 52px !important;
  color: #0a3161 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.mobile-main-menu-container .accordion-menu-1152 .menu-item.mobile-products-root > a .links-text {
  font-weight: 600 !important;
  font-size: 16px !important;
  font-family: 'Inter Tight', Inter, sans-serif !important;
  color: #0a3161 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Out-of-stock button — PDP + listings (2026-05-07) */
.btn-cart.btn-out-of-stock,
.cart-group.is-unavailable .btn-cart {
  background: #e5e7eb !important;
  color: #6b7280 !important;
  border: 1px solid #d1d5db !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  border-radius: 6px;
  min-height: 44px;
  padding: 12px 22px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.btn-cart.btn-out-of-stock:hover,
.cart-group.is-unavailable .btn-cart:hover {
  background: #e5e7eb !important;
  color: #6b7280 !important;
}
/* Force the OOS text to render — override J3's icon-only modes */
.btn-cart.btn-out-of-stock .btn-text,
.cart-group.is-unavailable .btn-cart .btn-text {
  display: inline-block !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  font-size: 13px;
  line-height: 1;
  text-indent: 0 !important;
  overflow: visible !important;
  position: static !important;
  white-space: nowrap;
}
/* Strip J3's pseudo-icons that ride on .btn-cart */
.btn-cart.btn-out-of-stock::before,
.btn-cart.btn-out-of-stock::after,
.cart-group.is-unavailable .btn-cart::before,
.cart-group.is-unavailable .btn-cart::after {
  display: none !important;
  content: none !important;
}
/* PDP cart-group when unavailable: ditch stepper layout, let button stand alone */
.stepper-group.cart-group.is-unavailable {
  display: block;
  width: auto;
}
.stepper-group.cart-group.is-unavailable .btn-cart {
  width: auto;
  min-width: 160px;
}
/* Listing cards — match the regular btn-cart proportions */
.cart-group.is-unavailable {
  width: 100%;
}
.cart-group.is-unavailable .btn-cart {
  width: 100%;
  min-width: 0;
  padding: 10px 14px;
  font-size: 12px;
}

/* Header desktop phone — bigger and bolder so it reads as primary CTA on every page.
   Overrides the inline `<style data-id="header_desktop_classic-1044">` rule (same selector,
   later source order). Bump icon size to match. */
html.desktop-header-active .main-menu-1084 a[href^='tel:'] .links-text {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px !important;
}
html.desktop-header-active .main-menu-1084 a[href^='tel:']::before {
  font-size: 20px !important;
}

/* Mobile: hide hero slideshow pagination dots — they wrap to two rows and
   overlap the bottom of the slide image at narrow widths. Swipe gesture
   still works for navigation. Scoped to module 1170 so brand/testimonial
   carousels keep their dots. */
@media (max-width: 768px) {
  .module-slider-1170 .swiper-pagination {
    display: none !important;
  }
}