/* v130 final catalog and product fixes */
body[data-page="products"] .promoplace-catalog-menu{
  position:relative;
}
body[data-page="products"] .promoplace-hot-cats .category-parent{
  grid-template-columns:1fr auto;
  font-size:14px;
  font-weight:400;
  color:#111;
}
body[data-page="products"] .promoplace-hot-cats .category-parent small{
  display:none;
}
body[data-page="products"] .promoplace-hover-flyout{
  position:absolute;
  left:250px;
  top:0;
  width:230px;
  background:#e4e4e4;
  border:1px solid #d7d7d7;
  box-shadow:0 3px 10px rgba(0,0,0,.16);
  z-index:30;
}
body[data-page="products"] .promoplace-hover-flyout[hidden]{
  display:none;
}
body[data-page="products"] .flyout-subcategory{
  display:grid;
  width:100%;
  grid-template-columns:1fr auto auto;
  gap:8px;
  align-items:center;
  min-height:35px;
  border:0;
  border-bottom:1px solid #d3d3d3;
  background:#e4e4e4;
  color:#333;
  text-align:left;
  padding:8px 14px;
  font-size:14px;
  font-weight:400;
  cursor:pointer;
}
body[data-page="products"] .flyout-subcategory:hover{
  background:#d8d8d8;
}
body[data-page="products"] .flyout-subcategory small{
  font-size:11px;
  color:#666;
}
body[data-page="products"] .flyout-subcategory b{
  color:#fff;
}
body[data-page="products"] .promo-check-row{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:14px;
  line-height:1.5;
  color:#222;
  margin:7px 0;
  font-weight:400;
}
body[data-page="products"] .promo-check-row input{
  width:13px;
  height:13px;
  margin:0;
  flex:0 0 13px;
}
body[data-page="products"] .promo-check-row span,
body[data-page="products"] .promo-check-row small{
  font-weight:400;
}
body[data-page="products"] .promo-check-row small{
  color:#333;
}

body[data-page="product"] .date-with-check .date-inline-row{
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto;
  gap:10px;
  align-items:center;
}
body[data-page="product"] .date-with-check .inline-check{
  display:flex;
  align-items:center;
  gap:6px;
  color:#4f6580;
  font-weight:700;
  white-space:nowrap;
}
body[data-page="product"] .date-with-check .inline-check input{
  width:14px;
  height:14px;
  margin:0;
}
body[data-page="product"] .pp-setup-note{
  font-size:12px;
  line-height:1.55;
  color:#111;
  max-width:1100px;
}

@media (max-width:1180px){
  body[data-page="products"] .promoplace-hover-flyout{
    left:210px;
    width:220px;
  }
}
@media (max-width:760px){
  body[data-page="products"] .promoplace-hot-cats .category-parent small{
    display:none;
  }
  body[data-page="products"] .promo-check-row{
    font-size:14px;
    gap:7px;
    font-weight:400;
  }
  body[data-page="product"] .date-with-check .date-inline-row{
    grid-template-columns:1fr;
  }
  body[data-page="product"] .date-with-check .inline-check{
    margin-top:2px;
  }
}

/* v133: keep the second filter column visually quiet like the left menu */
body[data-page="products"] .filter-block:first-child label,
body[data-page="products"] .promoplace-filter-panel h2,
body[data-page="products"] .promo-filter-group h3,
body[data-page="products"] .promoplace-subcat-heading{
  color:#111;
  font-size:14px;
  line-height:1.25;
  font-weight:400;
}
body[data-page="products"] .promoplace-subcats .category-child,
body[data-page="products"] .promoplace-subcats .category-child.view-all,
body[data-page="products"] .promo-check-row{
  color:#111;
  font-size:14px;
  font-weight:400;
}
body[data-page="products"] .promoplace-subcats .category-child.view-all{
  color:#111;
}
body[data-page="products"] .promo-filter-group{
  margin-top:14px;
  padding-top:12px;
}
body[data-page="products"] .promo-range-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
body[data-page="products"] .promo-range-row label{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  border:1px solid #cfd8e4;
  border-radius:4px;
  height:34px;
  overflow:hidden;
  background:#fff;
}
body[data-page="products"] .promo-range-row label span{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  color:#111;
  font-size:14px;
  font-weight:400;
  border-right:1px solid #d8e4f1;
}
body[data-page="products"] .promo-range-row input,
body[data-page="products"] .promo-qty-input{
  height:34px;
  min-height:34px;
  border:1px solid #cfd8e4;
  border-radius:4px;
  padding:7px 10px;
  font-size:13px;
  font-weight:400;
}
body[data-page="products"] .promo-range-row input{
  border:0;
}

/* v140 final polish: fast catalog flyouts, compact product cards, quiet arrows, and clean footer */
.mobile-catalog-drawer{
  display:none;
  visibility:hidden;
}
@media (max-width:760px){
  .mobile-catalog-drawer{
    display:block;
    visibility:visible;
  }
}
body:not(.mobile-drawer-open) .mobile-catalog-drawer:not(.open){
  pointer-events:none;
}

body[data-page="products"] .catalog-shell{
  grid-template-columns:280px 300px minmax(0,1fr);
  gap:28px;
}
body[data-page="products"] .promoplace-catalog-menu,
body[data-page="products"] .promoplace-hot-cats{
  position:relative;
}
body[data-page="products"] .promoplace-hot-cats{
  width:280px;
  overflow:visible;
}
body[data-page="products"] .category-parent small{
  display:none;
}
body[data-page="products"] .category-parent{
  height:35px;
  min-height:35px;
  padding:0 15px;
  color:#111;
  font-size:14px;
  font-weight:400;
  line-height:35px;
}
body[data-page="products"] .category-parent b{
  color:#fff;
  font-size:16px;
  line-height:1;
}
body[data-page="products"] .category-parent:hover,
body[data-page="products"] .category-parent.active{
  background:#dfdfdf;
  color:#111;
}
body[data-page="products"] .promoplace-hover-flyout{
  position:absolute;
  z-index:80;
  width:270px;
  min-height:0;
  max-height:none;
  padding:0;
  margin:0;
  background:#e1e1e1;
  border:0;
  box-shadow:0 3px 12px rgba(0,0,0,.16);
  overflow:hidden;
}
body[data-page="products"] .flyout-subcategory{
  height:auto;
  min-height:40px;
  width:100%;
  padding:8px 14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  gap:8px;
  align-items:center;
  color:#333;
  background:#e1e1e1;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.22);
  font-size:14px;
  font-weight:400;
  line-height:1.25;
  text-align:left;
}
body[data-page="products"] .flyout-subcategory:hover{
  background:#d7d7d7;
}
body[data-page="products"] .flyout-subcategory small{
  display:none;
}
body[data-page="products"] .flyout-subcategory b{
  justify-self:end;
  color:#fff;
  font-size:16px;
}

