/** Shopify CDN: Minification failed

Line 1405:5 Cannot use type selector "--image" directly after nesting selector "&"
Line 1410:5 Cannot use type selector "--title" directly after nesting selector "&"
Line 1417:5 Cannot use type selector "--price" directly after nesting selector "&"
Line 1424:5 Cannot use type selector "--button" directly after nesting selector "&"

**/

/* Header. Extra menu */

#header-extra-menu {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
}
.header-extra-menu-wrapper {
    padding: 5px 0;
}

[id^=header-extra-menu-block-] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

#header-extra-menu-block-1 {
    flex-wrap: wrap;
}

.header-extra-menu-linklist-1-featured {
    display: flex;
    margin-right: 10px;
}

#header-extra-menu ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 4px;
    row-gap: 0px;
    padding: 0;
    margin: 0;
}

#header-extra-menu ul li {
    padding: 4px 0;
}

#header-extra-menu .header-extra-menu-title {
    margin: 0;
    color:#497416;
}


.header-extra-menu-linklist-2 li,
.header-extra-menu-linklist-1 li {
    color:#777;
}

.header-extra-menu-linklist-2 li a,
.header-extra-menu-linklist-1 li a {
   color:#124D29
}

.header-extra-menu-linklist-1-featured li a {
   color:#497416;
}

.header-extra-menu-linklist-1-featured .menu-separator {
   color:#777;
}

#header-extra-menu-mobile {
    margin-top: -1px;
}
.header-extra-menu-mobile-linklist {
    list-style: none;
    padding: var(--margin-sm) var(--padding-lg) var(--margin-lg);
    background-color:#fff;
    display: flex;
    gap: 1rem;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none;   /* IE / Edge */
    scrollbar-width: none;      /* Firefox */
    -webkit-overflow-scrolling: touch;
}

.header-extra-menu-mobile-linklist::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.header-extra-menu-mobile-linklist li a {
    display: inline-block;
    width: max-content;
    font-weight: 600;
    color:var(--color-foreground);
}

.st-wishlist-details-button .st-wishlist-icon {
    color:#000;
}

.st-wishlist-details-button[data-type=manually] {
    outline: none;
    box-shadow:none;
    border:0;
    background-repeat:no-repeat;
    background-position:center;
    background-size:20px;
    padding: 10px;
    width: 40px;
    height: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='st_heart_icon_2' viewBox='0 0 26 22' style=' width: 20px;%0A'%3E%3Cpath d='M23.8185 6.71922C23.8185 5.93296 23.716 5.24926 23.5109 4.66811C23.3058 4.08696 23.0408 3.61691 22.7161 3.25797C22.3913 2.89902 21.9982 2.617 21.5367 2.41189C21.0752 2.20678 20.6308 2.05294 20.2034 1.95039C19.7761 1.84783 19.3061 1.81365 18.7933 1.84783C18.2805 1.88202 17.7507 2.00166 17.2037 2.20677C16.6567 2.41189 16.1269 2.71955 15.6141 3.12978C15.1013 3.54 14.6911 3.88185 14.3834 4.15533C14.0758 4.42881 13.7852 4.71939 13.5117 5.02705C13.3408 5.24926 13.11 5.36036 12.8194 5.36036C12.5289 5.36036 12.2981 5.24926 12.1272 5.02705C11.8879 4.77066 11.5973 4.48009 11.2555 4.15533C10.9136 3.83057 10.5034 3.48872 10.0248 3.12978C9.54622 2.77083 9.01634 2.46316 8.4352 2.20677C7.85405 1.95039 7.32418 1.83074 6.84558 1.84783C6.36699 1.86492 5.89695 1.89911 5.43545 1.95039C4.97395 2.00166 4.52954 2.1555 4.10222 2.41189C3.67491 2.66828 3.28178 2.9503 2.92283 3.25797C2.56389 3.56564 2.29895 4.03568 2.12803 4.66811C1.9571 5.30054 1.85455 5.98424 1.82036 6.71922C1.82036 8.30883 2.71772 10.001 4.51245 11.7957L12.8194 19.7951L21.1264 11.7957C22.9212 10.001 23.8185 8.30883 23.8185 6.71922ZM25.6389 6.71922C25.6389 8.82161 24.545 10.9667 22.3571 13.1546L13.4604 21.7436C13.2895 21.9145 13.0758 22 12.8194 22C12.5631 22 12.3494 21.9145 12.1785 21.7436L3.25614 13.1289L2.87156 12.7444C2.70063 12.5734 2.43569 12.2572 2.07675 11.7957C1.71781 11.3342 1.39305 10.8727 1.10247 10.4112C0.811898 9.94972 0.555509 9.37712 0.333306 8.69341C0.111102 8.00971 0 7.35164 0 6.71922C0 4.61683 0.606787 2.97594 1.82036 1.79655C3.03394 0.617164 4.70901 0.018924 6.84558 0.00183139C7.42673 0.00183139 8.02497 0.104384 8.64031 0.309495C9.25564 0.514607 9.82824 0.796636 10.3581 1.15558C10.888 1.51452 11.3495 1.83928 11.7426 2.12986C12.1357 2.42043 12.4947 2.74519 12.8194 3.10414C13.1613 2.76228 13.5202 2.43752 13.8963 2.12986C14.2723 1.82219 14.7338 1.49743 15.2808 1.15558C15.8277 0.813728 16.4003 0.531699 16.9986 0.309495C17.5968 0.0872916 18.1951 -0.0152612 18.7933 0.00183139C20.9299 0.00183139 22.605 0.600071 23.8185 1.79655C25.0321 2.99303 25.6389 4.63392 25.6389 6.71922Z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
}

