/* Utility */
.pointer{
  cursor: pointer;
}
.uppercase{
  text-transform: uppercase;
}
.hidden-desktop{
  display: none;
}
.flex .gb-block-layout-column-inner{
  display: flex;
}
.flex-col .gb-block-layout-column-inner{
  flex-direction: column;
}
.justify-center .gb-block-layout-column-inner{
  justify-content: center;
}
.color-primary{
  color: #033063;
}
.is-bold{
  font-weight: 900;
}
.max-100{
  max-width: 100px !important;
  margin: auto;
}
.max-600{
  max-width: 600px;
  margin: auto;
}
.full-height,
.full-height .gb-block-layout-column-inner,
.full-height img{
  height: 100%;
}
figure.full-height{
  margin-bottom: 0px;
}
.full-width,
.full-width img{
  width: 100%;
}
.force-full{
  width: 100vw;
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  padding: 20px;
}
.rounded-corners img{
  border-radius: 20px;
}


.default-button a {
background-color: #2D5475!important;
color: white!important;
border: 5px solid #6D8AA3!important;
border-radius: 9999px!important;
padding: 5px 30px!important;
font-size: 18px!important;
	font-family: "helvetica-neue-lt-pro", sans-serif!important;
	font-weight: 300!important;

}
.default-button a:hover {
background-color: #2D5475!important;
color: white!important;
border: 5px solid #2D5475!important;
border-radius: 9999px!important;
padding: 5px 30px!important;
font-size: 18px!important;
	font-family: "helvetica-neue-lt-pro", sans-serif!important;
	font-weight: 300!important;

}
.custom-button{
  border: 2px solid #8ea9c6;
}
.custom-button a{
  border-radius: 0px !important;
  padding: 5px 30px !important;
  color: white !important;
}
.custom-button.is-style-outline a{
  border: none !important;
}


.p-20{
  padding: 20px;
}
.p-30{
  padding: 30px;
}
.mb-0{
  margin-bottom: 0px;
}
.mb-10{
  margin-bottom: 10px;
}
.page-container{
  max-width: 1400px;
  margin: auto;
}
@media(max-width: 1400px){
  .page-container{
    max-width: 90%;
    margin: auto;
  }
}
@media(max-width: 980px){
  .hidden-desktop{
    display: block;
  }
  .tablet-full{
    width: 100% !important;
  }
  .tablet-hidden{
    display: none;
  }
}
@media(max-width: 600px){
  .grid-reverse-2 .gb-layout-column-wrap{
    grid-template-areas: "col2""col1" !important;
  }
  .center-mobile{
    display: flex !important;
    justify-content: center !important;
  }
}

#gform_submit_button_1 {
	background-color: #2D5475 !important;
    color: white !important;
    border: 5px solid #6D8AA3 !important;
    border-radius: 9999px !important;
    padding: 5px 30px !important;
    font-size: 18px !important;
    font-family: "helvetica-neue-lt-pro", sans-serif !important;
    font-weight: 300 !important;
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

#gform_submit_button_1:hover {
	border: 5px solid #2D5475 !important;
}

/* Homepage Category Icons Row */

.category-blurb-row {
	z-index: 9999999;
	margin-top: -5px;
}

.product-category-circle-button > figure > a > img {
    outline: 1px solid rgba(0,0,0,0)!important;
	outline-offset: -1px;
	transition: all 0.1s ease-in-out;
}

.product-category-circle-button > figure > a > img:hover {
	outline: 1px solid #2d5475!important;
	transform: scale(1.03);
}

@media (max-width: 959px) {
.gb-block-layout-column-gap-6 {
	grid-gap: 2em!important;
}
}

/* Fabric Product Price Slider Color */

.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle  {
background-color: #2d5475!important;
}


.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
	background-color: #efefef!important;
}


/* Slider Outline */

.eedee-swiper-outer, .wp-block-eedee-block-gutenslider .swiper, .wp-block-eedee-block-gutenslider .swiper.swiper-initialized {
	border: 1px solid #2d5475!important; 
}

/* Blog Card */

.gb-post-grid-item {
	background-color: #faf6f3; border: 1px solid #2d5475; border-radius: 10px; padding: 1em;
}

/* Section Container */

div.section__container {
	padding: 100px 30px!important;
}

.category-blurb-row {
	width: 100%!important;
}

/* Privacy Policy, FAQ, Shipping, Returns Card Section */

.faq-card-section, .privacy-policy-section {
	padding: 100px 30px;
}

.shipping-card-section {
	padding: 0px 0px;
}

.faq-card-section__inner {
	max-width: 800px; width: 100%; margin: 0 auto;
} 

.faq-card-section__footnote {
	text-align: center;
}

.shipping-card-section__inner, .privacy-policy-section__inner {
     max-width: 1372px; width: 100%; margin: 0px auto;
}

.privacy-policy-content {
	display: block;
}

.privacy-policy-content > h2 {
	font-size: 30px!important;
	color: #2d5475;
}

.faq-card__grid {
	display: flex; flex-direction: column; gap: 30px; width: 100%;
}

.shipping-card__grid {
	display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 30px; width: 100%;
}

.faq-card, .shipping-card {
	display: flex; flex-direction: column; gap: 1em; background-color: #faf6f3; border: 1px solid #2d5475; border-radius: 10px; padding: 30px; width: 100%;
}

.shipping-card {
	text-align: center;
	margin-bottom: auto;
}

.returns-card {
	display: inline-block;
	border-radius: 10px!important;
    background-color: #2d5475;
	max-width: 800px;
	width: 100%;
	padding: 30px;
	margin: auto;
	justify-content: center;
}

.returns-card__inner {
    display: flex;
	flex-direction: column;
	gap: 0.5em;
	text-align: center;
}

h3.returns-card__heading, p.returns-card__lede, a.returns-card__lede__link {
    color: white!important;
}

h2.faq-card__question {
	font-size: 30px!important;
}

.faq-card__row {
	display: grid; grid-template-columns: 1fr; gap: 1em; width: 100%;
}

.faq-card__row > span {
	display: none;
}

.shipping-card > p, .shipping-card > h3, .faq-card__row > p, .faq-card__row > h2 {
	margin-bottom: 0px;
}

.faq-card__question, .shipping-card__heading {
	color: #2d5475!important;
}

.shipping-card__heading, .shipping-card__lede {
	margin-bottom: 0px;
}

.faq-card__lede > a {
	color: #2d5475!important;
}

@media (max-width: 1200px) {
	.faq-card-section__inner {
        max-width: 800px;
	}
	.faq-card__grid {
        grid-template-columns: 1fr;
	}
}

@media (max-width: 980px) {
	.shipping-card__grid {
	    grid-template-columns: 1fr 1fr;
	}
/*	.shipping-card-section__inner {
        max-width: calc(600px + 1em);
	}
	.shipping-card {
		max-width: 300px;
	margin: 0 auto 1em;
	} */
}

@media (max-width: 600px) {
	.faq-card__row {
		display: grid; grid-template-columns: 1fr; gap: 0.5em;
	}
	.shipping-card__grid {
		grid-template-columns: 1fr;
	}
}

/* Contact Page H2 */

.contact-page__h2 {
	font-size: 30px!important;
}