body[data-page="products"] .promoplace-filter-panel h2,
body[data-page="products"] .promo-filter-group h3{
  color:#2b58b3;
  font-size:18px;
  font-weight:400;
  margin:0 0 10px;
}
body[data-page="products"] .promo-check-row{
  gap:5px;
  min-height:22px;
  margin:0;
  color:#222;
  font-size:13px;
  font-weight:400;
}
body[data-page="products"] .promo-check-row input{
  width:13px;
  height:13px;
  margin:0;
}
body[data-page="products"] .promo-check-row span,
body[data-page="products"] .promo-check-row small{
  font-weight:400;
}
body[data-page="products"] .promo-show-more{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0;
  border:0;
  background:transparent;
  color:#333;
  font-size:12px;
  font-weight:400;
}
body[data-page="products"] .promo-show-more::before{
  content:"v";
  margin-right:5px;
  color:#2b58b3;
}

body[data-page="products"] .product-grid.grid-view{
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:54px 46px;
}
body[data-page="products"] .promoplace-card,
body[data-page="products"] .product-card{
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#fff;
  min-height:0;
  overflow:visible;
}
body[data-page="products"] .promoplace-card .product-media,
body[data-page="products"] .product-card .product-media{
  height:230px;
  padding:0;
  background:#fff;
  border:0;
}
body[data-page="products"] .promoplace-card .product-card-body,
body[data-page="products"] .product-card .product-card-body{
  padding:10px 0 0;
  min-height:0;
}
body[data-page="products"] .promoplace-card h3,
body[data-page="products"] .product-card h3{
  color:#000;
  font-size:14px;
  font-weight:800;
  line-height:1.25;
  margin:0 0 8px;
  max-width:250px;
  -webkit-line-clamp:2;
}
body[data-page="products"] .product-item-line{
  color:#555;
  font-size:11px;
  margin-bottom:8px;
}
body[data-page="products"] .product-price-line{
  color:#111;
  font-size:13px;
  font-weight:400;
}

body[data-page="product"] .pp-breadcrumb{
  font-size:16px;
  gap:18px;
  margin:0 0 22px;
}
body[data-page="product"] .pp-product-layout{
  gap:40px;
}
body[data-page="product"] .pp-gallery-arrow,
body[data-page="product"] .pp-like-arrow{
  width:30px;
  height:46px;
  border:0;
  background:transparent;
  color:#a5a5a5;
  box-shadow:none;
  font-size:36px;
  font-weight:300;
  line-height:1;
  padding:0;
}
body[data-page="product"] .pp-gallery-arrow:hover,
body[data-page="product"] .pp-like-arrow:hover{
  color:#222;
  background:transparent;
}
body[data-page="product"] .pp-thumbs-wrap{
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:8px;
}
body[data-page="product"] .pp-price-block{
  max-width:760px;
}
body[data-page="product"] .pp-price-block h2{
  font-size:18px;
  line-height:1.2;
  margin:0 0 10px;
  text-transform:uppercase;
}
body[data-page="product"] .pp-price-scroll{
  max-width:760px;
  overflow-x:auto;
}
body[data-page="product"] .pp-price-table{
  width:100%;
  min-width:620px;
  border-collapse:collapse;
  font-size:13px;
}
body[data-page="product"] .pp-price-table th,
body[data-page="product"] .pp-price-table td{
  padding:10px 14px;
}
body[data-page="product"] .pp-price-table th:first-child{
  width:130px;
}
body[data-page="product"] .pp-setup-note{
  max-width:820px;
  font-size:12px;
  line-height:1.55;
}
body[data-page="product"] .pp-request-row{
  margin:14px 0 10px;
}
body[data-page="product"] .pp-full-quote-form{
  max-width:900px;
  margin-top:12px;
  padding:18px;
  border:1px solid #cddbeb;
  border-radius:6px;
  background:#fff;
}
body[data-page="product"] .pp-full-quote-form label{
  color:#0d2342;
  font-size:13px;
  font-weight:700;
}
body[data-page="product"] .pp-full-quote-form input,
body[data-page="product"] .pp-full-quote-form select,
body[data-page="product"] .pp-full-quote-form textarea{
  width:100%;
  height:42px;
  border:1px solid #cddbeb;
  border-radius:4px;
  padding:8px 10px;
  font:inherit;
  color:#0d2342;
  background:#fff;
}
body[data-page="product"] .pp-full-quote-form textarea{
  height:auto;
  min-height:110px;
}
body[data-page="product"] .date-inline-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
body[data-page="product"] .inline-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font-size:13px;
  color:#4e6078;
}
body[data-page="product"] .inline-check input{
  width:14px;
  height:14px;
}
body[data-page="product"] .pp-like-strip{
  margin:18px auto 0;
  max-width:1280px;
  min-height:0;
  padding:14px 42px 22px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#fff;
}
body[data-page="product"] .pp-like-strip h2{
  margin:0 0 16px;
  font-size:15px;
  font-weight:400;
  color:#111;
}
body[data-page="product"] .pp-like-row{
  gap:28px;
  padding-bottom:0;
}
body[data-page="product"] .pp-like-card{
  flex:0 0 170px;
  min-height:0;
  border:0;
  box-shadow:none;
}
body[data-page="product"] .pp-like-card .product-media{
  height:132px;
  background:#fff;
  border-bottom:1px solid #d8e4f1;
  padding:0;
}
body[data-page="product"] .pp-like-card .product-card-body{
  padding:8px 0 0;
}
body[data-page="product"] .pp-like-card h3{
  color:#000;
  font-size:12px;
  line-height:1.25;
  font-weight:800;
  -webkit-line-clamp:2;
}
body[data-page="product"] .pp-like-arrow{
  top:50%;
}

body[data-page="about"] img,
body[data-page="solutions"] img,
body[data-page="logo-service"] img{
  content-visibility:auto;
}

@media (max-width:1180px){
  body[data-page="products"] .catalog-shell{
    grid-template-columns:240px 270px minmax(0,1fr);
    gap:22px;
  }
  body[data-page="products"] .promoplace-hot-cats{
    width:240px;
  }
}

@media (max-width:760px){
  body[data-page="products"] .catalog-shell{
    display:block;
  }
  body[data-page="products"] .promoplace-hover-flyout{
    display:none;
  }
  body[data-page="products"] .product-grid.grid-view{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 18px;
  }
  body[data-page="products"] .promoplace-card .product-media,
  body[data-page="products"] .product-card .product-media{
    height:170px;
  }
  body[data-page="product"] .pp-breadcrumb{
    font-size:14px;
    gap:10px;
  }
  body[data-page="product"] .pp-price-block,
  body[data-page="product"] .pp-price-scroll{
    max-width:100%;
  }
  body[data-page="product"] .pp-full-quote-form{
    padding:14px;
  }
  body[data-page="product"] .date-inline-row{
    grid-template-columns:1fr;
  }
  body[data-page="product"] .pp-like-strip{
    padding:12px 34px 18px;
  }
}

