body {font-family: agenda, sans-serif;}
/************************* START GLOBAL STYLES *************************/

:root {--heron-blue:#090A42;}
:root {--heron-light-blue:#2D2E83;}
:root {--heron-yellow:#FFDD00;}
:root {--heron-blue-text:#00005F}
:root {--heron-blue-button:#22236F}
:root {--heron-blue-button-hover:#15164f}
.py-6 {padding-top: 6rem !important;padding-bottom: 6rem !important;}
.pt-6 {padding-top: 6rem !important}
.pb-6 {padding-bottom: 6rem !important}
.btn-link:hover {color: #ffdf00}

.page-template-offers-page .top-promos {margin-top: 0!important}

.form-control {border-radius: 0}
.form-control:focus {box-shadow: none}



/************************* END GLOBAL STYLES *************************/


/************************* START HEADER STYLES *************************/

.hf-header {background-color: #22236f}

.hf-util-divider { display:inline-block; width:1px; height:20px; background-color:rgba(0,0,0,.15); }
.hf-util-link { white-space: nowrap; }
.hf-util-icon img, .hf-util-icon svg { width:18px; height:18px; display:block; }

#hfPrimaryNav li a { color: #fff;
font-family: agenda, sans-serif;
font-size: 17px; font-weight: 500;}
#hfPrimaryNav li a:hover {color: #ffdf00}
.instore {min-width:fit-content;color: #fff;
font-family: agenda, sans-serif;
font-size: 17px; font-weight: 500;}

.hf-util-link {color: #30303D;
font-family: agenda, sans-serif;
font-size: 17px; font-weight: 500;}

.find-store {color: #fff;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 600;}
.hf-header form button{border: none;border-radius: 0}

.hf-header form button i {color: #ffffff}
.hf-header form button:hover {background: #eeeeee}



/*Off Canvas */
/* thin neutral separator (matches screenshot) */
/* grid wrapper */
.menu-promos-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:10px;
}
.top-label {font-weight: 500}

.seconf-lev {font-weight: 500}
/* cell/card */
.menu-promo{
  display:block;
  width:100%;
  aspect-ratio: 3 / 4;              /* tall-ish tile like your design */
  border-radius:10px;
  overflow:hidden;
  background:#0f4fa8;               /* nice fallback behind PNGs */
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

/* image fit */
.menu-promo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #0f4fa8;
    padding: 0; /* breathing room */
}
#hfSubpanel1
.hf-divider-line {
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 8px 0;
}
.hf-divider-line {
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 8px 0;
}
.offcanvas-header h5 {
font-weight: 700;
    font-size: 22px;flex: 2}
.list-group.list-group-flush {padding: 20px 10px 0}

.nopadd {padding: 0}

.hf-back-global {    padding: 0;
    color: #212121;
    font-weight: 500;
    font-size: 16px;}
.hf-logo{max-height:60px;height:auto;width:auto}
.hf-trigger-icon{width:18px;height:18px;display:block}
.hf-subnav {background: #ffffff0f}
.hf-subnav .nav > li > a{color:inherit}
.hf-util-divider{display:inline-block;width:1px;height:20px;background-color:rgba(0,0,0,.15)}
.hf-util-link{white-space:nowrap}
.hf-util-icon img,.hf-util-icon svg{width:18px;height:18px;display:block}
/* Offcanvas */
.hf-offcanvas{width:820px;max-width:95vw}
.hf-offcanvas .offcanvas-header{padding:25px;border-bottom:1px solid rgba(0,0,0,.08);display: flex;}
.hf-offcanvas .list-group-item{padding: 15px;border:0;margin-bottom: 5px;margin-top: 5px;border-radius: 4px}

.hf-offcanvas .list-group-item:hover {background-color:#FEDC02}
.hf-row-icon{width:28px;height:28px;object-fit:contain;display:block}

.hf-subpanel .hf-row-icon{width:55px;height:auto;object-fit:contain;display:block;max-height: 40px}
#hfCanvasRoot .list-group > .list-group-item:first-child{
      background:#f1c40f;color:#1a1a1a;border-radius:8px;margin:8px 12px;border:0
    }
.hf-subpanel .border-bottom{border-color:rgba(0,0,0,.08)!important}
  .hf-subpanel .card{border:0;box-shadow:0 1px 2px rgba(0,0,0,.06)}
  .hf-header form {border: 3px solid #dddddd;
    border-radius: 4px;
    max-width: 90%;}
     .hf-header form input {border: none;
    padding: 10px 20px;}
    #header-search-input {background: #fff}
   .hf-header form input::-webkit-input-placeholder {
  color: #212121;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
 .hf-header form input:-ms-input-placeholder {
    color:#212121;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
 .hf-header form input::placeholder {
  color: #212121;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.show.is-panel .offcanvas-header h5 {flex: 1}

.hf-offcanvas .promo-col {flex: 0 0 calc(100% / 2);
        max-width: calc(100% / 2);}
 .hf-header form input button {border: none}

 .hf-offcanvas .top-promos .card-body {gap: 5px}

 .hf-offcanvas .top-promos .card-body p {font-size: 14px!important;    font-size: 15px !important;
    font-weight: 500;}

 /* Offcanvas width:
   - Root (first panel)  = 450px
   - Sub-panel open      = 900px (double)
*/
.hf-offcanvas{ width:450px !important; max-width:100vw; }
.hf-offcanvas.is-panel{ width:900px !important; }

/* Fixed columns inside sub-panel */
.hf-subpanel .hf-col-left{
  flex:0 0 450px; max-width:450px; border-right:1px solid rgba(0,0,0,.08);
}
.hf-subpanel .hf-col-right{
  flex:0 0 450px; max-width:450px;
}

.hf-subpanel .pb-cell.pb-cell--left  {display: none;}

.hf-subpanel .pb-grid {
    display: grid
;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;}

    .hf-subpanel  .pb-matrix {padding: 0!important}

    .hf-subpanel .pb-right {
    grid-column: 1 / span 1;}

    .hf-subpanel .pb-ri {aspect-ratio: auto;border-radius: 0}


/* Mobile: stack & full width */
@media (max-width: 991.98px){
  .hf-offcanvas,
  .hf-offcanvas.is-panel{ width:100vw !important; }
  .hf-subpanel .hf-row{ display:block; }
  .hf-subpanel .hf-col-left,
  .hf-subpanel .hf-col-right{
    flex:0 0 auto; max-width:100%; border-right:0;
  }
}


.but-grab {align-items: center;}





/************************* END HEADER STYLES *************************/


/************************** START HOME PAGE STYLES **************************/
/* Search Bar */

.search-block .asl-cont .asl-search-cont {padding: 0}


.search-block .col-md-7 {display: flex;}

.search-block .center {align-items: center;}
.search-block #asl-search {display: flex;flex: 2}

.search-block .sl-row.asl-search-widget {display: flex;gap: 15px}


.search-block .sl-row.asl-search-widget .pol-md-10.p-0 {flex: 2}

.search-block .sl-row.asl-search-widget .pol-md.p-0 {flex: 1}

.search-block  .asl-cont.asl-search .btn-primary {color: #fff;
    background-color: var(--heron-blue-button) !important;
    background: var(--heron-blue-button);
    border-radius: 4px !important;
    background-image: url(../assets/images/search-icon.svg);
    background-repeat: no-repeat;
    background-position: 15px center;
    text-transform: none;
    width: fit-content;
    padding-left: 49px;
    padding-right: 20px;}


.search-block .asl-cont.asl-search .btn-primary:hover {background-color: var(--heron-blue-button-hover)!important;}
.search-block  .geo-button, .two-buttons .geo-button
 {

    color: #fff;
    background-color: var(--heron-blue-button)!important;
    background: var(--heron-blue-button);
    border-radius: 4px!important;
 
    text-transform: none;
    height: 50px;
    display: inline-block;
    text-align: center;
  
    text-decoration: none;

    align-items: center;
    display: flex
;padding-right: 20px;padding-left: 20px;
    align-items: center;
    gap: 10px;
    justify-content: center;}


    .geo-button:hover {background-color: var(--heron-blue-button-hover)!important;}

.two-buttons .geo-button {width: 100%;
    font-size: 16px !important;
    padding: 17px 15px 17px 25px;}


    .search-block .asl-search .asl-search-cntrl {
    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    color: #4C4F55;
    background-color: #fff;
    background-image: none;
    border: 3px solid #dddddd;
    height: 50px;
    border-radius: 4px;
    font-weight: 400;}

.search-block .col-md-6:last-child {}


.search-block .asl-cont.asl-search .sl-geo-btn {display: none}

.search-block {border-bottom: 3px solid #dddddd;background-color: #fff}

.asl-cont .icon-search:before {content: none!important}


.search-block  h2 {color: var(--heron-blue-button);font-size: 34px;font-weight: 600;margin-bottom: 0;line-height: 38px}
.search-block  p {color: var(--heron-blue-button);font-size: 20px;font-weight: 500;margin-bottom: 0;line-height: 22px}

/* Tag Bar */

.top-promos .card-body {padding: 0}
/* Promo tile card */
/* === Promo Tile === */

.home main {background-color: #fbfbfb}

.home-banner-item {
  background: linear-gradient(
    to right,
    var(--home-banner-left-bg, #ffffff) 0 50%,
    var(--home-banner-right-bg, #ffffff) 50% 100%
  );
}

.home-banner-frame picture,
.home-banner-frame img {
  display: block;
}

@media (max-width: 767.98px) {
  .home-banner-item {
    background: none;
  }

  .home-banner-frame.container {
    max-width: none;
    width: 100%;
  }
}


.tag-promo {
    border-radius: 4px;
    overflow: hidden;
    transition: transform .12s 
ease, box-shadow .12s 
ease;
    background: #fff;
}
.tag-promo:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
}

/* === Left badge (narrower circular section) === */
.tag-promo-badge {
 position: relative;
    width: 90px;
    height: 60px;
    flex: 0 0 65px;
    display: flex
;align-items: center;

    overflow: hidden;
}

/* Circular background (only left half visible) */



/* Logo centered within circle */
.tag-promo-badge img {
  position: relative;
  z-index: 1;

  height: auto;
  display: block;
}

/* === Text area === */
.tag-promo-text {
  color: #111;
}
.tag-promo-text .h5 {
 color: #000;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 600;line-height: 16px;
}


.tag-promo-text p {margin: 0}

/* 1 per row by default (mobile) */
.promo-col {
  flex: 0 0 100%;
  max-width: 100%;
}

/* 4 per row on tablet/iPad (Bootstrap md ≥ 768px) */
@media (min-width: 768px) {
  .promo-col {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* 7 per row on large screens (Bootstrap xl ≥ 1200px) */
@media (min-width: 1200px) {
  .promo-col {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
  }
}



/* =========================
   PROMO MATRIX — HEIGHT SYNC FIX
   ========================= */

.pb-matrix { border-radius: 12px;padding:0!important }

.pb-grid{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

/* Left hero fills full height of right grid */
.pb-cell--left{
  grid-column: 1;
  grid-row: 1 / -1;
  display: flex;
  flex-direction: column;
  height: 100%;}

/* ensure hero stretches to right grid height */
.pb--hero{
  flex: 1;
  display: flex;
  flex-direction: column;
}
.pb--hero .pb-inner{
  flex: 1;
  background: var(--bg, #f3f7ff);
  border-radius:4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:24px 20px;
  text-align:center;
}

/* hero inner content */
.pb--hero .pb-image{ max-width:85%; margin:0 auto 0px; }
.pb--hero .pb-image img{ width:100%; height:auto; display:block;}
.pb--hero .pb-sub{ color: #3D69B0;
    font-weight: 600;
    /* margin-bottom: 4px; */
    font-size: 24px;
    line-height: 28px;}
.pb--hero .pb-title{ color: #3D69B0;
    font-size: 36px;
    font-weight: 700;
    line-height: 42px;
   }
.pb--hero .pb-price{ color:#1a1a1a; font-size:1.1rem; font-weight:700; }

/* =========================
   RIGHT SIDE GRID
   ========================= */
.pb-right{
  grid-column: 2 / span 2;
  display: grid;
  gap: 20px;
  align-content: start; /* lets rows auto-size naturally */
}

.pb-right--two_by_two{
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
}
.pb-right--two_by_one{
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
}
.pb-right--two_fullwidth_rows{
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}

/* each banner keeps its 2560x974 ratio */
.pb-ri{
  position: relative;
  width: 100%;

  background: #0f4fa8;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pb-ri img{
  width: 100%;
  height: 100%;

  display: block;

}

.pb-ri picture {height: 100%;
    width: 100%;} 

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 991.98px){
  .pb-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .pb-cell--left{ grid-row:auto; grid-column:auto; height:auto; }
  .pb-right{ grid-column:auto; gap:10px; }
  .pb-ri{ aspect-ratio: 2.63 / 1; }
  .pb--hero .pb-title{ font-size:1.45rem; }
}

@media (max-width: 575.98px){
  .pb-ri{ aspect-ratio: 2.2 / 1; }
  .pb--hero .pb-title{ font-size:1.3rem; }
  .pb-right{ gap:8px; }
}


/* Category grid tempplate*/

section.cat-bg {background-color:#F5F5F6}
section.cat-bg h2 {color: var(--heron-blue-text);font-weight: 700;font-size: 22px}

section.cat-bg p {color:#101316;font-size:16px; font-weight: 600}

section.cat-bg .card {border-radius: 4px;}
/* Tag Section */
.blink-tag-prods
 {padding-bottom: 65px}
/* Product grid/Specials*/
.product-promos .col-12.col-lg-2 {padding: 0}

.prod-list  .card{border-radius: 4px!important;box-shadow: none}

.shadow-sm {
    box-shadow: var(--bs-box-shadow-sm) !important;
}

.prod-list  .card h3  a{    font-size: 15px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;
}


.prod-list  .card h3 {flex: 1 1 auto !important;}
.prod-list .card-body {display: flex;flex-direction: column;justify-content: space-between;}

.prod-list .woocommerce-Price-amount.amount {    font-size: 18px;
    font-weight: 600;
    color: #212121 !important;}


.prod-list  .card h4 {font-size: 12px; color: #6F6F6F;font-weight: 400}

.prod-list .h-100 {border-radius: 4px}

.left-promo-text p {text-align: left;font-size: 15px;color: #212121}

 .prod-list  .card .btn-primary {    background-color: var(--heron-blue-button);border: 1px solid var(--heron-blue-button)!important;
    border: none;
    width: 100%;
    padding: 5px;
    font-weight: 400;
    font-size: 16px;
    border-radius: 4px;}

     .prod-list  .card .btn-primary:hover {background-color: var(--heron-blue-button-hover);}
.prod-list .right-prods {
     transition: transform .12s 
ease, box-shadow .12s 
ease;}
.prod-list .right-prods:hover {

         transform: translateY(-2px);
    box-shadow: rgba(0, 0, 0, 0.08) 0px 0.5rem 1rem;}

   

     .tag-button img{height: 20px;width: auto;max-width: 35%}

     .prod-list .col-lg-2 {width: 18.666667%;}

 .prod-list  .col-lg-10 {width: 81.333333%;}
 .tag-button {
     text-align: center;
    padding: 4px;
    border-radius: 4px;
    margin-bottom: 10px;}


    .left-promo {border-radius: 4px}
    .leftfull {border:1px solid #e5e5e5;}

    .right-prods {border:1px solid #e5e5e5;}

    .hf-prod-tag-badge {
position: absolute;
    background-color: #fedd00;
    padding: 5px;
    margin: 2px 0;
    left: 2px;
    /* width: 100%; */
   
   
    border-radius: 5px;
    text-align: center;
    min-height: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    gap: 5px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0;
    right: 2px;
}

.hf-prod-tag-badge a { text-decoration: none;
    line-height: 100%;
    font-weight: 300; color: #3D3D3D;}

.blink-tag-title {font-weight: 600}

span.tag-text {
    text-decoration: underline;
}

/************************* END HOME PAGE STYLES *************************/

/************************** START STORE LOCATOR **************************/

  .store-cont  .asl-clear-btn {display: none!important}
.full-width {max-width: 100%;padding: 0}
 .sl-addr-list-title {color: #000!important;
    font-weight: 600!important;
    font-size: 20px!important;}

    .store-cont #asl-clear-search {color: var(--heron-blue-text);font-weight: 600}

    .store-cont  .multiselect-container.adropdown-menu {}

    .store-cont  .multiselect-container.adropdown-menu li {position: relative;    min-width: auto !important;text-transform: none!important;}

    .store-cont  .multiselect-container.adropdown-menu li a label input {
    visibility: visible;left: 10px !important;}

    .two-buttons {display: flex;gap: 20px}

.page-template-store-locator  #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper
 .asl-ddl-filters .asl-filter-cntrl .sl-dropdown-cont  .btn-group .adropdown-menu li.active a { background-color: var(--heron-blue-button)!important;}
 .page-template-store-locator  #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper
 .asl-ddl-filters .asl-filter-cntrl .sl-dropdown-cont  .btn-group .adropdown-menu li:hover a { background-color: var(--heron-blue-button)!important;color: #fff!important}
.page-template-store-locator #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper .asl-ddl-filters
 .asl-filter-cntrl .sl-dropdown-cont .btn-group .adropdown-menu li:hover a label {color: #fff}

 #asl-storelocator.asl-cont.asl-template-0 
 .page-template-store-locator .asl-wrapper .asl-ddl-filters .asl-filter-cntrl .sl-dropdown-cont .btn-group .adropdown-menu li.active a:hover {background-color:var(--heron-blue-button)!important;}
      .store-cont  .asl-cont .asl-search-address.form-control  {flex: 2!important;    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    color: #4C4F55;
    background-color: #fff;
    background-image: none;
    border: 3px solid #dddddd;
    height: 50px;
    border-radius: 4px;
    font-weight: 400;}

    .page-template-store-locator #asl-storelocator.asl-cont.sl-category-tabs .asl-wrapper .Filter_section .asl-advance-filters .asl-tabs-ddl ul.adropdown-menu.multiselect-container>li>a>label[class=checkbox] {
    font-size: 12px !important;
    font-weight: 600 !important;
}

      .two-buttons  .input-group-append {flex: 1}



    #asl-storelocator.asl-cont .mb-2 h1 {color: #000000; font-size: 32px; font-weight: 600;line-height: 32px}

    #asl-storelocator .search_filter  p {color: #171717 ;font-size: 16px; font-weight: 600;margin-bottom: 20px!important}

    .asl-cntrl-lbl {color: #171717!important ;font-size: 16px!important; font-weight: 600!important}


    #asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner {background-color: #f5f5f5!important;padding: 20px}
    #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper .sl-main-cont .asl-panel-inner .Num_of_store {background-color: #f5f5f5!important}

    #asl-storelocator.asl-cont .sl-main-cont .asl-map-canv {height: 100vh!important}
    #asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner .Num_of_store span {color: #000!important}


    .asl-cluster {    background-image: url(../assets/images/cluster-icon.svg) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
       background-color: transparent !important;
    height: 43px !important;
}

   .store-cont .asl-cluster::before, .asl-cluster::after {background:none!important;  opacity: 1; border-radius: 0;}

   .sl-row.Filter_section .full-width {max-width: 100%;flex: 100%}

     .store-cont  #asl-storelocator.asl-cont .asl-wrapper .sl-main-cont .asl-panel-inner .sl-main-cont-box
      .sl-list-wrapper .sl-list .sl-item {margin-bottom: 20px!important;border-radius: 4px; border-bottom: none}

       .store-cont .sl-days {display: none!important;}


.asl-cont.asl-template-0  .icon-location-1:before{content: none!important}

.asl-cont.asl-template-0  .sl-addr span br {display: none!important;}

#asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner .sl-main-cont-box ul.sl-list li.sl-item .sl-addr-sec .addr-loc ul li span {font-size: 15px!important;color: #171717!important}

.asl-cont.asl-template-0  .icon-location-1 {padding-left: 0!important;display: none!important;}


       /* --- Force list-only on PDP (in case shortcode attr is ignored) --- */
#pdp-storebox #pdp-asl .sl-map-cont,
#pdp-storebox #pdp-asl .asl-map-canvas,
#pdp-storebox #pdp-asl #asl-map { display: none !important; }

/* --- Hide controls we don't want on PDP --- */
#pdp-storebox #pdp-asl .asl-stats,
#pdp-storebox #pdp-asl .asl-print-btn,
#pdp-storebox #pdp-asl .sl-pagination,
#pdp-storebox #pdp-asl .asl-ddl-filters,
#pdp-storebox #pdp-asl .asl-sort-list { display: none !important; }

/* --- Keep just search row (plugin side) tidy if it appears --- */
#pdp-storebox #pdp-asl .asl-search-cont { margin-bottom: .5rem; }

/* --- LIST ITEM styling to match your card look --- */
#pdp-storebox #pdp-asl .sl-list { list-style: none; margin: 0; padding: 0; }
#pdp-storebox #pdp-asl .sl-list > li {
  border: 1px solid #e5e7eb; /* subtle */
  border-radius: .5rem;
  padding: .85rem 1rem;
  margin-bottom: .75rem;
  background: #fff;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-item-title,
#pdp-storebox #pdp-asl .sl-list > li h3 {
  font-size: 1rem;
  margin: 0 0 .25rem;
  font-weight: 600;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-distance,
#pdp-storebox #pdp-asl .sl-list > li .sl-meta { 
  font-size: .875rem; color: #6b7280;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-actions a {
  display: inline-block;
  margin-right: .5rem;
  text-decoration: none;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-actions a.btn {
  padding: .25rem .6rem; font-size: .875rem; border-radius: .375rem;
}

/* --- Clamp to top 3 results (adjust height to fit exactly 3 in your skin) --- */
#pdp-asl[data-clamped="1"] .pdp-asl-list-clip {
  max-height: 420px; /* tweak to fit exactly 3 li */
  overflow: hidden;
  position: relative;
}
#pdp-asl[data-clamped="1"] .pdp-asl-list-clip::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 48px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

/* --- PDP Sticky Gallery --- */
@media (min-width: 992px) { /* lg and up */
  .pdp-sticky-gallery {
    position: sticky;
    /* Adjust this to clear your fixed header; set once and forget */
    top: var(--site-header-offset, 80px);
    /* Prevent Bootstrap equal-height behaviors from fighting sticky */
    align-self: flex-start;
  }
}

/* If you use a fixed admin bar or WP admin bar, add a slight bump */
body.admin-bar .pdp-sticky-gallery {
  --site-header-offset: 112px; /* 80 + ~32 for admin bar; tweak if needed */
}

/* Gallery images: contained, not stretched */
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper {
  width: 100%;
}

.woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  object-fit: contain; /* keep aspect ratio inside the box */
}

/* Optional: keep the gallery box from getting *too* tall */
.pdp-sticky-gallery {
  /* This lets the gallery stay visible while still fitting in most viewports */
  position: relative;
  max-height: calc(100dvh - var(--site-header-offset, 80px) - 24px);
  overflow: auto; /* If the gallery is taller than the viewport, it will scroll internally */
}

.pdp-product-type-icons {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pdp-product-type-icons img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.split-price {display: flex;align-items: center;justify-content: space-between}

.pdp-price-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.split-price .h4 {line-height: 40px}

.pdp-rrp,
.pdp-was-price {
    font-size: var(--bs-body-font-size);
    line-height: 1.2;
    font-weight: 400;
    color: #6c757d;
    margin-top: 4px;
}

.pdp-rrp .woocommerce-Price-amount,
.pdp-rrp .woocommerce-Price-currencySymbol,
.pdp-was-price .woocommerce-Price-amount,
.pdp-was-price .woocommerce-Price-currencySymbol {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

.product-card-price-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.product-card-price {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.product-card-unit-price {
    font-size: 13px;
    line-height: 1.2;
}

.product-card-rrp {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 400;
    color: #212529;
}

.product-card-rrp .woocommerce-Price-amount,
.product-card-rrp .woocommerce-Price-amount.amount,
.product-card-rrp .woocommerce-Price-currencySymbol {
    font-size: inherit !important;
    line-height: inherit;
    font-weight: inherit !important;
    color: inherit !important;
}

.split-price .single_add_to_cart_button  {background-image: url(../assets/images/add-list.svg) !important;
    background-repeat: no-repeat !important;
    background-position: 90% center !important;
    padding-right: 40px !important;
    color: #090a42 ! IMPORTANT;
    font-size: 17px !important;
    width: fit-content;}

.split-price  form.cart {margin-bottom: 0!important} 
.prod-first {padding: 30px;
    background: #F5F5F6;
    border-radius: 4px; }


    add-list.svg
.prod-first h1 {color: #000000;
    font-weight: 500;
    font-size: 24px;
    line-height: 26px;}

    .product-short-desc p {font-size: 15px;
    color: #171717;
    font-weight: 300;}

  .product-short-desc p a {
    text-decoration: none;
    color: #090a42;
    font-weight: 700;}




.bread {color:font-weight:600;color:#2d2e83!important }
.bread a {

color: #00000070;
    font-weight: 500;
    text-decoration: none;}

.prod-first .woocommerce-Price-amount.amount {
    font-size: 40px;
    font-weight: 600;
    color: #000000 !important;}

.prod-first .pdp-rrp .woocommerce-Price-amount.amount,
.prod-first .pdp-rrp .woocommerce-Price-currencySymbol,
.prod-first .pdp-was-price .woocommerce-Price-amount.amount,
.prod-first .pdp-was-price .woocommerce-Price-currencySymbol {
    font-size: inherit !important;
    line-height: inherit;
    font-weight: inherit !important;
    color: inherit !important;
}

    .prod-first  div.quantity {display: none}
.prod-first button{
background: transparent !important;
    border-color: #090a42 !important;
    color: #090a42 !important;
    border: 1px solid #090a42 !important;
    font-weight: 500 !important;}



    .newgal {border-radius: 4px}

  .newgal .woocommerce-product-gallery {width: 100%!important}

  .woocommerce div.product div.images .woocommerce-product-gallery__trigger {display: none;}

  .asl-template-list .sl-container {max-width: 100%!important;padding: 0!important; width: 100%!important}

     .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left .asl-item-box h2 {display: block;}


 .single-product #asl-storelocator.asl-cont h2 {font-size: 28px;line-height: 28px}
  .single-product #asl-storelocator.asl-cont h2 a{font-size: 26px !important;
    line-height: 28px !important;}

   .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item{box-shadow: none;
    border-radius: 0;
    margin: 0;
    padding: 20px 20px;
    border: none;
    border-top: 1px solid #00000021;}

   .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left .asl-item-box h2 span {
    background-color: #dee2e6;
    color: #fff;
    display: inline-block;
    margin-left: 0;
    background-color: #090a42;}


 .single-product #asl-storelocator.asl-cont.asl-template-list .addr-loc li span {    font-size: 18px!important;line-height: 22px!important;}

  .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left
   .asl-item-box .addr-loc ul li i {display: none}

     .single-product #asl-panel .asl-panel-inner {padding: 0}

    #pdp-storebox h2 {font-size: 32px}

    #asl-storelocator.asl-cont.asl-template-list .asl-search-cont .asl-search-inner .asl-search-group .asl-search-btn {background-color:#090A42!important }

    #pdp-storebox {border-radius: 4px;padding-bottom: 0}

    .morestore {}

    #pdp-storebox  .asl-search-group {padding:0 20px}

    #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-cat-tag ul li:hover {background-color: #090a42!important}

      #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-cat-tag ul li {border-radius: 4px!important}


 .single-product a.s-direction {
   background: #ffffff;
    border-color: #fff !important;
    color: #090a42 !important;
    border: 1px solid #090a42 !important;
    font-size: 18px !important;}

     .single-product .morestore a.s-direction {    display: flex;
    background: #090a42;
    color: #fff !important;
    padding: 4px 10px;
    text-decoration: none;
    width: fit-content;
    font-size: 17px ! Important;
    border-radius: 3px;
    margin: auto;}

  .single-product #asl-storelocator.asl-cont.asl-template-list .addr-loc span.asl-day-lbl {font-size: 15px!important;line-height: 22px!important}

    .single-product #asl-storelocator.asl-cont.asl-template-list .addr-loc span.asl-time-hrs span  {font-size: 15px!important;line-height: 22px!important}
     .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top {display: block;}

     .single-product  #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top
      .sl-item-top-left .asl-item-box .addr-loc ul li:first-child {margin-bottom: 15px}

      .woocommerce-Tabs-panel .accordion-button {background-color: transparent;padding-left: 0}

        .woocommerce-Tabs-panel .accordion-item {border: none;border-bottom: 1px solid #dee2e6;}
        .woocommerce-Tabs-panel .accordion-button:focus {box-shadow: none;}
        .woocommerce-Tabs-panel .accordion-body {padding-left: 0}

        

/** Savings Page */
.saving-intro {background-color: #f5f5f6}

.savings-hero {
    position: relative;
}

.savings-hero-title {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    color: #fff;
    pointer-events: none;
    text-align: left;
    transform: translateY(-50%);
}

.savings-stamps-page .savings-hero-title h1 {
    color: inherit;
    font-weight: 500;
    margin: 0;
}

.savings-hero-video {
    display: block;
    aspect-ratio: 16 / 4.48;
    height: auto;
    object-fit: cover;
    cursor: pointer;
}

.savings-hero--video > .container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.savings-hero--video {
    padding-top: 0 !important;
}

.savings-hero--video::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, .28);
    pointer-events: none;
}

.savings-hero--video > .container > .row {
    --bs-gutter-x: 0;
}

@media (max-width: 767.98px) {
    .savings-hero-video {
        aspect-ratio: 16 / 6.72;
    }
}


.savings-rows h2 {    color: var(--heron-blue-button);
    font-size: 40px;
    font-weight: 600;
    position: relative;
    display: inline-block;
    padding-bottom: 5px;}

.savings-rows h2::after {
content: "";
    display: inline-block;
    padding-bottom: 6px;
    background: url(../assets/images/heron-strip.svg) no-repeat center bottom;
    background-size: 100% auto;
    width: 86px;
    height: 19px;
    position: absolute;
    bottom: -8px;
    right: -10px;
}

    .saving-intro h2 {color: var(--heron-blue-button);font-size: 26px;font-weight: 500}
.saving-intro {background-color: #f5f5f6}

.savings-stamps-page h1,
.savings-stamps-page h2 {color: #353B42;font-size: 30px}

.savings-stamps-page p {font-size: 18px}
.saving-intro .card {padding: 40px}

.max-70 {max-width: 80%;margin: auto;}

.max-70 p {margin-bottom: 0}

.saving-intro .card p:last-child {margin-bottom: 0}

.saving-intro .card p {margin-bottom: 5px}


/*Customer Service landing */
.cs-menu-box {
    display: block;
    text-align: center;
    text-decoration: none;
    background-color: #ffffff;
    border-radius: 4px;
    padding: 10px;
    border: 1px solid #00000021;
    color: #111111;
    transition: all 0.2s ease;
}

.cs-menu-box:hover {
    background-color: var(--heron-light-blue);color: #fff;
}

/* ACTIVE STATE */
.cs-menu-box.active {
    background-color: #262c7f;
    color: #ffffff;
}

.cs-menu-box.active span {
    color: #ffffff !important;
}


/*newsletter*/

.be-embed-wrap form {max-width: 960px!important;width: 80%!important}

.be-page .be-embed-section {
    padding: 0 0 65px!important;
}

/*Customer Service internal */
.left-contact {
background-color: var(--heron-light-blue);color:#ffffff;border-radius:4px;padding:25px;text-align: center;}

.left-contact h2{text-align: center;color: var(--heron-yellow);}

.left-contact a {
    background-color: var(--heron-yellow);
    color: #111111;
    border: none;
    display: inline-block;
    width: fit-content;
    padding: 8px 30px;
    font-weight: 500;
    border-radius: 4px; border: 1px solid var(--heron-yellow); transition: all ease 0.3s;
}

.left-contact a:hover {background-color: var(--heron-light-blue);;color: #fff;border: 1px solid var(--heron-yellow);}
.cs-top-menu {background-color: #fff}

.cs-main .right-contact h2 {font-size: 20px}

.cs-main h1 {color: var(--heron-light-blue);font-weight: 600
}

/* Mobile filter bar */
.cs-top-menu-mobile .cs-filter-toggle {
    background-color: #ffffff;
    border-radius: 3px;
    border: none;
    padding: 12px 16px;
    font-size: 14px;
    text-align: left;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.cs-filter-toggle-icon {
    font-size: 18px;
    line-height: 1;
}

.cs-top-menu-mobile .cs-filter-panel {
    display: none; /* toggled via JS */
    margin-top: 8px;
    background-color: #ffffff;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    overflow: hidden;
}

.cs-top-menu-mobile .cs-filter-link {
    display: block;
    padding: 10px 16px;
    font-size: 14px;
    border-top: 1px solid #f0f0f0;
    text-decoration: none;
    color: #333;
}

.cs-top-menu-mobile .cs-filter-link:first-child {
    border-top: none;
}

.cs-top-menu-mobile .cs-filter-link.active {
    font-weight: 600;
}

/* Optional: contact panel full-width look on mobile */
@media (max-width: 767.98px) {
    .left-contact {
        background-color: #2b2a7f; /* example Heron purple/blue */
        color: #fff;
        border-radius: 8px 8px 0 0;
        padding: 20px;
    }
}

/******* Brands Page ******/
 .brands-dir .brands-az .btn { border-radius: 999px;
    /* padding: .25rem .55rem; */
    width: 20px;
    height: 20px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;}
.brand-range-btn.is-active { background: var(--heron-light-blue); color: #fff; }
.brand-item { background:#fff; transition: background .15s ease, border-color .15s ease; }
.brand-item:hover { background:#f8f9fa; border-color: rgba(13,110,253,.35); }
.brands-az {gap: 5px}

.brands-az-btn.is-active {color: #fff;background-color: var(--heron-blue);}

.brands-dir #brandSearch {padding: 7px;
    background-color: #F5F5F6;
    border: 1px solid #000;
    border-radius: 0;
    font-family: agenda, sans-serif;
    font-size: 16px;
    color: #000;
    font-weight: 400;}
    .brand-search {
  position: relative;
}

.brands-dir #brandSearch:focus {outline: none;box-shadow: none}

/* Target the native clear (×) button */
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;

  height: 16px;
  width: 16px;

  /* custom X using SVG */
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path fill='%236c757d' d='M18.3 5.7a1 1 0 0 0-1.4 0L12 10.6 7.1 5.7a1 1 0 1 0-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 1 0 1.4 1.4L12 13.4l4.9 4.9a1 1 0 0 0 1.4-1.4L13.4 12l4.9-4.9a1 1 0 0 0 0-1.4z'/>\
</svg>");
  background-size: 16px 16px;
  cursor: pointer;
}

.brand-search-input {
  padding-right: 2.25rem; /* space for icon */
}

/* Magnifying glass icon */
.brand-search-icon {
  position: absolute;
  right: .75rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6c757d;
  transition: opacity .15s ease;
}

/* Hide icon when user types (input not empty) */
.brand-search-input:not(:placeholder-shown) + .brand-search-icon {
  opacity: 0;
}

.brand-range-btn {border-radius: 0;
    border: 1px solid var(--heron-light-blue) !important;
    padding: 8px 20px;
    font-size: 15px;
    font-weight: 500;color: #000;}

    .brand-range-btn:hover {background-color: var(--heron-light-blue);color:#fff} 


    /* Mobile filter accordion */
#brandFilters .accordion-button {
  background: transparent;
  box-shadow: none;
  border: 0;
}

#brandFilters .accordion-button::after {
  background-image: none;
  content: "+";
  font-size: 28px;
  line-height: 1;
  transform: none;
}

#brandFilters .accordion-button:not(.collapsed)::after {
  content: "–";
}

/* Mobile range buttons look like rows */
.d-lg-none .brand-range-btn.btn-light {
  border: 1px solid #eee;
  padding: 14px 16px;
  border-radius: 8px;
}



/** Category Page **/

/* Hero image */
.blink-cat-hero img{
  width: 100%;
  height: auto;
  display: block;
}

.blink-cat-desc {font-size: 18px; text-align: center;max-width: 90%; width: 900px;margin: auto;}

/* Use Woo's UL as the grid */
.blink-cat-page ul.products {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* desktop = 6 across */
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 1200px){
  .blink-cat-page ul.products {
    grid-template-columns: repeat(4, 1fr); /* tablet */
  }
}

@media (max-width: 768px){
  .blink-cat-page ul.products {
    grid-template-columns: repeat(2, 1fr); /* mobile */
  }
}

/* Make sure product items don't fight widths/margins */
.blink-cat-page ul.products li.product {
  width: auto!important;
  margin: 0;
}

.blink-cat-page .woocommerce-loop-product__title {font-size: 15px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;}

/* CTA full-width row inside the grid */
.blink-cat-page ul.products li.product.blink-grid-cta {
  grid-column: 1 / -1;
}
.blink-cat-page ul.products li.product.blink-grid-cta img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px; /* optional */
}
.blink-grid-cta {
  width: 100%;
}

.blink-grid-cta a,
.blink-grid-cta img {
  display: block;
  width: 100%;
}
.blink-prods {width: 100%;padding-bottom: 65px}
/* Kill WooCommerce float helpers when using CSS Grid */
.blink-cat-page  ul.products::before,
.blink-cat-page  ul.products::after {
  content: none !important;
  display: none !important;
}
.blink-cat-page {
    background: #fbfbfb;
    padding-bottom: 48px;
}

.blink-cat-page nav.woocommerce-pagination {
    margin-bottom: 0 !important;
}
.woocommerce-breadcrumb {margin: 1em 0 !important}
.woocommerce-breadcrumb a {color: #767676;}


.blink-cat-page .woocommerce-breadcrumb {margin: 0!important;padding-top: 20px; padding-bottom: 10px}


.blink-shop-toolbar {display: flex;margin: 0 !important;
    align-items: center;gap: 12px;flex-wrap: wrap;padding-bottom: 20px}

.blink-shop-toolbar .woocommerce-result-count {    float: none;
    flex: 1 1 180px;
    font-size: 16px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;margin-bottom: 0}

.blink-shop-toolbar .woocommerce-ordering {float: none;flex: 0 0 auto;text-align: right;margin:0;order:3}

.heron-catalog-filters {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 1 1 520px;
    order: 2;
}

.heron-catalog-search,
.heron-catalog-category {
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid #c8c8cf;
    border-radius: 4px;
    background: #fff;
    color: #212121;
    font-family: agenda, sans-serif;
    font-size: 15px;
}

.heron-catalog-search {
    width: min(240px, 100%);
}

.heron-catalog-category {
    width: min(220px, 100%);
}

.heron-catalog-submit {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid var(--heron-blue-button);
    border-radius: 4px;
    background: var(--heron-blue-button);
    color: #fff;
    font-family: agenda, sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
}

.heron-catalog-submit:hover,
.heron-catalog-submit:focus {
    background: #0c0942;
    color: #fff;
}

.heron-catalog-clear {
    color: #0c0942;
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .blink-shop-toolbar .woocommerce-result-count,
    .blink-shop-toolbar .woocommerce-ordering,
    .heron-catalog-filters {
        flex: 1 1 100%;
        width: 100%;
    }

    .blink-shop-toolbar .woocommerce-ordering {
        text-align: left;
    }

    .heron-catalog-filters {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .heron-catalog-search {
        flex: 1 1 0;
        min-width: 0;
        width: 0;
        order: 1;
    }

    .heron-catalog-submit {
        flex: 0 0 auto;
        order: 2;
        white-space: nowrap;
    }

    .heron-catalog-category {
        flex: 1 1 100%;
        width: 100%;
        order: 3;
    }

    .heron-catalog-clear {
        order: 4;
    }
}

.blink-cat-page .card-body.pt-2{display: flex;
    flex-direction: column;
    justify-content: space-between;}

    .blink-cat-page  .card h3 {flex: 1 1 auto !important;}

    .blink-cat-page .card h3 a {
    font-size: 15px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;
}

 .blink-cat-page  .btn-primary {
    background-color: var(--heron-blue-button);
    border: 1px solid var(--heron-blue-button) !important;
    border: none;
    width: 100%;
    padding: 5px;
    font-weight: 400;
    font-size: 16px;
    border-radius: 4px;
}

.blink-cat-page  .woocommerce-Price-amount.amount {
    font-size: 18px;
    font-weight: 600;
    color: #212121 !important;
}


.blink-cat-page .orderby {
    min-height: 38px;
    font-family: agenda, sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #000000 !important;
    line-height: 1;
    padding: 7px 38px 7px 14px;
    border: 1px solid #c8c8cf !important;
    border-radius: 4px;
    background-color: #ffffff;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
    cursor: pointer;
}

.blink-cat-page .orderby:hover,
.blink-cat-page .orderby:focus {
    background-color: #ffffff;
    color: #000000 !important;
    border-color: #c8c8cf !important;
}

.blink-cat-page .orderby:focus,
.blink-cat-page .orderby:focus-visible,
.blink-cat-page .orderby:active {
    outline: none !important;
    box-shadow: none !important;
    border-color: #c8c8cf !important;
}

.blink-cat-page .orderby option {
    background: #fff;
    color: #212121;
}

nav.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination {
    display: flex;
    justify-content: center;
    clear: both;
    width: 100%;
    margin: 32px 0 48px;
}

nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li span,
nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li a {
    width: 35px;
    height: 35px;
    min-width: 35px !important;
    box-sizing: border-box;
    border-radius: 50px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 35px !important;
    text-decoration: none;
    background: transparent !important;
    color: #0A0A42 !important;
}

nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #0c0942 !important;
    color: #ffffff !important;
}
nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li {
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    overflow: visible !important;
}

nav.woocommerce-pagination ul li span.dots,
.woocommerce nav.woocommerce-pagination ul li span.dots {
    background: transparent !important;
    color: #0A0A42 !important;
}

nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #f0f0f5 !important;
    color: #0A0A42 !important;
}

/************************** START FOOTER STYLES **************************/
.site-footer {background-color: var(--heron-blue)}

.site-footer h6 {color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 16px; }

    .site-footer p {color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 16px; }
    .site-footer h5 {color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 24px; }
.site-footer  ul li a {    color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 16px;
    text-decoration: underline;
    line-height: 24px;}

/*Newsletter Stlyes */
.nl-embed input {    width: 100%;
    padding: 10px;
    border-radius: 4px;
    border: 3px solid #dddddd;
    margin-bottom: 1.5em;}

    .nl-embed input::-webkit-input-placeholder {
  color: #22236F;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.nl-embed input:-ms-input-placeholder {
    color: #22236F;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.nl-embed input::placeholder {
  color: #22236F;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.nl-embed [type=submit] {    background-color: var(--heron-yellow);
    color: #22236F;
    border: none;
    border-radius: 4px;
    padding: 15px 35px;
    font-size: 18px;
    font-weight: 700;
}

.site-footer .nl-link {
   display: inline-block;
    background-color: var(--heron-yellow);
    color: #22236F;
    border: none;
    font-family: agenda, sans-serif;
    padding: 8px 20px;
    font-weight: 500;
    font-size: 16px;
    border-radius: 4px;
    line-height: 1.2;
    text-decoration: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.site-footer .nl-link:hover,
.site-footer .nl-link:focus {
    background-color: #fff;
    color: #22236F;
    text-decoration: none;
}
.consent-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff; /* white text */
  font-family: inherit;
  font-size: 16px;margin-bottom: 20px;
}

/* Hide the default checkbox */
.consent-wrap input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 50%; /* makes it circular */
  background: transparent;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease-in-out;margin-bottom: 0px;
}

/* Create the filled circle when checked */
.consent-wrap input[type="checkbox"]:checked {
  background-color: var(--heron-yellow);
}

/* Optional: smooth hover effect */
.consent-wrap input[type="checkbox"]:hover {
  transform: scale(1.05);
}

/* Label */
.consent-wrap label {
  cursor: pointer;
    color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 16px;
}


/************************** END FOOTER STYLES **************************/

/************************** BEGIN MOBILE STYLES **************************/
@media (max-width: 1200px){

.container, .container-lg, .container-md, .container-sm {max-width: 100%}}

/* Above IPAD portrait  */

@media (min-width: 768px){  .btn.mob-instore {display: none!important;}.social-share {display: none}}



/* IPAD portrait and below */
@media (max-width: 767px){
 
  .social-share {display: block; list-style: none}
  .btn.instore {display: none!important}
  .btn.mob-instore {display: block!important;}
  .social-button {display: none;}

   .site-footer.py-6 { padding-top: 60px!important; padding-bottom: 60px!important; }

  .follow-label {
    color:#fff; font-family: agenda, sans-serif; font-weight:600; font-size:14px; margin-bottom:8px;
  }


  /* header */
#hfPrimaryNav {display: none;}
.hf-subnav {display: none;}

    .hf-subpanel .hf-col-left, .hf-subpanel .hf-col-right {
        flex: 0 0 100%;}

.hf-col-right.p-3 {display: none;}

  /* Socials as round buttons */
  .footer-social {
    width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.25);
  }
 

  /* Newsletter spacing + full-width submit */
  .nl-embed input { width:100%; margin-bottom: 20px; }
  .nl-embed [type=submit] { width: 60%;
        padding: 15px;}

  /* Accordions */
  .footer-accordion { margin-top: 30px; }
  .footer-accordion .facc-item { border-top: 1px solid rgba(255,255,255,.25); }
  .footer-accordion .facc-item:last-child { border-bottom: none; }

  .footer-accordion .facc-item:first-child {border-top: none}

  .footer-accordion .facc-header {
    width: 100%; background: transparent; border: none; color:#fff;
    font-family: agenda, sans-serif; font-weight:600; font-size:16px;
    text-align:left; padding: 14px 0; position:relative;
  }
  .footer-accordion .facc-header::after {
    content:""; position:absolute; right:0; top:50%; transform: translateY(-50%) rotate(45deg);
    width:12px; height:12px; border-right:2px solid #fff; border-bottom:2px solid #fff;
  }
  .footer-accordion .collapse { padding-bottom: 10px; }
  .footer-accordion a { color:#fff; text-decoration: underline; display:inline-block; padding:6px 0; }


/* Store locator – mobile layout */
@media (max-width: 767px) {

  /* Tabs styling */
  #asl-mobile-tabs.d-none { 
    display: flex !important; 
  }
  #asl-mobile-tabs {
    margin: .75rem 0 1rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid #ffcf21;
  }
  #asl-mobile-tabs .asl-tab {
    border: none;
    background: #fff;
    border-radius: 0;
    font-weight: 600;
    padding: 13px !important;
    font-size: 15px;
    color: #171717;
  }
  #asl-mobile-tabs .asl-tab.active { 
    background-color: #ffcf21; 
  }

  /* Toggle which pane shows on mobile
     - List view: show list box, hide map
     - Map view: hide list box, show map (panel with search stays visible) */
  #asl-storelocator.asl-mobile-show-list .sl-main-cont-box {
    display: block !important;
  }
  #asl-storelocator.asl-mobile-show-list .asl-map {
    display: none !important;
  }

  #asl-storelocator.asl-mobile-show-map .sl-main-cont-box {
    display: none !important;
  }
  #asl-storelocator.asl-mobile-show-map .asl-map {
    display: block !important;
  }

  /* Ensure 100% width when stacked */
  #asl-panel,
  .asl-map { 
    width: 100% !important; 
  }

  /* Let the locator grow naturally instead of being fixed/100vh */
  #asl-storelocator.asl-cont,
  #asl-storelocator .sl-main-cont,
  #asl-storelocator .sl-main-row {
    height: auto !important;
    min-height: 0 !important;
    position: static !important;
    overflow: visible !important;
  }

  /* Make sure the map has some height so it pushes the footer down */
  #asl-storelocator.asl-mobile-show-map .asl-map .map-image,
  #asl-storelocator.asl-mobile-show-map .asl-map .asl-map-canv {
    min-height: 350px;
  }

  #asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner {
    height: auto !important;
  }

  .asl-ddl-filter-cats {
    display: none !important;
  }

  body #asl-storelocator.asl-cont.asl-template-0.full-height .asl-panel {
    height: auto !important;
    max-height: none !important;
  }

  #asl-storelocator.asl-cont .asl-wrapper .Filter_section .asl-advance-filters .asl-filter-cntrl {
    display: none !important;
  }

  .asl-mobile-tabs { /* hook if you want extra styles on wrapper */ }

  .asl-cont .d-flex.two-buttons {
    display: block !important;
  }
  .asl-cont .d-flex.two-buttons .asl-search-address {
    margin-bottom: 10px;
  }

  #asl-storelocator.asl-cont .mb-2 h1 {
    font-size: 18px;
    line-height: 22px;
  }

  #asl-storelocator .search_filter p {
    font-size: 14px;
    margin-bottom: 0 !important;
  }

  #asl-storelocator.asl-cont.asl-template-0
  .asl-wrapper .sl-main-cont .asl-panel-inner .Num_of_store {
    padding: 0;
  }

  #asl-storelocator.asl-cont.asl-template-0
  .asl-wrapper .Filter_section {
    padding-bottom: 0;
  }

  #asl-storelocator.asl-cont .sl-main-cont
  .asl-panel-inner .Num_of_store span {
    color: #22236F !important;
    font-weight: 500 !important;
  }
}






/*Eight promos home */
.promo-col {
    flex: 0 0 50%;
    max-width: 50%;
}
.tag-promo {border: none}

/* Search Block Home Page */
.search-block .col-md-5 {text-align: center;padding-bottom: 20px}
.search-block .col-md-7 {display: block;}
.search-block #asl-search.asl-cont.asl-search .btn-primary {        font-size: 0 !important;
        width: 55px;
        position: absolute;
        right: 0;
        top: 0;-webkit-border-radius: 4px;
-webkit-border-top-left-radius: 0px!important;
-webkit-border-bottom-left-radius: 0px!important;
-moz-border-radius: 4px;
-moz-border-radius-topleft: 0px!important;
-moz-border-radius-bottomleft: 0px!important;
border-radius: 4px;
border-top-left-radius: 0px!important;
border-bottom-left-radius: 0px!important;}
        .search-block .sl-row.asl-search-widget .pol-md-10.p-0 {flex: auto;}
.asl-cont.asl-search {position: relative;}

.search-block .asl-search .asl-search-cntrl {width: 100%}
.search-block .asl-cont .sl-container, .asl-cont .sl-container-sm {padding-left: 0}

.search-block .sl-row.asl-search-widget .pol-md.p-0 {
    flex: 1;
    position: static;
}
.search-block .geo-button {width: 100%}


/* Promo multi grid */

.pb-cell--left {order: 2}

    .pb--hero .pb-title {
        font-size: 32px;
        line-height: 32px;
    }

    .pb-ri {aspect-ratio: auto;}


/* 2 row product grid home page */


  .pp-carousel-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 1rem 0.5rem;
    scroll-snap-type: x mandatory;
  }

  .pp-carousel-track {
    display: flex;
    flex-wrap: nowrap;
  }

  .pp-carousel-track > .pp-slide {
    flex: 0 0 52%;
    max-width: 52%;
    scroll-snap-align: start;
    margin-right: 1rem;
  }

  /* Re-used product cards become slides on mobile */
  .pp-slide.col {
    padding-left: 0;
    padding-right: 0;
  }    

}


/* Mobile header: store finder and full-width search */
@media (max-width: 991.98px) {
    .hf-header .social-share { display: none !important; }
    .hf-header .head-align > .find {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 10px;
        flex: 0 0 44px;
    }
    .hf-header .find-store {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .hf-header .hf-subnav { display: block; background: transparent; }
    .hf-header .hf-subnav > .container > .d-flex { display: none !important; }
    .hf-header .hf-subnav > .container > .d-lg-none { padding-bottom: 16px !important; }
    .hf-header .hf-subnav form,
    .hf-header .hf-subnav .input-group { width: 100% !important; max-width: 100% !important; }
    .hf-header .hf-subnav input { min-width: 0; }
    .hf-header .hf-subnav button { color: #ffffff; border-color: #ffffff; }
}

@media (max-width: 991.98px) {
    .hf-header .hf-subnav form {
        box-sizing: border-box;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .hf-header .hf-subnav .input-group {
        box-sizing: border-box;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 991.98px) {
    .hf-header .head-align {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        align-items: center;
    }
    .hf-header .head-align > .mob-instore { grid-column: 1; grid-row: 1; }
    .hf-header .head-align > .navbar-brand {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .hf-header .head-align > .find { grid-column: 3; grid-row: 1; }
}

/* Catalogue product images do not enlarge on hover. */
.blink-cat-page .card img,
.blink-cat-page .card:hover img,
.prod-list .right-prods img,
.prod-list .right-prods:hover img,
.woocommerce-product-gallery img,
.woocommerce-product-gallery:hover img,
.related.products img,
.related.products li:hover img {
    transform: none !important;
}

/* Designer update: white informational alerts with yellow borders. */
.alert-info {
    --bs-alert-color: #000000 !important;
    --bs-alert-bg: #ffffff !important;
    --bs-alert-border-color: #ffc107 !important;
    --bs-alert-link-color: var(--bs-info-text-emphasis) !important;
}
body {font-family: agenda, sans-serif;}
/************************* START GLOBAL STYLES *************************/

:root {--heron-blue:#090A42;}
:root {--heron-light-blue:#2D2E83;}
:root {--heron-yellow:#FFDD00;}
:root {--heron-blue-text:#00005F}
:root {--heron-blue-button:#22236F}
:root {--heron-blue-button-hover:#15164f}
.py-6 {padding-top: 6rem !important;padding-bottom: 6rem !important;}
.pt-6 {padding-top: 6rem !important}
.pb-6 {padding-bottom: 6rem !important}
.btn-link:hover {color: #ffdf00}

.page-template-offers-page .top-promos {margin-top: 0!important}

.form-control {border-radius: 0}
.form-control:focus {box-shadow: none}



/************************* END GLOBAL STYLES *************************/


/************************* START HEADER STYLES *************************/

.hf-header {background-color: #22236f}

.hf-util-divider { display:inline-block; width:1px; height:20px; background-color:rgba(0,0,0,.15); }
.hf-util-link { white-space: nowrap; }
.hf-util-icon img, .hf-util-icon svg { width:18px; height:18px; display:block; }

#hfPrimaryNav li a { color: #fff;
font-family: agenda, sans-serif;
font-size: 17px; font-weight: 500;}
#hfPrimaryNav li a:hover {color: #ffdf00}
.instore {min-width:fit-content;color: #fff;
font-family: agenda, sans-serif;
font-size: 17px; font-weight: 500;}

.hf-util-link {color: #30303D;
font-family: agenda, sans-serif;
font-size: 17px; font-weight: 500;}

.find-store {color: #fff;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 600;}
.hf-header form button{border: none;border-radius: 0}

.hf-header form button i {color: #ffffff}
.hf-header form button:hover {background: #eeeeee}



/*Off Canvas */
/* thin neutral separator (matches screenshot) */
/* grid wrapper */
.menu-promos-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:10px;
}
.top-label {font-weight: 500}

.seconf-lev {font-weight: 500}
/* cell/card */
.menu-promo{
  display:block;
  width:100%;
  aspect-ratio: 3 / 4;              /* tall-ish tile like your design */
  border-radius:10px;
  overflow:hidden;
  background:#0f4fa8;               /* nice fallback behind PNGs */
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

/* image fit */
.menu-promo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #0f4fa8;
    padding: 0; /* breathing room */
}
#hfSubpanel1
.hf-divider-line {
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 8px 0;
}
.hf-divider-line {
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 8px 0;
}
.offcanvas-header h5 {
font-weight: 700;
    font-size: 22px;flex: 2}
.list-group.list-group-flush {padding: 20px 10px 0}

.nopadd {padding: 0}

.hf-back-global {    padding: 0;
    color: #212121;
    font-weight: 500;
    font-size: 16px;}
.hf-logo{max-height:60px;height:auto;width:auto}
.hf-trigger-icon{width:18px;height:18px;display:block}
.hf-subnav {background: #ffffff0f}
.hf-subnav .nav > li > a{color:inherit}
.hf-util-divider{display:inline-block;width:1px;height:20px;background-color:rgba(0,0,0,.15)}
.hf-util-link{white-space:nowrap}
.hf-util-icon img,.hf-util-icon svg{width:18px;height:18px;display:block}
/* Offcanvas */
.hf-offcanvas{width:820px;max-width:95vw}
.hf-offcanvas .offcanvas-header{padding:25px;border-bottom:1px solid rgba(0,0,0,.08);display: flex;}
.hf-offcanvas .list-group-item{padding: 15px;border:0;margin-bottom: 5px;margin-top: 5px;border-radius: 4px}

.hf-offcanvas .list-group-item:hover {background-color:#FEDC02}
.hf-row-icon{width:28px;height:28px;object-fit:contain;display:block}

.hf-subpanel .hf-row-icon{width:55px;height:auto;object-fit:contain;display:block;max-height: 40px}
#hfCanvasRoot .list-group > .list-group-item:first-child{
      background:#f1c40f;color:#1a1a1a;border-radius:8px;margin:8px 12px;border:0
    }
.hf-subpanel .border-bottom{border-color:rgba(0,0,0,.08)!important}
  .hf-subpanel .card{border:0;box-shadow:0 1px 2px rgba(0,0,0,.06)}
  .hf-header form {border: 3px solid #dddddd;
    border-radius: 4px;
    max-width: 90%;}
     .hf-header form input {border: none;
    padding: 10px 20px;}
    #header-search-input {background: #fff}
   .hf-header form input::-webkit-input-placeholder {
  color: #212121;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
 .hf-header form input:-ms-input-placeholder {
    color:#212121;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
 .hf-header form input::placeholder {
  color: #212121;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.show.is-panel .offcanvas-header h5 {flex: 1}

.hf-offcanvas .promo-col {flex: 0 0 calc(100% / 2);
        max-width: calc(100% / 2);}
 .hf-header form input button {border: none}

 .hf-offcanvas .top-promos .card-body {gap: 5px}

 .hf-offcanvas .top-promos .card-body p {font-size: 14px!important;    font-size: 15px !important;
    font-weight: 500;}

 /* Offcanvas width:
   - Root (first panel)  = 450px
   - Sub-panel open      = 900px (double)
*/
.hf-offcanvas{ width:450px !important; max-width:100vw; }
.hf-offcanvas.is-panel{ width:900px !important; }

/* Fixed columns inside sub-panel */
.hf-subpanel .hf-col-left{
  flex:0 0 450px; max-width:450px; border-right:1px solid rgba(0,0,0,.08);
}
.hf-subpanel .hf-col-right{
  flex:0 0 450px; max-width:450px;
}

.hf-subpanel .pb-cell.pb-cell--left  {display: none;}

.hf-subpanel .pb-grid {
    display: grid
;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;}

    .hf-subpanel  .pb-matrix {padding: 0!important}

    .hf-subpanel .pb-right {
    grid-column: 1 / span 1;}

    .hf-subpanel .pb-ri {aspect-ratio: auto;border-radius: 0}


/* Mobile: stack & full width */
@media (max-width: 991.98px){
  .hf-offcanvas,
  .hf-offcanvas.is-panel{ width:100vw !important; }
  .hf-subpanel .hf-row{ display:block; }
  .hf-subpanel .hf-col-left,
  .hf-subpanel .hf-col-right{
    flex:0 0 auto; max-width:100%; border-right:0;
  }
}


.but-grab {align-items: center;}





/************************* END HEADER STYLES *************************/


/************************** START HOME PAGE STYLES **************************/
/* Search Bar */

.search-block .asl-cont .asl-search-cont {padding: 0}


.search-block .col-md-7 {display: flex;}

.search-block .center {align-items: center;}
.search-block #asl-search {display: flex;flex: 2}

.search-block .sl-row.asl-search-widget {display: flex;gap: 15px}


.search-block .sl-row.asl-search-widget .pol-md-10.p-0 {flex: 2}

.search-block .sl-row.asl-search-widget .pol-md.p-0 {flex: 1}

.search-block  .asl-cont.asl-search .btn-primary {color: #fff;
    background-color: var(--heron-blue-button) !important;
    background: var(--heron-blue-button);
    border-radius: 4px !important;
    background-image: url(../assets/images/search-icon.svg);
    background-repeat: no-repeat;
    background-position: 15px center;
    text-transform: none;
    width: fit-content;
    padding-left: 49px;
    padding-right: 20px;}


.search-block .asl-cont.asl-search .btn-primary:hover {background-color: var(--heron-blue-button-hover)!important;}
.search-block  .geo-button, .two-buttons .geo-button
 {

    color: #fff;
    background-color: var(--heron-blue-button)!important;
    background: var(--heron-blue-button);
    border-radius: 4px!important;
 
    text-transform: none;
    height: 50px;
    display: inline-block;
    text-align: center;
  
    text-decoration: none;

    align-items: center;
    display: flex
;padding-right: 20px;padding-left: 20px;
    align-items: center;
    gap: 10px;
    justify-content: center;}


    .geo-button:hover {background-color: var(--heron-blue-button-hover)!important;}

.two-buttons .geo-button {width: 100%;
    font-size: 16px !important;
    padding: 17px 15px 17px 25px;}


    .search-block .asl-search .asl-search-cntrl {
    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    color: #4C4F55;
    background-color: #fff;
    background-image: none;
    border: 3px solid #dddddd;
    height: 50px;
    border-radius: 4px;
    font-weight: 400;}

.search-block .col-md-6:last-child {}


.search-block .asl-cont.asl-search .sl-geo-btn {display: none}

.search-block {border-bottom: 3px solid #dddddd;background-color: #fff}

.asl-cont .icon-search:before {content: none!important}


.search-block  h2 {color: var(--heron-blue-button);font-size: 34px;font-weight: 600;margin-bottom: 0;line-height: 38px}
.search-block  p {color: var(--heron-blue-button);font-size: 20px;font-weight: 500;margin-bottom: 0;line-height: 22px}

/* Tag Bar */

.top-promos .card-body {padding: 0}
/* Promo tile card */
/* === Promo Tile === */

.home main {background-color: #fbfbfb}

.home-banner-item {
  background: linear-gradient(
    to right,
    var(--home-banner-left-bg, #ffffff) 0 50%,
    var(--home-banner-right-bg, #ffffff) 50% 100%
  );
}

.home-banner-frame picture,
.home-banner-frame img {
  display: block;
}

@media (max-width: 767.98px) {
  .home-banner-item {
    background: none;
  }

  .home-banner-frame.container {
    max-width: none;
    width: 100%;
  }
}


.tag-promo {
    border-radius: 4px;
    overflow: hidden;
    transition: transform .12s 
ease, box-shadow .12s 
ease;
    background: #fff;
}
.tag-promo:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
}

/* === Left badge (narrower circular section) === */
.tag-promo-badge {
 position: relative;
    width: 90px;
    height: 60px;
    flex: 0 0 65px;
    display: flex
;align-items: center;

    overflow: hidden;
}

/* Circular background (only left half visible) */



/* Logo centered within circle */
.tag-promo-badge img {
  position: relative;
  z-index: 1;

  height: auto;
  display: block;
}

/* === Text area === */
.tag-promo-text {
  color: #111;
}
.tag-promo-text .h5 {
 color: #000;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 600;line-height: 16px;
}


.tag-promo-text p {margin: 0}

/* 1 per row by default (mobile) */
.promo-col {
  flex: 0 0 100%;
  max-width: 100%;
}

/* 4 per row on tablet/iPad (Bootstrap md ≥ 768px) */
@media (min-width: 768px) {
  .promo-col {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* 7 per row on large screens (Bootstrap xl ≥ 1200px) */
@media (min-width: 1200px) {
  .promo-col {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
  }
}



/* =========================
   PROMO MATRIX — HEIGHT SYNC FIX
   ========================= */

.pb-matrix { border-radius: 12px;padding:0!important }

.pb-grid{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

/* Left hero fills full height of right grid */
.pb-cell--left{
  grid-column: 1;
  grid-row: 1 / -1;
  display: flex;
  flex-direction: column;
  height: 100%;}

/* ensure hero stretches to right grid height */
.pb--hero{
  flex: 1;
  display: flex;
  flex-direction: column;
}
.pb--hero .pb-inner{
  flex: 1;
  background: var(--bg, #f3f7ff);
  border-radius:4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:24px 20px;
  text-align:center;
}

/* hero inner content */
.pb--hero .pb-image{ max-width:85%; margin:0 auto 0px; }
.pb--hero .pb-image img{ width:100%; height:auto; display:block;}
.pb--hero .pb-sub{ color: #3D69B0;
    font-weight: 600;
    /* margin-bottom: 4px; */
    font-size: 24px;
    line-height: 28px;}
.pb--hero .pb-title{ color: #3D69B0;
    font-size: 36px;
    font-weight: 700;
    line-height: 42px;
   }
.pb--hero .pb-price{ color:#1a1a1a; font-size:1.1rem; font-weight:700; }

/* =========================
   RIGHT SIDE GRID
   ========================= */
.pb-right{
  grid-column: 2 / span 2;
  display: grid;
  gap: 20px;
  align-content: start; /* lets rows auto-size naturally */
}

.pb-right--two_by_two{
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
}
.pb-right--two_by_one{
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
}
.pb-right--two_fullwidth_rows{
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}

/* each banner keeps its 2560x974 ratio */
.pb-ri{
  position: relative;
  width: 100%;

  background: #0f4fa8;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pb-ri img{
  width: 100%;
  height: 100%;

  display: block;

}

.pb-ri picture {height: 100%;
    width: 100%;} 

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 991.98px){
  .pb-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .pb-cell--left{ grid-row:auto; grid-column:auto; height:auto; }
  .pb-right{ grid-column:auto; gap:10px; }
  .pb-ri{ aspect-ratio: 2.63 / 1; }
  .pb--hero .pb-title{ font-size:1.45rem; }
}

@media (max-width: 575.98px){
  .pb-ri{ aspect-ratio: 2.2 / 1; }
  .pb--hero .pb-title{ font-size:1.3rem; }
  .pb-right{ gap:8px; }
}


/* Category grid tempplate*/

section.cat-bg {background-color:#F5F5F6}
section.cat-bg h2 {color: var(--heron-blue-text);font-weight: 700;font-size: 22px}

section.cat-bg p {color:#101316;font-size:16px; font-weight: 600}

section.cat-bg .card {border-radius: 4px;}
/* Tag Section */
.blink-tag-prods
 {padding-bottom: 65px}
/* Product grid/Specials*/
.product-promos .col-12.col-lg-2 {padding: 0}

.prod-list  .card{border-radius: 4px!important;box-shadow: none}

.shadow-sm {
    box-shadow: var(--bs-box-shadow-sm) !important;
}

.prod-list  .card h3  a{    font-size: 15px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;
}


.prod-list  .card h3 {flex: 1 1 auto !important;}
.prod-list .card-body {display: flex;flex-direction: column;justify-content: space-between;}

.prod-list .woocommerce-Price-amount.amount {    font-size: 18px;
    font-weight: 600;
    color: #212121 !important;}


.prod-list  .card h4 {font-size: 12px; color: #6F6F6F;font-weight: 400}

.prod-list .h-100 {border-radius: 4px}

.left-promo-text p {text-align: left;font-size: 15px;color: #212121}

 .prod-list  .card .btn-primary {    background-color: var(--heron-blue-button);border: 1px solid var(--heron-blue-button)!important;
    border: none;
    width: 100%;
    padding: 5px;
    font-weight: 400;
    font-size: 16px;
    border-radius: 4px;}

     .prod-list  .card .btn-primary:hover {background-color: var(--heron-blue-button-hover);}
.prod-list .right-prods {
     transition: transform .12s 
ease, box-shadow .12s 
ease;}
.prod-list .right-prods:hover {

         transform: translateY(-2px);
    box-shadow: rgba(0, 0, 0, 0.08) 0px 0.5rem 1rem;}

   

     .tag-button img{height: 20px;width: auto;max-width: 35%}

     .prod-list .col-lg-2 {width: 18.666667%;}

 .prod-list  .col-lg-10 {width: 81.333333%;}
 .tag-button {
     text-align: center;
    padding: 4px;
    border-radius: 4px;
    margin-bottom: 10px;}


    .left-promo {border-radius: 4px}
    .leftfull {border:1px solid #e5e5e5;}

    .right-prods {border:1px solid #e5e5e5;}

    .hf-prod-tag-badge {
position: absolute;
    background-color: #fedd00;
    padding: 5px;
    margin: 2px 0;
    left: 2px;
    /* width: 100%; */
   
   
    border-radius: 5px;
    text-align: center;
    min-height: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    gap: 5px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0;
    right: 2px;
}

.hf-prod-tag-badge a { text-decoration: none;
    line-height: 100%;
    font-weight: 300; color: #3D3D3D;}

.blink-tag-title {font-weight: 600}

span.tag-text {
    text-decoration: underline;
}

/************************* END HOME PAGE STYLES *************************/

/************************** START STORE LOCATOR **************************/

  .store-cont  .asl-clear-btn {display: none!important}
.full-width {max-width: 100%;padding: 0}
 .sl-addr-list-title {color: #000!important;
    font-weight: 600!important;
    font-size: 20px!important;}

    .store-cont #asl-clear-search {color: var(--heron-blue-text);font-weight: 600}

    .store-cont  .multiselect-container.adropdown-menu {}

    .store-cont  .multiselect-container.adropdown-menu li {position: relative;    min-width: auto !important;text-transform: none!important;}

    .store-cont  .multiselect-container.adropdown-menu li a label input {
    visibility: visible;left: 10px !important;}

    .two-buttons {display: flex;gap: 20px}

.page-template-store-locator  #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper
 .asl-ddl-filters .asl-filter-cntrl .sl-dropdown-cont  .btn-group .adropdown-menu li.active a { background-color: var(--heron-blue-button)!important;}
 .page-template-store-locator  #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper
 .asl-ddl-filters .asl-filter-cntrl .sl-dropdown-cont  .btn-group .adropdown-menu li:hover a { background-color: var(--heron-blue-button)!important;color: #fff!important}
.page-template-store-locator #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper .asl-ddl-filters
 .asl-filter-cntrl .sl-dropdown-cont .btn-group .adropdown-menu li:hover a label {color: #fff}

 #asl-storelocator.asl-cont.asl-template-0 
 .page-template-store-locator .asl-wrapper .asl-ddl-filters .asl-filter-cntrl .sl-dropdown-cont .btn-group .adropdown-menu li.active a:hover {background-color:var(--heron-blue-button)!important;}
      .store-cont  .asl-cont .asl-search-address.form-control  {flex: 2!important;    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    color: #4C4F55;
    background-color: #fff;
    background-image: none;
    border: 3px solid #dddddd;
    height: 50px;
    border-radius: 4px;
    font-weight: 400;}

    .page-template-store-locator #asl-storelocator.asl-cont.sl-category-tabs .asl-wrapper .Filter_section .asl-advance-filters .asl-tabs-ddl ul.adropdown-menu.multiselect-container>li>a>label[class=checkbox] {
    font-size: 12px !important;
    font-weight: 600 !important;
}

      .two-buttons  .input-group-append {flex: 1}



    #asl-storelocator.asl-cont .mb-2 h1 {color: #000000; font-size: 32px; font-weight: 600;line-height: 32px}

    #asl-storelocator .search_filter  p {color: #171717 ;font-size: 16px; font-weight: 600;margin-bottom: 20px!important}

    .asl-cntrl-lbl {color: #171717!important ;font-size: 16px!important; font-weight: 600!important}


    #asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner {background-color: #f5f5f5!important;padding: 20px}
    #asl-storelocator.asl-cont.asl-template-0 .asl-wrapper .sl-main-cont .asl-panel-inner .Num_of_store {background-color: #f5f5f5!important}

    #asl-storelocator.asl-cont .sl-main-cont .asl-map-canv {height: 100vh!important}
    #asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner .Num_of_store span {color: #000!important}


    .asl-cluster {    background-image: url(../assets/images/cluster-icon.svg) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
       background-color: transparent !important;
    height: 43px !important;
}

   .store-cont .asl-cluster::before, .asl-cluster::after {background:none!important;  opacity: 1; border-radius: 0;}

   .sl-row.Filter_section .full-width {max-width: 100%;flex: 100%}

     .store-cont  #asl-storelocator.asl-cont .asl-wrapper .sl-main-cont .asl-panel-inner .sl-main-cont-box
      .sl-list-wrapper .sl-list .sl-item {margin-bottom: 20px!important;border-radius: 4px; border-bottom: none}

       .store-cont .sl-days {display: none!important;}


.asl-cont.asl-template-0  .icon-location-1:before{content: none!important}

.asl-cont.asl-template-0  .sl-addr span br {display: none!important;}

#asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner .sl-main-cont-box ul.sl-list li.sl-item .sl-addr-sec .addr-loc ul li span {font-size: 15px!important;color: #171717!important}

.asl-cont.asl-template-0  .icon-location-1 {padding-left: 0!important;display: none!important;}


       /* --- Force list-only on PDP (in case shortcode attr is ignored) --- */
#pdp-storebox #pdp-asl .sl-map-cont,
#pdp-storebox #pdp-asl .asl-map-canvas,
#pdp-storebox #pdp-asl #asl-map { display: none !important; }

/* --- Hide controls we don't want on PDP --- */
#pdp-storebox #pdp-asl .asl-stats,
#pdp-storebox #pdp-asl .asl-print-btn,
#pdp-storebox #pdp-asl .sl-pagination,
#pdp-storebox #pdp-asl .asl-ddl-filters,
#pdp-storebox #pdp-asl .asl-sort-list { display: none !important; }

/* --- Keep just search row (plugin side) tidy if it appears --- */
#pdp-storebox #pdp-asl .asl-search-cont { margin-bottom: .5rem; }

/* --- LIST ITEM styling to match your card look --- */
#pdp-storebox #pdp-asl .sl-list { list-style: none; margin: 0; padding: 0; }
#pdp-storebox #pdp-asl .sl-list > li {
  border: 1px solid #e5e7eb; /* subtle */
  border-radius: .5rem;
  padding: .85rem 1rem;
  margin-bottom: .75rem;
  background: #fff;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-item-title,
#pdp-storebox #pdp-asl .sl-list > li h3 {
  font-size: 1rem;
  margin: 0 0 .25rem;
  font-weight: 600;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-distance,
#pdp-storebox #pdp-asl .sl-list > li .sl-meta { 
  font-size: .875rem; color: #6b7280;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-actions a {
  display: inline-block;
  margin-right: .5rem;
  text-decoration: none;
}
#pdp-storebox #pdp-asl .sl-list > li .sl-actions a.btn {
  padding: .25rem .6rem; font-size: .875rem; border-radius: .375rem;
}

/* --- Clamp to top 3 results (adjust height to fit exactly 3 in your skin) --- */
#pdp-asl[data-clamped="1"] .pdp-asl-list-clip {
  max-height: 420px; /* tweak to fit exactly 3 li */
  overflow: hidden;
  position: relative;
}
#pdp-asl[data-clamped="1"] .pdp-asl-list-clip::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 48px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

/* --- PDP Sticky Gallery --- */
@media (min-width: 992px) { /* lg and up */
  .pdp-sticky-gallery {
    position: sticky;
    /* Adjust this to clear your fixed header; set once and forget */
    top: var(--site-header-offset, 80px);
    /* Prevent Bootstrap equal-height behaviors from fighting sticky */
    align-self: flex-start;
  }
}

/* If you use a fixed admin bar or WP admin bar, add a slight bump */
body.admin-bar .pdp-sticky-gallery {
  --site-header-offset: 112px; /* 80 + ~32 for admin bar; tweak if needed */
}

/* Gallery images: contained, not stretched */
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper {
  width: 100%;
}

.woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  object-fit: contain; /* keep aspect ratio inside the box */
}

/* Optional: keep the gallery box from getting *too* tall */
.pdp-sticky-gallery {
  /* This lets the gallery stay visible while still fitting in most viewports */
  position: relative;
  max-height: calc(100dvh - var(--site-header-offset, 80px) - 24px);
  overflow: auto; /* If the gallery is taller than the viewport, it will scroll internally */
}

.pdp-product-type-icons {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pdp-product-type-icons img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.split-price {display: flex;align-items: center;justify-content: space-between}

.pdp-price-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.split-price .h4 {line-height: 40px}

.pdp-rrp,
.pdp-was-price {
    font-size: var(--bs-body-font-size);
    line-height: 1.2;
    font-weight: 400;
    color: #6c757d;
    margin-top: 4px;
}

.pdp-rrp .woocommerce-Price-amount,
.pdp-rrp .woocommerce-Price-currencySymbol,
.pdp-was-price .woocommerce-Price-amount,
.pdp-was-price .woocommerce-Price-currencySymbol {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

.product-card-price-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.product-card-price {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.product-card-unit-price {
    font-size: 13px;
    line-height: 1.2;
}

.product-card-rrp {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 400;
    color: #212529;
}

.product-card-rrp .woocommerce-Price-amount,
.product-card-rrp .woocommerce-Price-amount.amount,
.product-card-rrp .woocommerce-Price-currencySymbol {
    font-size: inherit !important;
    line-height: inherit;
    font-weight: inherit !important;
    color: inherit !important;
}

.split-price .single_add_to_cart_button  {background-image: url(../assets/images/add-list.svg) !important;
    background-repeat: no-repeat !important;
    background-position: 90% center !important;
    padding-right: 40px !important;
    color: #090a42 ! IMPORTANT;
    font-size: 17px !important;
    width: fit-content;}

.split-price  form.cart {margin-bottom: 0!important} 
.prod-first {padding: 30px;
    background: #F5F5F6;
    border-radius: 4px; }


    add-list.svg
.prod-first h1 {color: #000000;
    font-weight: 500;
    font-size: 24px;
    line-height: 26px;}

    .product-short-desc p {font-size: 15px;
    color: #171717;
    font-weight: 300;}

  .product-short-desc p a {
    text-decoration: none;
    color: #090a42;
    font-weight: 700;}




.bread {color:font-weight:600;color:#2d2e83!important }
.bread a {

color: #00000070;
    font-weight: 500;
    text-decoration: none;}

.prod-first .woocommerce-Price-amount.amount {
    font-size: 40px;
    font-weight: 600;
    color: #000000 !important;}

.prod-first .pdp-rrp .woocommerce-Price-amount.amount,
.prod-first .pdp-rrp .woocommerce-Price-currencySymbol,
.prod-first .pdp-was-price .woocommerce-Price-amount.amount,
.prod-first .pdp-was-price .woocommerce-Price-currencySymbol {
    font-size: inherit !important;
    line-height: inherit;
    font-weight: inherit !important;
    color: inherit !important;
}

    .prod-first  div.quantity {display: none}
.prod-first button{
background: transparent !important;
    border-color: #090a42 !important;
    color: #090a42 !important;
    border: 1px solid #090a42 !important;
    font-weight: 500 !important;}



    .newgal {border-radius: 4px}

  .newgal .woocommerce-product-gallery {width: 100%!important}

  .woocommerce div.product div.images .woocommerce-product-gallery__trigger {display: none;}

  .asl-template-list .sl-container {max-width: 100%!important;padding: 0!important; width: 100%!important}

     .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left .asl-item-box h2 {display: block;}


 .single-product #asl-storelocator.asl-cont h2 {font-size: 28px;line-height: 28px}
  .single-product #asl-storelocator.asl-cont h2 a{font-size: 26px !important;
    line-height: 28px !important;}

   .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item{box-shadow: none;
    border-radius: 0;
    margin: 0;
    padding: 20px 20px;
    border: none;
    border-top: 1px solid #00000021;}

   .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left .asl-item-box h2 span {
    background-color: #dee2e6;
    color: #fff;
    display: inline-block;
    margin-left: 0;
    background-color: #090a42;}


 .single-product #asl-storelocator.asl-cont.asl-template-list .addr-loc li span {    font-size: 18px!important;line-height: 22px!important;}

  .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left
   .asl-item-box .addr-loc ul li i {display: none}

     .single-product #asl-panel .asl-panel-inner {padding: 0}

    #pdp-storebox h2 {font-size: 32px}

    #asl-storelocator.asl-cont.asl-template-list .asl-search-cont .asl-search-inner .asl-search-group .asl-search-btn {background-color:#090A42!important }

    #pdp-storebox {border-radius: 4px;padding-bottom: 0}

    .morestore {}

    #pdp-storebox  .asl-search-group {padding:0 20px}

    #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-cat-tag ul li:hover {background-color: #090a42!important}

      #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-cat-tag ul li {border-radius: 4px!important}


 .single-product a.s-direction {
   background: #ffffff;
    border-color: #fff !important;
    color: #090a42 !important;
    border: 1px solid #090a42 !important;
    font-size: 18px !important;}

     .single-product .morestore a.s-direction {    display: flex;
    background: #090a42;
    color: #fff !important;
    padding: 4px 10px;
    text-decoration: none;
    width: fit-content;
    font-size: 17px ! Important;
    border-radius: 3px;
    margin: auto;}

  .single-product #asl-storelocator.asl-cont.asl-template-list .addr-loc span.asl-day-lbl {font-size: 15px!important;line-height: 22px!important}

    .single-product #asl-storelocator.asl-cont.asl-template-list .addr-loc span.asl-time-hrs span  {font-size: 15px!important;line-height: 22px!important}
     .single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top {display: block;}

     .single-product  #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top
      .sl-item-top-left .asl-item-box .addr-loc ul li:first-child {margin-bottom: 15px}

      .woocommerce-Tabs-panel .accordion-button {background-color: transparent;padding-left: 0}

        .woocommerce-Tabs-panel .accordion-item {border: none;border-bottom: 1px solid #dee2e6;}
        .woocommerce-Tabs-panel .accordion-button:focus {box-shadow: none;}
        .woocommerce-Tabs-panel .accordion-body {padding-left: 0}

        

/** Savings Page */
.saving-intro {background-color: #f5f5f6}

.savings-hero {
    position: relative;
}

.savings-hero-title {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    color: #fff;
    pointer-events: none;
    text-align: left;
    transform: translateY(-50%);
}

.savings-stamps-page .savings-hero-title h1 {
    color: inherit;
    font-weight: 500;
    margin: 0;
}

.savings-hero-video {
    display: block;
    aspect-ratio: 16 / 4.48;
    height: auto;
    object-fit: cover;
    cursor: pointer;
}

.savings-hero--video > .container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.savings-hero--video {
    padding-top: 0 !important;
}

.savings-hero--video::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, .28);
    pointer-events: none;
}

.savings-hero--video > .container > .row {
    --bs-gutter-x: 0;
}

@media (max-width: 767.98px) {
    .savings-hero-video {
        aspect-ratio: 16 / 6.72;
    }
}


.savings-rows h2 {    color: var(--heron-blue-button);
    font-size: 40px;
    font-weight: 600;
    position: relative;
    display: inline-block;
    padding-bottom: 5px;}

.savings-rows h2::after {
content: "";
    display: inline-block;
    padding-bottom: 6px;
    background: url(../assets/images/heron-strip.svg) no-repeat center bottom;
    background-size: 100% auto;
    width: 86px;
    height: 19px;
    position: absolute;
    bottom: -8px;
    right: -10px;
}

    .saving-intro h2 {color: var(--heron-blue-button);font-size: 26px;font-weight: 500}
.saving-intro {background-color: #f5f5f6}

.savings-stamps-page h1,
.savings-stamps-page h2 {color: #353B42;font-size: 30px}

.savings-stamps-page p {font-size: 18px}
.saving-intro .card {padding: 40px}

.max-70 {max-width: 80%;margin: auto;}

.max-70 p {margin-bottom: 0}

.saving-intro .card p:last-child {margin-bottom: 0}

.saving-intro .card p {margin-bottom: 5px}


/*Customer Service landing */
.cs-menu-box {
    display: block;
    text-align: center;
    text-decoration: none;
    background-color: #ffffff;
    border-radius: 4px;
    padding: 10px;
    border: 1px solid #00000021;
    color: #111111;
    transition: all 0.2s ease;
}

.cs-menu-box:hover {
    background-color: var(--heron-light-blue);color: #fff;
}

/* ACTIVE STATE */
.cs-menu-box.active {
    background-color: #262c7f;
    color: #ffffff;
}

.cs-menu-box.active span {
    color: #ffffff !important;
}


/*newsletter*/

.be-embed-wrap form {max-width: 960px!important;width: 80%!important}

.be-page .be-embed-section {
    padding: 0 0 65px!important;
}

/*Customer Service internal */
.left-contact {
background-color: var(--heron-light-blue);color:#ffffff;border-radius:4px;padding:25px;text-align: center;}

.left-contact h2{text-align: center;color: var(--heron-yellow);}

.left-contact a {
    background-color: var(--heron-yellow);
    color: #111111;
    border: none;
    display: inline-block;
    width: fit-content;
    padding: 8px 30px;
    font-weight: 500;
    border-radius: 4px; border: 1px solid var(--heron-yellow); transition: all ease 0.3s;
}

.left-contact a:hover {background-color: var(--heron-light-blue);;color: #fff;border: 1px solid var(--heron-yellow);}
.cs-top-menu {background-color: #fff}

.cs-main .right-contact h2 {font-size: 20px}

.cs-main h1 {color: var(--heron-light-blue);font-weight: 600
}

/* Mobile filter bar */
.cs-top-menu-mobile .cs-filter-toggle {
    background-color: #ffffff;
    border-radius: 3px;
    border: none;
    padding: 12px 16px;
    font-size: 14px;
    text-align: left;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.cs-filter-toggle-icon {
    font-size: 18px;
    line-height: 1;
}

.cs-top-menu-mobile .cs-filter-panel {
    display: none; /* toggled via JS */
    margin-top: 8px;
    background-color: #ffffff;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    overflow: hidden;
}

.cs-top-menu-mobile .cs-filter-link {
    display: block;
    padding: 10px 16px;
    font-size: 14px;
    border-top: 1px solid #f0f0f0;
    text-decoration: none;
    color: #333;
}

.cs-top-menu-mobile .cs-filter-link:first-child {
    border-top: none;
}

.cs-top-menu-mobile .cs-filter-link.active {
    font-weight: 600;
}

/* Optional: contact panel full-width look on mobile */
@media (max-width: 767.98px) {
    .left-contact {
        background-color: #2b2a7f; /* example Heron purple/blue */
        color: #fff;
        border-radius: 8px 8px 0 0;
        padding: 20px;
    }
}

/******* Brands Page ******/
 .brands-dir .brands-az .btn { border-radius: 999px;
    /* padding: .25rem .55rem; */
    width: 20px;
    height: 20px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;}
.brand-range-btn.is-active { background: var(--heron-light-blue); color: #fff; }
.brand-item { background:#fff; transition: background .15s ease, border-color .15s ease; }
.brand-item:hover { background:#f8f9fa; border-color: rgba(13,110,253,.35); }
.brands-az {gap: 5px}

.brands-az-btn.is-active {color: #fff;background-color: var(--heron-blue);}

.brands-dir #brandSearch {padding: 7px;
    background-color: #F5F5F6;
    border: 1px solid #000;
    border-radius: 0;
    font-family: agenda, sans-serif;
    font-size: 16px;
    color: #000;
    font-weight: 400;}
    .brand-search {
  position: relative;
}

.brands-dir #brandSearch:focus {outline: none;box-shadow: none}

/* Target the native clear (×) button */
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;

  height: 16px;
  width: 16px;

  /* custom X using SVG */
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path fill='%236c757d' d='M18.3 5.7a1 1 0 0 0-1.4 0L12 10.6 7.1 5.7a1 1 0 1 0-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 1 0 1.4 1.4L12 13.4l4.9 4.9a1 1 0 0 0 1.4-1.4L13.4 12l4.9-4.9a1 1 0 0 0 0-1.4z'/>\
</svg>");
  background-size: 16px 16px;
  cursor: pointer;
}

.brand-search-input {
  padding-right: 2.25rem; /* space for icon */
}

/* Magnifying glass icon */
.brand-search-icon {
  position: absolute;
  right: .75rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #6c757d;
  transition: opacity .15s ease;
}

/* Hide icon when user types (input not empty) */
.brand-search-input:not(:placeholder-shown) + .brand-search-icon {
  opacity: 0;
}

.brand-range-btn {border-radius: 0;
    border: 1px solid var(--heron-light-blue) !important;
    padding: 8px 20px;
    font-size: 15px;
    font-weight: 500;color: #000;}

    .brand-range-btn:hover {background-color: var(--heron-light-blue);color:#fff} 


    /* Mobile filter accordion */
#brandFilters .accordion-button {
  background: transparent;
  box-shadow: none;
  border: 0;
}

#brandFilters .accordion-button::after {
  background-image: none;
  content: "+";
  font-size: 28px;
  line-height: 1;
  transform: none;
}

#brandFilters .accordion-button:not(.collapsed)::after {
  content: "–";
}

/* Mobile range buttons look like rows */
.d-lg-none .brand-range-btn.btn-light {
  border: 1px solid #eee;
  padding: 14px 16px;
  border-radius: 8px;
}



/** Category Page **/

/* Hero image */
.blink-cat-hero img{
  width: 100%;
  height: auto;
  display: block;
}

.blink-cat-desc {font-size: 18px; text-align: center;max-width: 90%; width: 900px;margin: auto;}

/* Use Woo's UL as the grid */
.blink-cat-page ul.products {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* desktop = 6 across */
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 1200px){
  .blink-cat-page ul.products {
    grid-template-columns: repeat(4, 1fr); /* tablet */
  }
}

@media (max-width: 768px){
  .blink-cat-page ul.products {
    grid-template-columns: repeat(2, 1fr); /* mobile */
  }
}

/* Make sure product items don't fight widths/margins */
.blink-cat-page ul.products li.product {
  width: auto!important;
  margin: 0;
}

.blink-cat-page .woocommerce-loop-product__title {font-size: 15px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;}

/* CTA full-width row inside the grid */
.blink-cat-page ul.products li.product.blink-grid-cta {
  grid-column: 1 / -1;
}
.blink-cat-page ul.products li.product.blink-grid-cta img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px; /* optional */
}
.blink-grid-cta {
  width: 100%;
}

.blink-grid-cta a,
.blink-grid-cta img {
  display: block;
  width: 100%;
}
.blink-prods {width: 100%;padding-bottom: 65px}
/* Kill WooCommerce float helpers when using CSS Grid */
.blink-cat-page  ul.products::before,
.blink-cat-page  ul.products::after {
  content: none !important;
  display: none !important;
}
.blink-cat-page {
    background: #fbfbfb;
    padding-bottom: 48px;
}

.blink-cat-page nav.woocommerce-pagination {
    margin-bottom: 0 !important;
}
.woocommerce-breadcrumb {margin: 1em 0 !important}
.woocommerce-breadcrumb a {color: #767676;}


.blink-cat-page .woocommerce-breadcrumb {margin: 0!important;padding-top: 20px; padding-bottom: 10px}


.blink-shop-toolbar {display: flex;margin: 0 !important;
    align-items: center;gap: 12px;flex-wrap: wrap;padding-bottom: 20px}

.blink-shop-toolbar .woocommerce-result-count {    float: none;
    flex: 1 1 180px;
    font-size: 16px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;margin-bottom: 0}

.blink-shop-toolbar .woocommerce-ordering {float: none;flex: 0 0 auto;text-align: right;margin:0;order:3}

.heron-catalog-filters {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 1 1 520px;
    order: 2;
}

.heron-catalog-search,
.heron-catalog-category {
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid #c8c8cf;
    border-radius: 4px;
    background: #fff;
    color: #212121;
    font-family: agenda, sans-serif;
    font-size: 15px;
}

.heron-catalog-search {
    width: min(240px, 100%);
}

.heron-catalog-category {
    width: min(220px, 100%);
}

.heron-catalog-submit {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid var(--heron-blue-button);
    border-radius: 4px;
    background: var(--heron-blue-button);
    color: #fff;
    font-family: agenda, sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
}

.heron-catalog-submit:hover,
.heron-catalog-submit:focus {
    background: #0c0942;
    color: #fff;
}

.heron-catalog-clear {
    color: #0c0942;
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .blink-shop-toolbar .woocommerce-result-count,
    .blink-shop-toolbar .woocommerce-ordering,
    .heron-catalog-filters {
        flex: 1 1 100%;
        width: 100%;
    }

    .blink-shop-toolbar .woocommerce-ordering {
        text-align: left;
    }

    .heron-catalog-filters {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .heron-catalog-search {
        flex: 1 1 0;
        min-width: 0;
        width: 0;
        order: 1;
    }

    .heron-catalog-submit {
        flex: 0 0 auto;
        order: 2;
        white-space: nowrap;
    }

    .heron-catalog-category {
        flex: 1 1 100%;
        width: 100%;
        order: 3;
    }

    .heron-catalog-clear {
        order: 4;
    }
}

.blink-cat-page .card-body.pt-2{display: flex;
    flex-direction: column;
    justify-content: space-between;}

    .blink-cat-page  .card h3 {flex: 1 1 auto !important;}

    .blink-cat-page .card h3 a {
    font-size: 15px;
    font-weight: 500;
    color: #212121 !important;
    line-height: 16px;
}

 .blink-cat-page  .btn-primary {
    background-color: var(--heron-blue-button);
    border: 1px solid var(--heron-blue-button) !important;
    border: none;
    width: 100%;
    padding: 5px;
    font-weight: 400;
    font-size: 16px;
    border-radius: 4px;
}

.blink-cat-page  .woocommerce-Price-amount.amount {
    font-size: 18px;
    font-weight: 600;
    color: #212121 !important;
}


.blink-cat-page .orderby {
    min-height: 38px;
    font-family: agenda, sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #000000 !important;
    line-height: 1;
    padding: 7px 38px 7px 14px;
    border: 1px solid #c8c8cf !important;
    border-radius: 4px;
    background-color: #ffffff;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
    cursor: pointer;
}

.blink-cat-page .orderby:hover,
.blink-cat-page .orderby:focus {
    background-color: #ffffff;
    color: #000000 !important;
    border-color: #c8c8cf !important;
}

.blink-cat-page .orderby:focus,
.blink-cat-page .orderby:focus-visible,
.blink-cat-page .orderby:active {
    outline: none !important;
    box-shadow: none !important;
    border-color: #c8c8cf !important;
}

.blink-cat-page .orderby option {
    background: #fff;
    color: #212121;
}

nav.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination {
    display: flex;
    justify-content: center;
    clear: both;
    width: 100%;
    margin: 32px 0 48px;
}

nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li span,
nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li a {
    width: 35px;
    height: 35px;
    min-width: 35px !important;
    box-sizing: border-box;
    border-radius: 50px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 35px !important;
    text-decoration: none;
    background: transparent !important;
    color: #0A0A42 !important;
}

nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #0c0942 !important;
    color: #ffffff !important;
}
nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li {
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    overflow: visible !important;
}

nav.woocommerce-pagination ul li span.dots,
.woocommerce nav.woocommerce-pagination ul li span.dots {
    background: transparent !important;
    color: #0A0A42 !important;
}

nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #f0f0f5 !important;
    color: #0A0A42 !important;
}

/************************** START FOOTER STYLES **************************/
.site-footer {background-color: var(--heron-blue)}

.site-footer h6 {color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 16px; }

    .site-footer p {color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 16px; }
    .site-footer h5 {color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 24px; }
.site-footer  ul li a {    color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 16px;
    text-decoration: underline;
    line-height: 24px;}

/*Newsletter Stlyes */
.nl-embed input {    width: 100%;
    padding: 10px;
    border-radius: 4px;
    border: 3px solid #dddddd;
    margin-bottom: 1.5em;}

    .nl-embed input::-webkit-input-placeholder {
  color: #22236F;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.nl-embed input:-ms-input-placeholder {
    color: #22236F;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.nl-embed input::placeholder {
  color: #22236F;
font-family: agenda, sans-serif;
font-size: 16px; font-weight: 300;
}
.nl-embed [type=submit] {    background-color: var(--heron-yellow);
    color: #22236F;
    border: none;
    border-radius: 4px;
    padding: 15px 35px;
    font-size: 18px;
    font-weight: 700;
}

.site-footer .nl-link {
   display: inline-block;
    background-color: var(--heron-yellow);
    color: #22236F;
    border: none;
    font-family: agenda, sans-serif;
    padding: 8px 20px;
    font-weight: 500;
    font-size: 16px;
    border-radius: 4px;
    line-height: 1.2;
    text-decoration: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.site-footer .nl-link:hover,
.site-footer .nl-link:focus {
    background-color: #fff;
    color: #22236F;
    text-decoration: none;
}
.consent-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff; /* white text */
  font-family: inherit;
  font-size: 16px;margin-bottom: 20px;
}

/* Hide the default checkbox */
.consent-wrap input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 50%; /* makes it circular */
  background: transparent;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease-in-out;margin-bottom: 0px;
}

/* Create the filled circle when checked */
.consent-wrap input[type="checkbox"]:checked {
  background-color: var(--heron-yellow);
}

/* Optional: smooth hover effect */
.consent-wrap input[type="checkbox"]:hover {
  transform: scale(1.05);
}

/* Label */
.consent-wrap label {
  cursor: pointer;
    color: #fff;
    text-transform: none;
    font-family: agenda, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 16px;
}


/************************** END FOOTER STYLES **************************/

/************************** BEGIN MOBILE STYLES **************************/
@media (max-width: 1200px){

.container, .container-lg, .container-md, .container-sm {max-width: 100%}}

/* Above IPAD portrait  */

@media (min-width: 768px){  .btn.mob-instore {display: none!important;}.social-share {display: none}}



/* IPAD portrait and below */
@media (max-width: 767px){
 
  .social-share {display: block; list-style: none}
  .btn.instore {display: none!important}
  .btn.mob-instore {display: block!important;}
  .social-button {display: none;}

   .site-footer.py-6 { padding-top: 60px!important; padding-bottom: 60px!important; }

  .follow-label {
    color:#fff; font-family: agenda, sans-serif; font-weight:600; font-size:14px; margin-bottom:8px;
  }


  /* header */
#hfPrimaryNav {display: none;}
.hf-subnav {display: none;}

    .hf-subpanel .hf-col-left, .hf-subpanel .hf-col-right {
        flex: 0 0 100%;}

.hf-col-right.p-3 {display: none;}

  /* Socials as round buttons */
  .footer-social {
    width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.25);
  }
 

  /* Newsletter spacing + full-width submit */
  .nl-embed input { width:100%; margin-bottom: 20px; }
  .nl-embed [type=submit] { width: 60%;
        padding: 15px;}

  /* Accordions */
  .footer-accordion { margin-top: 30px; }
  .footer-accordion .facc-item { border-top: 1px solid rgba(255,255,255,.25); }
  .footer-accordion .facc-item:last-child { border-bottom: none; }

  .footer-accordion .facc-item:first-child {border-top: none}

  .footer-accordion .facc-header {
    width: 100%; background: transparent; border: none; color:#fff;
    font-family: agenda, sans-serif; font-weight:600; font-size:16px;
    text-align:left; padding: 14px 0; position:relative;
  }
  .footer-accordion .facc-header::after {
    content:""; position:absolute; right:0; top:50%; transform: translateY(-50%) rotate(45deg);
    width:12px; height:12px; border-right:2px solid #fff; border-bottom:2px solid #fff;
  }
  .footer-accordion .collapse { padding-bottom: 10px; }
  .footer-accordion a { color:#fff; text-decoration: underline; display:inline-block; padding:6px 0; }


/* Store locator – mobile layout */
@media (max-width: 767px) {

  /* Tabs styling */
  #asl-mobile-tabs.d-none { 
    display: flex !important; 
  }
  #asl-mobile-tabs {
    margin: .75rem 0 1rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid #ffcf21;
  }
  #asl-mobile-tabs .asl-tab {
    border: none;
    background: #fff;
    border-radius: 0;
    font-weight: 600;
    padding: 13px !important;
    font-size: 15px;
    color: #171717;
  }
  #asl-mobile-tabs .asl-tab.active { 
    background-color: #ffcf21; 
  }

  /* Toggle which pane shows on mobile
     - List view: show list box, hide map
     - Map view: hide list box, show map (panel with search stays visible) */
  #asl-storelocator.asl-mobile-show-list .sl-main-cont-box {
    display: block !important;
  }
  #asl-storelocator.asl-mobile-show-list .asl-map {
    display: none !important;
  }

  #asl-storelocator.asl-mobile-show-map .sl-main-cont-box {
    display: none !important;
  }
  #asl-storelocator.asl-mobile-show-map .asl-map {
    display: block !important;
  }

  /* Ensure 100% width when stacked */
  #asl-panel,
  .asl-map { 
    width: 100% !important; 
  }

  /* Let the locator grow naturally instead of being fixed/100vh */
  #asl-storelocator.asl-cont,
  #asl-storelocator .sl-main-cont,
  #asl-storelocator .sl-main-row {
    height: auto !important;
    min-height: 0 !important;
    position: static !important;
    overflow: visible !important;
  }

  /* Make sure the map has some height so it pushes the footer down */
  #asl-storelocator.asl-mobile-show-map .asl-map .map-image,
  #asl-storelocator.asl-mobile-show-map .asl-map .asl-map-canv {
    min-height: 350px;
  }

  #asl-storelocator.asl-cont .sl-main-cont .asl-panel-inner {
    height: auto !important;
  }

  .asl-ddl-filter-cats {
    display: none !important;
  }

  body #asl-storelocator.asl-cont.asl-template-0.full-height .asl-panel {
    height: auto !important;
    max-height: none !important;
  }

  #asl-storelocator.asl-cont .asl-wrapper .Filter_section .asl-advance-filters .asl-filter-cntrl {
    display: none !important;
  }

  .asl-mobile-tabs { /* hook if you want extra styles on wrapper */ }

  .asl-cont .d-flex.two-buttons {
    display: block !important;
  }
  .asl-cont .d-flex.two-buttons .asl-search-address {
    margin-bottom: 10px;
  }

  #asl-storelocator.asl-cont .mb-2 h1 {
    font-size: 18px;
    line-height: 22px;
  }

  #asl-storelocator .search_filter p {
    font-size: 14px;
    margin-bottom: 0 !important;
  }

  #asl-storelocator.asl-cont.asl-template-0
  .asl-wrapper .sl-main-cont .asl-panel-inner .Num_of_store {
    padding: 0;
  }

  #asl-storelocator.asl-cont.asl-template-0
  .asl-wrapper .Filter_section {
    padding-bottom: 0;
  }

  #asl-storelocator.asl-cont .sl-main-cont
  .asl-panel-inner .Num_of_store span {
    color: #22236F !important;
    font-weight: 500 !important;
  }
}






/*Eight promos home */
.promo-col {
    flex: 0 0 50%;
    max-width: 50%;
}
.tag-promo {border: none}

/* Search Block Home Page */
.search-block .col-md-5 {text-align: center;padding-bottom: 20px}
.search-block .col-md-7 {display: block;}
.search-block #asl-search.asl-cont.asl-search .btn-primary {        font-size: 0 !important;
        width: 55px;
        position: absolute;
        right: 0;
        top: 0;-webkit-border-radius: 4px;
-webkit-border-top-left-radius: 0px!important;
-webkit-border-bottom-left-radius: 0px!important;
-moz-border-radius: 4px;
-moz-border-radius-topleft: 0px!important;
-moz-border-radius-bottomleft: 0px!important;
border-radius: 4px;
border-top-left-radius: 0px!important;
border-bottom-left-radius: 0px!important;}
        .search-block .sl-row.asl-search-widget .pol-md-10.p-0 {flex: auto;}
.asl-cont.asl-search {position: relative;}

.search-block .asl-search .asl-search-cntrl {width: 100%}
.search-block .asl-cont .sl-container, .asl-cont .sl-container-sm {padding-left: 0}

.search-block .sl-row.asl-search-widget .pol-md.p-0 {
    flex: 1;
    position: static;
}
.search-block .geo-button {width: 100%}


/* Promo multi grid */

.pb-cell--left {order: 2}

    .pb--hero .pb-title {
        font-size: 32px;
        line-height: 32px;
    }

    .pb-ri {aspect-ratio: auto;}


/* 2 row product grid home page */


  .pp-carousel-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 1rem 0.5rem;
    scroll-snap-type: x mandatory;
  }

  .pp-carousel-track {
    display: flex;
    flex-wrap: nowrap;
  }

  .pp-carousel-track > .pp-slide {
    flex: 0 0 52%;
    max-width: 52%;
    scroll-snap-align: start;
    margin-right: 1rem;
  }

  /* Re-used product cards become slides on mobile */
  .pp-slide.col {
    padding-left: 0;
    padding-right: 0;
  }    

}


/* Mobile header: store finder and full-width search */
@media (max-width: 991.98px) {
    .hf-header .social-share { display: none !important; }
    .hf-header .head-align > .find {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 10px;
        flex: 0 0 44px;
    }
    .hf-header .find-store {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .hf-header .hf-subnav { display: block; background: transparent; }
    .hf-header .hf-subnav > .container > .d-flex { display: none !important; }
    .hf-header .hf-subnav > .container > .d-lg-none { padding-bottom: 16px !important; }
    .hf-header .hf-subnav form,
    .hf-header .hf-subnav .input-group { width: 100% !important; max-width: 100% !important; }
    .hf-header .hf-subnav input { min-width: 0; }
    .hf-header .hf-subnav button { color: #ffffff; border-color: #ffffff; }
}

@media (max-width: 991.98px) {
    .hf-header .hf-subnav form {
        box-sizing: border-box;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .hf-header .hf-subnav .input-group {
        box-sizing: border-box;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 991.98px) {
    .hf-header .head-align {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        align-items: center;
    }
    .hf-header .head-align > .mob-instore { grid-column: 1; grid-row: 1; }
    .hf-header .head-align > .navbar-brand {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .hf-header .head-align > .find { grid-column: 3; grid-row: 1; }
}

/* Catalogue product images do not enlarge on hover. */
.blink-cat-page .card img,
.blink-cat-page .card:hover img,
.prod-list .right-prods img,
.prod-list .right-prods:hover img,
.woocommerce-product-gallery img,
.woocommerce-product-gallery:hover img,
.related.products img,
.related.products li:hover img {
    transform: none !important;
}

/* Compact, evenly padded product notices. */
.prod-first .alert-info {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    line-height: 1.35;
    margin-bottom: 8px !important;
}
.prod-first .alert-info:last-child { margin-bottom: 0 !important; }

/* Match product summary padding to the store finder below. */
.single-product .prod-first { padding: 16px; }

/* Keep embedded product store finder aligned to its enclosing box. */
#pdp-storebox #pdp-asl .sl-row { margin-left: 0 !important; margin-right: 0 !important; }
#pdp-storebox #pdp-asl .asl-panel-inner,
#pdp-storebox #pdp-asl .asl-search-inner .pol-12 {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
#pdp-storebox #pdp-asl .asl-search-group { padding-left: 0 !important; padding-right: 0 !important; }
#pdp-storebox #pdp-asl .asl-list-cont,
#pdp-storebox #pdp-asl #asl-stores-list,
#pdp-storebox #pdp-asl #asl-stores-list > .sl-item { width: 100% !important; box-sizing: border-box; }
#pdp-storebox #pdp-asl #asl-stores-list > .sl-item { padding-left: 0 !important; padding-right: 0 !important; }

/* Product store results: simple separators instead of bordered cards. */
#pdp-storebox #pdp-asl #asl-stores-list > .sl-item {
    border: 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Store distances: consistent readable size and compact mobile badges. */
#pdp-storebox #pdp-asl .asl-item-box h2 > span { font-size: 14px !important; }
@media (max-width: 991.98px) {
    #pdp-storebox #pdp-asl .asl-item-box h2 > span {
        display: inline-block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: max-content;
        flex: 0 0 auto !important;
    }
}

/* Product store details: address spacing and opening-hours weight. */
.single-product #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left .asl-item-box .addr-loc ul li:first-child {
    margin-bottom: 15px !important;
    margin-top: 10px !important;
}
#pdp-storebox #pdp-asl .txt-hours,
#pdp-storebox #pdp-asl .txt-hours * { font-weight: 500 !important; }
@media (max-width: 991.98px) {
    #pdp-storebox .morestore { width: 100%; }
    #pdp-storebox .morestore > .s-direction {
        display: flex !important;
        justify-content: center;
        width: 100% !important;
        box-sizing: border-box;
    }
}

/* Full-width View All Stores button at every screen size. */
#pdp-storebox .morestore { width: 100%; }
#pdp-storebox .morestore > .s-direction {
    display: flex !important;
    justify-content: center;
    width: 100% !important;
    box-sizing: border-box;
}

/* Match product-page store buttons to View Product sizing; retain colours. */
#pdp-storebox #pdp-asl .sl-direction > .s-direction,
#pdp-storebox .morestore > .s-direction {
    font-family: agenda, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    padding: 5px !important;
    border-radius: 4px !important;
}


/* Opening-day alignment and product accordion heading styling. */
#asl-storelocator.asl-cont.asl-template-list .asl-group-slots span.asl-day-lbl,
#pdp-storebox #pdp-asl #asl-storelocator .asl-group-slots span.asl-day-lbl {
    min-width: 65px !important;
}
.single-product #bbAccordion .accordion-button,
.single-product #bbAccordion .accordion-button:not(.collapsed) {
    background-color: #f8f9fa !important;
    padding-left: 15px !important;
    color: #000000 !important;
}

/* Product store distance badges: designer yellow and black. */
.single-product #pdp-storebox #pdp-asl #asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-left .asl-item-box h2 span {
    background-color: #ffc107 !important;
    color: #000000 !important;
    display: inline-block;
    margin-left: 0;
}

/* Align gallery with product information and keep details beneath it. */
.single-product .pdp-sticky-gallery {
    position: relative;
    top: 0 !important;
    max-height: none;
    overflow: visible;
}
.single-product .pdp-left-accordions .woocommerce-tabs { margin-top: 0; }

/* Contain the floated WooCommerce gallery inside its bordered wrapper. */
.single-product .pdp-sticky-gallery { display: flow-root; }
.single-product .pdp-sticky-gallery .woocommerce-product-gallery {
    float: none !important;
    margin-bottom: 0 !important;
}

/* Product accordion inner spacing on every screen size. */
.single-product #bbAccordion .accordion-body {
    padding-left: 15px !important;
    padding-right: 15px !important;
}
@media (max-width: 991.98px) {
    .single-product .pdp-main-row {
        display: flex;
        flex-direction: column;
        gap: 24px;
        margin-left: 0;
        margin-right: 0;
    }
    .single-product .pdp-main-row > .col-lg-7,
    .single-product .pdp-main-row > .col-lg-5 { display: contents; }
    .single-product .pdp-main-row .pdp-sticky-gallery { order: 1; }
    .single-product .pdp-main-row .prod-first { order: 2; }
    .single-product .pdp-main-row .pdp-left-accordions { order: 3; margin-top: 0 !important; }
    .single-product .pdp-main-row #pdp-storebox { order: 4; margin-top: 0 !important; }
}

/* Keep mobile product breadcrumbs clear of the image border. */
@media (max-width: 991.98px) {
    .single-product .product > nav.bread {
        display: block;
        height: auto !important;
        min-height: 0;
        line-height: 1.5;
        white-space: normal;
        overflow-wrap: anywhere;
        margin-bottom: 16px !important;
        padding-bottom: 0;
    }
    .single-product .pdp-main-row { margin-top: 0; }
}

/* Homepage store search and deals across intermediate screen sizes. */
.search-block #asl-btn-search { white-space: nowrap !important; }
.search-block .sl-row.asl-search-widget .pol-md.p-0 { flex: 0 0 auto; }
.search-block .sl-row.asl-search-widget .pol-md-10.p-0 { flex: 1 1 0; min-width: 0; }
.search-block #asl-search { min-width: 0; }
.search-block .geo-button { flex-shrink: 0; white-space: nowrap; }
@media (max-width: 1399.98px) {
 .prod-list > .container > .d-md-none { display: block !important; }
 .prod-list > .container > .d-md-block { display: none !important; }
 .prod-list .pp-carousel-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 0 0 8px; scroll-snap-type: x mandatory; }
 .prod-list .pp-carousel-track { display: flex; flex-wrap: nowrap; gap: 16px; }
 .prod-list .pp-carousel-track > .pp-slide { flex: 0 0 240px; max-width: 240px; margin-right: 0; scroll-snap-align: start; padding-left: 0; padding-right: 0; }
}
@media (max-width: 575.98px) {
 .prod-list .pp-carousel-track > .pp-slide { flex-basis: 72%; max-width: 72%; }
}
@media (min-width: 1400px) {
 .prod-list .col-lg-10 > .row > .col { flex: 0 0 20%; width: 20%; min-width: 0; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
 .search-block .center > .col-md-5, .search-block .center > .col-md-7 { width: 100%; }
 .search-block .center > .col-md-7 { margin-top: 16px; }
}

@media (min-width: 768px) {
 .search-block #asl-search .asl-search-widget { flex-wrap: nowrap !important; }
 .search-block #asl-search .asl-search-widget > .pol-md { width: auto !important; flex: 0 0 auto !important; }
 .search-block #asl-search .asl-search-widget > .pol-md-10 { width: auto !important; flex: 1 1 0 !important; min-width: 0; }
}

/* Three offer links per row on smaller desktop and tablet screens. */
@media (min-width: 768px) and (max-width: 1399.98px) {
 .home .top-promos .promo-col { flex: 0 0 33.333333%; width: 33.333333%; max-width: 33.333333%; }
}

/* Anchor desktop predictive results to the search form. */
@media (min-width: 992px) {
 .hf-header form:has(#header-search-input) { position: relative; }
 .hf-header #header-search-results { left: 0; right: 0; width: 100% !important; border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
 .hf-header #header-search-results > .list-group-item:first-child { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
}

/* Include the search form border in the desktop dropdown width. */
@media (min-width: 992px) {
 .hf-header #header-search-results { left: -3px !important; right: -3px !important; width: calc(100% + 6px) !important; top: calc(100% + 3px) !important; border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
}

/* Give search breadcrumbs breathing room above the results banner. */
.heron-search-page { padding-top: 16px; }
.heron-search-page nav.bread { margin-bottom: 24px !important; }

/* Product card bottom spacing. */
.prod-list .right-prods { margin-bottom: 0.75rem; }

/* Give the catalogue category arrow the same inset as sorting. */
.blink-cat-page .heron-catalog-category {
 appearance: none; -webkit-appearance: none;
 padding-right: 38px;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000000' stroke-width='1.5'/%3E%3C/svg%3E");
 background-repeat: no-repeat; background-position: right 14px center; background-size: 12px 8px;
}

/* Designer submenu icon sizing. */
.hf-subpanel .hf-row-icon {
 width: 55px;
 height: auto;
 object-fit: contain;
 display: block;
 max-height: 40px;
 mix-blend-mode: multiply;
}

/* Designer offcanvas menu item spacing. */
.hf-offcanvas .list-group-item {
 padding: 5px 15px;
 border: 0;
 margin-bottom: 5px;
 margin-top: 5px;
 border-radius: 4px;
}

/* Swipe related product cards on mobile using the homepage carousel spacing. */
@media (max-width: 991.98px) {
 .single-product .pdp-related-products > .row {
  display: flex; flex-wrap: nowrap; gap: 16px;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  margin: 0; padding-bottom: 12px;
 }
 .single-product .pdp-related-products > .row > .col {
  flex: 0 0 240px; width: 240px; max-width: 240px;
  padding: 0; margin-top: 0; scroll-snap-align: start;
 }
}
@media (max-width: 575.98px) {
 .single-product .pdp-related-products > .row > .col {
  flex-basis: 72%; width: 72%; max-width: 72%;
 }
}

/* Designer general menu icon sizing. */
.hf-row-icon {
 width: 24px;
 height: 24px;
 object-fit: contain;
 display: block;
}

/* Match the menu toggle to the 992px desktop header breakpoint. */
@media (max-width: 991.98px) {
 .hf-header .head-align > .btn.mob-instore { display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; }
}
@media (min-width: 992px) {
 .hf-header .head-align > .btn.mob-instore { display: none !important; }
}

/* Centre the old-price strike through on the visible price. */
.product-card-price del, .pdp-price-stack del { text-decoration: none; }
.product-card-price del .woocommerce-Price-amount, .pdp-price-stack del .woocommerce-Price-amount { position: relative; display: inline-block; line-height: 1; }
.product-card-price del .woocommerce-Price-amount::after, .pdp-price-stack del .woocommerce-Price-amount::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor; pointer-events: none; }

/* Sale prices: clear new price underline and soften the old price. */
.product-card-price ins, .pdp-price-stack ins { text-decoration: none !important; }
.product-card-price del, .pdp-price-stack del { opacity: 0.8; }

/* Store locator: retain working service filters on phones and tablets. */
@media (max-width: 767.98px) {
  .page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .Filter_section .asl-advance-filters .asl-ddl-filter-cats,
  .page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .Filter_section .asl-advance-filters .asl-ddl-filter-cats .asl-filter-cntrl {
    display: block !important;
    width: 100%;
    max-width: 100%;
  }
  .page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .Filter_section .asl-advance-filters .asl-ddl-filter-cats { margin-top: 15px; margin-bottom: 15px; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter .btn-group { display: block; width: 100%; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter ul.multiselect-container.adropdown-menu { display: flex !important; position: static !important; flex-wrap: wrap; gap: 8px; width: 100%; min-width: 0; max-height: none !important; padding: 0; margin: 8px 0 0; border: 0; box-shadow: none; overflow: visible !important; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter .multiselect.adropdown-toggle { display: none !important; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter ul.multiselect-container.adropdown-menu > li { display: block; flex: 0 0 auto; margin: 0; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter ul.multiselect-container.adropdown-menu > li > a { display: block; border: 1px solid #c8c8cf; border-radius: 4px; padding: 0; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter ul.multiselect-container.adropdown-menu > li > a > label.checkbox { display: flex !important; align-items: center; gap: 7px; min-height: 44px; margin: 0; padding: 8px 12px !important; font-size: 14px !important; cursor: pointer; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter input[type="checkbox"] { position: static; margin: 0; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter li.active > a > label.checkbox { color: #fff !important; }
}

/* Centre mobile service labels without reserving space for the hidden checkbox. */
@media (max-width: 767.98px) {
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter ul.multiselect-container.adropdown-menu > li > a > label.checkbox { position: relative; justify-content: center; gap: 0; text-align: center; }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter input[type="checkbox"] { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); }
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter label.checkbox:focus-within { outline: 2px solid #22236f; outline-offset: 2px; }
}

/* Balance the Agenda font optically within mobile service buttons. */
@media (max-width: 767.98px) {
  .page-template-store-locator #asl-storelocator.asl-cont #categories_filter ul.multiselect-container.adropdown-menu > li > a > label.checkbox {
    box-sizing: border-box; height: 44px; min-height: 44px; line-height: 20px !important; align-items: center; padding: 6px 12px 10px !important;
  }
}

/* Store locator list reaches the bottom of its panel without a grey footer gap. */
.page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .asl-panel-inner { padding-bottom: 0 !important; }
.page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .sl-main-cont-box .sl-list > li.sl-item:last-child { margin-bottom: 0 !important; }
@media (min-width: 768px) {
  .page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .asl-panel-inner { display: flex; flex-direction: column; }
  .page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .asl-panel-inner > .Filter_section,
  .page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .asl-panel-inner > .Num_of_store { flex: 0 0 auto; }
  .page-template-store-locator #asl-storelocator.asl-cont .asl-wrapper .asl-panel-inner > .sl-main-cont-box { flex: 1 1 0; min-height: 0; height: auto !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
}

.page-template-store-locator .store-cont #asl-storelocator.asl-cont .asl-wrapper .sl-main-cont .asl-panel-inner .sl-main-cont-box .sl-list-wrapper .sl-list > li.sl-item:last-child { margin-bottom: 0 !important; }

/* Predictive product search: all matches scroll within the original three-row area. */
.hf-header #header-search-results, .hf-header #mobile-header-search-results { max-height: 224px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.hf-header #header-search-results > .list-group-item, .hf-header #mobile-header-search-results > .list-group-item { flex-shrink: 0; }