@media screen and (max-width:749px) {
    .st-wishlist-details-button[data-type=manually] {
        grid-area: leftB;
        /* margin-left: 40px; */
        background-size:18px;
    }
    .st-wishlist-details-button[data-type=manually] svg {
        width: 18px;
    }
}

/* Header. Main menu */
  
[slot=overflow] .menu-list__submenu .submenu-list[data-hide] {
    visibility: visible !important;
    opacity: 0;
    pointer-events: none;
}

.menu-list__list-item:is([slot="overflow"]) {
    .menu-list__link {
        font-size: var(--font-size--md) !important;
        min-height: 24px;
    }
}   

/* Others */

.jdgm-rev__timestamp, .jdgm-rev__location {
    color:#595959 !important;
}

footer .menu__details ul li {
    padding: 3px 0;
}

.compare-at-price {
    opacity: 0.8;
}

body .st-wishlist-button {
    margin: 10px 0;
    font-family: var(--button-font-family-primary);
    font-weight: var(--button-font-weight-primary);
}

body .st-wishlist-details .st-wishlist-details_header h3 {
    margin: 0 auto;
    font-size: var(--font-h3--size);
}

body .st-wishlist-details-button[data-type=floating] {
    z-index: 7;
}

body .st-wishlist-details_title {
    position:relative
}

body .st-wishlist-details.st-wishlist-details--drawer .st-close-button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

body .st-product-card .st-atc-button {
    background-color:#1a6332;
    font-family: var(--button-font-family-primary);
    font-weight: var(--button-font-weight-primary);
}

body .st-wishlist-details .st-wishlist-details_header h3,
body .st-product-card .st-product-card_title a {
     color: #1a6332;
}


body[class*=template-collection] :not(.dialog-zoomed-gallery)>.product-media-container {
    --slide-width: unset;
}

.product-notes {
    .metafield-rich_text_field {
        margin: 20px 0;
        p {
            margin: 0;
            padding: 0;
        }
        p:has(strong) {
            display: flex;
            align-items: flex-start;
            gap: 8px; 
            margin-top: 16px; 
            font-size: 16px;
          }
        p:has(a) {
           margin-bottom: 12px;
           padding-bottom: 8px;
           margin-left: 28px; 
            margin-top: 4px;
            font-size: 15px;
        }
        p:empty {
            display: none;
          }
    }
   
}


