/** Shopify CDN: Minification failed

Line 257:32 Unexpected "{"
Line 2057:23 Expected ":"

**/
@media (min-width: 360px) {
    .productGrid {
        margin-left: unset!important;
        margin-right: unset!important;
    }
}

.productView-image.slick-slide {
  box-sizing: border-box;
  border-right: 1px solid #fff;
}

/* 🔹 Only adjust arrows in MAIN product image slider */
.productView-images .productView-nav.slick-slider .slick-prev {
  left: 10px !important;
}

.productView-images .productView-nav.slick-slider .slick-next {
  right: 10px !important;
}

@media (min-width: 1025px) {
    .template-collection.product-card-layout-02 .productGrid {
        margin-right: -6px!important;
    }
    .halo-product-block .products-carousel {
    margin-bottom: 44px!important;
}
}

@media (min-width: 1025px) {
    .section-block-template--17808900948052__product-recently-viewed .container-full {
        padding-bottom: 20px;
    }
}

@media (max-width: 551px) {
    .halo-product-block .container-full:not(.product-block-has__banner) .halo-block-content {
        padding: 0px !important;
    }
}

.custom-search-container {
    top: -1px;
}

.productView-img-container img {
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  display: block;
}


.button.button-1 {
  margin-bottom: 10px!important;
}

.previewCartGroup .dynamic-checkout__content {
    display: none;
}

@media (max-width: 1024px) {
    .previewCartInfo {
        padding: 5px 20px 5px!important;
    }
}


.cart-item-value {
  position: relative!important;
  font-size: calc(var(--font-body-size) + 2px)!important;
  font-weight: var(--font-weight-medium)!important;
  color: #004080!important;
  line-height: var(--body-line-height)!important;
  letter-spacing: var(--body-letter-spacing)!important;
  display: inline-block!important;
  background: rgba(255, 230, 180, 0.3);
  border-radius: 8px;
  padding: 2px 6px;
}

@media (max-width: 550px) {
.cart-item-block.cart-item-total {
    text-align: end!important;
}
}


@media (max-width: 550px) {
  .cart-remove {
    position: relative;
    transform: translateY(-3px);
    background: #004080!important;
    color: #fff!important;
    padding: 0px 5px!important;
  }

  .cart-remove::after {
    content: 'Remove'; /* You can change this text or symbol */
    font-size: 12px;
    font-weight: 500;
    margin-left: 4px;
    display: inline-block;
    transform: translateY(3px);
  }
}


@media (max-width: 550px) {
 .cart-item-block.cart-item-quantity:not(.small-screen-visible) {
    display: contents!important;
  }
  .cart-item-block.cart-item-total {
    display: block!important;
  }

  .cart-item-block.cart-item-remove:not(.small-screen-visible) {
    display: block!important;
  }
}

#judgeme_product_reviews {
  max-width: none !important;
  width: 100% !important;
  margin: 0 auto;
}

.contact.contact-2 .contact-item.contact-itemRight {
   background-color: #ffffff!important;
 }

.productView-img-container {
  border-radius: 8px!important;
  border: 1px Solid #c7ddf3;
  background-color: #fff!important;
  overflow: hidden!important;
  transition: box-shadow 0.3s ease!important;
} 

@media (max-width: 767px) {
.section-block-template--17808900948052__product-recently-viewed .products-flex {
 gap: 0px !important; 
}}


/* @media (max-width: 550px) {
    .cart-item {
        margin: 10px;
    }
} */

.wrapper-cartCount {
    color: #fff!important;
}

@media (max-width: 1024px) {
    .halo-sidebar-header {
    background-color: #004080;
}}

/* ✅ Apply padding to ALL Recently Viewed Product blocks on mobile */
@media (max-width: 767px) {
  [class*="section-block-template--"][class*="__product-recently-viewed"] .products-flex .product,
  [class*="section-block-template--"][class*="__product-recommendations"] .products-flex .product {
    padding: 15px 5px !important;
  }
}


@media (max-width: 1024px) {
    .halo-cart-sidebar .previewCartItem-price .discounted-price, .previewCartItem-price .price {
        font-size: calc(var(--product-price-font-size))!important;
    }
        .halo-cart-sidebar .previewCartItem-price .before-discount-price {
        font-size: calc(var(--product-price-font-size) - 2px)!important;
    }
}


@media (max-width: 550px) {
    .productView-info-item {
        width: 100% !important;
        padding: 0 !important;
    }
}

@media (max-width: 1024px) {
    .product-card-layout-02 .card-title {
        font-size: calc(var(--product-title-font-size))!important;
        line-height: 1.6!important;
    }
}

.productView-action .button {
    padding-top: 13px!important;
    padding-bottom: 13px!important;
}

#CartSection-template--17808900915284__main .cart-container.container-full {
    padding-left: 1px!important;
    padding-right: 1px!important;
}

.header-mobile__item--logo {
justify-content: center!important;
}

@media (min-width: 1025px) {
[id^="shopify-section-template--"] .container {
  width: calc(100% - 40px);
  max-width: 100%;
  margin-left: 40px !important;
  margin-right: 40px !important;
}}

@media (min-width: 1025px) {
  .ai-promo-section-template--17682762465364promotionsectionv2waga7k,
  .ai-promo-section-template--17682762465364promotionsectionv2pvzlyd,
  .ai-overall-section-template--17682762465364overalldiscountpromoyclmy7,
 /* .container-1770,*/
  [id*="shopify-section-template--"],
  [id*=".ai-promo-section-template--"] {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
}

@media (max-width: 1024px) {
  #SearchSection-template--17425985798228__main,
  #CollectionSection-template--17425984225364__product-grid,
  #BlogSection-template--17425984028756__main,
  #CartSection-template--17808900915284__main .cart-container.container-full,
  [id^="ProductSection-template"],
  #WishlistSection-template--17425985273940__main,
  #StoreLocatorSection-template--17425985175636__main,
  /*[id*="shopify-section-template--"],*/
  [id*=".ai-promo-section-template--"],
  .toolbar:not(.show-sticky),
  #shopify-section-template--17808901374036__16426738253c0b77ec,
  [id*="spotlight-template--"],
  #shopify-section-template--17808900915284__16497261635f6f948e
  {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
}


@media (max-width: 1024px) {
.template-index .wrapper-body,  {
  margin-left: 4px!important;
  margin-right: 4px!important;
}}

  
  
.halo-sticky-toolbar-mobile {
  border: 1px solid #e6e6e6!important;
}

.halo-sticky-toolbar-mobile {
  left: 5%!important;
  border-radius: 50px!important;
  width: 90%!important;
 
}

.halo-sticky-toolbar-mobile .list-item {
  position: relative !important;
}


@media only screen and (min-width: 768px) {
    .jdgm-paginate+.jdgm-collected-link {
        bottom: -30px!important;
    }
}




[id^="ProductSection-template--"][id$="__main"], [id*="shopify-section-template--"], #ArticleSection-template--17425983963220__main  {
    background: #f9fcff!important;
    }



/* Style the track (bar behind the thumbs) */
.facets__price--slide input[type="range"] {
  accent-color: #004080!important;
}

/* WebKit (Chrome, Safari) specific - Thumb (slider handle) */
.facets__price--slide input[type="range"]::-webkit-slider-thumb {
  background-color: #004080!important;
  border: none!important;
}

/* Firefox specific - Thumb */
.facets__price--slide input[type="range"]::-moz-range-thumb {
  background-color: #004080!important;
  border: none!important;
}

/* WebKit - Track */
.facets__price--slide input[type="range"]::-webkit-slider-runnable-track {
  background: #004080!important;
}

/* Firefox - Track */
.facets__price--slide input[type="range"]::-moz-range-track {
  background: #dbe9f8!important;
}



.halo-block {
  background: #f9fcff!important;
}


@media screen and (max-width: 768px) {
  .jdgm-form input[type="text"],
  .jdgm-form input[type="email"],
  .jdgm-form input[type="url"],
  .jdgm-form textarea {
    font-size: 16px;
  }
}



@media (min-width: 1920px) {
  .slick-arrow.slick-prev {
    left: 15px !important;   /* Adjust to taste */
    transform: translateY(-50%);
  }
  .slick-arrow.slick-next {
    right: 15px !important;
    transform: translateY(-50%);
  }
}


.halo-article-content .halo-text-format h2
{
  margin-top:10px!important;
  margin-bottom:10px!important
}


@media screen and (max-width: 1024px) {
.jdgm-medals--rebranding {
    display: inline-grid!important;
}}

.jdgm-all-reviews-page__load-more-wrapper {
    padding-bottom: 15px;
}

.jdgm-all-reviews-page__wrapper {
    max-width: 90%!important;
    background: white;
    padding-left: 10px;
    padding-right: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  border-radius: 12px;
    margin-top: 40px!important;
  margin-bottom: 40px!important;
}

.img-box .image img {
    object-fit: contain!important;
}

.halo-article-content .article-header {
    margin-bottom: 10px!important;
}

@media screen and (max-width: 1024px) {
.filter-by-title-desktop {
  display: none;
}}

@media screen and (min-width: 1025px) {
.reviews_all_container {
    padding: 25px !important;
    margin-left: 50px!important;
    margin-right: 50px!important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08)!important;
    background: white;
}}