/* Header */
.custom-header{
  height: 183px;
}
.custom-header .header-inner-wrap{
  display: flex;
  max-width: 90%;
  width: 90%;
  margin: auto;
  padding: 20px 0px;
  height: 65%;
}
.header-inner-wrap .inner-logo{
  max-width: 250px;
/*  width: 20%; */
  display: flex;
  align-items: center;
}
.header-inner-wrap .inner-search-bar{
  max-width: 70%;
  width: 70%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.inner-search-bar .ws-search-form{
  width: 90%;
  border: 1px solid black;
  border-radius: 20px;
  position: relative;
}
.inner-search-bar .ws-search-form i.fa-search{
  position: absolute;
  top: 8px;
  left: 10px;
}

.ws-search-field::placeholder {
  color: #888888;     
  opacity: 1;      
}
.inner-search-bar .ws-search-form .ws-search-field{
  border: none;
  border-radius: 20px;
  padding-left: 35px;
}
.header-inner-wrap .inner-dropdown{
  max-width: 10%;
  width: 10%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
/* FORCE: larger header icons — covers FA <i>, FA Kit inline SVGs, and inline SVGs */
.custom-header .header-icons {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-left: 20px !important;
  z-index: 999 !important;
}

@media (max-width: 480px) {
	
.custom-header .header-icons {
  gap: 0px !important;
  margin-left: 0px !important;
	margin-right: 20px!important;
  z-index: 999 !important;
}

}

/* bigger click target */
.custom-header .header-icons .header-icon {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* FORCE glyph size for Font Awesome <i> fallback */
.custom-header .header-icons .header-icon i,
.custom-header .header-icons .header-icon i.fa,
.custom-header .header-icons .header-icon i.fas,
.custom-header .header-icons .header-icon i.far,
.custom-header .header-icons .header-icon i.fal {
  font-size: 36px !important;
  width: 36px !important;
  height: 36px !important;
  line-height: 1 !important;
  color: #0b335d !important;
}

/* FORCE glyph size for Font Awesome kit inline SVGs and any inline SVGs */
.custom-header .header-icons .header-icon svg,
.custom-header .header-icons .header-icon .svg-inline--fa {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  display: block !important;
  fill: #0b335d !important;   /* navy fill */
  color: #0b335d !important;  /* in case */
}

/* adjust badge position for larger icons */
.custom-header .header-icons .cart-count {
  top: -12px !important;
  right: -12px !important;
  font-size: 13px !important;
  padding: 4px 8px !important;
}

/* hover / focus: keep the subtle lift */
.custom-header .header-icons .header-icon:hover,
.custom-header .header-icons .header-icon:focus {
  transform: translateY(-2px) !important;
  background: rgba(11,51,93,0.06) !important;
}

/* smaller screens scale down */
@media (max-width: 900px) {
  .custom-header .header-icons .header-icon { width: 52px !important; height: 52px !important; min-width: 52px !important; }
  .custom-header .header-icons .header-icon i,
  .custom-header .header-icons .header-icon svg,
  .custom-header .header-icons .header-icon .svg-inline--fa { font-size: 26px !important; width: 26px !important; height: 26px !important; fill: #0b335d !important; }
  .custom-header .header-icons .cart-count { top: -8px !important; right: -8px !important; font-size: 11px !important; padding: 3px 6px !important; }
}



.visuallyHidden {
  position: absolute; 
  overflow: hidden; 
  clip: rect(0 0 0 0); 
  height: 1px; width: 1px; 
  margin: -1px; padding: 0; border: 0; 
}
.hamburger {
  margin: 0 auto;
  width: 30px;
  height: 30px;
  position: relative;
  cursor: pointer;
}
.hamburger .bar {
  padding: 0;
  width: 30px;
  height: 4px;
  background-color: #033063;
  display: block;
  border-radius: 4px;
  transition: all 0.4s ease-in-out;
  position: absolute; 
}
.hamburger.open-menu   .bar1 {
  transform: rotate(45deg) translate(3px, 7px);
}

.hamburger.open-menu .bar3 {
  opacity: 0; 
}

.hamburger.open-menu .bar4 {
  opacity: 0; 
}

.hamburger.open-menu .bar2{
  transform: rotate(-45deg) translate(2.7px, -7px);
}
.bar1 {
  top: 0;
}
.bar2,
.bar3 {
  top: 13.5px;
}
.bar3 {
  right: 0;
}
.bar4 {
  bottom: 0;
}
.checkbox1:checked + label > .hamburger1 > .bar1{
  transform: rotate(45deg);
  transform-origin: 5%;
  width: 41px
}

.checkbox1:checked + label > .hamburger1 > .bar2 {
  transform: translateX(-40px);
  background-color: transparent;
}

.checkbox1:checked + label > .hamburger1 > .bar3 {
  transform: translateX(40px);
  background-color: transparent;
}

.checkbox1:checked + label > .hamburger1 > .bar4 {
  transform-origin: 5%;
  transform: rotate(-45deg);
  width: 41px;
}
.inner-dropdown .dropdown-menu{
  display: none;
  position: absolute;
  top: 80px;
  right: 30%;
  z-index: 99999;
  background-color: white;
  padding: 15px;
  width: 300px;
  border: 1px solid black;
}
.dropdown-menu li{
  border-bottom: 1px solid black;
  padding: 5px 0px;
  cursor: pointer;
}
.dropdown-menu li a{
  color: #333;
}
.dropdown-menu li .fa-chevron-down,
.dropdown-menu li .fa-chevron-up{
  float: right;
  padding-top: 5px;
}
.dropdown-menu .color-dropdown.open .fa-chevron-down{
  display: none;
}
.dropdown-menu .color-dropdown .fa-chevron-up{
  display: none;
}
.dropdown-menu .color-dropdown.open .fa-chevron-up{
  display: block;
}
.dropdown-menu .second-dropdown .fa-chevron-up{
  display: none;
}
.dropdown-menu .second-dropdown.open .fa-chevron-down{
  display: none;
}
.dropdown-menu .second-dropdown.open .fa-chevron-up{
  display: block;
}
.dropdown-menu ul ul ul li{
  padding-left: 20px;
}
.header-bottom-bar{
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  height: 35%;
}
.bottom-bar-wrapper{
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 90%;
  width: 90%;
  height: 100%;
  margin: auto;
}
.bottom-bar-wrapper .bottom-bar-item{
  padding: 10px 0px;
}
.bottom-bar-wrapper .mega-menu-item-has-children > a
{
  color: #2D5475 !important;
  font-size: 18px !important;
  font-weight: bold!important;
  margin: 0px !important;
  text-transform: uppercase!important;
}
.bottom-bar-wrapper .mega-menu-item-36129 a {
  color: #b72a26 !important;
  font-size: 18px !important;
  font-weight: bold!important;
  margin: 0px !important;
  text-transform: uppercase!important;
}

.mega-indicator {
	display: none!important;
}
.mobile_search{
  display: none !important;
}
@media(min-width: 980px){
  #mega-menu-wrap-primary{
    width: 100%;
  }
  #mega-menu-primary{
    display: flex !important;
    justify-content: space-around;
  }
  li.mega-menu-item-has-children ul.mega-sub-menu{
    max-width: 2000px !important;
  }
  li.mega-menu-item-has-children > ul.mega-sub-menu{
    margin-top: 11px !important;
  }
  li.mega-menu-item-has-children ul.mega-sub-menu .custom-html-widget{
    position: relative !important;
  }
  li.mega-menu-item-has-children ul.mega-sub-menu .custom-html-widget a{
    position: absolute;
    right: 30px;
    bottom: 30px;
    color: white!important;
    background-color: #033063;
    border: 3px solid #8ea9c6;
    padding: 10px 30px;
    font-weight: bold;
	  font-size: 14px!important;
  }
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item .custom-html-widget{
    padding: 150px 20px !important;
  }
	.mega-menu .child-category-links .category-link a {
		color: #2D5475!important;
    font-weight: bold!important;
    font-size: 18px!important;
	}
}
@media(max-width: 980px){
  .mobile_search{
    display: block !important;
  }
  .custom-header{
    height: 120px;
  }
  .custom-header .header-inner-wrap{
    height: 100%;
    width: 100%;
    max-width: 100%;
    justify-content: space-between;
  }
  .header-inner-wrap .inner-logo {
    margin-left: 10px;
    max-width: 35%;
    width: 35%;
  }
  .header-inner-wrap .inner-search-bar{
    display: none;
  }
  .header-inner-wrap .inner-dropdown{
    padding-right: 30px;
  }
  .inner-dropdown .dropdown-menu{
    width: 100vw;
    right: 0px;
  }
  .header-bottom-bar{
    display: none;
  }
}
@media(max-width: 600px){
	
	.header-inner-wrap .inner-logo {
		max-width: 50%;
		width: 50%;
	}
}

/* Search Results */
.search-results .product{
  border: 1px solid rgba(0,0,0,.6);
  box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}

/* Footer */
.footer-widgets{
  background-color: #fff;
  border: none;
}
.footer-widgets .widgettitle{
  font-weight: 400;
  font-size: 26px;
}
.site-footer{
  background-color: #fff;
}

/* Logo */
.wp-custom-logo .site-container .title-area{
  padding-top: 0 !important;
}

.color-options-div .wp-block-cover__inner-container,
.color-options-div .wp-block-cover__inner-container p.color-options-link{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30vh;
  width: 100%;
}
.color-options-div .wp-block-cover__inner-container p.color-options-link a{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Product Archive Pages */
.archive ul.products .product,
.relatedCollections li.product,
section.related.products li.product{
  border: 1px solid rgba(0,0,0,.6) !important;
  box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}

/* Home Page Slideshow */
.home-slider-button{
  display: flex !important;
}
.home-slider-button .alignleft{
  margin-right: 0px !important;
}
.eedee-gutenslider-pagination{
  bottom: -5px !important;
}
.wp-block-buttons.button-align-center{
  display: flex;
  justify-content: center !important;
}
.wp-block-buttons.button-align-center div.wp-block-button{
  margin-right: 0px;
}



/*Text-only overlay*/
.entry-content .slogan-background{
    padding: 1.25em 2.375em;
    background-color: rgba(0,0,0,0.59);
}
.wp-block-genesis-blocks-gb-columns .gb-layout-column-wrap .cta-image{
    margin-bottom: 0px!important;
}
.gb-block-layout-column-inner .cta-link a{
    text-decoration: none;
}

.entry-content .see-more-reviews a{
    text-decoration: none;
}

.entry-content .products-footer a{
    text-decoration: none;
    color: black;
}
.entry-content .navigation-footer a{
    text-decoration: none;
    color: black;
}
.entry-content .gb-button-size-medium, .site-container .entry-content .wp-block-button .wp-block-button__link {
  font-size: 24px;
  text-transform: uppercase;
}

/* Color Options */

#menu-item-724 ul ul{
  right: -200px;
  top: 0px;
}
#menu-item-724 ul ul li{
  text-align: left;
}

.wp-block-group.alignfull .wp-block-columns.color-options {
  padding: 2.5px 0;
  border: 2px solid #333;
}

.wp-block-group.alignfull .wp-block-columns.color-options .wp-block-navigation .wp-block-navigation-item__content {
  color: rgba(0,0,0,.6);
  font-size: 16px;
}

/* Brand Logos */
.brand-logos{
  text-align: center;
}
.brand-logos h2{
  font-weight: bold;
  font-size: 40px;
}
.brand-logos-container{
  display: flex;
}
.brand-logos-container .logo-container{
  padding: 20px;
}
@media(max-width: 980px){
  .brand-logos-container{
    flex-direction: column;
  }
}

/* Brand Categories */
.brand-categories{
  max-width: 100vw;
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  padding: 50px;
  background-color: #f5f5f5;
}
.brand-container h2{
  text-align: center;
  font-weight: bold;
  font-size: 40px;
}
.brand-categories-container{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  column-gap: 50px;
  row-gap: 50px;
  margin: 50px auto;
  max-width: 75%;
}
.brand-category{
  height: 320px;
  background-color: white;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  border: 1px solid rgba(0,0,0,.6);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.brand-category p{
  text-align: center;
  background-color: white;
  color: black;
  border: 1px solid black;
  padding: 3px;
  width: 45%;
  max-width: 45%;
  margin-bottom: 5px;
}
@media(max-width: 1440px){
  .brand-categories-container{
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media(max-width: 1024px){
  .brand-categories-container{
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width: 980px){
  .brand-categories-container{
    grid-template-columns: 1fr;
  }
  .brand-category{
    height: 450px;
  }
  .brand-categories{
    padding: 20px;
  }
}
@media(max-width: 500px){
  .brand-category{
    height: 200px;
  }
}

/* Category Landing Page */
.page-template-category-landing-page .site-inner{
  padding-top: 0 !important;
}
.viz-banner-container{
  width: 100vw;
  position: relative;
  left: calc(-50vw + 50%);
  margin-bottom: 50px;
  background-size: cover;
}
.viz-banner-overlay{
  background-color: rgba(0,0,0,.3);
  height: 100%;
  width: 100%;
}
.viz-banner-text{
  color: white;
  text-align: center;
  padding: 210px 0;
  font-size: 60px;

  font-weight: bold;
}
.subcat-grid-container{
  margin-bottom: 50px;
}
.subcat-grid{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 0 4em;
}
.subcat-div{
  border: 1px solid rgba(0,0,0,.6);
  margin-bottom: 30px;
  padding: 10px;
  box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}
.sub_cat_link{
  text-align: center;
  padding: 25px 0;
}
.sub_cat_link p{
  margin-bottom: 0 !important;
  font-weight: bold;
  color: #333333;
}
.reuseable-blocks-container{
  margin-bottom: 100px;
  width: 100vw;
  position: relative;
  left: calc(-50vw + 50%);
}
.reuseable-padding{
  padding: 20px;
}
.reuseable-background-color{
  background-color: #ededed;
}
.term-bedroom .site-header,
.term-dining-kitchen .site-header,
.term-living-room .site-header,
.term-office .site-header,
.term-outdoor .site-header,
.term-children .site-header{
  margin-bottom: 0px;
}
body:not(.fullwidth).term-bedroom .site-inner,
body:not(.fullwidth).term-dining-kitchen .site-inner,
body:not(.fullwidth).term-living-room .site-inner,
body:not(.fullwidth).term-office .site-inner,
body:not(.fullwidth).term-outdoor .site-inner,
body:not(.fullwidth).term-children .site-inner{
  padding-top: 0 ;
}

/* Dynamically added reviews */
.viz-reviews-container{
  width: 80%;
  margin: 50px auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 30px;
  row-gap: 30px;
}
.review-container-viz{
  background-color: #f5f5f5;
  padding: 30px;
  text-align: left;
}
.viz-quotes-container{
  width: 10%;
  margin-left: auto;
  margin-right: auto;
  margin-top: -50px;
  margin-bottom: 20px;
}
.viz-star-rating-container{
  width: 40%;
  margin: 0 auto;
}
.viz-review-content{
  color: black;
}
.viz-review-author{
  color: black;
  font-weight: bold;
  margin-bottom: 0;
  margin-top: 15px;
}
.blue-review-link{
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
#review{
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

/* Style custom mobile home page slides */
#viz-jquery-slideshow-container {
  overflow: hidden;
  position: relative;
  width: 100%;
}
#viz-jquery-slideshow-container #viz-jquery-slideshow {
  overflow: hidden;
  position: relative;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  height: 100%;
}
#viz-jquery-slideshow-container #viz-jquery-slideshow li {
  display: inline;
  float: left;
  margin: 0;
  padding: 0;
  list-style: none;
  height: 100%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
/* Vertically center our buttons */
#viz-jquery-slideshow-container #btn-prev,
#viz-jquery-slideshow-container #btn-next {
    position: absolute;
    top: 150px;
    z-index: 100;
    color: #ffffff;
    font-size: 2em;
    line-height: 1;
    text-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
    transform: translateY(-50%);
}
 
#viz-jquery-slideshow-container #btn-prev {
    left: 15px;
}
 
#viz-jquery-slideshow-container #btn-next {
    right: 15px;
}
 
/* hide the text links */
#viz-jquery-slideshow-container #btn-prev span,
#viz-jquery-slideshow-container #btn-next span {
   display: none;
}
#viz-jquery-slideshow .viz-slide-content{
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: black;
  text-align: center;
  padding: 30px;
  z-index: 9;
  padding-bottom: 45px;
}
#viz-jquery-slideshow .viz-slide-content h2{
  color: white;
}
#viz-jquery-slideshow .viz-slide-content a{
  padding: 15px 30px;
}
.site-container .wp-block-button.is-style-outline.gb-block-button .wp-block-button__link {
  background-color: #033063;
}
.pop-up-wrapper .pop-up-content {
    width: 60%;
    max-width: 90%;
    max-height: 95%;
    overflow-y: auto;
	overflow-x: hidden
}
  .popupCloseButton {
    border-radius: 0;
    top: 0px;
    right: 0;
  }