.cart-greeting {
    display: none;
    position: fixed;
    inset: 0;
    align-items: center;
    justify-content: center;
    z-index: 9998;
    pointer-events: none;
  }
  
  .cart-greeting.is-open {
    display: flex;
    pointer-events: auto;
  }

  .cart-greeting__inner {
    background: #fff;
    padding: 24px;
    border-radius: 12px;
    max-width: 660px;
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    position: relative;
    z-index: 10;
  }

  .cart-greeting__close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: none;
    background: transparent;
    font-size: 28px;
    cursor: pointer;
    color: #515151;
  }

  .cart-greeting__title {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 6px 0;
    color: #1a6332;
  }
  
  .cart-greeting__subtitle {
    font-family: Merriweather;
    font-size: 16px;
    color: #000;
    margin-bottom: 18px;
  }

  .cart-greeting__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .cart-greeting-card {
    position: relative;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
  }
  
  .cart-greeting-card__label {
    font-family: Merriweather;
    font-size: 16px;
    margin-bottom: 8px;
    text-align: center;
    color: #1a6332;
  }
  
  .cart-greeting-card__image-wrap-container {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    outline: 1px solid #ccc;
    margin-top: auto;
  }
  
  .cart-greeting-card.is-active .cart-greeting-card__image-wrap-container,
  .cart-greeting-card__image-wrap-container:hover {
    outline: 3px solid #1a6332;
  }
  
  .cart-greeting-card__image-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: zoom-in;
  }
  
  .cart-greeting-card__image-wrap img.zoomImg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    max-width: none;
    max-height: none;
    transition: opacity 0.15s ease;
    background: #fff;
  }
  
  .cart-greeting-card__check {
    position: absolute;
    top: -13px;
    right: -13px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #6cb640;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
  }
  
  .cart-greeting-card.is-active .cart-greeting-card__check {
    display: flex;
  }
  
  .cart-greeting-card__customize-btn {
    margin-top: 12px;
    width: 100%;
    border-width: 0;
    outline: 1px solid #1a6332;
    background: #fff;
    color: #1a6332;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 14px;
    cursor: pointer;
  }
  
  .cart-greeting-card__customize-btn:hover {
    background: #1a6332;
    color: #fff;
  }

  .cart-greeting-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
  }
  
  .cart-greeting-modal.is-open {
    display: flex;
  }
  
  .cart-greeting-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.3);
  }
  
  .cart-greeting-modal__dialog {
    position: relative;
    background: #fff;
    max-width: 640px;
    width: 95%;
    padding: 32px;
    border-radius: 8px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
    max-height: 90vh;
    overflow: auto;
    z-index: 10;
  }

  .cart-greeting-modal__return {
      position: absolute;
      left: 26px;
      top: 18px;
      background: none;
      border: none;
      color: #000;
      cursor: pointer;
      font-weight: 500;
      font-size: 18px;
  }

  .cart-greeting-modal__close {
    position: absolute;
    right: 12px;
    top: 8px;
    background: none;
    border: none;
    font-size: 34px;
    cursor: pointer;
  }

  .cart-greeting-modal__images {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
    margin-bottom: 18px;
  }
  
  .cart-greeting-modal__image-col {
    border: 1px solid #eee;
    border-radius: 4px;
    /* aspect-ratio: 4/3; */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .cart-greeting-modal__images > :only-child {
    grid-column: 1 / -1;    
    max-width: calc(50% - 6px); 
    justify-self: center;   
  }

  @media screen and (max-width:580px) {
    .cart-greeting-modal__images > :only-child {
      max-width: 100%;
    }
  }
  
  .cart-greeting-modal__image-front,
  .cart-greeting-modal__image-inside {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .25s ease;
  }
  
  .cart-greeting-modal__image-front.is-fading,
  .cart-greeting-modal__image-inside.is-fading {
    opacity: 0;
  }
  
  /* form */
  .cart-greeting-modal__label { margin-bottom: 6px; font-size: 14px; }
  .cart-greeting-modal__textarea {
    width: 100%;
    border-radius: 4px;
    border:1px solid #ccc;
    padding: 10px;
    font-size: 15px;
    min-height: 120px;
  }
  .cart-greeting-modal__textarea::placeholder {
    color:#696969;
  }
  .cart-greeting-modal__textarea.empty-message { border-color:red; }
  
  .cart-greeting-modal__charcount {
    margin: 6px 0 12px 0;
    font-size: 12px;
  }
  
  .cart-greeting-modal__submit {
    border: none;
    background: #1a6332;
    color: #fff;
    padding: 10px 22px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color .25s ease;
  }

  .cart-greeting-modal__submit:hover {
      background-color:#52871a
  }
  
  .cart-greeting-modal__submit:disabled {
    opacity: .6;
    cursor:not-allowed;
  }

  #cartGreetingModalTitle {
      margin-bottom: 0;
      color:#1a6332;
  }

  #cartGreetingMessage:focus-visible {
      outline: none;
  }

  .cart-greeting-modal__error {
      margin: 0;
      color:#ff0000
  }

  .cart-greeting-modal__notice {
      display: flex;
      gap: 10px;
  }

  .cart-greeting-modal__notice-icon {
      flex-basis: 20px;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 20px;
      border-radius: 999px;
      background: #1a6332;
      aspect-ratio: 1;
      color: #fff;
      transform: translateY(1px);
  }

  .cart-greeting-modal__notice-icon + span {
    line-height: 1.15;
  }

  .cart-greeting-modal__submit-group {
      display: flex;
      justify-content: flex-end;
  }

  [data-trigger-cards-upsell] {
      padding-block: 0.7rem;
      cursor: pointer;

  }

  [data-trigger-cards-upsell]:hover {
      opacity: .7 !important;
  }

  #greeting-zoom-dialog .dialog-thumbnails-list__thumbnail {
      width: 44px;
  }

  @media (max-width: 798px) {
      .cart-greeting__cards { grid-template-columns: repeat(2,1fr); }
      .cart-greeting-modal__dialog { padding: 18px; }
      .cart-greeting__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
      }
  
      .cart-greeting-modal {
        align-items: flex-end;
      }
  
      .cart-greeting-modal__dialog {
        max-width: 100%;
        width: 100%;
        height: 92vh;
        max-height: 92vh;
        border-radius: 16px 16px 0 0;
        padding: 16px 16px 20px;
        margin: 0 10px;
      }

      .cart-greeting-modal__return {
          left: 10px;
          top: 14px;
          font-size: 16px;
      }
  
      .cart-greeting-modal__form-wrapper {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 40px;
      }
  
      .cart-greeting-modal__images {
        grid-template-columns: repeat(2, 1fr);
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 16px;
      }
  
      .cart-greeting-modal__image-col {
        min-height: 125px;
      }
  
      .cart-greeting-modal__textarea {
        min-height: 88px;
      }
  
      .cart-greeting-modal__submit {
        position: sticky;
        bottom: 0;
        width: 100%;
        margin-top: 12px;
        padding: 14px;
        font-size: 15px;
        border-radius: 10px;
      }
  
      .cart-greeting-modal__close {
        top: 8px;
        right: 10px;
        font-size: 26px;
      }     
      .cart-greeting-modal__submit-group {
          align-items:center
      }  

      .fancybox-navigation .fancybox-button {
        opacity: 1;
        visibility: visible;
      }

      .fancybox-toolbar button.fancybox-button {
        display: block;
      }
    }
  
    @media (max-width: 480px) {
      .cart-greeting__cards {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .cart-greeting__subtitle {
          font-size: 18px;
      }
    }

    @media (max-width: 420px) {
    .cart-greeting-modal__image-col {
        min-height: 110px;
      }
  }   

  @media (min-width:750px) {
    #greeting-zoom-dialog dialog {
      width: min(70vw, 1000px);
      height: min(80vh, 900px);
      max-width: 90vw;
      max-height: 90vh;
      margin: auto;
      border-radius: 16px;
    }

    #greeting-zoom-dialog .dialog-zoomed-gallery {
      max-width: 80vw;
      max-height: 80vh;
      margin: 0 auto;
    }

    #greeting-zoom-dialog .dialog-thumbnails-list {
      right: calc((100vw - 70vw) / 2);
    }
    #greeting-zoom-dialog .dialog-zoomed-gallery__close-button {
      right: calc((100vw - 70vw) / 2);
      top: 10vh;
      color: #fff;
      font-size: 32px;
      font-weight: normal;
    }
  }

  @media (min-width:1000px) { 
    #greeting-zoom-dialog .dialog-thumbnails-list {
      right: min(calc((100vw - 30vw) / 2), calc((100vw - 1000px) / 2));
    }
    #greeting-zoom-dialog .dialog-zoomed-gallery__close-button {
      right: min(calc((100vw - 30vw) / 2), calc((100vw - 1000px) / 2));
    }
  }



  .template-cart .cart-items__quantity:not(:has(.quantity-selector)) {
    justify-content: flex-start;
    margin-left: calc(128px + var(--gap-xs));
  }

  .cart-items__details > p {
    font-size: var(--cart-font-size--md);
    color: var(--color-foreground);
    text-transform: var(--product-title-case);
  }


  [data-recently-viewed-container] {
    .product-card__price {
      text-align: center;
    }
    .product-card__title {
      font-size: 1rem;
      color:#1a6332 !important;
      font-weight: 600;
      font-family: 'Open Sans';
      text-align: center;
      line-height: 1.4;
    }
    .product-card__title a {
      color:#1a6332 !important;
    }
    .product-grid__card {
      display: flex;
      flex-direction: column;
      height: 100%;
      padding-bottom: 0;
      & > div {
        display: flex;
        flex-direction: column;
        height: 100%;
        .product-card__price {
          margin-top: auto;
        }
      }
    }
    &.recently-viewed-mobile-carousel {
      @media screen and (max-width:640px) {
        display: flex;
        flex-wrap: nowrap;
        overflow: auto;
        .resource-list__item {
          flex: 1 0 65vw;
        }
      }
    }
  }

  .goto-cart-btn {
    display: block;
    width: 100%;
    height: clamp(25px, var(--height-buy-buttons), 55px);
  }

  .product-form-buttons {
    @media screen and (max-width:640px) {
      add-to-cart-component {
        button {
          padding-inline: var(--padding-xs);
          .add-to-cart-text {
            line-height: 1.15;
            font-size: calc(var(--font-paragraph--size) * 0.875);
          }
          .svg-wrapper {
            flex: 0 0 var(--icon-size-sm);
          }
        }
      }

    }
    
  }


  @media screen and (max-width: 1023px) {
    .md-mobile\:hidden {
      display: none !important;
    }
  }
  
  @media screen and (min-width: 1024px) {
    .md-desktop\:hidden {
      display: none !important;
    }
  }