@media screen and (min-width: 1025px) {
.jdgm-rev-widg.jdgm-rev-widg {
    padding: 50px !important;
   }}

@media screen and (max-width: 1024px) {
.reviews_all_container {
    padding: 10px !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08)!important;
        background: white;
}}

@media screen and (max-width: 1024px) {
.jdgm-rev-widg.jdgm-rev-widg {
    padding: 10px !important;
}}

.jdgm-prev-badge {
    padding-bottom: 5px;
}
.kl_reviews__lightbox_background.kl_reviews__lightbox_background.kl_reviews__lightbox_background button.kl_reviews__close_button svg {
    fill: white;
    stroke: white;
    height: 16px;
    width: 16px;
}

.kl_reviews__lightbox_background.kl_reviews__lightbox_background.kl_reviews__lightbox_background button.kl_reviews__close_button {
  background: #004080;
}

.kl_reviews__summary__stars svg, .kl_reviews__review_stars_and_time .kl_reviews__stars_badge svg, .kl_reviews__stars_badge svg {
    stroke: #ffcd37 !important;
}

.kl_reviews__star_rating_widget.kl_reviews__star_rating_widget.kl_reviews__star_rating_widget svg {
    stroke: #ffcd37!important;
}

.kl_reviews__review_item.kl_reviews__review_item.kl_reviews__review_item .kl_reviews__review__product_card .kl_reviews__review__product_card__container .kl_reviews__review__product_card__carat svg {
    width: 2rem !important;
    height: 2rem !important;
}


/* Button container: visible only on desktop */
.desktop-only {
  display: none;
}

@media screen and (min-width: 1025px) {
  .desktop-only {
    display: flex;
    justify-content: flex-start;
    margin: 0px 0 10px;
  }
  .page-sidebar+.page-content {
        margin-top: -10px;
    }
}