/* v139: faster category flyouts and cleaner Promoplace-style product detail galleries */
body[data-page="products"] .promoplace-catalog-menu{
  position:relative;
  overflow:visible;
}
body[data-page="products"] .promoplace-hover-flyout{
  position:absolute;
  left:100%;
  top:0;
  width:260px;
  z-index:40;
  background:#e5e5e5;
  border:0;
  border-radius:0;
  box-shadow:0 3px 10px rgba(0,0,0,.16);
  padding:0;
  transform:translateZ(0);
  will-change:transform, opacity;
}
body[data-page="products"] .promoplace-hover-flyout[hidden]{
  display:none;
}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 14px;
  gap:10px;
  align-items:center;
  width:100%;
  min-height:42px;
  padding:9px 16px;
  border:0;
  border-bottom:1px solid rgba(0,0,0,.06);
  background:#e5e5e5;
  color:#333;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
  text-align:left;
  cursor:pointer;
}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory:hover{
  background:#dcdcdc;
}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory span{
  overflow:hidden;
  text-overflow:ellipsis;
}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory small{
  display:none;
}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory b{
  color:#fff;
  font-size:14px;
  font-weight:700;
}

body[data-page="product"] .pp-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  margin:4px 0 34px;
  color:#111;
  font-size:16px;
  line-height:1.4;
  font-weight:400;
}
body[data-page="products"] .catalog-breadcrumb{
  gap:12px;
  font-size:14px;
  line-height:1.4;
}
body[data-page="products"] .catalog-breadcrumb a,
body[data-page="products"] .catalog-breadcrumb span,
body[data-page="products"] .catalog-breadcrumb b{
  color:#111;
  font-size:14px;
  font-weight:400;
  text-decoration:none;
}
body[data-page="product"] .pp-breadcrumb a,
body[data-page="product"] .pp-breadcrumb span{
  color:#111;
  font-size:16px;
  font-weight:400;
  text-decoration:none;
}
body[data-page="product"] .pp-breadcrumb a:hover{
  color:#2f5dbc;
}
body[data-page="product"] .pp-product-layout{
  gap:44px;
}
body[data-page="product"] .pp-logo-links{
  gap:14px;
  margin:10px 0 18px;
  color:#9a9a9a;
  font-size:13px;
}
body[data-page="product"] .pp-thumbs-wrap{
  grid-template-columns:54px minmax(0,1fr) 54px;
  gap:12px;
  margin-top:12px;
}
body[data-page="product"] .pp-thumbs{
  gap:28px;
  padding:10px 0 14px;
  scroll-behavior:smooth;
}
body[data-page="product"] .pp-gallery-arrow,
body[data-page="product"] .pp-like-arrow{
  border:0;
  background:transparent;
  box-shadow:none;
  color:#111;
  font-family:Arial, Helvetica, sans-serif;
  font-size:42px;
  font-weight:400;
  line-height:1;
  opacity:1;
  cursor:pointer;
}
body[data-page="product"] .pp-gallery-arrow:hover,
body[data-page="product"] .pp-like-arrow:hover{
  color:#777;
}
body[data-page="product"] .pp-thumbs button{
  flex:0 0 118px;
  width:118px;
  height:92px;
}
body[data-page="product"] .pp-thumbs img{
  width:118px;
  height:92px;
}
body[data-page="product"] .pp-price-block h2{
  text-transform:uppercase;
}
body[data-page="product"] .pp-like-strip{
  position:relative;
  max-width:100%;
  padding:26px 76px 36px;
  overflow:hidden;
}
body[data-page="product"] .pp-like-strip h2{
  margin:0 0 18px;
  color:#111;
  font-size:16px;
  font-weight:400;
}
body[data-page="product"] .pp-like-row{
  display:flex;
  gap:28px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
body[data-page="product"] .pp-like-row::-webkit-scrollbar{
  display:none;
}
body[data-page="product"] .pp-like-card{
  flex:0 0 210px;
  border:0;
  box-shadow:none;
  background:#fff;
}
body[data-page="product"] .pp-like-card .product-media{
  height:180px;
  border:0;
  background:#fff;
}
body[data-page="product"] .pp-like-card .product-card-body{
  padding:10px 0 0;
}
body[data-page="product"] .pp-like-card h3{
  color:#111;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
}
body[data-page="product"] .pp-like-card .product-item-line,
body[data-page="product"] .pp-like-card .product-price-line{
  color:#333;
  font-size:12px;
  font-weight:400;
}
body[data-page="product"] .pp-like-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  width:48px;
  height:72px;
  transform:translateY(-15%);
}
body[data-page="product"] .pp-like-prev{
  left:16px;
}
body[data-page="product"] .pp-like-next{
  right:16px;
}

@media (max-width:760px){
  body[data-page="product"] .pp-breadcrumb{
    gap:10px;
    margin:6px 0 18px;
    font-size:14px;
  }
  body[data-page="product"] .pp-breadcrumb a,
  body[data-page="product"] .pp-breadcrumb span{
    font-size:14px;
  }
  body[data-page="product"] .pp-thumbs-wrap{
    grid-template-columns:38px minmax(0,1fr) 38px;
    gap:4px;
  }
  body[data-page="product"] .pp-gallery-arrow,
  body[data-page="product"] .pp-like-arrow{
    font-size:34px;
  }
  body[data-page="product"] .pp-thumbs{
    gap:16px;
  }
  body[data-page="product"] .pp-thumbs button,
  body[data-page="product"] .pp-thumbs img{
    width:82px;
    height:68px;
    flex-basis:82px;
  }
  body[data-page="product"] .pp-like-strip{
    padding:20px 44px 28px;
  }
  body[data-page="product"] .pp-like-card{
    flex-basis:160px;
  }
  body[data-page="product"] .pp-like-card .product-media{
    height:138px;
  }
}