/* Root */
.menu-v2 { position: relative; }

/* Top menu */
.menu-v2__list {
  display: flex;
  gap: clamp(6px, 2vw, 35px);
  list-style: none;
  padding-left: 0;
  flex-wrap: nowrap;
  justify-content: center;
}

.menu-v2__item {
  position: relative;
  display: flex;
  gap: 5px;
  align-items:center;
  z-index: 10;
}

/* Dropdown */
.menu-v2__dropdown {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateY(10px);
  width: auto;
  min-width: max-content;
  max-width: min(1200px, calc(100vw - 32px));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  z-index: 20;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #c7c7c7;
}

.menu-v2__item.active .menu-v2__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}


/* Dropdown inner */
.menu-v2__dropdown-inner {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.15);
  overflow-y: auto;
  overscroll-behavior: contain;
  max-height: calc(100vh - 200px);
  transition: opacity .2s ease;
}

.menu-v2__dropdown > * { position: relative; z-index: 2; }
.menu-v2__dropdown { opacity: 0; }
.menu-v2__item.active .menu-v2__dropdown-inner { opacity: 1; }

/* Arrow */
.menu-v2__dropdown::before {
  content: "";
  position: absolute;
  top: -6px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  background: #fff;
  box-shadow: -2px -2px 6px rgba(0,0,0,.05);
  border: 1px solid #c7c7c7;
  border-bottom: 0;
  border-right: 0;
  z-index: 1;
}