@media(max-width: 1099px){
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link{
    padding: 0px 15px !important;
    font-size: 17px !important;
  }
}

@media ( max-width: 981px ) {

  .pop-up-wrapper .pop-up-content {
    width: 90%;
    max-width: 90%;
    max-height: 95%;
    overflow-y: auto;
	overflow-x: hidden
}

  .popupCloseButton {
    border-radius: 0;
    top: 0px;
    right: 0;
  }


    


    .ws_input_wrap .close {
        display: inline;
        position: absolute;
        right: 15px;
        font-size: 34px;
        margin-top: 7px;
    }
    
      .ws_search_wrap {
        width: 100%;
      }
    
  
      .ws_search_icon:before {
        position: relative;
      }
     
     
      #ws_search_icon:before {
        position: inherit;
      }
    
    
      .flip-mobile .et_pb_row {
        display: flex;
        flex-direction: column-reverse;
      }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item.mobile-menu-item {
        display: block;
    }
      
    #et_mobile_nav_menu {
        display: none;
    }

  .et_header_style_left #et-top-navigation, .et_header_style_left .et-fixed-header #et-top-navigation {
    padding-bottom: 24px;
  }

}

@media(max-width:959px){
  .viz-banner-container{
    max-height: 250px;
    background-size: 156%;
  }
  .viz-banner-overlay{
    max-height: 250px;
  }
  .viz-banner-text{
    padding: 108px 0;
  }
  .subcat-grid{
    grid-template-columns: 1fr 1fr;
  }
  .viz-reviews-container{
    grid-template-columns: 1fr 1fr;
  }
  .reuseable-blocks-container .color-options .wp-container-3{
    padding-top: 10%;
    padding-bottom: 10%;
  }
  header .title-area{
    width: 35%!important;
  }
}