.toggle-filter-btn {
  background: linear-gradient(135deg, #004080, #0066cc);
  color: #ffffff;
  padding: 10px 18px;
  border: none;
  border-radius: 25px;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.3px;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.toggle-filter-btn:hover {
  background: linear-gradient(135deg, #003366, #005bb5);
  transform: translateY(-1px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}

.toggle-filter-icon {
  display: inline-block;
  vertical-align: middle;
  fill: white;
}


@media screen and (min-width: 1025px) {
.toolbar {
    border-top: none!important;
      padding: 0px 0px !important;
}}



/* 🛠️ Prevent double + icon on mobile */
@media screen and (max-width: 1024px) {
  .sidebarBlock-heading::before {
    display: none !important;
  }

  .sidebarBlock-heading::after {
    content: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  .sidebarBlock.open .sidebarBlock-heading::after {
    content: "-" !important;
  }
  .sidebarBlock-heading::before,
.sidebarBlock-heading::after {
  content: "" !important;
}
  .sidebarBlock-heading {
    position: relative;
  }

  .sidebarBlock-heading::after {
    content: "+" !important;
    font-size: 20px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s ease;
  }

  /* When accordion is open, show minus */
  .sidebarBlock.open .sidebarBlock-heading::after {
    content: "−" !important;
    transform: translateY(-50%) rotate(0deg);
  }
.sidebar--layout_2 .sidebarBlock-headingWrapper .sidebarBlock-heading:after {
    transform: translate3D(0, -50%, 0) rotate(0)!important;
  top: calc(50% - 10px)!important;
}
    
  .custom-filter-search {
    width: 70%!important
  }
  .page-sidebar .halo-sidebar-wrapper {
    background: #f9fcff;
}
  .page-sidebar {
    max-width: calc(100vw - 30px)!important;
}
}



@media screen and (min-width: 1025px) {
  #CollectionFiltersForm .sidebarBlock {
    margin-bottom: 5px!important;
  }
  .custom-filter-search {
       
        border: 1px solid #e8e8e8 !important;
        background-color: #e8e8e8 !important;
    }
  .custom-filter-content {
    display: none;
  }

  .sidebarBlock.open .custom-filter-content {
    display: block;
  }
 
}

@media screen and (min-width: 1025px) {
  .sidebarBlock .custom-filter-search {
    color: #000 !important;
    border: 1px solid #ccc !important;
    background-color: #fff !important;
  }
}


.eofy-popup-wrapper {
  padding: 20px;
  background: #ffffff;
  border-radius: 16px;
  max-width: 600px;
  margin: 0 auto;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  font-family: 'Poppins', sans-serif;
}

.eofy-popup-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.eofy-popup-image {
  flex: 1 1 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.eofy-popup-image img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.eofy-popup-text {
  flex: 1 1 250px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.eofy-popup-heading {
  font-size: 20px;
  font-weight: 700;
  color: #004080;
  margin-bottom: 8px;
}

.eofy-popup-subtext {
  font-size: 16px;
  color: #444;
  margin-bottom: 12px;
}

.eofy-popup-code {
  font-size: 16px;
  font-weight: 600;
  color: #000;
}

.eofy-code-badge {
  display: inline-block;
  background-color: #fabc09;
  color: #000;
  padding: 6px 14px;
  border-radius: 6px;
  margin-left: 6px;
  font-weight: bold;
}

/* Mobile Responsive */
@media (max-width: 600px) {
  .eofy-popup-grid {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .eofy-popup-text {
    align-items: center;
  }
}
@media (max-width: 1024px) {
.eofy-popup-text {
    flex: 1 1 0px; }}



.card-title {
  margin: 0px !important;
}

.header-advanced__item {
    padding-top: 5px!important;
    padding-bottom: 5px!important;
}

@media (min-width: 1025px) {
    .template-collection.product-card-layout-02 .productListing.productList .card {
        padding-top: 20px;
    }
}
@media (min-width: 768px) {
    .wishlist-container .productList .card {
        padding-top: 20px;
    }}


.header-navigation .icon-scan-eye:hover {
    stroke: #FABC09 !important;
}

.header-nav-vertical-menu .header-icons-bottom {
    gap: 20px !important;
}

    .header-navigation .icon-scan-eye {
  width: 26px !important;
  height: 26px !important;
  stroke: #fff !important;
  stroke-width: 1.5 !important;
  fill: none !important;
  display: block !important;
}



/* Match style with cart bubble */
.cart-count-bubble.wishlist-bubble,
.cart-count-bubble.viewed-bubble {
  position: absolute;
  top: -7px;
  right: -15px;
  background: var(--cart_count_bubble_bg);
  color: var(--cart_count_bubble_color);
  font-size: 12px;
  font-weight: 400;
     width: 22px;
  border-radius: 999px;
  line-height: 22px;
  min-width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  /*line-height: 1;*/
  z-index: 2;
}



.wishlist-count-bubble-mobile,
.view-count-bubble-mobile {
  position: absolute !important;
    top: -3px !important;
    right: -11px !important;
    background-color: #004080 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border-radius: 999px !important;
    padding: 6px 0px !important;
    min-width: 24px !important;
    min-height: 24px!important;
    line-height: 1 !important;
    text-align: center !important;
    z-index: 1 !important;
    max-width: 30px !important;
}

/* Force counter text to white */
.wishlist-count-bubble-mobile .text,
.view-count-bubble-mobile .text {
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}



.header-advanced--style2 .header-advanced-textRight span {
    justify-content: center!important;
}

/* Wishlist Icon Container */
.header__iconItem.header-advanced-wishlist .wishlist-icon-wrapper {
  position: relative !important;
  display: inline-block !important;
}

/* Wishlist Count Bubble - matches cart/view */
.header__iconItem.header-advanced-wishlist .wishlist-count-bubble-custom {

  line-height: 17px;
    min-height: 17px;
    margin: 0;
    min-width: 30px;
    border-radius: 8px;
    position: relative;
    background-color:  #004080;
    color: #fff;
    display: inline-block !important;
    top: 0;
    right: 0;
    text-align: center;
    font-size: 11px;
    font-weight: 600 ;
    letter-spacing: 0;
  padding-top: 1px !important;
    padding-bottom: 1px !important;
}
  
 


/* Text under icon */
.header__iconItem.header-advanced-wishlist .header-advanced-textRight {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Wishlist label */
.header__iconItem.header-advanced-wishlist .cart-text {
  font-size: 13px !important;
  color: #004080 !important;
  text-align: center !important;
  margin-top: 2px;
}




.header__iconItem.header-advanced-viewed {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  color: var(--color, #004080) !important;
}

.header__iconItem.header-advanced-viewed .icon-scan-eye {
  width: 32px !important;
    height: 32px !important;
    display: block !important;
    fill: white !important;
    stroke: #004080!important;
}

.header__iconItem.header-advanced-viewed .header-advanced-textRight {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.header__iconItem.header-advanced-viewed .view-count-bubble {
    line-height: 17px;
    min-height: 17px;
    margin: 0;
    min-width: 30px;
    border-radius: 8px;
    position: relative;
    background-color:  #004080;
    color: #fff;
    display: inline-block !important;
    top: 0;
    right: 0;
    text-align: center;
    font-size: 11px;
    font-weight: 600 ;
    letter-spacing: 0;
    padding-top: 1px;
    padding-bottom: 1px;
}

.header__iconItem.header-advanced-viewed .cart-text {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #004080 !important;
  text-align: center !important;
  margin-top: 2px;
  
}




.halo-popup-title.text-center::after {
  content: ' (scroll →)' !important;
  font-size: 13px !important;
  font-weight: normal !important;
  color: #888 !important;
}


/* Right scroll arrow hint (bottom right) */
.halo-compareColors-image::after {
  content: '➜' !important;
  position: absolute !important;
  bottom: 8px !important;
  right: 10px !important;
  transform: none !important;
  font-size: 20px !important;
  color: #999 !important;
  z-index: 9999 !important;
  pointer-events: none !important;
  background: #fff !important;
  padding-left: 4px !important;
  animation: scrollArrowBlink 1.2s infinite !important;
}

/* Left scroll arrow hint (bottom left) */
.halo-compareColors-image::before {
  content: '⬅' !important;
  position: absolute !important;
  bottom: 8px !important;
  left: 10px !important;
  transform: none !important;
  font-size: 20px !important;
  color: #999 !important;
  z-index: 9999 !important;
  pointer-events: none !important;
  background: #fff !important;
  padding-right: 4px !important;
  animation: scrollArrowBlink 1.2s infinite !important;
}

/* Blinking animation for scroll arrows */
@keyframes scrollArrowBlink {
  0%, 100% { opacity: 1 !important; }
  50% { opacity: 0.2 !important; }
}



@media (min-width: 551px) {
    .tabs-horizontal {
        display: contents!important;
    }
}
@media (min-width: 551px) {
    .pvGroup-row {
        display: inline!important;
          }}



.card-price {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
  
}

.card-price .price__regular {
  display: none!important;
}

.card-price .price__sale {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
}

.card-price .price-item {
  font-size: 14px !important;
  white-space: nowrap !important;
  line-height: 1.4 !important;
}

.card-price .text {
  font-size: 12px !important;
  font-weight: 400 !important;
  margin-right: 2px !important;
  white-space: nowrap !important;
  display: inline-block !important;
}



.halo-text-format ul li, .halo-text-format ol li {
        color: #3c3c3c !important;
   }

.productView-share.style-2 .share-button__button {
  background: none!important;
}

@media screen and (max-width: 1024px) {
.product-form__input .form__select {
      max-width: 30rem!important;
}}

@media screen and (max-width: 1024px) {
.product-details.has-sidebar .toolbar-wrapper.toolbar-mobile {
    display: none!important;
}
}

.jdgm-prev-badge__text {
    padding-left: 5px;
    text-decoration: underline;
    color: var(--color-title);
}


.bundle-product-checkbox .product-title {
  display: -webkit-box!important;
  -webkit-line-clamp: var(--product-title-line-text)!important;
  -webkit-box-orient: vertical!important;
  overflow: hidden!important;
  text-overflow: ellipsis!important;
  line-height: 1.4em!important;
  max-height: calc(1.4em * var(--product-title-line-text))!important;
}



#halo-product-bundle {
  background: none!important;
}


.product-item-custom .card-product {
    width: 130px!important;
}

/* Reset: Hide the checkmark by default */
label svg:nth-of-type(2) {
  display: none !important;
}

/* Show and scale checkmark ONLY when checkbox is checked */
input[type="checkbox"]:checked + label svg:nth-of-type(2) {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  
  transform-origin: center;
  margin-left: -20px; /* Optional: align over box */
}



.klaviyo-form input[type=radio] + label > svg {
  
  width: 20px !important;
  height: 20px !important;
}

.klaviyo-form input[type=radio]:checked + label > svg {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
}




@media screen and (min-width: 1025px) {
  .header-advanced__content .quickSearchResultsWrap {
    left: 50%!important;
    transform: translateX(-50%)!important;
    width: 700px!important;
  }
}
@media screen and (max-width: 767px) {
.column-6 .footer-block__item:nth-child(n+3) {
        margin-top: 0px!important;
    }
}



@media screen and (max-width: 1024px) {
.spotlight-inner .title {
        margin-bottom: 5px!important;
}}
 @media screen and (max-width: 1024px) {
.spotlight-block .spotlight-inner.is-bordered {
    padding: 0px!important;
}}


.halo-item .spotlight-item {
  background-color: #ffffff!important;
  border-radius: 12px!important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08)!important;
  transition: box-shadow 0.3s ease, transform 0.3s ease!important;
}

/* Hover state for elevation effect */
.halo-item .spotlight-item:hover {
  box-shadow: 0 6px 20px rgba(0, 64, 128, 0.15)!important;
  transform: translateY(-2px)!important;
}



.spotlight-block .content.align-items--center {
        background-color: white!important;
}

.spotlight-inner h3 .has_border_s3 span {
        color: #004080!important;
}

.spotlight-inner .spotlight-button.custom-button-style {
  background: #004080 !important;
  color: #ffffff !important;
  border: none;
  transition: all 0.3s ease;
  border-radius: 6px;
}

/* Hover effect */
.spotlight-inner .spotlight-button.custom-button-style:hover {
  background: #ffffff !important;
  color: #004080 !important;
  box-shadow: 0 4px 12px rgba(0, 64, 128, 0.3) !important;
  cursor: pointer;
}

/* Active (click) state */
.spotlight-inner .spotlight-button.custom-button-style:active {
  transform: scale(0.97);
  box-shadow: inset 0 3px 6px rgba(0, 64, 128, 0.2) !important;
}

.show_image_loading .media--loading-effect {
    background: none!important;
}

.section-block-template--16947388383316__bbc37338-c771-4490-99bb-f7b024f28e76 {
        padding-top: 0px!important;
    padding-bottom: 0px!important;
    }



@media screen and (max-width: 1024px) {

.quickSearchResults .container {
      margin: 0px!important;
}}
  
.quickSearchResultsWrap {
  width: 100%!important;
}

.quickSearchResultsWrap[data-quick-trending-products] {
    padding-left: 10px!important;
    padding-right: 10px!important;
}
 
    #predictive-search-results-list .products-grid {
        display: flex!important;
        padding-left: 5px!important;
        padding-right: 20px!important;
    }
  quickSearchResults .container {
        padding-left: 5px!important;
        padding-right: 5px!important;
    }
.quickSearchResultsBlock .search-block-title {
  padding-left: 10px;
}
 

    .search-modal__form .search__input, #custom-search-input, .cart-coupon-code .form-input, .custom-filter-search, .form-input.quantity__input {
       font-size: 16px !important;
    }

 .facets__list--refined .active-facets__button {
    color: #fabc09!important;
    background-color: #004080!important;
  }
@media screen and (max-width: 1024px) {

/* Refined By section: always open, no plus/minus icon */
.sidebarBlock.refined-widgets .sidebarBlock-heading::after {
  display: none !important; /* Removes the + icon */
}

.sidebarBlock.refined-widgets .sidebarBlock-content {
  display: block !important; /* Always open */
}

  .facets-horizontal .facets__count.custom-count {
    background-color: #004080 !important;
    color: #fabc09;
    padding-left: 8px;
    width: 24px;
    border-radius: 20px;
}
 
#CollectionFiltersForm .refined-widgets .sidebarBlock-heading{
  padding-left: 0px !important;
}
  .facets-vertical .sidebarBlock .results-count{
    padding-top: 15px;
  }

  }

@media screen and (max-width: 1024px) {
.page-sidebar .halo-sidebar-header {
   background: #004080;
    color: white;
}
.page-sidebar.page-sidebar-left .halo-sidebar-close {
    right: 0px!important;
}
  .facets__price--slider .form-actions {
        margin-bottom: 20px;
}
.sidebar--layout_1 .sidebarBlock-heading {
  margin-bottom: 0px!important;
}}

  




input[type=checkbox]:checked+.form-label--checkbox:before {
    background-color: #004080!important;
    border-color: #004080!important;
}


.halo-block-header .title:before {
      background: none!important;
}



template-search .facets__list {
  max-height: none !important;
  overflow-y: auto !important;
}


@media screen and (max-width: 1024px) {
#CollectionFiltersForm .sidebarBlock {
    margin-bottom: 0px!important;
    border-bottom: 1px solid;
    border-color: #0040802b;
}}

/*.page-sidebar .halo-sidebar-header .title::before {
  content: "Filter by :";
}*/


.halo-sidebar-header .title {
  font-size: inherit; /* optional: keep existing size */
  color: inherit;     /* optional: keep existing color */
}

.halo-sidebar-header .title::after {
  content: "";
}

.halo-sidebar-header .title {
    visibility: visible;
    position: relative;
    color: white;
}

.halo-sidebar-header .title::before {
  visibility: visible;
  position: absolute;
  top: 0;
  left: 0;
}




/* ✅ Hide filter options with (0) count and disabled checkbox */
.facets__item:has(input[disabled]) {
  display: none !important;
}

.facets__item .count:contains("(0)") {
  display: none;
}


.custom-filter-search:focus {
  outline: 2px solid #fff;
}


/* above is filter css */


.product-card-layout-02 .price-item .text {
    display: none!important;
}

/* Default: Desktop - Show max 2 lines */
:root {
  --product-title-line-text: 2 !important;
}

/* Mobile: Show max 2 lines */
@media (max-width: 767px) {
  :root {
    --product-title-line-text: 2 !important;
  }
}

/* Product title ellipsis with clamp */
.card-title-ellipsis {
  overflow: hidden !important;
  white-space: normal !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  text-overflow: ellipsis !important;
  min-height: 48px !important; /* Ensures 2-line space */
}



.article-heading .title {
    line-height: normal;
}

.header-mobile__item {
    min-width: 35px!important;
}


.blog-layout-list .article-item {
    border-radius: 10px;
    margin-bottom: 10px !important;
    padding: 10px !important;
    padding-top: 2px !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    background: white;
    padding-bottom: 2px !important;
}

.sidebar--layout_1 .sidebarBlock-heading {
    border-bottom: none!important;
    padding-left: 5px!important;
    margin-left: none!important; 
}

/* Search box*/
.header-advanced .show-box-shadow .search-modal__form {
    background: #e6e6e657!important;
    box-shadow: inset 0px 0px 20px -5px rgba(0, 0, 0, 0.2)!important;
}



/* Search box*/

.quickSearchResultsBlock .products-grid {
    margin-left: 0px!important;
}

.product-form__label .pattern {
       background-color: transparent!important;
}

.card-swatch .swatch-label .pattern {
    background-color: transparent!important;
}


/* Pre-order box*/

.pre-order-info-box {
  border: 1px solid #ddd; /* Border color */
  border-radius: 5px; /* Rounded corners */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Shadow */
  padding: 15px; /* Spacing inside the box */
  margin-bottom: 10px; /* Spacing between boxes */
  background: white;
}

.pre-order-info-box h3 {
  font-size: 18px; /* Title font size */
  margin-bottom: 10px; /* Spacing below title */
  margin-top: 0px;
}

.pre-order-info-box p {
  margin-bottom: 10px; /* Spacing between paragraphs */
  line-height: 1.4; /* Line height */
}

.bold-date {
  font-weight: bold; /* Make the date bold */
}


/* Tidio close button */

.flyMessage .close-button-wrapper {
    opacity: 0.9!important;
}
/* Sort filter background color */


.toolbar .toolbar-dropdown .label-tab {
    background-color: #ffffff00!important;
}

/* Group products css */

.bundle-product-image {
    max-width: 150px;
    max-height: 150px;
}


.product-customInformation__content .product__text.title {
     visibility: hidden; 
}

.jdgm-all-reviews-page__wrapper {
    padding-top: 25px;
    }

@media (max-width: 992px){
.product-block-has__banner.product-block-has__collections .product-block__grid .products-carousel .product {
     padding-right: 5px!important;
}}

@media (max-width: 992px){
.halo-product-block .collection-column-2 {
    padding-left: 5px!important;
    padding-right: 5px!important;
}}

@media screen and (min-width: 1025px) {
.product-card-layout-02 .card:hover {
    transform: translateY(-5px);
    /*box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);*/
}}



@media screen and (min-width: 1025px) {
.product-card-layout-02 .halo-product-block .product {
    padding: 0 10px!important;
}}


/* Category Slider icon Width */
.block-categories-slider .categories-slider--list li a img {
    width: 24px;
    height: 24px;
}



/*@media screen and (min-width: 1025px) {
.product-card-layout-02 .card {
      margin-bottom: 0px!important;
}}*/

/*
@media screen and (max-width: 551px) {
.halo-product-block .products-carousel .product {
    padding: 0px 1px!important;
}}*/


@media screen and (max-width: 1024px) {
#MenuMobileListSection-menu .custom-image img {
    box-shadow: 0px 0px 8px 0px #88888880;
}}

.shopify-challenge__button {
    background: #004080!important;
    color: white!important;
}
.product-card-layout-02 .productListing .product-item.enable_custom_layout_card .card-action {
    max-width: 100%!important;
}

.halo-block-header .title .text {
  background: none!important;
}


@media screen and (max-width: 750px){
.menu-lv-item .icon {
    fill: #004080!important;
}}

@media screen and (min-width: 1025px){
.menu-lv-item .icon {
  fill: white;
}}

/* Password Page */
@media screen and (min-width: 1025px){
.icon-show-hide-password {
    left: 409px!important;
    top: 7px!important;
}}
/* Password Page */

/* homepage */



/* Product Card */
.card-title { 
  margin: 0px!important;
}

.product-card-layout-02 .product-item.enable_custom_layout_card .wrapper__card {
    margin-top: 5px!important;
}

.product-card-layout-02 .product-item.enable_custom_layout_card .card-price {
    margin-bottom: 5px!important;
}

/* Review widget */
.jdgm-revs-tab-btn[data-style="text"][position="left"] {
    top: 70%!important;
}

/* before you leave */

 .before-you-leave-banner .content .title,.before-you-leave-banner .content .desc1, .before-you-leave-banner .content .heading1,
.before-you-leave-banner .content .desc2, .before-you-leave-banner .content .heading2{
    color : #000000!important;
}

.halo-sidebar-close {
  background-color: #004080!important;
}

/* description text H1 heading size change*/
@media screen and (min-width: 750px) {
h1 {
    font-size: 2rem!important;
}}

@media screen and (max-width: 750px){
.halo-text-format h1 {
    font-size: 2rem!important;
    line-height: 3rem;
}}

/* quickview button 
.productView-action .button {
    background: #004080!important;
    border-color: #004080!important;
}
share button background color
.share-button__button {
    background-color: #FFF!important;
}*/

/* pls check  for checbox color in filters
@media screen and (min-width: 1025px)
input[type=checkbox]+.form-label--checkbox:before {
    background-color: #fff!important;
} */


/* Header csss */

@media screen and (min-width: 1025px){
.scrolled-past-header .menu-lv-1__action>.label {
    top: -20px!important;
}}

@media screen and (min-width: 1025px){
.header-navigation>.container {
       padding-left: 40px;
}}

@media screen and (min-width: 1025px){
.scrolled-past-header .sticky-container-full {
    background: #004080!important;
    padding-left: 40px;
    padding-right: 40px;
}}

/*@media screen and (min-width: 1025px){
.megamenu_style_3 .menu-dropdown__column {
    padding-left: 25px;
}}*/

@media screen and (min-width: 1025px){
.newsletter-form__field-wrapper .shouldShow .effect_placeholder {
    padding-left: 15px!important;
}}

@media screen and (min-width: 1025px){
.newsletter-form__field-wrapper .effect_placeholder {
    bottom: 13px!important;
}}

@media screen and (max-width: 767px){
.newsletter-form__field-wrapper .effect_placeholder {
  bottom: 8px!important;
}}

@media screen and (min-width: 1025px){
.header-advanced__content .header__heading {
   padding-left: 0px!important;
}}

@media screen and (min-width: 1025px){
.header-advanced--style2 .header-advanced__content {
    column-gap: 30px!important;
}}

.header-mobile--icon .header__heading-link {
     min-width: 200px;
  max-width:250px;
  align-self: stretch;
}


/* Header csss */

/* search bar csss */
.products-grid .product {
    padding: 0 5px!important;
}



  
/*collection page CSS */
@media screen and (min-width: 1025px) {
.tabs-horizontal {
    display: flex!important;
}}

.pagination-total-item {
    background-color: #004080 !important;
}

/*
.product-card-layout-02 .card {
    border: 1px solid #e6e6e6 !important;
}*/

@media screen and (min-width: 1025px){
.template-collection.product-card-layout-02 .productListing.column-5 .card-swatch .swatch-label, .template-collection.product-card-layout-02 .productListing.column-4 .card-swatch .swatch-label  {
    width: 40px !important;
    height: 40px !important;
}}

@media screen and (max-width: 767px){
.template-collection.product-card-layout-02 .productListing.column-5 .card-swatch .swatch-label {
    width: 30px !important;
    height: 30px !important;
}}

@media screen and (max-width: 551px){
.product-card-layout-02 .card-swatch .swatch-label {
    width: 30px !important;
    height: 30px !important;
}}

@media screen and (max-width: 551px){
.product-card-layout-02 .product-item.enable_custom_layout_card .card .wrapper__card .card-wishlist {
    margin-left: 1px!important;
}}

@media screen and (min-width: 1025px){
.product-card-layout-02 .product-item.enable_custom_layout_card .wrapper__card .card-wishlist .wishlist-icon {
    opacity: 1!important; 
    visibility: visible!important;
  }}

.card-wishlist .wishlist-icon {
    border: 1px solid #ddd!important;
    box-shadow: 0 2px 2px #00000024, 0 1px 5px #0000001f, 0 3px 1px -2px #0003!important;

}

.card-wishlist .wishlist-added .icon {
    fill: #FFF!important;
}



.page-sidebar.page-sidebar--horizontal+.page-content .toolbar-wrapper:not(.toolbar-mobile) .toolbar-colRight .toolbar-dropdown .label-tab {
    margin-right: 5px!important;
}
/*collection page CSS */


/*product page CSS */

/*product page CSS */

.product-card-layout-02 .card-information {
    padding-top: 10px!important;
    padding-bottom: 10px!important;
}

.nav-menu-tab {
    background-color: #004080 !important;
}

.productGrid.column-2 .product, .productGrid.column-3 .product, .productGrid.column-4 .product, .productGrid.column-5 .product {
    margin-top: 10px !important;
}

  .collection-info--relative .collection-title {
    padding-top: 0px !important;
}

@media screen and (max-width: 767px){
  .collection-info--relative .collection-title {
  padding-left: 10px !important;
}}

@media screen and (max-width: 767px){
  .collection-description {
   padding-left: 10px !important;
}}


.sticky-product-expand {
  background-color: #004080 !important;
}

@media screen and (max-width: 767px){
.product-card-layout-02 .halo-productBadges--left {
    left: 2px !important;
}}
  
@media screen and (max-width: 767px){
.product-card-layout-02 .halo-productBadges {
    top: 2px !important;
}}



@media screen and (max-width: 767px){
.productGrid .product {
    padding-left: 5px !important;
    padding-right: 5px !important;
}}

@media screen and (max-width: 551px){
.halo-product-block .products-carousel .product {
    padding-bottom: 10px !important;
}}

@media screen and (max-width: 767px){
.product-details.has-sidebar .halo-productView-left+.halo-productView-right {
    margin-top: 10px !important;
}}

.product-details.has-sidebar .icon-filter.toolbar-icon {
    margin-bottom: 5px !important;
}

@media screen and (min-width: 768px){
.products-grid.column-4 .product{
  margin-top: 10px !important;
}}


@media screen and (min-width: 1025px){
.header--left .header-top--wrapper .header-top--left {
    padding-left: 0px !important;
}}

@media screen and (min-width: 1025px){
.header-top--wrapper .header__logo img {
    width: 273px !important;
    height: 50px !important;
}}



@media screen and (min-width: 1025px){
.shopify-section-header-sticky .header-wrapper .header-bottom .fixed-left {
    width: 200px;   
}}

.fixed-right .header__icon .icon {
    color: #fff !important;
    fill: #fff !important;
}


.wishlist-footer .mail-icon-container svg {
    fill: #fff !important;
}



@media screen and (min-width: 551px) and (max-width: 1024px){
  .collection-info--relative .collection-title, .collection-info--relative .collection-description {
  padding-left: 10px !important;
}}



.collection-list-item .des {
    display: none !important;
}



.header .menu-dropdown {
  box-shadow: 0 2px 20px #004080 !important;
}

.spotlight-block .content.align-items--center.is-bordered .button {
  margin-bottom: 0px !important;
}

.spotlight-block .spotlight-inner.is-bordered {
    padding-bottom: 10px !important;
}

.productView-thumbnail .productView-thumbnail-link {
    background: white;
}


.productView-thumbnail.slick-current .productView-thumbnail-link img {
    opacity: 1 !important;
    border-radius: 8px !important;
   border: 1px Solid #004080b3 !important;
}

.slick-arrow svg {
  stroke: #004080 !important;
}

.halo-sidebar-close svg {
    fill: #fff !important;
}


@media (max-width: 1024px) {
.recently-viewed-popup-mb .recently-viewed-content .products-grid .item {
    margin: 10px !important;
    border: 1px solid #e6e6e6!important;
}}

@media screen and (max-width: 767px){
.container .breadcrumb-container.style--line_clamp_1 .breadcrumb {
    padding-left: 20px !important;
}}


@media (max-width: 1024px){
.collection-content-1 .collection-info.collection-info--relative {
    padding-left: 0px !important;
    padding-right: 0px !important;
}}

@media (max-width: 767px){
    .container .breadcrumb-container.style--line_clamp_1 .breadcrumb {
      flex-wrap: wrap ! important;
  }
    body.scroll-down .toolbar {
      top: 0px !important;
    }
    .pagination.style--3 .pagination-arrow{
        height: 40px;
    }
    
}

#shopify-section-header-04{
  z-index: 20 !important;
}

.halo-recently-viewed-popup {
    top: 70% !important;
}

.halo-sidebar-close svg {
    stroke: #2d2d2d!important;
}

.ssw-faveiticon .ssw-icon-heart-o {
  background-color: #ffffff00!important;
  color: #ca2d2d!important;
}

.ssw-faveiticon .ssw-icon-heart {
  color: #ca2d2d!important;
}


.product-card-layout-02 .card {
    background-color: #FFF !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    border: none!important;
  }

.halo-compareColors-image img {
  object-fit: contain!important;
}

@media (max-width: 1024px) {
.card-product__group .card-product__group-item+.card-product__group-item {
    margin-top: 250px!important;
}}


/* compare tex product card */
.card-compare .text {
    color: #000!important;
    background-color: #ffffff!important;
    box-shadow: 0 0.063rem 0.125rem #ccc!important;
    border: 1px solid;
    border-color: #80808029;
}


@media (max-width: 1024px) {
.ssw-faveiticon .ssw-icon-heart-o {
    margin-top: -5px!important;
    margin-left: -30px!important;
}}

@media screen and (min-width: 552px) and (max-width: 1024px) {
.ssw-faveiticon .ssw-icon-heart-o {
    margin-top: 0px!important;
    margin-left: -35px!important;
}}

@media (max-width: 1024px) {
.ssw-faveiticon .ssw-icon-heart {
    background-color: #ebf5fa!important;
    margin-top: 0px!important;
    margin-left: -35px!important;
}}


.ssw-faveiticon .ssw-icon-heart {
  background-color: #ebf5fa!important;
}

@media (min-width: 1024px) {
.product-card-layout-02 .card-product__group.group-right {
  right: 0px!important;
}}

@media (min-width: 1024px) {
.card-product__group .card-product__group-item+.card-product__group-item {
    margin-top: 180px!important;
}}



@media (min-width: 1025px){
.header--left .header-top--wrapper .header-top--right {
    flex: 0 0 calc(21.3333% - 10px)!important;
    max-width: calc(21.3333% - 10px)!important;
}}


@media screen and (min-width: 1025px) {
  .header-bottom--wrapper .menu-lv-1__action {
      padding-left: 10px!important;
      padding-right: 10px!important;
  }
}

@media screen and (min-width: 768px) {
.product .product-item .card-information .card-swatch.no-color {
  min-height: 45px!important;
  display: block!important;
}}

@media screen and (max-width: 768px) {
.product .product-item .card-information .card-swatch.no-color {
  min-height: 35px!important;
  display: block!important;
}}

/*
.product .product-item .card-information .card-title > .text{
  min-height: 48px;
  display: block;
}
*/

.productView-complementary.style-2 .product-item-custom .card-vendor {
  margin-top: 10px !important;
}
@media screen and (min-width: 1025px) {
  .page-sidebar.page-sidebar--horizontal .sidebarBlock-heading {
    border: 1px solid #004080!important;
    background: #004080!important;
  }
}




@media screen and (min-width: 1025px) {
  .page-sidebar.page-sidebar--horizontal .sidebarBlock-content--full {
    background-color: #004080!important;
  }
}


@media screen and (min-width: 1025px) {
  .facets-horizontal .facets__price {
    color: #fff!important;
  }
}

@media screen and (min-width: 1025px) {
  .facets-horizontal .facets__count.custom-count {
    background-color: #fabc09 !important;
    color: #004080!important;
  }
}  /* close @media (min-width:1025px) — was unclosed, swallowing every rule below it into a desktop-only query */

@media screen and (min-width: 1025px) {
  .facets__reset .text {
    color: white!important;
  }}

@media screen and (min-width: 1025px) {
  .facets__list--refined .active-facets__button {
    color: #fabc09!important;
    background-color: #004080!important;
  }}
  
@media screen and (min-width: 1025px) {
input[type=checkbox]+.form-label--checkbox:before {
    border: 1px solid #004080!important;
}}

@media screen and (min-width: 1025px) {
input[type="checkbox"]:checked + .form-label--checkbox:before {
  border-color: white!important;
}}




.spotlight-item.enable_border_color .spotlight-button {
    visibility: visible!important;
    opacity: 1!important;
    padding-top: 10px!important;
    border-color: white!important;
  }


@media screen and (min-width: 1025px) {
.featured-collection-block .halo-item {
    padding: 5px!important; }}


.featured-collection-content {
    background-color: #004080!important;
}

.rich-text__blocks * {x
  color: white!important;
}


@media screen and (min-width: 1025px) {
#ProductSection-template--14531999006804__main .sidebarBlock-heading {
    background-color: #004080!important;
}}


@media screen and (min-width: 1025px) {
#ProductSection-template--14531998941268__main .sidebarBlock-heading {
    background-color: #004080!important;
}}