/* Mega menu */
.menu-v2__dropdown--mega .menu-v2__columns {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 40px;
  padding: 30px;
  max-width: 675px;
}

.menu-v2__dropdown--mega .menu-v2__columns:not(:has(.menu-v2__right)) {
  grid-template-columns: 1fr;
}

.menu-v2__dropdown--mega[data-menu-handle="shop"] .menu-v2__columns {
  max-width: 850px;
}

/* Columns */
.menu-v2__center {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 40px 50px;
  align-items: start;
}

/* Group */
.menu-v2__group {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.menu-v2__group-title {
  color: #000;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  width: fit-content;
  transition: color .2s ease;
}

.menu-v2__group-title:hover {
  color: #1a6332;
}

/* Links */
.menu-v2__links {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.menu-v2__item-link {
  font-size: 14px;
  display: inline-block;
  width: fit-content;
  min-width: 180px;
  text-decoration: none;
  color: #333;
  padding: 3px 6px;
  border-radius: 4px;
  transition: color .2s ease, background .2s ease;
}

.menu-v2__item-link:hover {
  color: #1a6332;
  background: #e9f0db;
}

.menu-v2__item-link.view-all { font-weight: 700; }

/* Simple dropdown */
.menu-v2__dropdown--simple .menu-v2__columns {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 30px;
  padding: 30px;
}

.menu-v2__columns--simple:not(:has(.menu-v2__right)) {
  grid-template-columns: 1fr;
}

.menu-v2__center--simple {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.menu-v2__group-title--big {
  color: #000;
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
  width: max-content;
}

/* Top link */
.menu-v2__link {
  display: inline-flex;
  gap: 0;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  background: transparent;
  color: #000;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  border: none;
  margin: 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease;
}

.menu-v2__link:hover {
  color: #1a6332;
  border-bottom: 2px solid #1a6332;
}

.menu-v2__item.active .menu-v2__link {
  color: #1a6332;
  border-bottom: 2px solid #1a6332;
}

.menu-v2__link > svg {
  flex-shrink: 0;
  margin-left: 3px;
  transition: all .2s ease;
}

.menu-v2__item.active .menu-v2__link > svg {
  transform: rotate(-180deg);
}

/* Upsell */
.menu-v2__upsell {
  display: block;
  position: sticky;
  top: 1rem;
  border-radius: 10px;
  overflow: hidden;
}

.menu-v2__right {
  display: none;
}

.menu-v2__right img {
  width: 100%;
  height: auto;
}

.menu-v2__upsell:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(40,40,27,.4);
  z-index: 1;
}

.menu-v2__upsell-inner { position: relative; }

.menu-v2__upsell-t-group {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 2;
  color: #fff;
}

.menu-v2__upsell-t-group p {
  font-weight: 600;
  padding: 10px 16px;
  margin-top: 8px;
  border-radius: 6px;
  background: #fff;
  color: #000;
}

.shopify-section-group-header-group > * {
  position: relative;
  z-index: 30;
}

/* Responsive */
@media (max-width:1180px) {
  .menu-v2__center {
    grid-template-columns: repeat(2, max-content);
  }
}

@media screen and (max-width:1024px) {
  .shopify-section-group-header-group > * {
    z-index: 3;
  }
  .menu-v2__right {
    padding: 0 20px 20px;
  }
}

/* =====================================================
   Extended Mega Menu 
   ===================================================== */

.menu-v2__dropdown--extended-mega {
  width: auto;
  min-width: min(825px, calc(100vw - 32px));
}

.key-mega-menu__layout {
  display: grid;
  grid-template-columns: 220px 1fr 380px;
  min-height: 500px;
}

.key-mega-menu__layout:not(:has(.key-mega-menu__right)) {
  grid-template-columns: 220px 1fr;
}

/* Left navigation column */
.key-mega-menu__left {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border-right: 1px solid #eee;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.key-mega-menu__left-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 20px;
  font-size: 14px;
  border-radius:10px;
  color: #333;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.key-mega-menu__left-link::after {
  content: '\203A';
  font-size: 1.2em;
  line-height: 1;
}

.key-mega-menu__left-link:hover,
.key-mega-menu__left-link.is-active {
  background: #e9f0db;
  color: #1a6332;
}

/* Center — positioning context for panels */
.key-mega-menu__center {
  position: relative;
  padding: 28px 30px;
  min-height: 260px;
}

/* Each panel is hidden by default; only .is-active shows */
.key-mega-menu__panel {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: absolute;
  inset: 28px 30px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.key-mega-menu__panel.is-active {
  opacity: 1;
  visibility: visible;
}

.key-mega-menu__group-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.key-mega-menu__layout:not(:has(.key-mega-menu__right)) .key-mega-menu__group-links {
  grid-template-columns: 1fr 1fr 1fr;
}

.key-mega-menu__link {
  font-size: 14px;
  color: #333;
  text-decoration: none;
  display: inline-block;
  max-width: 200px;
  padding: 3px 6px;
  border-radius: 4px;
  transition: color .2s ease, background .2s ease;
}

.key-mega-menu__link:hover {
  color: #1a6332;
  background: #e9f0db;
}

/* View all button — inside each panel */
.key-mega-menu__view-all {
  padding-top: 4px;
  align-self: flex-start;
}

.key-mega-menu__view-all-btn {
  display: block;
  padding: 11px 20px;
  text-align: center;
  background-color: var(--color-primary-button-background);
  border: var(--style-border-width-primary) solid var(--color-primary-button-border);
  border-radius: var(--style-border-radius-buttons-primary);
  color: var(--color-primary-button-text);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.key-mega-menu__view-all-btn:hover {
  background-color: var(--color-primary-button-hover-background);
  color: var(--color-primary-button-hover-text);
  border-color: var(--color-primary-button-hover-border);
}

/* Right upsell column — static, never changes on tab switch */
.key-mega-menu__right {
  border-left: 1px solid #eee;
  padding: 30px;
  display: flex;
  align-items: stretch;
}

.key-mega-menu__right .menu-v2__upsell {
  width: 100%;
  border-radius: 10px;
  height: max-content;
}

product-card {

  &:has(.st-wishlist-button.right_top) {
    .logees-zone-badge[data-mode='icon'] {
      top: 23px;
      right: 46px;
    }
  }
}

.st-wishlist-button.right_top {
    right: 10px !important;
    top: 13px !important;
    background: #1a6332 !important;
    padding: 3px !important;
    outline: 2px solid #fff !important;
}
.st-wishlist-button.right_top svg {
  width: 18px;
  height: 18px;
  transform: scale(0.86);
}

[data-recently-viewed-container]  .resource-list__item {
      .logees-zone-badge[data-mode='icon'] {
        top: 38px;
      }

      &:has(.st-wishlist-button.right_top) {
        .logees-zone-badge[data-mode='icon'] {
          right: 46px;
        }

        .st-wishlist-button.right_top {
          top: 28px !important;
        }
      }
    }

announcement-bar-component {
  &:has(.accessibility-link) {
    .slideshow-control--next {
      margin-right: 40px;
      @media screen and (max-width:768px) {
        margin-right: 30px;
      }
      @media screen and (max-width:480px) {
        margin-right: 20px;
      }
    }  
  }
  #logees-zone-banner {
    &:has(#logees-change-btn) {
      .logees-banner {
        @media screen and (max-width:480px) {
          padding-left: 0;
          padding-right: 0;
          font-size: 13px;

          svg {
            display: none;
          }
        }
      }
    }
  }
}

.add-to-cart-button {
  position: relative;
}

/* Zone Best Sellers section */
@keyframes zone-best-sellers-shimmer {
  from { background-position: 200% 0; }
  to   { background-position: -200% 0; }
}

.zone-best-sellers-section {
  .zone-best-sellers__heading {
    text-align: center;
    margin-block: 0;
    color: var(--color-foreground-heading);
  }

  .zone-best-sellers__subtitle {
    margin: 0 auto;
    text-align: center;
    color: var(--color-foreground-heading);
    font-weight: 600;
    transform: translateY(-10px);
  }

  .zone-best-sellers__footer {
    display: flex;
    justify-content: center;
  }

  [data-zone-best-sellers-container] {
    transition: opacity 0.18s ease;

    /* Reserve height during the initial skeleton phase to prevent CLS.
       :has() stops matching the moment JS replaces skeleton items with real cards,
       so the min-height is removed automatically — no JS needed. */
    &:has(.zone-best-sellers__skeleton-item) {
      min-height: 550px;

      @media screen and (max-width: 749px) {
        min-height: 750px;
      }
    }

    &.zbs-loading {
      opacity: 0.45;
      pointer-events: none;
    }

    .product-card__price {
      text-align: center;
    }

    .product-card__title {
      font-size: 1rem;
      color: #1a6332 !important;
      font-weight: 600;
      font-family: 'Open Sans';
      text-align: center;
      line-height: 1.4;
    }

    .product-card__title a {
      color: #1a6332 !important;
    }

    .product-grid__card {
      display: flex;
      flex-direction: column;
      height: 100%;
      padding-bottom: 0;
      padding-top: 0;

      & > div {
        display: flex;
        flex-direction: column;
        height: 100%;

        .product-card__price {
          margin-top: auto;
        }
      }
    }

    .resource-list__item {

      &:has(.st-wishlist-button.right_top) {
        .logees-zone-badge[data-mode='icon'] {
          right: 46px;
        }

        .st-wishlist-button.right_top {
          top: 20px;
        }
      }
    }

    /* The .product-grid__card > div rule above applies height:100% to ALL direct div
       children, including the skeleton image div. Unlike real cards (where the image
       is inside an <a>, not a <div>), the skeleton image IS a direct div child, so
       height:100% overrides aspect-ratio:1/1 and the skeleton collapses.
       This override has specificity (0,4,0) vs the conflicting rule's (0,3,1). */
    .zone-best-sellers__skeleton-item .zone-best-sellers__skel--image {
      height: auto;
    }
  }

  .zone-best-sellers__skel {
    border-radius: 4px;
    background: linear-gradient(
      90deg,
      color-mix(in srgb, currentColor 6%, transparent) 25%,
      color-mix(in srgb, currentColor 12%, transparent) 50%,
      color-mix(in srgb, currentColor 6%, transparent) 75%
    );
    background-size: 200% 100%;
    animation: zone-best-sellers-shimmer 1.5s ease-in-out infinite;

    &--image {
      aspect-ratio: 1 / 1;
      width: 100%;
    }

    &--title {
      height: 1.4rem;
      margin-top: 8px;
      width: 72%;
      margin-inline: auto;
    }

    &--price {
      height: 1.2rem;
      margin-top: 8px;
      width: 36%;
      margin-inline: auto;
    }

    &--button {
      height: 44px;
      margin-top: 12px;
      border-radius: 6px;
    }
  }
}

/* Shopify policy pages (/policies/*)

   Shopify serves these from its own template with a stylesheet
   (cdn/shopifycloud/storefront/.../policy-*.css) that loads AFTER the theme's
   CSS and pins the content to `max-width: 65ch` with a centered title.
   Scoping to #MainContent raises specificity so we win without !important. */

#MainContent .shopify-policy__container {
  --policy-page-margin: 16px;

  max-width: calc(var(--narrow-page-width, 90rem) + var(--policy-page-margin) * 2);
  margin-inline: auto;
  padding-inline: var(--policy-page-margin);
  padding-block: var(--padding-2xl, 40px) var(--padding-4xl, 80px);
}

@media screen and (min-width: 750px) {
  #MainContent .shopify-policy__container {
    --policy-page-margin: 40px;
  }
}

/* Page title: left aligned, and stepped down from the display-sized h1 preset */
#MainContent .shopify-policy__title,
#MainContent .shopify-policy__remote-policy-heading-wrapper {
  text-align: start;
}

