/* WP BB Home & Garden v4.0.14 — final department grid + smart-filter control polish */
:root{
  --wpbb414-green:#0f7a49;
  --wpbb414-green-dark:#0b603a;
  --wpbb414-green-soft:#eef8f1;
  --wpbb414-green-line:#b8d8c3;
  --wpbb414-track:#dce9e0;
  --wpbb414-ink:#173426;
}

/* -------------------------------------------------------------------------
 * HOME: force the 20 departments into one dense, continuous grid.
 * Older child-theme layers used different grid heights/column rules; reset all
 * per-item placement here so no card can keep an inherited/spanning position.
 * ---------------------------------------------------------------------- */
body.wpbbshop-theme .wpbb-v400-departments{
  padding-top:18px!important;
  margin-top:0!important;
  content-visibility:visible!important;
  contain:none!important;
  min-height:0!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-section-head{
  margin:0 0 7px!important;
  padding:0!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-section-head h2{
  margin:1px 0 0!important;
  line-height:1.04!important;
}
body.wpbbshop-theme .wpbb-v400-dept-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:52px!important;
  grid-auto-flow:row dense!important;
  column-gap:5px!important;
  row-gap:5px!important;
  place-items:stretch!important;
  align-content:start!important;
  justify-content:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
body.wpbbshop-theme .wpbb-v400-dept-grid>.wpbb-v400-dept{
  grid-column:auto!important;
  grid-row:auto!important;
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  float:none!important;
  clear:none!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:52px!important;
  height:52px!important;
  margin:0!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  display:grid!important;
  grid-template-columns:27px minmax(0,1fr)!important;
  grid-template-rows:1fr auto!important;
  column-gap:6px!important;
  row-gap:0!important;
  align-items:center!important;
  overflow:hidden!important;
}
body.wpbbshop-theme .wpbb-v400-dept-grid>.wpbb-v400-dept:hover{
  transform:translateY(-1px)!important;
}
body.wpbbshop-theme .wpbb-v400-dept-grid .wpbb-v400-dept-icon{
  grid-column:1!important;
  grid-row:1/3!important;
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  border-radius:7px!important;
}
body.wpbbshop-theme .wpbb-v400-dept-grid .wpbb-v400-dept-icon svg{
  width:15px!important;
  height:15px!important;
}
body.wpbbshop-theme .wpbb-v400-dept-grid .wpbb-v400-dept strong{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  min-width:0!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.wpbbshop-theme .wpbb-v400-dept-grid .wpbb-v400-dept small{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  margin:1px 0 0!important;
  font-size:8px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.wpbbshop-theme .wpbb-v400-projects{
  margin-top:8px!important;
}

/* -------------------------------------------------------------------------
 * SMART FILTER: clear dual-range presentation.
 * Keep both min/max sliders functional, but present them as two deliberate,
 * labelled tracks rather than tiny dots floating on a tinted strip.
 * ---------------------------------------------------------------------- */
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-filter-more__content{
  gap:10px 12px!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-filter-range-grid{
  gap:5px!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:18px 18px!important;
  gap:5px!important;
  padding:0 0 0 28px!important;
  margin:2px 0 0!important;
  min-height:41px!important;
  overflow:visible!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider:before,
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider:after{
  position:absolute!important;
  left:0!important;
  width:23px!important;
  color:#60766a!important;
  font-size:7px!important;
  line-height:18px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-align:left!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider:before{content:'MIN'!important;top:0!important}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider:after{content:'MAX'!important;top:23px!important}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider input[type=range]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  accent-color:var(--wpbb414-green)!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider input[type=range]::-webkit-slider-runnable-track{
  height:4px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#cfe1d5,#e5eee8)!important;
  box-shadow:inset 0 0 0 1px rgba(15,122,73,.06)!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:14px!important;
  height:14px!important;
  margin-top:-5px!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:var(--wpbb414-green)!important;
  box-shadow:0 0 0 2px var(--wpbb414-green),0 2px 5px rgba(13,67,43,.18)!important;
  cursor:pointer!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider input[type=range]::-moz-range-track{
  height:4px!important;
  border:0!important;
  border-radius:999px!important;
  background:#dce9e0!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider input[type=range]::-moz-range-progress{
  height:4px!important;
  border-radius:999px!important;
  background:#a7ceb5!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-slider input[type=range]::-moz-range-thumb{
  width:10px!important;
  height:10px!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:var(--wpbb414-green)!important;
  box-shadow:0 0 0 2px var(--wpbb414-green),0 2px 5px rgba(13,67,43,.18)!important;
  cursor:pointer!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-values{
  margin-top:0!important;
  padding-left:28px!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-range-values span{
  min-height:18px!important;
  padding:2px 7px!important;
  border-color:#d4e4d9!important;
  background:#f7fbf8!important;
  color:#476055!important;
  font-size:9px!important;
  line-height:12px!important;
  box-shadow:none!important;
}

/* Make the More filters affordance read as a real +/- control, not a dot. */
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-filter-more summary:after{
  content:'+'!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 26px!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  min-height:26px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--wpbb414-green)!important;
  border-radius:8px!important;
  background:var(--wpbb414-green-soft)!important;
  background-image:none!important;
  color:var(--wpbb414-green)!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:24px!important;
  text-indent:0!important;
  overflow:visible!important;
  transform:none!important;
  box-shadow:none!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-filter-more[open] summary:after{
  content:'−'!important;
  background-image:none!important;
  background:var(--wpbb414-green)!important;
  color:#fff!important;
  transform:none!important;
}

/* Main comparison button beside search: readable compare icon and calm state. */
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-search-row{
  grid-template-columns:minmax(0,1fr) 42px!important;
  column-gap:8px!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #9ec9ad!important;
  border-radius:9px!important;
  background:#f4faf6!important;
  color:var(--wpbb414-green)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-icon{
  display:block!important;
  width:21px!important;
  height:21px!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:21px 21px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 7h12m0 0-3-3m3 3-3 3M17 17H5m0 0 3 3m-3-3 3-3' stroke='%230f7a49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-icon svg{display:none!important}
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search:hover{
  border-color:var(--wpbb414-green)!important;
  background:#e7f5eb!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.has-products,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-selected,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-active,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[aria-pressed='true']{
  background:var(--wpbb414-green)!important;
  border-color:var(--wpbb414-green)!important;
  color:#fff!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.has-products .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-selected .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-active .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[aria-pressed='true'] .iws-compare-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 7h12m0 0-3-3m3 3-3 3M17 17H5m0 0 3 3m-3-3 3-3' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-count{
  top:-7px!important;
  right:-7px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border:2px solid #fff!important;
  background:#12354c!important;
  color:#fff!important;
  font-size:9px!important;
  box-shadow:0 2px 6px rgba(12,54,36,.18)!important;
}

/* Product card compare action: same green language as the main compare button. */
body.wpbbshop-theme .iws-compare-toggle{
  border:1px solid #a9cfb6!important;
  background:#fff!important;
  color:var(--wpbb414-green)!important;
  box-shadow:0 2px 8px rgba(15,73,47,.07)!important;
}
body.wpbbshop-theme .iws-compare-toggle svg path{stroke:var(--wpbb414-green)!important}
body.wpbbshop-theme .iws-compare-toggle:hover{
  background:var(--wpbb414-green-soft)!important;
  border-color:var(--wpbb414-green)!important;
}
body.wpbbshop-theme .iws-compare-toggle.is-selected{
  background:var(--wpbb414-green)!important;
  border-color:var(--wpbb414-green)!important;
  color:#fff!important;
}
body.wpbbshop-theme .iws-compare-toggle.is-selected svg path{stroke:#fff!important}

@media(max-width:1180px){
  body.wpbbshop-theme .wpbb-v400-dept-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:820px){
  body.wpbbshop-theme .wpbb-v400-dept-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:54px!important}
  body.wpbbshop-theme .wpbb-v400-dept-grid>.wpbb-v400-dept{height:54px!important;min-height:54px!important}
  body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-filter-range{grid-column:span 6!important}
}
@media(max-width:520px){
  body.wpbbshop-theme .wpbb-v400-dept-grid{grid-template-columns:1fr 1fr!important;column-gap:4px!important;row-gap:4px!important}
  body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-filter-range{grid-column:1/-1!important}
}

/* ========================================================================
 * FULL THEME BUILD — final ownership layer
 * Fix the screenshot regression where old content-visibility intrinsic sizes
 * reserve hundreds of pixels between Departments, project cards and products.
 * Every homepage section now participates in normal document flow.
 * ===================================================================== */
body.wpbbshop-theme .wpbb-v400-home{
  display:block!important;
  width:100%!important;
  min-height:0!important;
}
body.wpbbshop-theme .wpbb-v400-home>.wpbb-v400-shell{
  box-sizing:border-box!important;
  position:relative!important;
  float:none!important;
  clear:both!important;
  min-height:0!important;
  height:auto!important;
}
body.wpbbshop-theme .wpbb-v400-departments,
body.wpbbshop-theme .wpbb-v400-projects,
body.wpbbshop-theme .wpbb-v400-products,
body.wpbbshop-theme .wpbb-v400-services{
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:auto!important;
  min-height:0!important;
  height:auto!important;
}
body.wpbbshop-theme .wpbb-v400-departments{
  padding-top:18px!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body.wpbbshop-theme .wpbb-v400-projects{
  margin-top:12px!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  align-items:stretch!important;
}
body.wpbbshop-theme .wpbb-v400-projects article{
  margin:0!important;
  height:auto!important;
}
body.wpbbshop-theme .wpbb-v400-products{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:24px!important;
  padding-bottom:0!important;
}
body.wpbbshop-theme .wpbb-v400-products:empty{
  display:none!important;
  padding:0!important;
  margin:0!important;
}
body.wpbbshop-theme .wpbb-v400-products + .wpbb-v400-products{
  padding-top:24px!important;
}
body.wpbbshop-theme .wpbb-v400-products .llg-section-head{
  margin-top:0!important;
}
body.wpbbshop-theme .wpbb-v400-services{
  margin-top:30px!important;
}

/* Keep every homepage block on exactly the same horizontal shell alignment. */
body.wpbbshop-theme .wpbb-v400-home>.wpbb-v400-shell{
  width:min(var(--wpbb-v4-shell,1480px),calc(100% - 48px))!important;
  max-width:var(--wpbb-v4-shell,1480px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ------------------------------------------------------------------------
 * Managed policy pages: same shell, heading and card alignment as storefront.
 * --------------------------------------------------------------------- */
body.wpbbshop-theme.llg-v414-managed-info .wpbbshop-page-shell,
body.wpbbshop-theme .llg-v414-virtual-info{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:28px!important;
  padding-bottom:56px!important;
}
body.wpbbshop-theme.llg-v414-managed-info .wpbbshop-page-heading,
body.wpbbshop-theme .llg-v414-virtual-info .wpbbshop-page-heading{
  margin:0 0 16px!important;
}
body.wpbbshop-theme.llg-v414-managed-info .wpbbshop-page-card,
body.wpbbshop-theme .llg-v414-virtual-info .wpbbshop-page-card{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
}
body.wpbbshop-theme.llg-v414-managed-info .llg-info-pro,
body.wpbbshop-theme .llg-v414-virtual-info .llg-info-pro{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.wpbbshop-theme.llg-v414-managed-info .llg-info-cards,
body.wpbbshop-theme .llg-v414-virtual-info .llg-info-cards{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* ------------------------------------------------------------------------
 * Order tracking: centred two-column card on desktop, one column on mobile.
 * Neutralises inherited Woo floats/widths that caused the form to sit left.
 * --------------------------------------------------------------------- */
body.wpbbshop-theme .wpbbshop-track-page{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  min-height:58vh!important;
  margin:0 auto!important;
  padding:28px 0 64px!important;
}
body.wpbbshop-theme .wpbbshop-track-page>.wpbbshop-breadcrumbs{
  margin:0 0 14px!important;
}
body.wpbbshop-theme .wpbbshop-track-card{
  display:grid!important;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)!important;
  gap:34px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:34px!important;
  border:1px solid #dfe7e2!important;
  border-radius:18px!important;
  background:linear-gradient(120deg,#fff,#f5faf6)!important;
  box-shadow:0 12px 34px rgba(18,51,44,.06)!important;
}
body.wpbbshop-theme .wpbbshop-track-copy{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.wpbbshop-theme .wpbbshop-track-copy .wpbbshop-eyebrow{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--wpbb414-green)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
body.wpbbshop-theme .wpbbshop-track-copy h1{
  margin:0 0 12px!important;
  color:#12334a!important;
  font-size:clamp(32px,3vw,46px)!important;
  line-height:1.04!important;
}
body.wpbbshop-theme .wpbbshop-track-copy p{
  margin:0!important;
  max-width:520px!important;
  color:#63736a!important;
  font-size:15px!important;
  line-height:1.6!important;
}
body.wpbbshop-theme .wpbbshop-track-form{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:24px!important;
  border:1px solid #e1e9e4!important;
  border-radius:14px!important;
  background:#fff!important;
}
body.wpbbshop-theme .wpbbshop-track-form .woocommerce,
body.wpbbshop-theme .wpbbshop-track-form .woocommerce-form-track-order{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.wpbbshop-theme .wpbbshop-track-form .woocommerce-form-track-order{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
body.wpbbshop-theme .wpbbshop-track-form .woocommerce-form-track-order>p:first-child{
  grid-column:1/-1!important;
  margin:0 0 2px!important;
  color:#66766e!important;
}
body.wpbbshop-theme .wpbbshop-track-form .form-row,
body.wpbbshop-theme .wpbbshop-track-form .form-row-first,
body.wpbbshop-theme .wpbbshop-track-form .form-row-last{
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.wpbbshop-theme .wpbbshop-track-form label{
  display:block!important;
  margin:0 0 6px!important;
  color:#32483c!important;
  font-size:12px!important;
  font-weight:800!important;
}
body.wpbbshop-theme .wpbbshop-track-form input.input-text{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border:1px solid #d6e2da!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.wpbbshop-theme .wpbbshop-track-form input.input-text:focus{
  border-color:var(--wpbb414-green)!important;
  box-shadow:0 0 0 3px rgba(15,122,73,.12)!important;
  outline:0!important;
}
body.wpbbshop-theme .wpbbshop-track-form .form-row:last-child{
  grid-column:1/-1!important;
}
body.wpbbshop-theme .wpbbshop-track-form button.button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--wpbb414-green)!important;
  color:#fff!important;
  font-weight:850!important;
  box-shadow:none!important;
}
body.wpbbshop-theme .wpbbshop-track-form button.button:hover{
  background:var(--wpbb414-green-dark)!important;
}

@media(max-width:820px){
  body.wpbbshop-theme .wpbb-v400-home>.wpbb-v400-shell{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }
  body.wpbbshop-theme .wpbb-v400-departments{padding-top:15px!important}
  body.wpbbshop-theme .wpbb-v400-projects{margin-top:10px!important}
  body.wpbbshop-theme .wpbb-v400-products,
  body.wpbbshop-theme .wpbb-v400-products + .wpbb-v400-products{padding-top:20px!important}

  body.wpbbshop-theme.llg-v414-managed-info .wpbbshop-page-shell,
  body.wpbbshop-theme .llg-v414-virtual-info,
  body.wpbbshop-theme .wpbbshop-track-page{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }
  body.wpbbshop-theme .wpbbshop-track-page{padding:20px 0 42px!important}
  body.wpbbshop-theme .wpbbshop-track-card{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:22px!important;
  }
  body.wpbbshop-theme .wpbbshop-track-form{padding:18px!important}
  body.wpbbshop-theme .wpbbshop-track-form .woocommerce-form-track-order{grid-template-columns:1fr!important}
  body.wpbbshop-theme .wpbbshop-track-form .woocommerce-form-track-order>*{grid-column:1!important}
  body.wpbbshop-theme.llg-v414-managed-info .llg-info-cards,
  body.wpbbshop-theme .llg-v414-virtual-info .llg-info-cards{grid-template-columns:1fr!important}
}

/* ========================================================================
 * v4.0.14 FINAL-3 — screenshot regressions
 * Canonical homepage alignment, visible compare state, polished 404 page.
 * ===================================================================== */

/* Hero: keep the heading strong without swallowing the left panel. */
@media (min-width:821px){
  body.wpbbshop-theme .wpbb-v400-hero-copy,
  body.wpbbshop-theme .wpbb-v400-hero-media{
    height:430px!important;
    min-height:430px!important;
  }
  body.wpbbshop-theme .wpbb-v400-hero-copy{
    padding:34px clamp(30px,3vw,48px)!important;
  }
  body.wpbbshop-theme .wpbb-v400-hero h1{
    max-width:570px!important;
    margin:0 0 13px!important;
    font-size:clamp(40px,3.55vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }
  body.wpbbshop-theme .wpbb-v400-hero-copy>p{
    max-width:590px!important;
    font-size:15px!important;
    line-height:1.48!important;
  }
  body.wpbbshop-theme .wpbb-v400-hero-actions{margin-top:17px!important}
  body.wpbbshop-theme .wpbb-v400-trust{margin-top:14px!important}
}

/* Departments: flex ownership avoids inherited grid-column placement entirely.
   This guarantees 5/4/2 consecutive cards with no alternating blank cells. */
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid{
  display:flex!important;
  flex-flow:row wrap!important;
  gap:6px!important;
  align-items:stretch!important;
  align-content:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid>.wpbb-v400-dept{
  flex:0 0 calc((100% - 24px)/5)!important;
  width:calc((100% - 24px)/5)!important;
  max-width:calc((100% - 24px)/5)!important;
  grid-column:auto!important;
  grid-row:auto!important;
  order:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.wpbbshop-theme .wpbb-v400-projects{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:min(var(--wpbb-v4-shell,1480px),calc(100% - 48px))!important;
  margin:12px auto 0!important;
}
body.wpbbshop-theme .wpbb-v400-products{padding-top:22px!important}

@media (max-width:1180px) and (min-width:821px){
  body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid>.wpbb-v400-dept{
    flex-basis:calc((100% - 18px)/4)!important;
    width:calc((100% - 18px)/4)!important;
    max-width:calc((100% - 18px)/4)!important;
  }
}
@media (max-width:820px){
  body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid{gap:5px!important}
  body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid>.wpbb-v400-dept{
    flex-basis:calc((100% - 5px)/2)!important;
    width:calc((100% - 5px)/2)!important;
    max-width:calc((100% - 5px)/2)!important;
  }
  body.wpbbshop-theme .wpbb-v400-projects{
    grid-template-columns:1fr!important;
    width:calc(100% - 20px)!important;
    gap:7px!important;
    margin-top:10px!important;
  }
}

/* Compare: render the native SVG, then make count>0 a clearly active green state. */
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  background:none!important;
  color:var(--wpbb414-green)!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-icon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  fill:none!important;
  overflow:visible!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-icon svg path,
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-icon svg line,
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-icon svg polyline{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[data-wpbb-has-compare='1'],
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.has-products,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-active,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-selected,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[aria-pressed='true']{
  background:var(--wpbb414-green)!important;
  border-color:var(--wpbb414-green)!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(15,122,73,.18)!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[data-wpbb-has-compare='1'] .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.has-products .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-active .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search.is-selected .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[aria-pressed='true'] .iws-compare-icon{
  color:#fff!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter .iws-compare-open--search .iws-compare-count{
  background:var(--wpbb414-green-dark)!important;
  border-color:#fff!important;
  color:#fff!important;
}

/* 404 page: final storefront styling instead of raw browser/form controls. */
body.wpbbshop-theme .wpbbshop-404-page{
  padding:46px 0 68px!important;
  background:linear-gradient(180deg,#f7faf8 0%,#fff 100%)!important;
}
body.wpbbshop-theme .wpbbshop-404-page>.wpbbshop-container{
  width:min(980px,calc(100% - 48px))!important;
  max-width:980px!important;
  margin:0 auto!important;
}
body.wpbbshop-theme .wpbbshop-404-card{
  position:relative!important;
  overflow:hidden!important;
  margin:0!important;
  padding:46px clamp(24px,5vw,62px)!important;
  border:1px solid #dbe7df!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(18,53,76,.08)!important;
  text-align:center!important;
}
body.wpbbshop-theme .wpbbshop-404-card:before{
  content:'404'!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:74px!important;
  height:32px!important;
  margin:0 auto 14px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#edf8f0!important;
  color:var(--wpbb414-green)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body.wpbbshop-theme .wpbbshop-404-card h1{
  margin:0 0 10px!important;
  color:#12354c!important;
  font-size:clamp(34px,5vw,54px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.wpbbshop-theme .wpbbshop-404-card>p{
  max-width:650px!important;
  margin:0 auto 24px!important;
  color:#607166!important;
  font-size:15px!important;
  line-height:1.6!important;
}
body.wpbbshop-theme .wpbbshop-404-card .wpbbshop-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 48px!important;
  gap:0!important;
  width:min(100%,650px)!important;
  max-width:650px!important;
  margin:0 auto!important;
  padding:0!important;
  border:1px solid #cfded4!important;
  border-radius:11px!important;
  background:#fff!important;
  overflow:visible!important;
  box-shadow:0 6px 18px rgba(18,53,76,.05)!important;
}
body.wpbbshop-theme .wpbbshop-404-card .wpbbshop-search-field-wrap{
  min-width:0!important;
  width:100%!important;
}
body.wpbbshop-theme .wpbbshop-404-card .wpbbshop-search input[type=search]{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:11px 0 0 11px!important;
  background:#fff!important;
  color:#173426!important;
  font-size:15px!important;
  box-shadow:none!important;
  outline:0!important;
}
body.wpbbshop-theme .wpbbshop-404-card .wpbbshop-search button[type=submit]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:48px!important;
  min-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0 10px 10px 0!important;
  background:var(--wpbb414-green)!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
}
body.wpbbshop-theme .wpbbshop-404-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:9px!important;
  margin-top:18px!important;
}
body.wpbbshop-theme .wpbbshop-404-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid #b8d8c3!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--wpbb414-green-dark)!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body.wpbbshop-theme .wpbbshop-404-actions a:first-child{
  background:var(--wpbb414-green)!important;
  border-color:var(--wpbb414-green)!important;
  color:#fff!important;
}
body.wpbbshop-theme .wpbbshop-404-actions a:hover{transform:translateY(-1px)!important}

@media(max-width:600px){
  body.wpbbshop-theme .wpbbshop-404-page{padding:24px 0 42px!important}
  body.wpbbshop-theme .wpbbshop-404-page>.wpbbshop-container{width:calc(100% - 20px)!important}
  body.wpbbshop-theme .wpbbshop-404-card{padding:30px 18px!important;border-radius:15px!important}
}

/* ========================================================================
 * v4.0.14 FINAL-4 — homepage readable department grid + hard compare state
 * ===================================================================== */

/* Keep all main homepage sections on exactly the same horizontal rhythm. */
body.wpbbshop-theme .wpbb-v400-home > .wpbb-v400-shell,
body.wpbbshop-theme .wpbb-v400-projects{
  width:min(var(--wpbb-v4-shell,1480px),calc(100% - 48px))!important;
  max-width:var(--wpbb-v4-shell,1480px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Slightly calmer hero scale so the first card aligns visually with the grid. */
@media (min-width:821px){
  body.wpbbshop-theme .wpbb-v400-hero-copy,
  body.wpbbshop-theme .wpbb-v400-hero-media{
    height:410px!important;
    min-height:410px!important;
  }
  body.wpbbshop-theme .wpbb-v400-hero h1{
    max-width:610px!important;
    font-size:clamp(38px,3.05vw,52px)!important;
    line-height:1!important;
  }
}

/* Departments: 4 wide readable columns on desktop, no tiny 5-column cards. */
body.wpbbshop-theme .wpbb-v400-departments{
  padding-top:22px!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-section-head{
  margin-bottom:12px!important;
  align-items:end!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-section-head h2{
  font-size:clamp(27px,2.1vw,36px)!important;
  line-height:1.08!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid{
  display:flex!important;
  flex-flow:row wrap!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  align-items:stretch!important;
  align-content:flex-start!important;
  justify-content:flex-start!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid > .wpbb-v400-dept{
  flex:0 0 calc((100% - 30px)/4)!important;
  width:calc((100% - 30px)/4)!important;
  max-width:calc((100% - 30px)/4)!important;
  min-width:0!important;
  min-height:80px!important;
  height:auto!important;
  padding:14px 16px!important;
  border-radius:11px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  row-gap:3px!important;
  align-content:center!important;
  align-items:center!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-icon{
  grid-column:1!important;
  grid-row:1/3!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  border-radius:9px!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-icon svg{
  width:21px!important;
  height:21px!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept strong{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  margin:0!important;
  min-width:0!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept small{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.2!important;
  white-space:normal!important;
  color:#687b70!important;
}
body.wpbbshop-theme .wpbb-v400-projects{
  gap:12px!important;
  margin-top:16px!important;
}
body.wpbbshop-theme .wpbb-v400-products,
body.wpbbshop-theme .wpbb-v400-products + .wpbb-v400-products{
  padding-top:26px!important;
}

@media (max-width:820px) and (min-width:481px){
  body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid > .wpbb-v400-dept{
    flex-basis:calc((100% - 10px)/2)!important;
    width:calc((100% - 10px)/2)!important;
    max-width:calc((100% - 10px)/2)!important;
    min-height:72px!important;
  }
}
@media (max-width:480px){
  body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid{gap:8px!important}
  body.wpbbshop-theme .wpbb-v400-departments .wpbb-v400-dept-grid > .wpbb-v400-dept{
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-height:66px!important;
  }
}

/* Compare search button: stylesheet fallback. JS also writes the same values
   inline with !important because Woo Support writes competing inline styles. */
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[data-wpbb-has-compare='1']{
  background-color:var(--wpbb414-green)!important;
  background-image:none!important;
  border-color:var(--wpbb414-green)!important;
  color:#fff!important;
}
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[data-wpbb-has-compare='1'] .iws-compare-icon,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[data-wpbb-has-compare='1'] .iws-compare-icon svg,
body.wpbbshop-theme .wpbbshop-v412-smart-filter button.iws-compare-open.iws-compare-open--search[data-wpbb-has-compare='1'] .iws-compare-icon svg path{
  color:#fff!important;
  stroke:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