.halo-text-format p+p, .halo-text-format p, .halo-text-format p+ul, .halo-text-format p+ol, 
  .productView-tab .halo-text-format, .productView-tab .halo-text-format ul li, .productView-tab .halo-text-format ol li, .halo-text-format ul {
    font-size: 14px!important;
    color: black!important;
    font-weight: 500!important;
}

 .halo-text-format table {
    font-size: 14px!important;
    color: black!important;
}



.jdgm-carousel-wrapper, .jdgm-verified-by__image svg {
    width: 100%!important;
}

@media screen and (max-width: 767px) {
.offer-options-list [type=radio]+label {
    width: 120%!important;
}}


button.offer-option-btn {
    border-radius: 25px!important;
}

.productView-wishlist, .productView-share {
    align-self: stretch;
}

@media screen and (min-width: 1025px) {
.style_2 .header-top--wrapper .header-top--right .customer-links {
    display: none!important;
}}



.before-you-leave-banner .image img {
    width: 366px!important;
    height: 400px!important;
}



@media (max-width: 1024px){
.toolbar {
    padding: 5px 0px!important;
}}




@media screen and (min-width: 1025px) {
.productView-tab .tabs {
    margin: 20px 0 20px!important;
}}

.bss-b2b-btn-buyitnow~div {
    display: none;
}
.price_saved_bss {
    padding-left: 5px;
}