#MainContent .shopify-policy__title h1,
#MainContent .shopify-policy__remote-policy-heading-wrapper h1 {
  font-size: clamp(2.25rem, 3.5vw, 3rem);
  line-height: 1.15;
  margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
}

/* Theme-built pages set `--color: var(--color-foreground-heading)` on their
   text blocks via the theme editor, so their headings are green. Shopify's
   policy template has no such block, which left these headings black. */
#MainContent .shopify-policy__container :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-foreground-heading);
}

/* Body copy: legal documents run long, so open the leading up a little */
#MainContent .shopify-policy__body .rte {
  line-height: 1.6;
}

/* Section headings, scaled to read as headings within body copy rather than
   as page titles (the theme presets are 48px/32px/24px here) */
#MainContent .shopify-policy__body .rte :is(h1, h2) {
  font-size: clamp(1.5rem, 2vw, 1.75rem);
  line-height: 1.25;
  margin-block: 2.5rem 0.75rem;
}

#MainContent .shopify-policy__body .rte h3 {
  font-size: 1.25rem;
  line-height: 1.35;
  margin-block: 1.75rem 0.5rem;
}

#MainContent .shopify-policy__body .rte h4 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-block: 1.5rem 0.5rem;
}

#MainContent .shopify-policy__body .rte :is(h5, h6) {
  font-size: 1rem;
  line-height: 1.4;
  margin-block: 1.25rem 0.5rem;
}