@media (max-width: 980px){


    .search article:nth-child(n) {
      width: 48%;
      float: left;
      clear: both;
      margin: 0 0 2.992em;
    }
    .search article:nth-child(2n) {
      float: right;
      clear: none!important;
    }
    .viz-banner-text{
      font-size: 50px;
    }

}

@media(max-width: 600px){
  .subcat-grid{
    grid-template-columns: 1fr;
  }
  .viz-reviews-container{
    grid-template-columns: 1fr;
  }
  .entry-content .slogan-background{
    padding: 50px 50px;
  }
  .eedee-gutenslider-prev{
    left: 30px !important;
  }
  .eedee-gutenslider-next{
    right: 30px !important;
  }
}

@media (max-width: 500px){

  .search article:nth-child(n) {
    margin: 0 0 11.5%!important;
    width: 100%!important;
  }
  .viz-banner-text{
    font-size: 36px;
  }
  
}

@media(max-width:480px){
  #viz-jquery-slideshow-container{
    display: block !important;
  }
  #business-slogan-goes-here{
    padding: 0;
  }
  .viz-slide-content div.wp-block-button{
    margin-right: 0;
  }
}
	/* CSS for adding an underline on hover for links */

a:focus,
a:hover, .woocommerce-loop-product__title:hover,.woocommerce-loop-product__title:focus, .gb-block-layout-column-inner p.has-text-align-center.has-background:hover, .gb-block-layout-column-inner p.has-text-align-center.has-background:focus
 {
    color: #333; 
    text-decoration: underline;
}


 /* Stain Comparison */
 .stain-container{
  max-width: 85%;
  margin: auto;
}
.color-compare{
  border-bottom: 2px solid rgba(0,0,0,0.8);
  margin-bottom: 50px;
  margin-top: 50px;
  position: sticky;
  top: 0px;
  z-index: 9999;
  background-color: #fff;
}
.color-compare p{
  margin-bottom: 0px;
}
.color-compare .compare-container{
  max-width: 80%;
  margin: auto;
  display: flex;
  justify-content: center;
  padding: 30px 0px;
}
.compare-container .compare-left,
.compare-container .compare-right{
  width: 600px;
  max-width: 600px;
  text-align: center;
}
.compare-container .compare-left{
  margin-right: 30px;
}
.compare-left .compare-left-image,
.compare-right .compare-right-image{
  width: 100%;
  padding-top: 300px;
  background-size: cover;
  background-position: center;
}

/* Swatches Grid Layout */
.swatches-grid-container{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  column-gap: 20px;
  max-width: 100%;
}
.swatches-grid-container .swatch{
  text-align: center;
  position: relative;
}
.swatches-lightbox-link img{
  cursor: pointer;
}
.swatches-grid-container .swatch p{
  color: #333;
}
.swatch .compare-bar{
  background-color: #333;
  display: flex;
  justify-content: space-between;
}
.swatch .compare-bar p{
  color: white;
  margin-bottom: 0px;
}
.swatch .compare-bar p.mobile-arrow{
  display: none;
}
.compare-left p.mobile-title,
.compare-right p.mobile-title{
  display: none;
}
.swatch .arrow{
  padding: 15px;
  cursor: pointer;
}

.swatch .arrow-left{
  left: 5px;
}

.swatch .arrow-right{
  right: 5px;
}

/* Swatches Lightbox */
.swatches-lightbox {
  display: none;
  position: fixed;
  z-index: 99999;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
}