/* ==========================================================================
   LFY — Description + Specifications side by side (desktop & widescreen only)
   Append to assets/custom.css
   --------------------------------------------------------------------------
   Reference: australianlightingandfans.com.au shows Description (left) and
   Specifications (right) simultaneously — no tab click needed to compare a
   spec against the prose. The Ella theme's `tab_layout` setting offers only
   vertical / vertical_sidebar / horizontal / popup, all of which stack, so
   this is added as CSS rather than a theme setting.

   SCOPE: >=1025px only (the theme's own desktop breakpoint). Mobile and
   tablet keep the existing accordion/tab behaviour untouched — deliberately,
   since two columns on a narrow screen would halve the reading width.

   Applies only when BOTH the description tab and our Specifications tab are
   present; the :has() guard means a product with no spec metafield keeps the
   normal full-width single-tab layout.
   ========================================================================== */

@media (min-width: 1025px) {

  /* ---- turn the tab CONTENT area into two columns ---- */
  .productView-tab .tabs-contents.lfy-2col {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 0 20px;
    align-items: start;
  }

  /* Both panels visible at once — override the theme's show/hide. */
  .productView-tab .tabs-contents.lfy-2col > .tab-content {
    display: block !important;
    border: 0;
    padding: 0;
  }

  /* Column assignment: description left, specifications right.
     Any other tab (datasheet, warranties) stays full width BELOW the grid. */
  .productView-tab .tabs-contents.lfy-2col > #tab-product-description {
    grid-column: 1;
    grid-row: 1;
  }
  .productView-tab .tabs-contents.lfy-2col > #tab-product-specifications {
    grid-column: 2;
    grid-row: 1;
  }
  /* ALL FOUR panels are collapsible cards, so the interaction is consistent.
     Description and Specifications open by default (see the JS); Datasheet and
     Warranties start closed — measured at 3,061px and 1,841px on HV3112T, taller
     than the description, and Warranties is 5,250 chars of boilerplate identical
     on every product, so neither earns permanent screen space. */
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible {
    border: 1px solid #e2e5ea;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
  }

  /* Secondary panels span the full width BELOW the top row. */
  .productView-tab .tabs-contents.lfy-2col > .tab-content:not(#tab-product-description):not(#tab-product-specifications) {
    grid-column: 1 / -1;
    margin-top: 14px;
  }

  /* The two top-row cards must fill their grid cell so a collapsed panel sits
     flush beside an open one rather than stretching to match its height. */
  .productView-tab .tabs-contents.lfy-2col > #tab-product-description,
  .productView-tab .tabs-contents.lfy-2col > #tab-product-specifications {
    align-self: start;
  }

  /* Header: light bar with a navy accent rule and dark text. A solid navy fill was
     tried and rejected — with the navy site header and navy CTA buttons already on
     the page, four filled bars read as a wall of blue. The accent keeps the brand
     tie without competing. */
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 5px 15px;
    font-size: 16.5px;
    font-weight: 600;
    color: #16202c;
    background: #f4f6f9;
    border-bottom: 1px solid #e2e5ea;
    border-left: 3px solid #004080;
    cursor: pointer;
    pointer-events: auto;
    user-select: none;
    transition: background .15s ease;
  }
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title a,
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title span,
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title .text {
    color: #16202c !important;
    text-decoration: none;
  }
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title:hover {
    background: #eaeef3;
  }
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title:hover,
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title:hover span,
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title:hover .text {
    color: #004080 !important;
  }
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title:focus-visible {
    outline: 2px solid #004080;
    outline-offset: -2px;
  }
  /* an open panel's header loses its bottom rule — the body continues it */
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible.is-open > .toggle-title {
    background: #eef1f5;
  }

  /* chevron, rotated when open */
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-title::after {
    content: "";
    flex: 0 0 auto;
    width: 9px; height: 9px;
    margin-left: 14px;
    border-right: 2px solid #5b6674;
    border-bottom: 2px solid #5b6674;
    transform: rotate(45deg);
    transition: transform .18s ease;
  }
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible.is-open > .toggle-title::after {
    transform: rotate(-135deg);
  }

  /* body hidden until opened */
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible > .toggle-content {
    display: none !important;
    padding: 0 20px 20px;
  }
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible.is-open > .toggle-content {
    display: block !important;
    /* header is flush to the card edge, so the body carries the inset */
    padding: 18px 20px 20px;
  }

  /* Panel headers: the theme renders `div.toggle-title` inside every panel (its
     mobile accordion header, hidden on desktop). Reusing it beats inventing a
     ::before, which loses to the theme's own .tab-content cascade.
     The full header styling lives on `.lfy-collapsible > .toggle-title` below —
     note it must stay clickable, so no `pointer-events: none` here. */
  .productView-tab .tabs-contents.lfy-2col > .tab-content > .toggle-title .icon-plus,
  .productView-tab .tabs-contents.lfy-2col > .tab-content > .toggle-title .icon-dropdown {
    display: none !important;
  }

  /* The tab strip is redundant when both panels are open. Kept in the DOM for
     the mobile/tablet layout and for JS that binds to it. */
  /* The theme sets `.tabs-horizontal{display:flex!important}`, so !important is
     required here to win — specificity alone is not enough. */
  .productView-tab.lfy-2col-active ul.tabs.tabs-horizontal {
    display: none !important;
  }

  /* .lfy-desc is our own card inside descriptionHtml; the collapsible card now
     supplies the frame, so flatten it to avoid a double border. */
  .productView-tab .tabs-contents.lfy-2col > .tab-content.lfy-collapsible .lfy-desc {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
  }

  /* The mobile toggle links inside each panel are not needed here. */
  .productView-tab .tabs-contents.lfy-2col > .tab-content > .toggleLink {
    display: none;
  }
  .productView-tab .tabs-contents.lfy-2col > .tab-content > .toggle-content {
    display: block !important;
    height: auto !important;
    max-height: none !important;
  }

  /* ---- the spec card fills its narrower column ---- */
  .productView-tab .tabs-contents.lfy-2col .lfy-spec-wrap {
    margin: 0;
    /* the collapsible card already provides the border/background */
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
  }
  /* In a ~520px column the 760px key/value cap is wider than the space, so let
     it use the column and keep the fixed label column proportionate. */
  .productView-tab .tabs-contents.lfy-2col .lfy-spec-kv {
    max-width: 100%;
  }
  .productView-tab .tabs-contents.lfy-2col .lfy-spec-kv td:first-child {
    width: 46%;
  }
  /* A wide per-SKU matrix cannot fit a half-width column — let it scroll
     inside its own container rather than blowing out the grid. */
  .productView-tab .tabs-contents.lfy-2col .lfy-spec-matrix {
    max-width: none;
  }
}