#MainContent .shopify-policy__body .rte :first-child:is(h1, h2, h3, h4, h5, h6) {
  margin-block-start: 0;
}


/* Content links

   Theme defaults (assets/base.css ~902-928) do three things we don't want in
   body copy:
     - link color is --color-primary (#52821a, olive), not the Logee's green
       (#1a6332) used by headings;
     - on hover the color switches to --color-primary-hover;
     - on hover `text-decoration-color: transparent` removes the underline.
   Editors have been working around it with inline `style="text-decoration:
   underline"` in page content, which is why underlines look inconsistent.

   Scope is deliberately limited to prose: .rte / policy bodies, and links
   inside a paragraph. Both sets are already underlined by the theme, so this
   changes color and hover behaviour without underlining product cards,
   navigation, or CTAs. */

#MainContent :is(.rte, .shopify-policy__body, [class*='full-width-text__content'])
  a:not(.button, .button-primary, .button-secondary),
#MainContent p:not(.h1, .h2, .h3, .h4, .h5, .h6) a:not(.button, .button-primary, .button-secondary) {
  color: var(--color-foreground-heading);
  text-decoration-line: underline;
  text-decoration-color: currentcolor;
  text-decoration-thickness: 0.075em;
  text-underline-offset: 0.125em;
}

/* Hover/focus/active hold the same green and keep the underline */
#MainContent
  :is(.rte, .shopify-policy__body, [class*='full-width-text__content'])
  a:not(.button, .button-primary, .button-secondary):is(:hover, :focus, :active),