/* v137 final override: keep new catalog rules last */
body[data-page="products"] .promoplace-hot-cats .category-parent small{display:none}
body[data-page="products"] .promoplace-filter-panel,
body[data-page="products"] .promo-filter-group,
body[data-page="products"] .promo-check-row,
body[data-page="products"] .promo-check-row span,
body[data-page="products"] .promo-check-row small{font-weight:400}
body[data-page="products"] .promo-check-row{display:flex;align-items:center;gap:6px;min-height:22px;color:#222;font-size:13px;line-height:1.25}
body[data-page="products"] .promo-check-row input{flex:0 0 auto;width:13px;height:13px;margin:0}
body[data-page="products"] .promo-check-row small{color:#444}
body[data-page="products"] .promo-filter-group h3,
body[data-page="products"] .promoplace-filter-panel h2,
body[data-page="products"] .promoplace-subcat-heading{font-size:17px;line-height:1.2;font-weight:400;color:#315aa3}
body[data-page="products"] .product-grid.grid-view{gap:58px 48px}
body[data-page="products"] .promoplace-card{content-visibility:auto;contain-intrinsic-size:320px 360px}
body[data-page="products"] .promoplace-card .product-media{aspect-ratio:1.05/1}
body[data-page="products"] .promoplace-card h3{font-size:14px;line-height:1.22;margin-bottom:7px;-webkit-line-clamp:2}
body[data-page="products"] .product-item-line{font-size:11px;margin-bottom:6px}
body[data-page="products"] .product-price-line{font-size:13px;color:#111;min-height:18px}
body[data-page="products"] .promo-show-more{border:0;background:transparent;padding:0;color:#333;font-size:12px;font-weight:400;box-shadow:none}
body[data-page="products"] .promo-show-more::before{font-size:12px;color:#315aa3}
@media (max-width:760px){
  body[data-page="products"] .promoplace-card{contain-intrinsic-size:260px 330px}
  body[data-page="products"] .product-grid.grid-view{gap:32px 20px}
}

/* v135: polish filters, list cards, pricing, and quote form after product-detail refactor */
body[data-page="products"] .promo-show-more{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:0;
  background:transparent;
  color:#333;
  padding:6px 0;
  margin:4px 0 0;
  font:400 13px/1.2 Arial, Helvetica, sans-serif;
  cursor:pointer;
}
body[data-page="products"] .promo-show-more::before{
  content:"v";
  color:#315fae;
  font-size:13px;
}
body[data-page="products"] .promo-check-row{
  gap:6px;
  line-height:1.35;
}
body[data-page="products"] .promo-check-row input{
  width:13px;
  height:13px;
  margin:1px 0 0;
}
body[data-page="products"] .promo-check-row span{
  color:#111;
  font-weight:400;
}
body[data-page="products"] .promo-check-row small{
  color:#333;
  font-weight:400;
}
body[data-page="products"] .promoplace-card .product-title-link,
body[data-page="products"] .promoplace-card .product-title-link:visited,
body[data-page="products"] .promoplace-card .product-title-link:hover{
  color:#000;
  text-decoration:none;
}
body[data-page="products"] .promoplace-card h3{
  color:#000;
}
body[data-page="product"] .pp-price-block{
  margin:24px 0 12px;
}
body[data-page="product"] .pp-price-block h2{
  margin:0 0 8px;
  color:#333;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  text-transform:uppercase;
}
body[data-page="product"] .pp-price-scroll{
  width:100%;
  overflow-x:auto;
  border:1px solid #cfcfcf;
  background:#fff;
}
body[data-page="product"] .pp-price-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  table-layout:fixed;
  font-family:Arial, Helvetica, sans-serif;
}
body[data-page="product"] .pp-price-table th,
body[data-page="product"] .pp-price-table td{
  border:1px solid #cfcfcf;
  padding:12px 14px;
  color:#111;
  font-size:14px;
  line-height:1.2;
  text-align:center;
  background:#fff;
}
body[data-page="product"] .pp-price-table th{
  width:130px;
  text-align:left;
  font-weight:800;
  background:#f3f3f3;
}
body[data-page="product"] .pp-price-table tr:first-child td{
  font-weight:800;
  background:#f3f3f3;
}
body[data-page="product"] .pp-setup-note{
  margin:14px 0 18px;
  max-width:980px;
  color:#111;
  font-size:13px;
  line-height:1.55;
}
body[data-page="product"] .pp-request-row{
  margin:10px 0 12px;
}
body[data-page="product"] .pp-quote-toggle{
  min-width:170px;
  height:44px;
  border-radius:8px;
  font-size:15px;
  font-weight:800;
}
body[data-page="product"] .pp-full-quote-form{
  display:block;
  margin:12px 0 36px;
  padding:22px;
  border:1px solid #cfe0f4;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 34px rgba(10,42,84,.08);
  max-width:980px;
}
body[data-page="product"] .pp-full-quote-form[hidden]{
  display:none;
}
body[data-page="product"] .pp-quote-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
  align-items:start;
}
body[data-page="product"] .pp-full-quote-form label{
  display:grid;
  gap:7px;
  margin:0;
  color:#071832;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
}
body[data-page="product"] .pp-full-quote-form label.wide{
  grid-column:1/-1;
}
body[data-page="product"] .pp-full-quote-form input,
body[data-page="product"] .pp-full-quote-form select,
body[data-page="product"] .pp-full-quote-form textarea{
  display:block;
  width:100%;
  min-width:0;
  min-height:42px;
  border:1px solid #c8d8eb;
  border-radius:6px;
  padding:10px 12px;
  background:#fff;
  color:#071832;
  font:400 14px/1.25 Arial, Helvetica, sans-serif;
  box-sizing:border-box;
}
body[data-page="product"] .pp-full-quote-form textarea{
  min-height:118px;
  resize:vertical;
}
body[data-page="product"] .date-inline-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
body[data-page="product"] .inline-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:#304966;
  font-size:14px;
  font-weight:700;
}
body[data-page="product"] .inline-check input{
  width:14px;
  height:14px;
  min-height:14px;
  padding:0;
}
body[data-page="product"] .pp-full-quote-form .btn{
  margin-top:16px;
  min-width:180px;
  height:44px;
  border-radius:8px;
  font-size:14px;
  font-weight:800;
}
@media (max-width:760px){
  body[data-page="home"] .mobile-home-search button{
    width:58px;
    min-width:58px;
    font-size:14px;
    letter-spacing:.04em;
  }
  body[data-page="product"] .pp-full-quote-form{
    padding:16px;
  }
  body[data-page="product"] .pp-quote-grid{
    grid-template-columns:1fr;
  }
  body[data-page="product"] .date-inline-row{
    grid-template-columns:1fr;
  }
  body[data-page="product"] .pp-price-table th,
  body[data-page="product"] .pp-price-table td{
    padding:10px 12px;
    font-size:13px;
  }
}

/* v137: final catalog polish and lighter rendering */
body[data-page="products"] .promoplace-hot-cats .category-parent small{
  display:none;
}
body[data-page="products"] .promoplace-filter-panel,
body[data-page="products"] .promo-filter-group,
body[data-page="products"] .promo-check-row,
body[data-page="products"] .promo-check-row span,
body[data-page="products"] .promo-check-row small{
  font-weight:400;
}
body[data-page="products"] .promo-check-row{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  color:#222;
  font-size:13px;
  line-height:1.25;
}
body[data-page="products"] .promo-check-row input{
  flex:0 0 auto;
  width:13px;
  height:13px;
  margin:0;
}
body[data-page="products"] .promo-check-row small{
  color:#444;
}
body[data-page="products"] .promo-filter-group h3,
body[data-page="products"] .promoplace-filter-panel h2,
body[data-page="products"] .promoplace-subcat-heading{
  font-size:18px;
  line-height:1.2;
  font-weight:400;
  color:#315aa3;
}
body[data-page="products"] .product-grid.grid-view{
  gap:58px 48px;
}
body[data-page="products"] .promoplace-card{
  content-visibility:auto;
  contain-intrinsic-size:320px 360px;
}
body[data-page="products"] .promoplace-card .product-media{
  aspect-ratio:1.05/1;
}
body[data-page="products"] .promoplace-card h3{
  font-size:14px;
  line-height:1.22;
  margin-bottom:7px;
  -webkit-line-clamp:2;
}
body[data-page="products"] .product-item-line{
  font-size:11px;
  margin-bottom:6px;
}
body[data-page="products"] .product-price-line{
  font-size:13px;
  color:#111;
  min-height:18px;
}
body[data-page="products"] .promo-show-more{
  border:0;
  background:transparent;
  padding:0;
  color:#333;
  font-size:12px;
  font-weight:400;
  box-shadow:none;
}
body[data-page="products"] .promo-show-more::before{
  font-size:12px;
  color:#315aa3;
}
@media (max-width:760px){
  body[data-page="products"] .promoplace-card{
    contain-intrinsic-size:260px 330px;
  }
  body[data-page="products"] .product-grid.grid-view{
    gap:32px 20px;
  }
}

/* v132 recovery: compact Promoplace-style catalog and product detail */
body[data-page="products"]{
  font-family:Arial, Helvetica, sans-serif;
  color:#111;
  background:#fff;
}
body[data-page="products"] .page-hero.compact-hero{
  display:none;
}
body[data-page="products"] .catalog-shell{
  display:grid;
  grid-template-columns:250px 330px minmax(0,1fr);
  gap:28px;
  max-width:none;
  width:100%;
  padding:20px 18px 70px;
  align-items:start;
  background:#fff;
}
body[data-page="products"] .filters{
  display:contents;
  position:static;
  border:0;
  box-shadow:none;
  background:transparent;
  padding:0;
}
body[data-page="products"] .filter-block:first-child{
  grid-column:2;
  grid-row:1;
  margin:0 0 12px;
}
body[data-page="products"] .filter-block:first-child label{
  display:block;
  color:#315aa3;
  font-size:18px;
  font-weight:400;
  margin:0 0 8px;
}
body[data-page="products"] .filter-block:first-child input{
  height:38px;
  border:1px solid #cfd8e4;
  border-radius:4px;
  padding:8px 12px;
  font-size:13px;
}
body[data-page="products"] .filter-block:nth-child(2){
  display:contents;
}
body[data-page="products"] .filter-label{
  display:none;
}
body[data-page="products"] #categoryFilters{
  display:contents;
}
body[data-page="products"] .promoplace-catalog-menu{
  display:contents;
}
body[data-page="products"] .promoplace-hot-cats{
  grid-column:1;
  grid-row:1 / span 2;
  width:250px;
  background:#f1f1f1;
  border:1px solid #e0e0e0;
  align-self:start;
}
body[data-page="products"] .promoplace-menu-title{
  padding:10px 14px;
  color:#1d4fa3;
  background:#fff;
  font-size:14px;
  border-bottom:1px solid #ddd;
  font-weight:400;
}
body[data-page="products"] .promoplace-hot-cats .category-parent{
  display:grid;
  grid-template-columns:1fr auto;
  width:100%;
  min-height:33px;
  padding:7px 14px;
  border:0;
  border-bottom:1px solid #ddd;
  border-radius:0;
  background:#f1f1f1;
  color:#111;
  text-align:left;
  font-size:14px;
  font-weight:400;
  line-height:1.2;
}
body[data-page="products"] .promoplace-hot-cats .category-parent:hover,
body[data-page="products"] .promoplace-hot-cats .category-parent.active{
  background:#e5e5e5;
  color:#111;
}
body[data-page="products"] .promoplace-hot-cats .category-parent small{
  display:none;
}
body[data-page="products"] .promoplace-hot-cats .category-parent b{
  display:block;
  color:#fff;
  font-size:14px;
  font-weight:700;
}
body[data-page="products"] .promoplace-hover-flyout{
  left:250px;
  width:240px;
}
body[data-page="products"] .promoplace-subcats{
  display:block;
  grid-column:2;
  grid-row:2;
  padding:0;
  min-width:0;
  background:#fff;
}
body[data-page="products"] .promoplace-filter-panel{
  display:block;
  padding:0;
  border:0;
  background:#fff;
  box-shadow:none;
}
body[data-page="products"] .promoplace-filter-panel h2,
body[data-page="products"] .promo-filter-group h3,
body[data-page="products"] .promoplace-subcat-heading{
  color:#315aa3;
  font-size:18px;
  line-height:1.2;
  font-weight:400;
  margin:0 0 14px;
}
body[data-page="products"] .promo-filter-search{
  display:none;
}
body[data-page="products"] .promo-filter-group{
  border-top:1px solid #d6d6d6;
  margin:18px 0 0;
  padding:16px 0 0;
}
body[data-page="products"] .promo-check-row{
  gap:6px;
  margin:7px 0;
  font-size:14px;
  line-height:1.25;
  font-weight:400;
  color:#111;
}
body[data-page="products"] .promo-check-row span,
body[data-page="products"] .promo-check-row small{
  font-weight:400;
}
body[data-page="products"] .promo-check-row small{
  color:#111;
}
body[data-page="products"] .promoplace-subcats .category-child{
  font-size:14px;
  font-weight:400;
  min-height:31px;
  padding:6px 0;
}
body[data-page="products"] .promoplace-subcats .category-child.view-all{
  color:#f02b20;
  font-size:15px;
  font-weight:700;
}
body[data-page="products"] .catalog-results{
  grid-column:3;
  grid-row:1 / span 3;
  min-width:0;
}
body[data-page="products"] .catalog-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  margin:0 0 34px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body[data-page="products"] #resultCount{
  margin:0;
  padding:0;
  border:0;
  color:#111;
  font-size:13px;
  line-height:1.45;
}
body[data-page="products"] #resultCount strong{
  display:block;
  margin:22px 0 0;
  color:#111;
  font-size:13px;
  font-weight:400;
}
body[data-page="products"] #resultCount span{
  display:block;
  color:#111;
  font-size:12px;
  font-weight:400;
}
body[data-page="products"] .catalog-breadcrumb{
  margin:0 0 8px;
  gap:7px;
  font-size:13px;
  color:#111;
}
body[data-page="products"] .catalog-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
}
body[data-page="products"] .view-toggle{
  display:none;
}
body[data-page="products"] .sort-control{
  display:flex;
  align-items:center;
  gap:8px;
  color:#111;
  font-size:12px;
  font-weight:400;
  white-space:nowrap;
}
body[data-page="products"] .sort-control select{
  height:34px;
  min-width:78px;
  border:1px solid #cfd8e4;
  border-radius:5px;
  background:#fff;
  color:#111;
  padding:0 28px 0 10px;
  font-size:12px;
}
body[data-page="products"] .product-grid.grid-view{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:70px 54px;
  align-items:start;
}
body[data-page="products"] .promoplace-card{
  display:block;
  min-height:0;
  height:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#fff;
  overflow:visible;
}
body[data-page="products"] .promoplace-card .product-image-link{
  display:block;
}
body[data-page="products"] .promoplace-card .product-media{
  height:auto;
  aspect-ratio:1/1;
  border:0;
  border-radius:0;
  background:#fff;
  padding:0;
}
body[data-page="products"] .promoplace-card .product-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
body[data-page="products"] .promoplace-card .product-card-body{
  display:block;
  min-height:0;
  height:auto;
  padding:11px 0 0;
  border:0;
  background:#fff;
}
body[data-page="products"] .promoplace-card h3{
  min-height:0;
  margin:0 0 9px;
  color:#000;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body[data-page="products"] .product-item-line{
  margin:0 0 8px;
  color:#555;
  font-size:11px;
  line-height:1.2;
}
body[data-page="products"] .product-price-line{
  margin:0;
  color:#111;
  font-size:13px;
  line-height:1.25;
  font-weight:400;
}
body[data-page="products"] .product-card-actions,
body[data-page="products"] .product-card-body > p{
  display:none;
}