/* ==========================================================================
   LFY — pairing widget (compatible globes / required drivers)
   Renders nothing when both metafields are empty, so this CSS is inert on
   products without pairing data.
   ========================================================================== */

.lfy-pairing {
  margin: 22px 0 0;
  padding: 18px 20px;
  background: #f7f9fb;
  border: 1px solid #e2e5ea;
  border-radius: 8px;
}
.lfy-pairing__group + .lfy-pairing__group { margin-top: 22px; }
.lfy-pairing__title {
  margin: 0 0 5px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.lfy-pairing__note {
  margin: 0 0 13px;
  font-size: 13px;
  line-height: 1.5;
  color: #56606d;
}
.lfy-pairing__list { display: flex; flex-direction: column; gap: 10px; }

.lfy-pair-card {
  display: flex;
  gap: 13px;
  align-items: center;
  background: #fff;
  border: 1px solid #e2e5ea;
  border-radius: 6px;
  padding: 11px 13px;
}
.lfy-pair-card__media {
  flex: 0 0 62px;
  width: 62px; height: 62px;
  display: flex; align-items: center; justify-content: center;
  background: #fff;
}
.lfy-pair-card__media img { max-width: 100%; height: auto; display: block; }
.lfy-pair-card__body { flex: 1 1 auto; min-width: 0; }
.lfy-pair-card__title {
  display: block;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 600;
  color: #16202c;
  text-decoration: none;
  margin-bottom: 4px;
}
.lfy-pair-card__title:hover { color: #004080; text-decoration: underline; }
.lfy-pair-card__price {
  font-size: 13.5px;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}
.lfy-pair-card__now { font-weight: 700; color: #16202c; }
.lfy-pair-card__was { color: #8892a0; margin-left: 6px; font-size: 12.5px; }
.lfy-pair-card__form { margin: 0; }
.lfy-pair-card__btn {
  display: inline-block;
  appearance: none;
  border: 1px solid #004080;
  background: #004080;
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  padding: 7px 15px;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.3;
}
.lfy-pair-card__btn:hover { background: #003366; border-color: #003366; color: #fff; }
.lfy-pair-card__btn:focus-visible { outline: 2px solid #E8A33D; outline-offset: 2px; }
.lfy-pair-card__btn--out { background: #fff; color: #004080; }
.lfy-pair-card__btn--out:hover { background: #f0f6ff; color: #004080; }

/* On desktop the cards can sit two-up, since the column is wide enough. */
@media (min-width: 1025px) {
  .lfy-pairing__list { flex-direction: row; flex-wrap: wrap; }
  .lfy-pair-card { flex: 1 1 260px; max-width: 340px; }
}

/* ==========================================================================
   LFY — product.two-col-wide: 2 columns, tabs stacked inside the buy column
   Opt-in via the 'two-col-wide' template suffix.
   The template sets show_sidebar=false (drops the 210px Best Sellers column)
   and tab_layout=vertical (the theme then renders the tabs inside column 2).
   ========================================================================== */

/* ---- collapsible cards: EVERY viewport ----
   Deliberately NOT inside a media query. The panels are the primary content on
   this template, so the interaction must be identical on phone, tablet and
   desktop — a different mechanism per screen size is harder to use and harder
   to reason about. Only the column LAYOUT is breakpoint-dependent (below). */
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible {
  border: 1px solid #e2e5ea;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  margin-top: 10px;
}
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin: 0 !important;
  padding: 12px 16px !important;
  font-size: 16px;
  font-weight: 600;
  color: #16202c;
  background: #ffffff;
  border-bottom: 1px solid #e2e5ea;
  border-left: 3px solid #004080;
  cursor: pointer;
  pointer-events: auto;
  user-select: none;
  transition: background .15s ease;
}
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title a,
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title span,
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title .text {
  color: #16202c !important;
  text-decoration: none;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title:hover {
  background: #f7f9fb;
}
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible.is-open > .toggle-title {
  background: #f7f9fb;
}
/* chevron */
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title::after {
  content: "";
  flex: 0 0 auto;
  width: 9px; height: 9px;
  margin-left: 14px;
  border-right: 2px solid #5b6674;
  border-bottom: 2px solid #5b6674;
  transform: rotate(45deg);
  transition: transform .18s ease;
}
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible.is-open > .toggle-title::after {
  transform: rotate(-135deg);
}
/* the theme's own +/- and caret icons duplicate our chevron */
.productView-tab .tabs-contents.lfy-cards > .tab-content > .toggle-title .icon-plus,
.productView-tab .tabs-contents.lfy-cards > .tab-content > .toggle-title .icon-dropdown {
  display: none !important;
}
/* body */
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-content {
  display: none !important;
}
.productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible.is-open > .toggle-content {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  padding: 16px 18px 18px !important;
}
/* our own inner cards would double the frame */
.productView-tab .tabs-contents.lfy-cards .lfy-spec-wrap,
.productView-tab .tabs-contents.lfy-cards .lfy-desc {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  margin: 0;
}
.productView-tab .tabs-contents.lfy-cards .lfy-spec-kv { max-width: 100%; }
.productView-tab .tabs-contents.lfy-cards .lfy-spec-matrix { max-width: none; }

/* ---- column balance: desktop only ----
   The theme ships nine competing width rules for .halo-productView-left, ending
   at 70.4% above 1500px — sized for a 3-column layout where the buy column was
   ~690px and held no tab content. With the sidebar gone and all four panels in
   column 2, the images were far too dominant. Answered at the theme's own
   breakpoints (1025 / 1280 / 1500) or the later ones win by cascade order.
   Scoped to :not(.has-sidebar), which is only true when show_sidebar=false. */
@media (min-width: 1025px) {
  .product-details:not(.has-sidebar) .halo-productView-left {
    width: 44%;
    padding-right: 30px;
  }
  .product-details:not(.has-sidebar) .halo-productView-right {
    width: 56%;
    max-width: none;
  }

  /* The gallery is far shorter than the buy column once a panel is expanded, so
     it would otherwise sit stranded at the top of a very long page. Sticky keeps
     the product in view while the customer scrolls the panels on the right.
     NOTE: the images do NOT stretch — measured 821x689 before and after
     expanding; it is the ROW that grows because column 2 gets taller.

     Centred rather than pinned to the top: the column is ~690px tall against a
     4,000px+ row, so `top: 20px` left it hugging the header while the reader was
     halfway down the specs. Sticking it near the vertical middle keeps the
     product beside whatever is being read. */
  .product-details:not(.has-sidebar) .halo-productView-left {
    position: sticky;
    top: 15%;
    transform: translateY(-50%);
    align-self: flex-start;
    max-height: 90vh;
  }
  /* transform creates a containing block that breaks slick's absolute arrows, so
     keep them positioned against the gallery itself. */
  .product-details:not(.has-sidebar) .halo-productView-left .slick-arrow {
    z-index: 3;
  }

  /* NOTE: no gallery-centring override here, deliberately.
     Three attempts (margin:auto on .productView-image, justify-content on
     .productView-images-wrapper, symmetric column padding) each failed or made it
     worse — the last pushed the offset from 70px to 100px. The thumbnail rail and
     main image are positioned by slick at runtime, so static CSS fights it.
     Left as the theme ships it; revisit only with a slick-aware fix. */
}
@media (min-width: 1280px) {
  .product-details:not(.has-sidebar) .halo-productView-left {
    width: 44%;
    padding-right: 30px;
  }
  .product-details:not(.has-sidebar) .halo-productView-right { width: 56%; }
}
@media (min-width: 1500px) {
  .product-details:not(.has-sidebar) .halo-productView-left {
    width: 46%;
    padding-right: 36px;
  }
  .product-details:not(.has-sidebar) .halo-productView-right { width: 54%; }
}

/* Below 1025px the theme's own .toggle-title rules (component-product.css and
   component-tab.css, several of them !important) beat our single-class selector,
   leaving the header unpadded and unclickable-looking. Adding the product-details
   ancestor raises specificity enough to win at every width, so the cards look and
   behave identically on mobile, tablet, desktop and widescreen. */
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e5ea !important;
  border-left: 3px solid #004080 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible.is-open > .toggle-title {
  background: #f7f9fb !important;
}
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title a,
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-title .text {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  color: #16202c !important;
  width: auto !important;
}
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-content {
  display: none !important;
}
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible.is-open > .toggle-content {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  padding: 16px 18px 18px !important;
  /* On phone widths the theme applies its `popup-mobile` treatment to the panel
     body: position:fixed, visibility:hidden, opacity:0, translateY — it expects to
     open as a fullscreen overlay driven by its own JS. Our inline card only set
     `display`, so the panel reported open and measured 857px tall while showing
     NOTHING. That is the "tap does nothing" bug on iPhone.
     Everything the popup treatment sets has to be undone, not just display. */
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  z-index: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  overflow: visible !important;
}
/* the popup variant also renders its own header and a close button inside the
   body — redundant when the panel is an inline card with its own header. */
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-content > .tab-popup-header {
  display: none !important;
}
.product-details .productView-tab .tabs-contents.lfy-cards > .tab-content.lfy-collapsible > .toggle-content > .tab-popup-content {
  padding: 0 !important;
}

/* ==========================================================================
   LFY — equal product-card heights in every permutation
   Measured on /collections/ceiling-fans (1440px), 26 cards, four shapes:
       12 x 490px  stars block/25  swatch flex/45   (reviews + swatches)
        7 x 465px  stars NONE /0   swatch flex/45   (no reviews)  <- 25px short
        1 x 490px  stars block/25  swatch block/45
        6 x 280px  stars absent    swatch absent    (card type without either)
   Total spread 210px.

   Judge.me writes `display:none` INLINE on .jdgm-prev-badge when a product has
   no reviews, so the star row collapses and that card sits 25px shorter than its
   neighbours. An inline style can only be beaten with !important — the same
   reason the existing .card-swatch.no-color rule below uses it.

   Approach: reserve the row's height rather than inject placeholder content, so
   an empty stars area holds its space and the grid stays even. `visibility` is
   left alone, so nothing becomes visible that should not be.
   ========================================================================== */

/* --- stars row: hold its height even when Judge.me hides it --- */
@media screen and (min-width: 768px) {
  .product .product-item .card-information .jdgm-prev-badge,
  .product .product-item .card-information__wrapper .jdgm-prev-badge,
  .card-information .jdgm-prev-badge,
  .card-information__wrapper .jdgm-prev-badge {
    display: block !important;
    min-height: 25px !important;
    padding-bottom: 5px;
  }
  /* The badge itself was already honouring min-height (computed 25px, display
     block) yet still measured 0 — because its PARENT .jdgm-widget was collapsed
     and clipping it. The wrapper is the element that has to reserve the space. */
  .product .product-item .card-information .jdgm-widget,
  .product .product-item .card-information__wrapper .jdgm-widget,
  .card-information .jdgm-widget,
  .card-information__wrapper .jdgm-widget {
    display: block !important;
    min-height: 25px !important;
  }
}
@media screen and (max-width: 767px) {
  .product .product-item .card-information .jdgm-prev-badge,
  .card-information .jdgm-prev-badge,
  .card-information__wrapper .jdgm-prev-badge {
    display: block !important;
    min-height: 20px !important;
  }
}

/* --- swatch row: the existing .no-color rule covers the case where the theme
       renders a placeholder. This covers cards where NO .card-swatch element is
       output at all, by reserving the space on the information wrapper instead. --- */
@media screen and (min-width: 768px) {
  .product .product-item .card-information > .card-swatch,
  .product .product-item .card-information__wrapper > .card-swatch {
    min-height: 45px;
  }
}
@media screen and (max-width: 767px) {
  .product .product-item .card-information > .card-swatch,
  .product .product-item .card-information__wrapper > .card-swatch {
    min-height: 35px;
  }
}

/* --- last resort: equalise the row itself ---
   Cards live in a flex/grid row; stretching every item to the tallest in the row
   makes the outer boxes equal even when a card type omits a row entirely (the
   280px shape above). Only the CARD box is stretched — inner content is not, so
   nothing is distorted. */
.productListing .product-item,
.productList .product-item,
.collection .product-item {
  height: 100%;
}
.productListing,
.productList {
  align-items: stretch;
}