#MainContent
  p:not(.h1, .h2, .h3, .h4, .h5, .h6)
  a:not(.button, .button-primary, .button-secondary):is(:hover, :focus, :active) {
  color: var(--color-foreground-heading);
  text-decoration-color: currentcolor;
}


/* Footer

   Column headings ("CONTACT INFO", "ORDERING INFO", …) come from two
   different mechanisms — a text block on the h5 preset, and menu blocks that
   emit `.menu__heading__default` — but both land on 18px. Sized up together
   so they stay matched.

   Footer links carry the theme's default `text-decoration-color: transparent`
   (assets/base.css ~906), so only the two links inside .rte blocks were
   underlined and the 24 menu/policy links were not. */

.shopify-section-group-footer-group :is(.menu__heading__default, .text-block.h5 > *) {
  font-size: 1.375rem;
  line-height: 1.3;
}

/* Two things this selector has to account for:

   1. `.section-wrapper` sits on the same element as the group class. Naming
      both lifts specificity to (0,5,0), above base.css's
      `.rte :is(p, ul, ol, table) a … &:hover` rule at (0,3,2) — which was
      still winning and stripping the underline off the two links that live
      in .rte blocks (info@logees.sbs, Plan Your Visit) on hover.
   2. The "Terms and Policies" control is a <button class="policy-list-trigger
      button-unstyled"> that opens a popover, not an <a>, so an anchor-only
      selector skipped it even though it reads as a link beside the © line. */

.shopify-section-group-footer-group.section-wrapper
  :is(a, .policy-list-trigger):not(.button, .button-primary, .button-secondary) {
  text-decoration-line: underline;
  text-decoration-color: currentcolor;
  text-decoration-thickness: 0.075em;
  text-underline-offset: 0.125em;
}

/* Keep the underline on hover, matching the content-link behaviour above */
.shopify-section-group-footer-group.section-wrapper
  :is(a, .policy-list-trigger):not(.button, .button-primary, .button-secondary):is(
    :hover,
    :focus,
    :active
  ) {
  /* base.css swaps `color` to --color-primary-hover on hover, which in the
     footer's scheme is rgb(237 243 239) against a rest colour of pure white —
     the faint shift you could see. Footer links always render the same colour
     as the text around them (white in the footer, black in the light-scheme
     policy popover, where rest comes from `.footer-utilities a`, not
     --button-color), so inheriting is what actually pins them. */
  color: inherit;
  text-decoration-color: currentcolor;
}

/* Separator between "© Logee's Plants" and the "Terms and Policies" trigger.
   The two are flex siblings whose 20px column-gap is far too wide to read as a
   separator, so the gap is tightened and the dot's start margin matched to it —
   equal space either side. The copyright block and the trigger are the only two
   items in this group, so narrowing the gap affects nothing else. :has() keeps
   the dot (and the tighter gap) from applying if the policy list is removed. */
.footer-utilities__group--left:has(anchored-popover-component) {
  column-gap: 6px;
}

.footer-utilities__group--left:has(anchored-popover-component)
  .footer-utilities__group-copyright::after {
  content: '\00B7';
  content: '\00B7' / '';
  margin-inline-start: 6px;
}