body[data-page="product"] .dynamic-product-wrap{
  max-width:none;
  width:100%;
  padding:24px 36px 64px;
  background:#fff;
}
body[data-page="product"] .pp-product-layout{
  display:grid;
  grid-template-columns:minmax(420px,0.95fr) minmax(520px,1.05fr);
  gap:48px;
  align-items:start;
}
body[data-page="product"] .pp-gallery,
body[data-page="product"] .pp-info{
  min-width:0;
}
body[data-page="product"] .pp-main-image{
  min-height:350px;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
body[data-page="product"] .pp-main-image img{
  width:auto;
  height:auto;
  max-width:92%;
  max-height:460px;
  object-fit:contain;
}
body[data-page="product"] .pp-thumbs-wrap{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;
  gap:8px;
  margin-top:16px;
}
body[data-page="product"] .pp-thumbs{
  display:flex;
  gap:18px;
  overflow-x:auto;
  padding:8px 0 12px;
  scrollbar-width:none;
}
body[data-page="product"] .pp-thumbs::-webkit-scrollbar{
  display:none;
}
body[data-page="product"] .pp-gallery-arrow{
  display:flex;
  width:36px;
  height:54px;
  align-items:center;
  justify-content:center;
  border:0;
  background:#fff;
  color:#111;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
body[data-page="product"] .pp-thumbs button{
  flex:0 0 112px;
  width:112px;
  height:86px;
  border:0;
  background:#fff;
  padding:0;
}
body[data-page="product"] .pp-thumbs img{
  width:112px;
  height:86px;
  object-fit:contain;
}
body[data-page="product"] .pp-info h1{
  color:#3f64bf;
  font-size:24px;
  line-height:1.22;
  font-weight:400;
  margin:0 0 8px;
}
body[data-page="product"] .pp-tabs{
  display:flex;
  gap:28px;
  border-bottom:1px solid #d7d7d7;
  margin:20px 0 14px;
}
body[data-page="product"] .pp-tabs button{
  border:0;
  background:#fff;
  color:#254fab;
  padding:0 0 10px;
  font-size:14px;
  font-weight:400;
}
body[data-page="product"] .pp-tabs button.active{
  color:#111;
  border-bottom:1px solid #254fab;
}

@media (max-width:1180px){
  body[data-page="products"] .catalog-shell{
    grid-template-columns:220px 280px minmax(0,1fr);
    gap:22px;
  }
  body[data-page="products"] .promoplace-hot-cats{
    width:220px;
  }
  body[data-page="products"] .promoplace-hover-flyout{
    left:220px;
  }
  body[data-page="products"] .product-grid.grid-view{
    grid-template-columns:repeat(3,minmax(150px,1fr));
    gap:56px 36px;
  }
}

@media (max-width:760px){
  body[data-page="products"] .catalog-shell{
    display:block;
    padding:14px 14px 52px;
  }
  body[data-page="products"] .filter-block:first-child{
    display:block;
    margin-bottom:14px;
  }
  body[data-page="products"] .filter-block:nth-child(2){
    display:none;
  }
  body[data-page="products"] .catalog-toolbar{
    display:block;
    margin-bottom:18px;
  }
  body[data-page="products"] .catalog-actions{
    justify-content:flex-start;
    margin-top:10px;
    overflow-x:auto;
  }
  body[data-page="products"] .product-grid.grid-view{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 18px;
  }
  body[data-page="products"] .promoplace-card h3{
    font-size:15px;
  }
  body[data-page="product"] .dynamic-product-wrap{
    padding:16px 14px 44px;
  }
  body[data-page="product"] .pp-product-layout{
    display:block;
  }
  body[data-page="product"] .pp-main-image{
    min-height:260px;
  }
  body[data-page="product"] .pp-main-image img{
    max-width:100%;
    max-height:340px;
  }
  body[data-page="product"] .pp-thumbs-wrap{
    grid-template-columns:34px minmax(0,1fr) 34px;
  }
  body[data-page="product"] .pp-info h1{
    font-size:22px;
    margin-top:18px;
  }
}

/* v133 final override: second filter column matches the quiet left menu */
body[data-page="products"] .filter-block:first-child label,
body[data-page="products"] .promoplace-filter-panel h2,
body[data-page="products"] .promo-filter-group h3,
body[data-page="products"] .promoplace-subcat-heading{
  color:#111;
  font-size:14px;
  line-height:1.25;
  font-weight:400;
}
body[data-page="products"] .promoplace-subcats .category-child,
body[data-page="products"] .promoplace-subcats .category-child.view-all,
body[data-page="products"] .promo-check-row{
  color:#111;
  font-size:14px;
  font-weight:400;
}
body[data-page="products"] .promoplace-subcats .category-child.view-all{
  color:#111;
}
body[data-page="products"] .promo-filter-group{
  margin-top:14px;
  padding-top:12px;
}
body[data-page="products"] .promo-range-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
body[data-page="products"] .promo-range-row label{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  border:1px solid #cfd8e4;
  border-radius:4px;
  height:34px;
  overflow:hidden;
  background:#fff;
}
body[data-page="products"] .promo-range-row label span{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  color:#111;
  font-size:14px;
  font-weight:400;
  border-right:1px solid #d8e4f1;
}
body[data-page="products"] .promo-range-row input,
body[data-page="products"] .promo-qty-input{
  height:34px;
  min-height:34px;
  border:1px solid #cfd8e4;
  border-radius:4px;
  padding:7px 10px;
  font-size:13px;
  font-weight:400;
}
body[data-page="products"] .promo-range-row input{
  border:0;
}

/* v140.2 final catalog/detail polish */
body[data-page="products"] .category-parent small,
body[data-page="products"] .category-parent .category-count{
  display:none;
}
body[data-page="products"] .promoplace-hover-flyout{
  position:absolute;
  width:240px;
  min-height:0;
  margin:0;
  padding:0;
  background:#e4e4e4;
  box-shadow:0 2px 8px rgba(0,0,0,.16);
  border:0;
  transform:none;
  transition:none;
  will-change:auto;
}
body[data-page="products"] .promoplace-hover-flyout[hidden]{display:none;}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory{
  min-height:38px;
  padding:9px 12px;
  font-size:15px;
  line-height:18px;
  font-weight:400;
  color:#333;
  background:transparent;
  border-bottom:1px solid rgba(0,0,0,.05);
}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory:hover{background:#d8d8d8;}
body[data-page="products"] .secondary-filter-panel,
body[data-page="products"] .filter-panel,
body[data-page="products"] .filter-section{
  font-size:14px;
  font-weight:400;
  color:#111;
}
body[data-page="products"] .filter-section label,
body[data-page="products"] .filter-option,
body[data-page="products"] .filter-row{
  gap:7px;
  font-size:14px;
  font-weight:400;
  color:#111;
  line-height:22px;
}
body[data-page="products"] .filter-section input[type="checkbox"]{
  width:13px;
  height:13px;
  margin:0;
}
body[data-page="products"] .show-more-filter,
body[data-page="products"] .filter-show-more{
  border:0;
  background:transparent;
  color:#333;
  font-size:12px;
  padding:6px 0;
}
body[data-page="products"] .product-card{
  min-height:0;
  height:auto;
}
body[data-page="products"] .product-card-body{
  min-height:0;
  padding-bottom:14px;
}
body[data-page="product"] .pp-price-table,
body[data-page="product"] .pricing-table,
body[data-page="product"] table.price-table{
  width:min(100%, 940px);
  max-width:940px;
  margin-right:auto;
}
body[data-page="product"] .detail-gallery-arrow,
body[data-page="product"] .gallery-arrow,
body[data-page="product"] .thumb-arrow,
body[data-page="product"] .related-arrow,
body[data-page="product"] .pp-like-arrow{
  width:28px;
  height:46px;
  border:0;
  background:transparent;
  color:#777;
  box-shadow:none;
  font-size:34px;
  line-height:1;
  font-weight:400;
  border-radius:0;
}
body[data-page="product"] .detail-gallery-arrow:hover,
body[data-page="product"] .gallery-arrow:hover,
body[data-page="product"] .thumb-arrow:hover,
body[data-page="product"] .related-arrow:hover,
body[data-page="product"] .pp-like-arrow:hover{
  color:#111;
  background:transparent;
}
body[data-page="product"] .pp-like-strip{
  margin:12px auto 0;
  padding:14px 42px 18px;
  max-width:1280px;
  min-height:0;
  border:0;
  box-shadow:none;
  background:#fff;
}
body[data-page="product"] .pp-like-strip h2{
  margin:0 0 12px;
  font-size:15px;
  font-weight:400;
  color:#111;
}
body[data-page="product"] .pp-like-row{
  gap:18px;
  min-height:0;
  align-items:flex-start;
  padding-bottom:6px;
}
body[data-page="product"] .pp-like-card,
body[data-page="product"] .pp-like-card.product-card{
  flex:0 0 168px;
  width:168px;
  min-height:0;
  height:auto;
  border:0;
  box-shadow:none;
  background:#fff;
}
body[data-page="product"] .pp-like-card .product-media{
  height:120px;
  border:0;
  background:#fff;
  padding:0;
}
body[data-page="product"] .pp-like-card .product-card-body{
  min-height:0;
  padding:8px 0 0;
}
body[data-page="product"] .pp-like-card h3{
  min-height:34px;
  margin:0 0 10px;
  font-size:12px;
  line-height:17px;
  color:#111;
}
body[data-page="product"] .pp-like-card .product-item-line,
body[data-page="product"] .pp-like-card .product-price-line{
  font-size:12px;
  line-height:18px;
  color:#444;
}
body:not(.mobile-menu-open) .mobile-catalog-drawer,
body:not(.mobile-menu-open) .mobile-menu-overlay,
body:not(.mobile-menu-open) .mobile-nav-panel{
  display:none;
}
body[data-page="about"] img,
body[data-page="solutions"] img,
body[data-page="logo-service"] img{
  content-visibility:auto;
}
@media (max-width:760px){
  body[data-page="products"] .promoplace-hover-flyout{display:none;}
  body[data-page="product"] .pp-like-strip{padding:12px 22px 16px;}
  body[data-page="product"] .pp-like-card,
  body[data-page="product"] .pp-like-card.product-card{flex-basis:145px;width:145px;}
  body[data-page="product"] .pp-like-card .product-media{height:106px;}
}

/* v140.3 hide category counts in mobile drawers too */
.mobile-catalog-drawer small,
.mobile-catalog-panel small,
.mobile-catalog-drawer .category-count,
.mobile-catalog-panel .category-count,
.mobile-menu-overlay small,
.mobile-nav-panel small{
  display:none;
}

/* v142: compact flyout and English-only date picker */
body[data-page="products"] .promoplace-hover-flyout{
  max-height:min(430px, calc(100vh - 96px));
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
body[data-page="products"] .promoplace-hover-flyout .flyout-subcategory{
  min-height:36px;
  padding:8px 12px;
  font-size:14px;
  line-height:18px;
}
body[data-page="product"] .english-date-field{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
body[data-page="product"] .english-date-field input{
  height:42px;
}
body[data-page="product"] .date-picker-toggle{
  height:42px;
  border:1px solid #cfe0f4;
  border-radius:8px;
  background:#fff;
  color:#0d4f9f;
  font-size:12px;
  font-weight:800;
  padding:0 10px;
  cursor:pointer;
}
body[data-page="product"] .date-picker-toggle:hover{background:#f3f8ff;}
body[data-page="product"] .english-date-panel{
  position:absolute;
  top:48px;
  left:0;
  z-index:70;
  width:292px;
  padding:12px;
  border:1px solid #cfe0f4;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 30px rgba(6,32,70,.16);
}
body[data-page="product"] .english-date-panel[hidden]{display:none;}
body[data-page="product"] .date-panel-head{
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  text-align:center;
}
body[data-page="product"] .date-panel-head strong{
  font-size:14px;
  color:#0d2342;
}
body[data-page="product"] .date-panel-head button,
body[data-page="product"] .date-day{
  border:0;
  border-radius:6px;
  background:#f1f6fd;
  color:#0d2342;
  cursor:pointer;
}
body[data-page="product"] .date-panel-head button{
  height:30px;
  font-size:16px;
}
body[data-page="product"] .date-week,
body[data-page="product"] .date-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
body[data-page="product"] .date-week span{
  text-align:center;
  font-size:11px;
  color:#62758f;
  font-weight:800;
}
body[data-page="product"] .date-day,
body[data-page="product"] .date-empty{
  height:30px;
  display:grid;
  place-items:center;
  font-size:12px;
}
body[data-page="product"] .date-day:hover{
  background:#0f6be8;
  color:#fff;
}
@media (max-width:760px){
  body[data-page="product"] .english-date-field{grid-template-columns:1fr;}
  body[data-page="product"] .english-date-panel{width:min(292px, calc(100vw - 48px));}
}
/* v143 SEO heading: keep a real page H1 without disturbing the poster-first home design. */
.home-seo-heading{max-width:1200px;margin:18px auto 8px;padding:0 20px;font-size:28px;line-height:1.2;color:#092b5d;font-weight:800}
@media (min-width: 761px){.home-seo-heading{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
.seo-loading-title{font-size:32px;line-height:1.2;font-weight:800;color:#092b5d}

/* v144 GEO answer content and localized quote date controls */
.geo-answer-section{
  background:#f7fbff;
  border-top:1px solid #d9e6f5;
  border-bottom:1px solid #d9e6f5;
}
.geo-answer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1180px;
  margin:0 auto;
}
.geo-answer-grid article{
  background:#fff;
  border:1px solid #d7e5f6;
  border-radius:8px;
  padding:22px;
  box-shadow:0 10px 28px rgba(8,35,70,.05);
}
.geo-answer-grid h3{
  margin:0 0 8px;
  color:#082b5d;
  font-size:19px;
  line-height:1.25;
}
.geo-answer-grid p{
  margin:0;
  color:#536985;
  font-size:15px;
  line-height:1.6;
}
.quote-mini-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.quote-mini-nav a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid #bcd4ef;
  border-radius:999px;
  background:#fff;
  color:#0b5fce;
  font-weight:800;
  font-size:14px;
}
.localized-date-field,
body[data-page="product"] .english-date-field{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  width:100%;
}
.localized-date-field input{
  margin-top:0;
}
.date-picker-toggle{
  height:44px;
  min-width:88px;
  border:1px solid #cfe0f4;
  border-radius:6px;
  background:#fff;
  color:#0b5fce;
  font-weight:800;
  cursor:pointer;
}
.date-picker-toggle:hover{
  background:#f3f8ff;
}
.english-date-panel{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  width:312px;
  max-width:calc(100vw - 40px);
  padding:12px;
  border:1px solid #bcd4ef;
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 40px rgba(8,35,70,.16);
  z-index:120;
}
.english-date-panel[hidden]{display:none}
.date-panel-head{
  display:grid;
  grid-template-columns:36px 1fr 36px;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.date-panel-head strong{
  text-align:center;
  color:#082b5d;
  font-size:14px;
}
.date-panel-head button,
.date-day{
  border:1px solid #d7e5f6;
  border-radius:6px;
  background:#fff;
  color:#102846;
  cursor:pointer;
}
.date-panel-head button{height:32px}
.date-week,.date-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.date-week span{
  text-align:center;
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.date-day{
  height:34px;
  font-size:13px;
}
.date-day:hover{
  background:#0b5fce;
  border-color:#0b5fce;
  color:#fff;
}
body[data-page="contact"] .date-choice{
  position:relative;
}
body[data-page="contact"] .quote-form label,
body[data-page="contact"] .form-field .field-label{
  color:#071832;
}
@media (max-width:760px){
  .geo-answer-grid{grid-template-columns:1fr}
  .geo-answer-section{padding:42px 18px}
  .quote-mini-nav{gap:8px}
  .quote-mini-nav a{flex:1 1 auto;justify-content:center}
  .localized-date-field{grid-template-columns:1fr}
  .date-picker-toggle{width:100%}
  .english-date-panel{width:min(312px, calc(100vw - 48px))}
}
/* v160.12: retain the complete homepage experience on small screens. */
@media (max-width:760px){
  body[data-page="home"] .hero-poster-wrap.page-image-hero,
  body[data-page="home"] .process-section,
  body[data-page="home"] .solutions-section,
  body[data-page="home"] .poster-section,
  body[data-page="home"] .logo-service-section,
  body[data-page="home"] .why-section,
  body[data-page="home"] .home-faq-section{display:block!important}
  body[data-page="home"] .hero-poster-wrap.page-image-hero .hero-poster{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
  body[data-page="home"] .process-row,
  body[data-page="home"] .solution-grid,
  body[data-page="home"] .service-grid,
  body[data-page="home"] .why-grid,
  body[data-page="home"] .home-faq-grid{grid-template-columns:1fr!important}
}

/* v160.30 mobile product gallery: keep five thumbnails on one row. */
@media (max-width:760px){
  body[data-page="product"] .pp-thumbs-wrap{
    grid-template-columns:28px minmax(0,1fr) 28px!important;
    gap:2px!important;
  }
  body[data-page="product"] .pp-thumbs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
  }
  body[data-page="product"] .pp-thumbs button{
    flex:0 0 calc((100% - 16px)/5)!important;
    width:calc((100% - 16px)/5)!important;
    min-width:0!important;
    height:58px!important;
    padding:2px!important;
  }
  body[data-page="product"] .pp-thumbs button img,
  body[data-page="product"] .pp-thumbs img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  body[data-page="product"] .pp-gallery-arrow{
    width:28px!important;
    min-width:28px!important;
    height:48px!important;
    font-size:28px!important;
  }
  body[data-page="product"] .thumb-row{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:4px!important;
  }
}

/* v160.40.5 final mobile homepage: compact header/search only; no category
   toggle, duplicated marketing heading, or poster image. */
@media (max-width:760px){
  body[data-page="home"] .home-shop-category,
  body[data-page="home"] .home-seo-heading,
  body[data-page="home"] .hero-poster-wrap,
  body[data-page="home"] .hero-poster-wrap.page-image-hero,
  body[data-page="home"] .hero-poster-wrap.page-image-hero .hero-poster,
  body[data-page="home"] .hero-poster-links{
    display:none!important;
  }
  body[data-page="home"] .home-market-header .menu-toggle{
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    z-index:2!important;
  }
  body[data-page="home"] .home-market-search{
    grid-column:1/-1!important;
    grid-row:2!important;
  }
}