.swatches-lightbox .helper{
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.swatches-lightbox-link img{
  width: 100%;
}

.swatches-lightbox  .swatches-lightbox-content{
  display: inline-block;
  height: auto;
  vertical-align: middle;
  position: relative;
}

.swatches-lightbox .swatches-lightbox-content a{
  position: relative;
  left: 310px;
}

.swatches-lightbox .swatches-lightbox-content a{
  font-size: 35px;
  color: #fff;
}

.swatches-lightbox-content p{
  color: white;
}

.swatch-error-container{
  text-align: center;
}

.swatch-error-container p{
  color: red;
}

@media(max-width: 1050px){
  .swatches-grid-container{
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media(max-width: 959px){
  .swatches-grid-container{
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 980px){
  .swatches-lightbox img{
    width: 650px;
  }
}

@media screen and (max-width: 455px){
  .swatches-lightbox img{
    max-width: 315px;
  }
}

/* ================== Sidebar (cleaned & deduped) ================== */

/* Single source of truth for accent color */
:root {
  --shop-accent: #2D5475;
}

/* ------------------ Layout core ------------------ */
.shop-archive-wrap {
  padding: 30px 0;
}
.shop-inner {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  max-width: 1372px;
  width: 100%;
  margin: 0 auto;
  align-items: start;
}

/* Basic visible sidebar box used for dropdowns, single links, price blocks */
.shop-sidebar .category-parent-dropdown,
.shop-sidebar .collapsible-section,
.shop-sidebar .category-parent-dropdown.single-link,
.shop-sidebar .price-collapse {
  box-sizing: border-box;
  background: transparent !important;   /* inner content will be white and inset */
  border: 1px solid var(--shop-accent) !important;
  border-radius: 0 !important;
  position: relative !important;
  z-index: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
  margin-bottom: 12px;
}

/* Ensure bottom border restored if some other rule removed it */
.shop-sidebar .category-parent-dropdown,
.shop-sidebar .collapsible-section,
.shop-sidebar .price-collapse {
  border-bottom: 1px solid var(--shop-accent) !important;
}

/* Make immediate inner content of panels visually white and inset 1px so outer border stays visible */
.shop-sidebar .category-parent-dropdown .collapsible-panel > *,
.shop-sidebar .collapsible-section .collapsible-panel > *,
.shop-sidebar .price-collapse .collapsible-panel > * {
  background: #fff !important;
  margin: 0 1px 1px 1px !important;      /* leave 1px visible border around edges */
  padding: 10px 14px !important;         /* panel padding */
  box-sizing: border-box !important;
  border: none !important;
  box-shadow: none !important;
  z-index: 1 !important;
}

/* Remove any inner panel borders or shadows deeper down */
.shop-sidebar .category-parent-dropdown .collapsible-panel,
.shop-sidebar .collapsible-section .collapsible-panel,
.shop-sidebar .price-collapse .collapsible-panel {
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;                  /* inner wrapper handled above */
  background: transparent !important;
  position: relative !important;
  z-index: 1 !important;
}


/* ------------------ Toggle header (shared) ------------------ */
.shop-sidebar .category-parent-dropdown .collapsible-toggle,
.shop-sidebar .collapsible-section .collapsible-toggle,
.shop-sidebar .price-collapse .collapsible-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: none !important;
  color: var(--shop-accent) !important;
  padding: 10px 14px !important;
  padding-right: 50px !important;         /* space for caret */
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  line-height: 1 !important;
  cursor: pointer !important;
  min-width: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  position: relative !important;           /* caret positioned absolutely */
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  background-image: none !important;
}

/* defensive: prevent theme pseudo content on toggles */
.shop-sidebar .collapsible-toggle::before,
.shop-sidebar .collapsible-toggle::after,
.shop-sidebar .collapsible-section .collapsible-toggle::before,
.shop-sidebar .collapsible-section .collapsible-toggle::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}

/* ensure toggle doesn't gain different bg on open/focus */
.shop-sidebar .category-parent-dropdown .collapsible-toggle[aria-expanded="true"],
.shop-sidebar .category-parent-dropdown .collapsible-toggle:focus,
.shop-sidebar .collapsible-section .collapsible-toggle[aria-expanded="true"],
.shop-sidebar .collapsible-section .collapsible-toggle:focus,
.shop-sidebar .price-collapse .collapsible-toggle[aria-expanded="true"],
.shop-sidebar .price-collapse .collapsible-toggle:focus {
  background: transparent !important;
  color: inherit !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Hover states */
.shop-sidebar .category-parent-dropdown .collapsible-toggle:hover,
.shop-sidebar .category-parent-dropdown .category-direct-link:hover,
.shop-sidebar .collapsible-section .collapsible-toggle:hover,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link:hover,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link:focus {
  background: #f7f9fb !important;
  color: var(--shop-accent) !important;
}

/* Active header (only color the header when it's the exact active child) */
.shop-sidebar .category-parent-dropdown.active-child .collapsible-toggle,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link.active,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link:focus {
  color: var(--shop-accent) !important;
  text-decoration: underline !important;
}

/* If header itself should be visually highlighted (optional) */
.shop-sidebar .category-parent-dropdown.active-child .collapsible-toggle {
  color: #fff !important;
}

/* ------------------ Caret (triangle) ------------------ */
/* caret container pinned to right side of header */
.shop-sidebar .collapsible-toggle > .toggle-caret,
.shop-sidebar .category-parent-dropdown .collapsible-toggle > .toggle-caret,
.shop-sidebar .collapsible-section .collapsible-toggle > .toggle-caret,
.shop-sidebar .price-collapse .collapsible-toggle > .toggle-caret {
  width: 18px !important;
  height: 18px !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  z-index: 6 !important;
  color: var(--shop-accent) !important;
  font-size: 0 !important;               /* hide textual fallback */
}

/* triangle using pseudo-element; color follows currentColor */
.shop-sidebar .collapsible-toggle > .toggle-caret::after,
.shop-sidebar .collapsible-section .collapsible-toggle > .toggle-caret::after,
.shop-sidebar .price-collapse .collapsible-toggle > .toggle-caret::after {
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 6px solid transparent !important;
  border-right: 6px solid transparent !important;
  border-top: 6px solid currentColor !important; /* closed-state color */
  transition: transform .18s ease, border-top-color .18s ease !important;
  transform-origin: center center !important;
  box-sizing: content-box !important;
}

/* rotate when expanded / open */
.shop-sidebar .collapsible-toggle[aria-expanded="true"] > .toggle-caret::after,
.shop-sidebar .collapsible-section .collapsible-toggle[aria-expanded="true"] > .toggle-caret::after,
.shop-sidebar .price-collapse .collapsible-toggle[aria-expanded="true"] > .toggle-caret::after,
.shop-sidebar .category-parent-dropdown.open .collapsible-toggle > .toggle-caret::after {
  transform: rotate(180deg) !important;
}

/* caret contrast when header is active-child (make triangle white) */
.shop-sidebar .category-parent-dropdown.active-child .collapsible-toggle > .toggle-caret,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link.active > .toggle-caret {
  color: #2D5475 !important;
}
.shop-sidebar .category-parent-dropdown.active-child .collapsible-toggle > .toggle-caret::after,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link.active > .toggle-caret::after {
  border-top-color: #ffffff !important;
}

/* hide caret on pure single-link items */
.shop-sidebar .category-parent-dropdown.single-link > .toggle-caret,
.shop-sidebar .category-parent-dropdown.single-link .toggle-caret,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link > .toggle-caret {
  display: none !important;
}

/* prevent theme icons from showing inside caret */
.shop-sidebar .toggle-caret svg,
.shop-sidebar .toggle-caret img,
.shop-sidebar .toggle-caret i {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* ------------------ Children lists / direct links ------------------ */
.shop-sidebar .category-parent-dropdown .children-list,
.shop-sidebar .collapsible-section .children-list {
  padding-left: 8px !important;
  list-style: none !important;
  margin: 0 !important;
}
.shop-sidebar .category-parent-dropdown .children-list li {
  margin-bottom: 6px;
}

/* Direct links styled to look like toggles (single-link items) */
.shop-sidebar .category-parent-dropdown.single-link {
  background: transparent !important;
  overflow: visible !important;
  margin-bottom: 10px !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 8px 14px !important;
  padding-right: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--shop-accent) !important;
  text-decoration: none !important;
  text-transform: none !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  background: transparent !important;
  position: relative !important;
  z-index: 3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link:hover,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link:focus {
  background: #f7f9fb !important;
  color: var(--shop-accent) !important;
  text-decoration: none !important;
}
.shop-sidebar .category-parent-dropdown.single-link:focus-within,
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link:focus {
  border-color: var(--shop-accent) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Current grandchild (page you're on): blue + underline + heavier weight */
.shop-sidebar .category-parent-dropdown .children-list li.current-cat > a {
  color: var(--shop-accent) !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

/* Optional underline on active parent title */
.shop-sidebar .category-parent-dropdown.active-child .collapsible-toggle .toggle-title,
.shop-sidebar .category-parent-dropdown.active-child .category-direct-link {
  text-decoration: underline;
}

/* ------------------ Font / text consistency ------------------ */
.shop-sidebar,
.shop-sidebar .collapsible-panel,
.shop-sidebar .collapsible-panel *,
.shop-sidebar .children-list,
.shop-sidebar .children-list li,
.shop-sidebar .children-list a,
.shop-sidebar .category-parent-dropdown .category-direct-link,
.shop-sidebar .collapsible-toggle,
.shop-sidebar .collapsible-toggle * {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-family: inherit !important;
}

/* header/title bold only */
.shop-sidebar .collapsible-toggle > .toggle-title,
.shop-sidebar .collapsible-toggle .toggle-title,
.shop-sidebar .category-parent-dropdown .category-direct-link,
.shop-sidebar .collapsible-section > .collapsible-toggle > .toggle-title {
  font-weight: 700 !important;
  color: var(--shop-accent) !important;
}

/* child links normal weight */
.shop-sidebar .children-list a,
.shop-sidebar .collapsible-panel a,
.shop-sidebar .collapsible-panel li {
  font-weight: 400 !important;
  color: inherit !important;
}

/* defensive: prevent theme rules shrinking header text */
.shop-sidebar .collapsible-toggle,
.shop-sidebar .category-parent-dropdown .category-direct-link {
  min-height: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* caret visual defaults */
.shop-sidebar .toggle-caret,
.shop-sidebar .toggle-caret::after {
  font-size: 0 !important;
  width: 18px !important;
  height: 18px !important;
}

/* ------------------ Misc UI fixes ------------------ */
/* Hide horizontal rule under 'Filter by Price' area */
.shop-sidebar hr { display: none !important; }
.shop-sidebar .price-collapse { border-bottom: 1px solid var(--shop-accent) !important; }

/* Ensure container border remains visible when focused/open */
.shop-sidebar .category-parent-dropdown:focus-within,
.shop-sidebar .category-parent-dropdown.open,
.shop-sidebar .collapsible-section:focus-within,
.shop-sidebar .collapsible-section.open,
.shop-sidebar .price-collapse:focus-within,
.shop-sidebar .price-collapse.open {
  border-color: var(--shop-accent) !important;
  box-shadow: none !important;
}

/* keep caret above panels */
.shop-sidebar .category-parent-dropdown .collapsible-panel,
.shop-sidebar .collapsible-section .collapsible-panel {
  z-index: 1 !important;
}
.shop-sidebar .category-parent-dropdown .collapsible-toggle,
.shop-sidebar .collapsible-section .collapsible-toggle {
  z-index: 3 !important;
}

/* ------------------ Sidebar legacy/simple sections (kept minimal) ------------------ */
/* Generic sidebar box (used by other widgets) */
.sidebar-section {
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  overflow: visible;
  position: relative;
}

/* collapsible toggle used in some templates (kept for backward compatibility) */
.collapsible-section .collapsible-toggle,
.categories-accordion > .collapsible-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: transparent;
  border: 0;
  padding: 10px 12px;
  font-weight: 700;
  color: #163b47;
  cursor: pointer;
  font-size: 20px;
  text-align: left;
}
.collapsible-section .collapsible-toggle:focus { outline: none; }

/* basic caret for legacy toggles */
.collapsible-toggle .toggle-caret { font-size: 13px; margin-left: 10px; transform: rotate(0deg); transition: transform .18s ease; }
.collapsible-toggle[aria-expanded="true"] .toggle-caret { transform: rotate(180deg); }

/* panel styles for legacy blocks (kept behavior) */
.collapsible-panel {
  padding: 8px 10px 12px 10px;
  border-top: 1px solid #e6e6e6;
  background: #fff;
  margin: 0;
  box-shadow: none;
  max-height: 340px;
  overflow: auto;
}

/* tag list area */
.tag-list {
    max-height: 260px;
    overflow: auto;
    padding: 6px;
    margin-bottom: 16px;
}
.tag-checkbox {
  display: block;
  padding: 6px;
  font-size: 14px;
  cursor: pointer;
}
.tag-checkbox input { margin-right: 8px; }

/* ------------------ Final defensive resets ------------------ */
.shop-sidebar .category-parent-dropdown,
.shop-sidebar .collapsible-section {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* End of cleaned sidebar CSS */

/* price widget small fixes */
.widget.woocommerce.widget_price_filter { margin: 0; padding: 6px 0; }

/* product categories tree */
.product-cat-tree { list-style:none; margin:0; padding:8px; }
.product-cat-tree .cat-parent { margin-bottom: 6px; }
.product-cat-tree .cat-toggle { display:block; width:100%; text-align:left; background:transparent; border:0; padding:8px 10px; cursor:pointer; font-weight:600; color:#10343b; font-size:16px; }
.product-cat-tree .children { list-style:none; margin:6px 0 0 10px; padding-left:8px; display:none; }
.product-cat-tree .cat-parent.open .children { display:block; }

/* product grid */
ul.products { list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3,1fr); gap:30px; }
ul.products li.product { display:block; background:transparent; padding:0; border:0; }
ul.products img { width:100%; height:auto; display:block; object-fit:cover; }
.woocommerce-loop-product__title { font-size:15px; margin:10px 0 6px; color:#213c48; }

/* header — left area contains breadcrumb + left-aligned title + results under it */
.shop-header { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:18px; }
.header-left { display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.title-block { text-align:left; }
.page-title { font-size:34px; margin:0; text-align:left; }
.shop-result-count { font-size:13px; color:#6b7578; margin-top:6px; }

/* ordering aligned to right */
.shop-tools { display:flex; align-items:center; gap:12px; }

/* responsive */
@media (max-width: 1024px) {
  .shop-inner { grid-template-columns: 240px 1fr; gap:24px; }
  ul.products { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 700px) {
  .shop-inner { grid-template-columns: 1fr; }
  .shop-sidebar { order:2; }
  .shop-main { order:1; }
  ul.products { grid-template-columns: 1fr; }
  .tag-list { max-height:220px; }
  .collapsible-section { border-radius:4px; }
}

/* ---------- Sidebar links: always blue, underline only for current page ---------- */
/* Put this at the END of custom.css so it overrides theme rules */

:root { --shop-accent: #2D5475; }

/* Default: all links inside collapsible panels / children lists use the accent and no underline */
.shop-sidebar .collapsible-panel a,
.shop-sidebar .category-parent-dropdown .children-list a,
.shop-sidebar .price-collapse .collapsible-panel a {
  color: var(--shop-accent) !important;
  text-decoration: none !important;
  font-weight: 400 !important;        /* normal weight for panel items */
  outline: none !important;
}

.clear-filters, .price_label {
	float: right;
	padding-top: 10px;
}

/* Keep hover color the same (no color change), but allow background hover rules to still apply */
.shop-sidebar .collapsible-panel a:hover,
.shop-sidebar .category-parent-dropdown .children-list a:hover,
.shop-sidebar .price-collapse .collapsible-panel a:hover {
  color: var(--shop-accent) !important;
  text-decoration: underline !important;
}

/* Current/active grandchild: underline + heavier weight (still blue) */
.shop-sidebar .category-parent-dropdown .children-list li.current-cat > a,
.shop-sidebar .category-parent-dropdown .children-list a.current,
.shop-sidebar .collapsible-panel a.current {
  color: var(--shop-accent) !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

/* If links are marked with an .active class, treat them same as current-cat */
.shop-sidebar .category-parent-dropdown .children-list a.active,
.shop-sidebar .collapsible-panel a.active {
  color: var(--shop-accent) !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

/* Make sure direct single-link items keep their bold blue style (safety) */
.shop-sidebar .category-parent-dropdown.single-link .category-direct-link {
  color: var(--shop-accent) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}



/* Random Woocommerce Category Page Styling */
.page-title {
	color: var(--shop-accent) !important;
}
.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb a {
	margin: 0px!important;
	color: var(--shop-accent) !important;
}
/* ---------- Stable product grid with max-width 1372px ---------- */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr); /* 4 columns on desktop */
  gap: 32px;
  align-items: start;
  max-width: 1372px;    /* <-- your requested max width */
  margin: 0 auto;
  box-sizing: border-box;
}

/* let items size naturally inside the grid */
.woocommerce ul.products li.product {
  width: auto;
  box-sizing: border-box;
}

/* ---------- Make header (title + sort) match same content width ---------- */
.shop-header {
  max-width: 1372px;    /* <-- same value here */
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
}

/* constrain the sort/select so it doesn't explode */
.shop-ordering { max-width: 280px; width: 100%; }
.shop-ordering .orderby { width: 100%; box-sizing: border-box; }

/* defensive override if theme still applies flex spacing */
.woocommerce ul.products { justify-content: flex-start !important; }

/* ---------- Responsive breakpoints ---------- */
@media (max-width: 1100px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
@media (max-width: 800px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .shop-header { padding: 0 12px; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr; gap: 18px; }
  .shop-ordering { max-width: 220px; }
}

/* RESET any previous grid-based header changes */
.shop-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;   /* align the sort control to bottom of header */
  max-width: 1372px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* Keep breadcrumb above the title in the left column */
.shop-header .header-left {
  display: block;
}

/* Ensure the title block stacks properly */
.shop-header .title-block {
  display: block;
  margin: 0;
  padding: 0;
}

/* make the left column contents stack vertically with normal flow */
.shop-header .breadcrumb {
  margin-bottom: 12px; /* spacing above the title */
}

/* Right column (sort) — keep it small and aligned to bottom */
.shop-header .shop-tools {
  display: block;
  align-self: flex-end; /* explicit; should match parent align-items */
  margin: 0;
}

/* prevent the select from adding extra vertical space */
.shop-ordering,
.shop-ordering .orderby {
  margin: 0;
  padding: 0;
  max-width: 320px;
  width: 100%;
  box-sizing: border-box;
}

/* Defensive: remove grid artifacts from earlier attempt */
.shop-header[style],
.shop-header *[style] {
  /* no-op, but keep in mind inline styles might still interfere */
}

/* Responsive: stack on small screens */
@media (max-width: 600px) {
  .shop-header {
    align-items: flex-start;
    gap: 12px;
  }
  .shop-tools { width: 100%; }
  .shop-ordering { max-width: 100%; }
}
.orderby {
	color: #606060;
	background: #ECECEC;
	padding: 10px 0px!important;
	border-radius: 5px;
}


/* ---------- Single product layout: gallery left, summary right (SAFE) ---------- */

/* Layout: left gallery, right summary */
.mhf-single-product-inner{
  display:grid;
  grid-template-columns:minmax(420px,55%) 1fr; /* keep your proportions */
  gap:56px;
  align-items:start;
  max-width:1372px;
  margin:0;
  box-sizing:border-box;
}

/* Gallery column */
.mhf-product-gallery{ width:100%; display:block; box-sizing:border-box; }

/* Let Woo/Flexslider control the track & slides. Only size the outer box */
.mhf-product-gallery .woocommerce-product-gallery{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* Theme sometimes floats/caps the images block; uncap it */
.single-product div.product div.images{
  float:none !important;
  width:100% !important;
  margin:0 !important;
}

/* Viewport can stretch; safe */
.mhf-product-gallery .flex-viewport{ width:100%; overflow:hidden; }

/* Center image WITHOUT touching slide/track layout */
.mhf-product-gallery .woocommerce-product-gallery__image{ overflow:hidden; }
.mhf-product-gallery .woocommerce-product-gallery__image > a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:360px;                /* base visual height */
}

/* Responsive visual heights */
@media (max-width:980px){
  .mhf-product-gallery .woocommerce-product-gallery__image > a{ min-height:300px; }
}
@media (max-width:560px){
  .mhf-product-gallery .woocommerce-product-gallery__image > a{ min-height:220px; }
}

/* Images responsive */
.mhf-product-gallery .woocommerce-product-gallery__image img,
.mhf-product-gallery .woocommerce-product-gallery img.wp-post-image{
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
  object-fit:contain;              /* use 'cover' if you want a cropped fill */
}

/* Larger visual height on big screens (apply to the inner <a>, not track/slides) */
@media (min-width:1100px){
  .mhf-product-gallery .woocommerce-product-gallery__image > a{ min-height:480px; }
}

/* Thumbnail strip */
.woocommerce-product-gallery .flex-control-thumbs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
  justify-content:flex-start;
}
.woocommerce-product-gallery .flex-control-thumbs li{
  list-style:none;
  width:58px;
  height:58px;
  border:1px solid #e6e6e6;
  padding:2px;
  box-sizing:border-box;
  background:#fff;
}
.woocommerce-product-gallery .flex-control-thumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Summary column */
.mhf-product-summary{ width:100%; box-sizing:border-box; padding-top:6px; }

/* If any badge overlays the image, don’t block clicks */
.asnp-esb-badge-element{ pointer-events:none; }


/* Title style (two-line look from the mockup) */
.mhf-product-summary .product_title,
.mhf-product-summary h1.product_title {
  font-family: "oxtail", serif;
  font-size: 28px;
  line-height: 1.05;
  font-weight: 400;
  color: #264e62;
  margin: 0 0 10px;
}

/* rating + review count */
.mhf-product-summary .woocommerce-product-rating {
  margin: 6px 0 12px;
}

/* product excerpt / description block */
.mhf-product-summary .woocommerce-product-details__short-description,
.mhf-product-summary .summary .woocommerce-product-details__short-description, {
  color: #364a52;
  font-size: 15px;
  margin-bottom: 16px;
  line-height: 1.45;
}
.mhf-long-description {
	color: #606060;
}
/* Price */


/* Quantity + select layout spacing */
.mhf-product-summary form.cart {
  margin-bottom: 18px;
}

/* Add to cart button — pill + dark blue fill as in mockup */
.single_add_to_cart_button.button,
.mhf-product-summary .button.single_add_to_cart_button {
  background: linear-gradient(#2b5672,#244b65) !important;
  color: #fff !important;
  border-radius: 22px !important;
  padding: 10px 38px !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  text-transform: uppercase;
  font-weight: 700;
  box-shadow: none;
}

/* Small helper text icon area (SKU / meta) */
.mhf-product-summary .product_meta {
  margin-top: 16px;
  color: #6b7578;
  font-size: 13px;
}

/* Related products section - match mockup */
.mhf-related-products {
  margin: 56px auto 36px;
  text-align: center;
  max-width: 1372px;
}

/* Related section title style */
.mhf-related-products .mhf-section-title,
.mhf-related-products h2 {
  font-size: 50px;
  color: #2d5675;
  margin: 0 0 28px;
  font-weight: 400;
}
.mhf-related-products .woocommerce-loop-product__title {
	color: #2D5475!important;
	font-family: "helvetica-neue-lt-pro", sans-serif!important;
	font-weight: 400!important;
	font-size: 18px!Important;
}
/* Force WooCommerce related products to show as a 4-column grid */
.related.products,
.woocommerce .related.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  justify-items: center;
  align-items: start;
}

/* Each related product card */
.related.products li.product,
.woocommerce .related.products li.product {
  width: 100%;
  max-width: 210px;
  text-align: left;
  box-sizing: border-box;
}

/* Related image sizing */
.related.products li.product img {
  width: 100%;
  height: auto;
  display:block;
  object-fit:cover;
  border: 1px solid #e8e8e8;
  background:#fff;
  padding: 4px;
}

/* Related product title & price */
.related.products li.product .woocommerce-loop-product__title {
  font-size: 13px;
  color: #2d5675;
  margin: 8px 0 6px;
  font-weight: 400;
}
.related.products li.product .price {
  font-size: 13px;
  color: #6b7578;
}

/* Reviews title styling */
.mhf-product-reviews .comment-list,
.mhf-product-reviews h2,
.mhf-product-reviews .mhf-section-title {
  max-width: 820px;
  margin: 34px auto;
}

/* Responsive adjustments */
@media (max-width: 980px) {
  .mhf-single-product-inner {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .related.products {
    grid-template-columns: repeat(2,1fr);
  }

  /* reduce min-height on tablet */
  .woocommerce-product-gallery__image,
  .woocommerce-product-gallery {
    min-height: 300px !important;
  }
}
@media (max-width: 560px) {
  .related.products { grid-template-columns: 1fr; }
  .woocommerce-product-gallery .flex-control-thumbs { justify-content:flex-start; gap:8px; }
  .woocommerce-product-gallery__image { min-height: 220px !important; }
}

/* === Product cart form: stack vertically and order items === */
.woocommerce div.product form.cart {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

/* Keep variations (selects) first */
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .variations_form,
.woocommerce div.product form.cart .variations_table {
  order: 0;
  width: 100%;
}

/* Quantity + label: appear above the button */
.woocommerce div.product form.cart .quantity {
  order: 1;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}



/* Add-to-cart button on its own line, nicer size */
.woocommerce div.product form.cart .single_add_to_cart_button {
  order: 3;
  display: inline-block;
  width: 100%;
  max-width: 360px;    /* limits the button width so it stays neat */
  padding: 12px 28px;
  text-align: center;
  border-radius: 22px;
  box-sizing: border-box;
}

/* If you want the button centered within summary column */
.woocommerce div.product form.cart {
  align-items: flex-start; /* change to center if you prefer centered button */
}

/* Shipping note block: one-line icon + text under button */
.mhf-shipping-note {
  order: 4;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  white-space: nowrap; /* keep the icon+text on one line */
}

/* Icon sizing */
.mhf-shipping-note__icon {
  width: 36px;
  height: auto;
  display: inline-block;
}

/* Shipping text style */
.mhf-shipping-note__text {
  margin: 0;
  font-size: 18px;
  color: #6b7578;
}

/* Small screens: stack and make button full width */
@media (max-width: 680px) {
  .woocommerce div.product form.cart .single_add_to_cart_button {
    max-width: 100%;
  }
  .mhf-shipping-note { white-space: normal; } /* allow wrapping on small screens */
}
/* Ensure the stock + qty appear above the add-to-cart button and look tidy */
.woocommerce div.product form.cart {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start; /* change to center if you want everything centered */
}



/* Quantity control sits next to or below stock depending on screen size */
.woocommerce div.product form.cart .quantity {
  order: 2;
  margin: 0;
}

/* Put the add-to-cart button on its own line (below qty/stock) */
.woocommerce div.product form.cart .single_add_to_cart_button {
  order: 3;
  display: inline-block;
  width: 100%;
  max-width: 360px;
  padding: 12px 28px;
  border-radius: 22px;
  box-sizing: border-box;
}

/* Shipping note (your mhf shipping note) stays under the button */
.mhf-shipping-note {
  order: 4;
  display: flex;
  gap: 10px;
  align-items: center;
  white-space: nowrap;
  margin-top: 6px;
}

/* Responsive: stack on small screens */
@media (max-width: 680px) {
  .woocommerce div.product form.cart { align-items: stretch; }
  .woocommerce div.product form.cart .single_add_to_cart_button { max-width: 100%; }
  .mhf-shipping-note { white-space: normal; }
}
/* target only moved stock on single product pages */
.mhf-product-summary form.cart .moved-stock {
  margin: 14px 0;
  font-weight: 400;
  color: #606060; /* match your green 'in stock' color */
}

/* ensure quantity block and "yards" label are stacked above add-to-cart */
.mhf-product-summary form.cart .quantity {
  margin: 12px 0 8px;
  display: block;
}

/* Make add to cart full width on its own line */
.mhf-product-summary form.cart .single_add_to_cart_button {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 12px;
}

/* free shipping note sits on one line below the add-to-cart */
.mhf-shipping-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  color: #6b7578;
}
.mhf-shipping-note img.mhf-shipping-note__icon {
  width: 15%;
  height: 15%;
}
.woocommerce-product-rating {
	color: #2D5475;
}
.price {
	color: #606060!important;
	font-weight: 400!important;
}
.variation-label {
	display: none;
}
.woocommerce-loop-product__title {
	font-family: "helvetica-neue-lt-pro", sans-serif!important;
	color: #606060!important;
	font-size: 18px!important;
}
/* WooCommerce Shop Page
---------------------------------------------------------------------------- */

.woocommerce .content .entry {
	border-bottom: 0;
}

.woocommerce .content .entry::after,
.woocommerce .content .entry::before,
.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products .product::after,
.woocommerce ul.products .product::before {
	display: none;
}

.woocommerce a.added_to_cart {
	line-height: 1;
}

.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after,
.woocommerce input.button.loading::after,
.woocommerce #respond input#submit.loading::after {
	top: 1em;
}

.woocommerce ul.products {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.single-product.woocommerce ul.products {
	justify-content: inherit;
}

.woocommerce ul.products li.product .button,
.woocommerce .woocommerce-ordering,
.woocommerce-page ul.products li.product .button,
.woocommerce-page .woocommerce-ordering {
	margin-right: 0;
	width: 100%;
}

.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product .price .from {
	color: #000;
}

.woocommerce ul.products li.product h3:hover,
.woocommerce ul.products li.product .price {
	color: #0073e5;
}

/* MS Edge Bug Fix */
.woocommerce ul.products li.product a {
	transition: color 0.1s ease-in-out, background 0.1s ease-in-out;
}

.woocommerce nav.woocommerce-pagination {
	clear: both;
	margin: 40px 0;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	margin-left: 2px;
	margin-right: 2px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	background-color: #f5f5f5;
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.625;
	padding: 8px 12px;
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background-color: #333;
	color: #fff;
}

.woocommerce .woocommerce-result-count {
	font-weight: 500;
    font-size: 14px;
    color: #999;
}

.parentSelect {
	margin-right: 5px;
}

.parentSelect select {
    color: #333;
    padding: 15px 0;
    border-radius: 0;
    font-size: 16px;
	font-family: sans-serif;
}

.parentfilters {
    display: flex;
    padding: 10px 0;
    justify-content: flex-start;
    align-items: center;
}

.featured-products .woocommerce ul.products li.product .button {
	display:none!important;
}



/* ---- Aggressive: remove any remaining separator under the variations ---- */
.single-product form.variations_form,
.single-product form.variations_form table.variations,
.single-product form.variations_form table.variations tbody,
.single-product form.variations_form table.variations tr,
.single-product form.variations_form table.variations td,
.single-product form.variations_form table.variations th,
.single-product .single_variation_wrap,
.single-product .woocommerce-variation,
.single-product .woocommerce-variation-add-to-cart,
.single-product form.variations_form .qty-suffix,
.single-product .mhf-add-to-cart-wrap,
.single-product form.cart,
.single-product .product_meta {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* hide pseudo-element separators */
.single-product form.variations_form::before,
.single-product form.variations_form::after,
.single-product .single_variation_wrap::before,
.single-product .single_variation_wrap::after,
.single-product .woocommerce-variation-add-to-cart::before,
.single-product .woocommerce-variation-add-to-cart::after,
.single-product .mhf-add-to-cart-wrap::before,
.single-product .mhf-add-to-cart-wrap::after {
  display: none !important;
  content: none !important;
}

/* remove HRs inserted around the variation area just in case */
.single-product form.variations_form + hr,
.single-product .single_variation_wrap + hr,
.single-product .woocommerce-variation-add-to-cart + hr,
.single-product form.cart + hr {
  display: none !important;
}


