/** Shopify CDN: Minification failed

Line 110:12 Unexpected "{"
Line 110:21 Expected ":"
Line 121:14 Unexpected "{"
Line 121:23 Expected ":"
Line 122:18 Expected identifier but found whitespace
Line 122:20 Unexpected "{"
Line 122:29 Expected ":"
Line 122:55 Expected ":"
Line 123:21 Expected identifier but found whitespace
Line 123:23 Unexpected "{"
... and 2 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:main-collection-product-grid (INDEX:50, SCOPED:FALSE) */
/* Related Collections Section */
  html, body {
    overflow-x: hidden;
  }

  .related__collections__wrapper {
    overflow-x: auto;
    padding: 50px 0px;
    -webkit-overflow-scrolling: touch;
  }

  .related__collections {
    display: flex;
    gap: 20px;
    width: fit-content;
    margin: auto;
    padding: 0px 10px;
  }

  .related__collections .r-coll {
    display: flex;
    flex-direction: column;
    color: #5c4a3d;
    text-decoration: none;
    font-family: 'futura-pt-medium', Georgia, "Times New Roman", serif;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .related__collections .r-coll img {
    width: 100%;
    max-width: 250px;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 16px;
  }

  .related__collections .r-coll p {
    font-family: 'futura-pt-medium', Georgia, "Times New Roman", serif;
    margin: 10px 0 0;
    text-align: center;
    font-size: 16px;
  }

  .animated-vibe {
    animation: popFade 0.8s ease-in-out forwards;
    opacity: 0;
    transform: translateY(20px);
  }

  @keyframes popFade {
    to {
      opacity: 1;
      transform: translateY(0px);
    }
  }

  .animated-vibe:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  }

  .shop-all-tile img {
    object-fit: cover;
    border-radius: 16px;
    background-color: #f2f2f2;
  }

  @media screen and (max-width: 500px) {
    .related__collections__wrapper {
      padding: 25px 0px;
      overflow-x: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }

    .related__collections__wrapper::-webkit-scrollbar {
      display: none;
    }

    .related__collections .r-coll img {
      width: 150px;
    }

    .related__collections .r-coll p {
      font-size: 14px;
    }
  }

  /* Section Padding */
  .section-{{ section.id }}-padding {
    padding-top: calc({{ section.settings.padding_top }} * 0.75px);
    padding-bottom: calc({{ section.settings.padding_bottom }} * 0.75px);
    overflow: visible;
  }

  .collection {
    overflow: visible;
  }

  @media screen and (min-width: 750px) {
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top }}px;
      padding-bottom: {{ section.settings.padding_bottom }}px;
    }
  }

  /* View Toggle Navigation */
  .nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    background: white;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    z-index: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  }

  /* Fixed nav that appears on scroll */
  .nav-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }

  .nav-fixed.show {
    transform: translateY(0);
  }

  .nav-sticky {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
  }

  .nav-view-toggle {
    display: flex;
    gap: 10px;
  }

  .nav-right {
    display: flex;
    gap: 10px;
    margin-left: auto;
  }

  .nav-btn {
    background: transparent;
    border: none;
    color: #997273;
    font-family: futura-pt, sans-serif;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px 2px 12px;
    transition: all 0.2s ease;
  }

  .nav-btn:hover {
    opacity: 0.7;
  }

  .nav-btn svg {
    color: #997273;
  }

  .toggle-btn {
    background: white;
    border: 1.5px solid #e5e5e5;
    padding: 3px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    position: relative;
    box-sizing: border-box;
  }

  .toggle-btn svg,
  .toggle-btn img {
    color: #999;
    transition: color 0.25s ease;
    width: 14px;
    height: 14px;
  }

  .toggle-btn .grid-icon-dark {
    display: none;
  }

  .toggle-btn .grid-icon-light {
    display: block;
  }

  .toggle-btn:hover {
    background: #FFEFEA;
    border-color: #997273;
  }

  .toggle-btn:hover svg {
    color: #997273;
  }

  .toggle-btn.active {
    background: #997273;
    border-color: #997273;
  }

  .toggle-btn.active svg {
    color: white;
  }

  .toggle-btn.active .grid-icon-light {
    display: none;
  }

  .toggle-btn.active .grid-icon-dark {
    display: block;
  }

  .desktop-only {
    display: flex;
  }

  .mobile-only {
    display: none;
  }

  /* Hide all Shopify default facets UI */
  facet-filters-form,
  .facets-container,
  .facets-wrapper,
  .facets,
  .facets__form,
  .facets__form-vertical,
  .active-facets,
  .facet-filters,
  #FacetsWrapperDesktop,
  .facets-vertical {
    display: none !important;
  }

  /* Custom Filter Drawer */
  .filter-drawer {
    position: fixed;
    top: 0;
    right: -400px;
    width: 400px;
    height: 100vh;
    background: white;
    box-shadow: -2px 0 10px rgba(0,0,0,0.1);
    transition: right 0.3s ease;
    z-index: 9999;
    overflow-y: auto;
  }

  .filter-drawer.open {
    right: 0;
  }

  .filter-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 9998;
  }

  .filter-drawer-overlay.open {
    opacity: 1;
    visibility: visible;
  }

  .filter-drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
  }

  .filter-drawer-header h2 {
    font-family: futura-pt, sans-serif;
    font-size: 20px;
    color: #997273;
    margin: 0;
  }

  .filter-drawer-close {
    background: none;
    border: none;
    font-size: 28px;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    line-height: 1;
  }

  .filter-drawer-body {
    padding: 0;
  }

  .filter-group {
    border-bottom: 1px solid #f0f0f0;
  }

  .filter-group-title {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: futura-pt, sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    padding: 18px 20px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s ease;
  }

  .filter-group-title:hover {
    background: #f9f9f9;
  }

  .filter-arrow {
    transition: transform 0.2s ease;
    color: #999;
  }

  .filter-group-open .filter-arrow {
    transform: rotate(180deg);
  }

  .filter-options {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .filter-group-open .filter-options {
    max-height: 500px;
  }

  .filter-option-item {
    display: flex;
    align-items: center;
    padding: 12px 20px 12px 40px;
    cursor: pointer;
    transition: background 0.2s ease;
  }

  .filter-option-item:hover {
    background: #FFEFEA;
  }

  .filter-option-item.active {
    background: #FFF5F3;
  }

  .filter-option-item input[type="checkbox"] {
    margin-right: 12px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #997273;
  }

  .filter-option-item label {
    font-family: futura-pt-light, sans-serif;
    font-size: 13px;
    color: #666;
    cursor: pointer;
    flex: 1;
  }

  .filter-option-item.active label {
    color: #997273;
    font-weight: 500;
  }

  /* Sort Options */
  .sort-options {
    padding: 0;
  }

  .sort-option {
    display: block;
    padding: 16px 20px;
    font-family: futura-pt-light, sans-serif;
    font-size: 14px;
    color: #666;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.2s ease;
    cursor: pointer;
  }

  .sort-option:hover {
    background: #FFEFEA;
    color: #997273;
  }

  .sort-option.active {
    background: #FFF5F3;
    color: #997273;
    font-weight: 500;
  }

  .filter-drawer-footer {
    position: sticky;
    bottom: 0;
    padding: 20px;
    background: white;
    border-top: 1px solid #f0f0f0;
    display: flex;
    gap: 10px;
  }

  .filter-btn-apply,
  .filter-btn-clear {
    flex: 1;
    padding: 14px;
    font-family: futura-pt, sans-serif;
    font-size: 14px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
  }

  .filter-btn-apply {
    background: #997273;
    color: white;
  }

  .filter-btn-apply:hover {
    background: #886162;
  }

  .filter-btn-clear {
    background: white;
    color: #997273;
    border: 1px solid #997273;
  }

  .filter-btn-clear:hover {
    background: #f8f8f8;
  }

  @media (max-width: 768px) {
    .filter-drawer {
      width: 100%;
      right: -100%;
    }
  }

  @media (max-width: 768px) {
    .desktop-only {
      display: none !important;
    }

    .mobile-only {
      display: flex !important;
    }

    .nav {
      padding: 10px 15px;
    }

    .toggle-btn {
      padding: 0px 0px;
    }

    .toggle-btn svg {
      width: 16px;
      height: 16px;
    }
  }

  /* Product Grid Layouts */
  .product-grid {
    display: grid;
    gap: 7px;
    transition: all 0.3s ease;
  }

  /* Mobile: 2 columns default (grid-2), 1 column for grid-1 */
  .product-grid.grid-view,
  .product-grid.grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-grid.grid-1 {
    grid-template-columns: 1fr;
  }

  /* Desktop: 5 columns default, 3 columns for grid-3 */
  @media screen and (min-width: 768px) {
    .product-grid.grid-view,
    .product-grid.grid-5 {
      grid-template-columns: repeat(5, 1fr);
      gap: 20px;
    }

    .product-grid.grid-3 {
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
  }

  /* Infinite Scroll Loading Indicator */
  .infinite-scroll-loading {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 15px;
  }

  .infinite-scroll-loading p {
    font-family: futura-pt, sans-serif;
    font-size: 14px;
    color: #997273;
    margin: 0;
  }

  .loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #FFEFEA;
    border-top-color: #997273;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
  }

  @keyframes spin {
    to { transform: rotate(360deg); }
  }

  .custom-product-card {
    position: relative;
    border: none;
    transition: opacity 0.3s ease;
  }

  /* Image Carousel */
  .image-carousel-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 2/3 !important;
  }

  .product-image-carousel {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    aspect-ratio: 2/3 !important;
  }

  .product-image-carousel::-webkit-scrollbar {
    display: none;
  }

  .carousel-image {
    aspect-ratio: 2/3 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    flex-shrink: 0;
    scroll-snap-align: start;
  }

  .carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #FFEFEA;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    z-index: 10;
    user-select: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
    opacity: 0;
    line-height: 1;
  }

  .carousel-nav:hover {
    transform: translateY(-50%) scale(1.2);
    opacity: 1;
  }

  .carousel-nav.left {
    left: 0px;
  }

  .carousel-nav.right {
    right: 0px;
  }

  @media (min-width: 768px) {
    .image-carousel-wrapper:hover .carousel-nav {
      opacity: 1;
    }
  }

  @media (max-width: 768px) {
    .carousel-nav {
      display: none;
    }
    .product-image-carousel .carousel-image {
      width: 100%;
      flex-shrink: 0;
      cursor: pointer;
    }
  }

  .carousel-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 10;
  }

  .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
  }

  .dot.active {
    background: #997273;
    transform: scale(1.2);
  }

  .product-image {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    margin-bottom: 1rem;
  }

  .product-image img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* Quick Add Wrapper */
  .quick-add-wrapper {
    position: absolute;
    top: 15px;
    right: 10px;
    z-index: auto !important;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* Add Button - Desktop */
  .quick-add-toggle {
    font-family: futura-pt,sans-serif;
    background: #FFEFEA;
    color: #997273;
    border: none;
    border-radius: 24px;
    padding: 8px 16px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 500;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 2;
  }

  /* Disappear on hover */
  .quick-add-wrapper:hover .quick-add-toggle {
    opacity: 0;
    transform: scale(0.9);
    pointer-events: none;
  }

  /* The animated expanding size buttons */
  .quick-add-sizes {
    position: absolute;
    right: 0;
    display: flex;
    gap: 2px;
    background: #FFEFEA;
    border-radius: 20px;
    padding: 6px 12px;
    transform: scaleX(0);
    transform-origin: right;
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
    z-index: 3;
    white-space: nowrap;
  }

  /* Expand left from toggle */
  .quick-add-wrapper:hover .quick-add-sizes {
    transform: scaleX(1);
    opacity: 1;
  }

  /* Each size button */
  .size-option {
    padding: 6px 6px;
    font-size: 9px;
    border: none;
    border-radius: 0px;
    background: #FFEFEA;
    color: #997273;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
  }

  .size-option:hover {
    background-color: #997273;
    color: #FFEFEA;
    transform: scale(1.05);
  }

  .size-option.out-of-stock {
    background: #eee7dc;
    color: #999;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
    transform: none;
  }

  /* Mobile Quick Add Button */
  .quick-add-toggle-mobile {
    font-family: futura-pt,sans-serif;
    color: #997273;
    font-weight: bold;
    border: none;
    background: #FFFFFF;
    border-radius: 24px;
    padding: 8px 16px;
    font-size: 12px;
    opacity: 0.8;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 1 !important;
  }

  .quick-add-toggle-mobile:hover {
    transform: scale(1.05);
  }

  /* Hide or show based on screen size */
  .desktop-only {
    display: inline-block;
  }

  .mobile-only {
    display: none;
  }

  @media (max-width: 768px) {
    .desktop-only {
      display: none;
    }

    .mobile-only {
      display: inline-block;
    }

    .quick-add-wrapper:hover .quick-add-sizes {
      transform: none !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }

    .quick-add-sizes {
      display: none !important;
    }
  }

  /* Mobile Size Modal Transitions */
      .mobile-size-modal {
        position: fixed;
        inset: 0;
        z-index: 2000;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.3s ease, visibility 0.3s ease;
      }

      .mobile-size-modal.active {
        visibility: visible;
        opacity: 1;
      }

      .mobile-size-modal.closing {
        visibility: visible;
        opacity: 0;
        transition: opacity 0.3s ease, visibility 0.3s ease;
      }

      .modal-sheet {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: white;
        padding: 20px;
        transform: translateY(100%);
        transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        z-index: 2002;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
      }

      .mobile-size-modal.active .modal-sheet {
        transform: translateY(0);
      }

      .mobile-size-modal.closing .modal-sheet {
        transform: translateY(100%);
        transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
      }
  /* Close Button - Positioned at top right, inline with sizing guide */
  .close-modal-btn {
    background: none !important;
    border: none !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #3e3e3e !important;
    cursor: pointer !important;
    padding: 0 !important;
    position: absolute !important;
    top: 16px !important;
    right: 20px !important;
    z-index: 10 !important;
  }

  .close-modal-btn:hover {
    color: #333 !important;
  }

  /* Size Guide Row */
  .size-guide-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 10px;
    padding: 0;
  }

  .size-guide-row .product-form__buttonss {
    margin: 0;
  }

  /* Sizing Guide Button */
  .sizing-guide-btn.text-only {
    background-color: transparent !important;
    color: #3e3e3e !important;
    padding: 4px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: none !important;
    font-size: 14px !important;
    cursor: pointer !important;
    font-weight: 200;
  }

  .sizing-guide-btn.text-only:hover {
    background-color: transparent !important;
    color: #6B5B47 !important;
  }

  .sizing-guide-icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
  }

  .underline-text {
    position: relative !important;
    font-size: 16px !important;
    font-weight: 200 !important;
    color: #3e3e3e !important;
  }

  .underline-text::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -3px !important;
    height: 1px !important;
    background-color: #3e3e3e !important;
  }

  .size-buttons-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-bottom: 20px;
  }

  .mobile-size-btn {
    min-height: 40px !important;
    min-width: 55px !important;
    max-width: 70px !important;
    padding: 12px 16px !important;
    background: transparent !important;
    border-radius: 0px !important;
    border: 0.5px solid #3e3e3e !important;
    font-size: 1.3rem !important;
    font-weight: 300 !important;
    color: #3e3e3e !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mobile-size-btn:hover {
    border-color: #997273 !important;
    background-color: #fafafa !important;
  }

  .mobile-size-btn.selected {
    background-color: #FFEFEA !important;
    color: #997273 !important;
    border: 1px solid transparent !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    transform: scale(1.05) !important;
  }

  .mobile-size-btn.out-of-stock {
    background: #f5f5f5 !important;
    color: #aaa !important;
    cursor: not-allowed !important;
    border-color: #e0e0e0 !important;
  }

  .mobile-size-btn.out-of-stock:hover {
    transform: none !important;
    background: #f5f5f5 !important;
    border-color: #e0e0e0 !important;
  }

  /* Select Size / Add to Cart button */
  .select-size-action-btn {
    width: 100%;
    padding: 15px 0;
    background-color: #ccc;
    color: white;
    font-size: 16px;
    font-weight: 500;
    border: none;
    border-radius: 25px;
    cursor: not-allowed;
    transition: all 0.3s ease;
    opacity: 1;
  }

  .select-size-action-btn.active {
    background-color: #333;
    color: white;
    cursor: pointer;
    opacity: 1;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  .select-size-action-btn.active:hover {
    background-color: #222;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  }

  .select-size-action-btn.loading {
    background-color: #666;
    cursor: not-allowed;
    opacity: 0.8;
  }

  /* Card Footer */
  .card-footer {
    font-weight: 300px;
    display: flex;
    flex-direction: column;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 25px;
    padding-top: 10px;
    font-family: futura-pt,sans-serif;
    font-size: 14px;
    color: #333333;
    gap: 0.15rem;
  }

  .product-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    min-height: 24px;
  }

  .product-title {
    flex: 1;
  }

  .product-title a {
    text-decoration: none;
    color: #333;
    font-size: 15px;
    font-weight: 300;
  }

  .product-price {
    line-height: 1.2;
    font-size: 14px;
    font-weight: 200;
    white-space: nowrap;
    padding-top: 2px;
    padding-bottom: 4px;
  }

  .product-color,
  .product-tagline {
    font-size: 14px;
    line-height: 1.3;
  }

  /* Wishlist Button */
  .wishlist-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding-top: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    width: 24px;
  }

  .heart-icon {
    transition: all 0.3s ease;
    stroke: #000;
    fill: none;
  }

  .heart-icon.clicked {
    fill: #997273 !important;
    stroke: #997273 !important;
    animation: heartBeat 0.4s ease;
  }

  @keyframes heartBeat {
    0% { transform: scale(1); }
    25% { transform: scale(1.2); }
    50% { transform: scale(1.1); }
    75% { transform: scale(1.2); }
    100% { transform: scale(1); }
  }

  @media screen and (max-width:500px) {
    .product-title, .product-color, .product-price {
      font-size: 16px;
      padding-top: 0px;
      font-weight: 200;
      line-height: 1.0;
    }
    .card-footer {
      gap: 0px;
    }
  }

  /* Custom Text Blocks */
  .custom-text-block {
    display: flex;
    flex-direction: column;
    background: white;
    border-radius: 0px;
    box-shadow: none;
    transition: transform 0.3s ease;
    position: relative;
    overflow: visible;
    opacity: 1;
    /* Cap height to match product card image */
    align-self: start;
    aspect-ratio: 2/3;
    width: 100%;
  }

  /* Dynamic text block positioning - set via inline styles in JS */
  /* Odd rows (1,3,5...) = column 5 (or 3 for 3-col grid) */
  /* Even rows (2,4,6...) = column 1 */
  
  @media (max-width: 768px) {
    /* Mobile 2-column: odd rows col 2, even rows col 1 */
    /* Mobile 1-column: all text blocks col 1 */
  }

  .custom-text-block-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 15px;
    text-align: center;
    position: relative;
    height: 100%;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 70%;
    background-position: center;
  }

  .custom-text-block h1 {
    font-family: 'Amoresa', cursive, Georgia, serif;
    font-size: 26px;
    color: #997273;
    margin: 0px 5px;
    font-weight: 500;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  .custom-text-block h2 {
    font-family: 'futura-pt-light', Georgia, serif;
    font-size: 24px;
    color: #997273;
    margin: 0px 5px;
    font-weight: 300;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  @media (max-width: 768px) {
    .custom-text-block h1 {
      font-size: 22px;
      line-height: 1.3;
    }

    .custom-text-block h2 {
      font-size: 20px;
      line-height: 1.3;
    }
  }

  @media (max-width: 480px) {
    .custom-text-block h1 {
      font-size: 20px;
      margin: 0px 3px;
    }

    .custom-text-block h2 {
      font-size: 18px;
      margin: 0px 3px;
    }
  }

  .custom-text-block .normal-video {
    height: 60px;
    margin-top: 25px;
    opacity: 0.7;
  }

  @media (max-width: 768px) {
    .custom-text-block .normal-video {
      height: 45px;
      margin-top: 20px;
      opacity: 0.6;
    }
  }

  /* Media Advert Blocks (Video/GIF) */
  .media-advert-block {
    display: flex;
    flex-direction: column;
    border-radius: 0px;
    overflow: visible;
    position: relative;
    opacity: 1;
    width: 100%;
    /* Don't stretch to fill grid cell height */
    align-self: start;
  }

  .media-advert-block .advert-media-wrapper {
    aspect-ratio: 2/3;
    width: 100%;
    overflow: hidden;
    position: relative;
  }

  .media-advert-block .advert-text {
    font-size: 20px;
    color: #871822;
    text-align: center;
    padding: 12px 10px;
    margin: 0;
    line-height: 1.2;
  }

  .media-advert-block .advert-text .the-holiday {
    font-family: 'The Seasons', serif;
  }

  .media-advert-block .advert-text .stories {
    font-family: 'Amoresa', cursive, Georgia, serif;
  }

  .media-advert-block .advert-video,
  .media-advert-block .advert-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Fill entire card space */
    display: block;
  }

  .media-advert-block .advert-video {
    background: #000; /* Black background while loading */
  }

  .media-advert-block .advert-image {
    object-fit: contain; /* For GIFs/static images, contain to preserve animation */
  }

  @media (max-width: 768px) {
    .media-advert-block {
      aspect-ratio: 2/3;
    }
  }

  /* Collection Header Below Cards */
  .collection-header-below-cards {
    display: none;
  }

  @media (max-width: 576px) {
    .collection-header-below-cards {
      display: block;
      text-align: center;
      padding: 30px 20px 20px;
      max-width: 900px;
      margin: 0 auto;
    }
  }

  .collection-header-below-cards .collection-title {
    font-size: 32px;
    color: #997273;
    margin: 0 0 15px;
    font-family: 'futura-pt-medium', Georgia, serif;
    font-weight: 400;
  }

  .collection-description-wrapper {
    color: #000000;
    font-size: 14px;
    line-height: 1.6;
    font-family: 'futura-pt', Georgia, serif;
  }

  .collection-desc-collapsed,
  .collection-desc-expanded {
    margin: 0;
  }

  .collection-desc-collapsed span,
  .collection-desc-expanded span {
    color: #000000;
    cursor: pointer;
    font-weight: 580;
  }

  .collection-header-below-cards .collection-title {
    font-size: 20px;
    font-weight: 580;
  }

  .collection-description-wrapper {
    font-size: 13px;
    font-weight: 580;
  }
/* END_SECTION:main-collection-product-grid */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:pagination-controls (INDEX:105, SCOPED:FALSE) */
.pagination {
    --pagination-size: 36px;
    --pagination-inset: 2px;
    --pagination-radius: 6;
    display: flex;
    justify-content: center;
    padding: var(--padding-xl) var(--padding-sm);
    margin-top: var(--padding-xl);
    position: relative;
  }

  .pagination__list {
    display: flex;
    gap: 0;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
  }

  .pagination__item {
    width: var(--pagination-size);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
  }

  .pagination__link {
    display: grid;
    place-items: center;
    color: var(--color-foreground);
    text-decoration: none;
    width: 100%;
    height: 100%;
    user-select: none;
    position: relative;
    outline-color: var(--color-foreground);
    -webkit-tap-highlight-color: transparent;
    font-size: var(--font-size--md);
    font-weight: var(--font-weight-normal);
    border-radius: calc(var(--pagination-radius) * 1px);
    transition: color var(--hover-transition-duration) var(--hover-transition-timing),
      opacity var(--hover-transition-duration) var(--hover-transition-timing);
  }

  .pagination__link:focus-visible {
    outline: 2px solid var(--color-foreground);
    outline-offset: 2px;
  }

  .pagination__link--current {
    color: var(--color-background);
    font-weight: var(--font-weight-medium);
    cursor: default;
  }

  .pagination__link--gap {
    cursor: default;
    pointer-events: none;
  }

  .pagination__link--arrow {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pagination__link--disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
  }

  .pagination__link svg {
    width: 0.5rem;
    height: 0.75rem;
    flex-shrink: 0;
  }

  .pagination__item--mobile-only {
    display: none;
  }

  /* Fallback for browsers without anchor positioning support */
  @supports not (anchor-name: --pagination-active) {
    .pagination__link:not(.pagination__link--gap)::before {
      content: '';
      position: absolute;
      inset: var(--pagination-inset);
      border-radius: calc(var(--pagination-radius) * 1px);
      background: rgb(var(--color-foreground-rgb) / var(--opacity-10));
      z-index: -1;
      opacity: 0;
      transition: background var(--hover-transition-duration) var(--hover-transition-timing),
        opacity var(--hover-transition-duration) var(--hover-transition-timing);
    }

    .pagination__link[aria-current='page']::before {
      background: var(--color-foreground);
      opacity: 1;
    }

    .pagination__link:hover:not([aria-current='page']):not(.pagination__link--gap):not(
        .pagination__link--disabled
      )::before {
      opacity: 1;
    }
  }

  /* Modern approach with anchor positioning */
  @supports (anchor-name: --pagination-active) {
    .pagination__list::before {
      content: '';
      z-index: -1;
      position: absolute;
      width: calc(var(--pagination-size) - (2 * var(--pagination-inset)));
      aspect-ratio: 1;
      pointer-events: none;
      opacity: 0;
      border-radius: calc(var(--pagination-radius) * 1px);
      background: rgb(var(--color-foreground-rgb) / var(--opacity-10));
      transition: left var(--hover-transition-duration) var(--hover-transition-timing),
        top var(--hover-transition-duration) var(--hover-transition-timing);
    }

    /* Hide hover indicator on touch devices */
    @media (hover: none) and (pointer: coarse) {
      .pagination__list::before {
        content: unset;
      }
    }

    .pagination__list:has(
        .pagination__link:is(:hover, :focus-visible):not(.pagination__link--gap):not(.pagination__link--disabled)
      )::before {
      opacity: 1;
    }

    /* Style current page directly */
    .pagination__link[aria-current='page']::before {
      content: '';
      position: absolute;
      inset: var(--pagination-inset);
      border-radius: calc(var(--pagination-radius) * 1px);
      background: var(--color-foreground);
      z-index: -1;
    }

    .pagination__list
      .pagination__item:has(
        .pagination__link:is(:hover, :focus-visible):not(.pagination__link--gap):not(.pagination__link--disabled)
      ) {
      anchor-name: --pagination-hover;
    }

    /* Position hover indicator using anchor */
    .pagination__list::before {
      position-anchor: --pagination-hover;
      left: calc(anchor(left) + var(--pagination-inset));
      top: calc(anchor(top) + var(--pagination-inset));
    }

    .pagination__item:has(+ .pagination__item--gap) .pagination__link::after,
    .pagination__item--gap + .pagination__item .pagination__link::after {
      position: absolute;
      content: '';
      pointer-events: auto;
    }

    .pagination__item:has(+ .pagination__item--gap) .pagination__link::after {
      inset: 0 -50% 0 100%;
    }

    .pagination__item--gap + .pagination__item .pagination__link::after {
      inset: 0 100% 0 -50%;
    }
  }

  @media screen and (max-width: 749px) {
    .pagination {
      --pagination-size: 44px;
      --pagination-inset: 5px;
      padding: var(--padding-lg) var(--padding-sm);
    }

    .pagination__link {
      font-size: var(--font-size--sm);
    }

    .pagination__item--mobile-hide {
      display: none;
    }

    .pagination__item--mobile-only {
      display: grid;
    }

    .pagination__item:has(.pagination__link--gap) {
      width: calc(var(--pagination-size) * 0.5);
    }
  }
/* END_SNIPPET:pagination-controls */

/* START_SNIPPET:product-grid (INDEX:109, SCOPED:FALSE) */
.product-grid {
    --product-grid-gap: var(--product-grid-gap-mobile);
    --mobile-columns: 2; /* Default value */

    isolation: isolate;

    @media screen and (min-width: 750px) {
      --product-grid-gap: var(--product-grid-gap-desktop);
    }
  }

  .product-grid slideshow-arrows .slideshow-control {
    display: none;

    @media screen and (min-width: 750px) {
      display: grid;
    }
  }

  /* This triggers iOS < 16.4 */
  @supports not (background-color: rgb(from red 150 g b / alpha)) {
    /* Force aspect ratio to auto for iOS < 16.4 since it's not compatible with the infinite pagination */
    .product-grid .product-media,
    .product-grid .product-media-container {
      aspect-ratio: auto;
    }
  }

  .main-collection-grid {
    padding: var(--grid--margin--mobile);

    @media screen and (min-width: 750px) {
      padding: var(--padding-block-start) var(--padding-inline-end) var(--padding-block-end) var(--padding-inline-start);
    }
  }

  .main-collection-grid__empty {
    padding-block: var(--padding-6xl);
    padding-inline: var(--page-margin);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--padding-sm);
  }

  .main-collection-grid__empty-title {
    margin: 0;
  }

  .collection-wrapper--full-width .main-collection-grid__title {
    margin-left: var(--page-margin);
  }

  .collection-wrapper--full-width-on-mobile .main-collection-grid__title {
    @media screen and (max-width: 749px) {
      margin-left: var(--page-margin);
    }
  }
/* END_SNIPPET:product-grid */