/** Shopify CDN: Minification failed

Line 1748:20 Unexpected "{"
Line 1748:29 Expected ":"
Line 1749:20 Unexpected "{"
Line 1749:29 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:cart (INDEX:3) */
.cart-page__mobile-back,
  .cart-page__mobile-title,
  .cart-page__mobile-edit,
  .cart-page__mobile-notices,
  .cart-page__mobile-remove,
  .cart-page__mobile-invalid,
  .cart-page__recommend,
  .cart-page__mobile-promo,
  .cart-page__mobile-footer {
    display: none;
  }

  .cart-page {
    min-height: 70svh;
    padding: clamp(1.2rem, 2vw, 2rem);
    background: #fbf8f3;
    color: #111111;
  }

  .cart-page__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.2rem 1rem;
    align-items: end;
    margin-bottom: 1.5rem;
  }

  .cart-page__type,
  .cart-page__empty p:first-child {
    margin: 0;
    color: #7a6e61;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .cart-page h1,
  .cart-page__empty h1 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(3rem, 6vw, 6rem);
    font-weight: 500;
    letter-spacing: -0.06em;
    line-height: 0.9;
  }

  .cart-page__header h1 {
    grid-column: 1;
  }

  .cart-page__header span {
    grid-column: 2;
    grid-row: 2;
    color: #4f565d;
    font-weight: 800;
  }

  .cart-page__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem);
    gap: clamp(1rem, 2vw, 2rem);
    align-items: start;
  }

  .cart-page__items {
    display: grid;
    gap: 1rem;
  }

  .cart-page__bulk-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.1rem 0 0.25rem;
  }

  .cart-page__bulk-bar-left {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
  }

  .cart-page__bulk-bar strong {
    color: #2a2520;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .cart-page__bulk-delete {
    border: 0;
    padding: 0;
    background: transparent;
    color: #38322c;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 600;
    cursor: pointer;
  }

  .cart-page__item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(11rem, 14rem) minmax(0, 1fr);
    gap: 1.1rem;
    align-items: start;
    padding: 1.1rem 1.2rem 1.2rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.92);
  }

  .cart-page__select {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 0.3rem;
    cursor: pointer;
  }

  .cart-page__select input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .cart-page__select span {
    position: relative;
    display: inline-flex;
    width: 1.45rem;
    height: 1.45rem;
    border: 1px solid rgba(18, 18, 18, 0.18);
    border-radius: 0.35rem;
    background: #ffffff;
  }

  .cart-page__select input:checked + span {
    border-color: #5a60ff;
    background: #5a60ff;
  }

  .cart-page__select input:checked + span::after {
    content: '';
    position: absolute;
    left: 0.46rem;
    top: 0.19rem;
    width: 0.32rem;
    height: 0.62rem;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
  }

  .cart-page__select--master {
    padding-top: 0;
  }

  .cart-page__image-link {
    display: block;
    background: transparent;
    border-radius: 0.8rem;
    overflow: hidden;
  }

  .cart-page__image {
    width: 100%;
    height: 100%;
    min-height: 11rem;
    object-fit: contain;
    padding: 0;
  }

  .cart-page__image--fallback {
    display: flex;
    align-items: flex-end;
    padding: 1rem;
    color: #111111;
    font-weight: 900;
  }

  .cart-page__item-main {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
  }

  .cart-page__mini-action {
    color: #7a746e;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.18rem;
  }

  .cart-page__mini-action--danger {
    color: #5f5952;
  }

  .cart-page__remove-link {
    position: absolute;
    top: 1rem;
    right: 1rem;
  }

  .cart-page__item-summary {
    display: grid;
    gap: 0;
    padding-right: 5rem;
  }

  .cart-page__summary-line {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
    min-height: 3rem;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
  }

  .cart-page__summary-line:first-child {
    border-top: 0;
  }

  .cart-page__summary-line span {
    color: #2a2520;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: -0.01em;
  }

  .cart-page__summary-line--interactive {
    align-items: center;
  }

  .cart-page__inline-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-align: left;
  }

  .cart-page__summary-line strong {
    color: #2a2520;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
  }

  .cart-page__line-price {
    justify-self: end;
    color: #2a2520;
    font-size: 0.95rem;
    font-weight: 850;
    white-space: nowrap;
  }

  .cart-page__caret {
    width: 0.45rem;
    height: 0.45rem;
    border-right: 1.5px solid #8d867f;
    border-bottom: 1.5px solid #8d867f;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
  }

  .cart-page__inline-trigger[aria-expanded='true'] .cart-page__caret {
    transform: rotate(-135deg);
  }

  .cart-page__prescription-panel[hidden] {
    display: none !important;
  }

  .cart-page__prescription-panel {
    display: grid;
    gap: 0.7rem;
    padding: 0.2rem 0 0.55rem 7.85rem;
  }

  .cart-page__prescription-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #3c3833;
    font-size: 0.82rem;
    line-height: 1.45;
  }

  .cart-page__prescription-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.6rem;
    width: min(11rem, 100%);
    border: 1px solid rgba(45, 39, 34, 0.42);
    border-radius: 0.2rem;
    color: #2d2722;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
  }

  .cart-page__summary-line--quantity {
    align-items: center;
  }

  .cart-page__summary-line--quantity .cart-page__quantity {
    grid-column: 3;
    justify-self: end;
  }

  .cart-page__summary-line--subtotal {
    align-items: center;
    margin-top: 0.05rem;
    padding-top: 0.25rem;
  }

  .cart-page__summary-line--subtotal strong {
    grid-column: 3;
    justify-self: end;
    font-size: 1.18rem;
    font-weight: 850;
  }

  .cart-page__item a {
    color: inherit;
    text-decoration: none;
  }

  .cart-page__quantity {
    display: inline-flex;
    align-items: center;
  }

  .cart-page__quantity input {
    width: 4.8rem;
    min-height: 2.45rem;
    border: 1px solid rgba(18, 18, 18, 0.14);
    border-radius: 0.55rem;
    padding: 0.4rem 0.55rem;
    background: #ffffff;
    text-align: center;
  }

  .cart-page__summary {
    position: sticky;
    top: 5.5rem;
    display: grid;
    gap: 1.55rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
    padding: 1.7rem 1.6rem 1.45rem;
    background: #ffffff;
  }

  .cart-page__summary-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
  }

  .cart-page__summary h2 {
    margin: 0;
    color: #2a2520;
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .cart-page__summary-head strong {
    color: #2a2520;
    font-size: 0.92rem;
    font-weight: 700;
  }

  .cart-page__summary-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    color: #2a2520;
  }

  .cart-page__summary-row span {
    font-size: 0.9rem;
    font-weight: 600;
  }

  .cart-page__summary-row strong {
    font-size: 0.92rem;
    font-weight: 700;
  }

  .cart-page__summary-row--subtotal span,
  .cart-page__summary-row--subtotal strong {
    font-size: 1.05rem;
    font-weight: 800;
  }

  .cart-page__summary-divider {
    height: 1px;
    background: rgba(18, 18, 18, 0.12);
  }

  .cart-page__checkout-status {
    margin: -0.55rem 0 0;
    color: #b13a2c;
    font-size: 0.8rem;
    line-height: 1.45;
  }

  .cart-page__color-modal[hidden] {
    display: none !important;
  }

  .cart-page__color-modal {
    position: fixed;
    inset: 0;
    z-index: 70;
  }

  .cart-page__color-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(18, 18, 18, 0.18);
    cursor: pointer;
  }

  .cart-page__color-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    gap: 1rem;
    width: min(30rem, calc(100vw - 2rem));
    padding: 1.45rem 1.4rem 1.2rem;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(18, 18, 18, 0.18);
    transform: translate(-50%, -50%);
  }

  .cart-page__color-close {
    position: absolute;
    top: 0.7rem;
    right: 0.8rem;
    border: 0;
    background: transparent;
    color: #2d2722;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
  }

  .cart-page__color-dialog h2 {
    margin: 0;
    color: #2a2520;
    font-size: 1.12rem;
    font-weight: 800;
    text-align: center;
  }

  .cart-page__color-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    justify-items: center;
  }

  .cart-page__color-option {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    color: #2d2722;
    font: inherit;
    cursor: pointer;
  }

  .cart-page__color-swatch {
    display: grid;
    place-items: center;
    width: 100%;
    max-width: 5rem;
    aspect-ratio: 1;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0.45rem;
    background: #f4f1ec;
  }

  .cart-page__color-option.is-selected .cart-page__color-swatch {
    border-color: #5a60ff;
    box-shadow: 0 0 0 1px #5a60ff inset;
  }

  .cart-page__color-swatch img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
  }

  .cart-page__color-swatch-dot {
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(18, 18, 18, 0.14);
  }

  .cart-page__color-option strong {
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.25;
  }

  .cart-page__color-option.is-selected strong {
    color: #4b46f2;
  }

  .cart-page__color-confirm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    width: min(18rem, 100%);
    justify-self: center;
    border: 0;
    border-radius: 0.28rem;
    background: #4b46f2;
    color: #ffffff;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 800;
    cursor: pointer;
  }

  .cart-page__trust {
    display: grid;
    gap: 0.45rem;
    color: #26352b;
    font-weight: 750;
  }

  .cart-page__update,
  .cart-page__checkout,
  .cart-page__continue,
  .cart-page__empty-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    border: 1px solid rgba(45, 39, 34, 0.14);
    border-radius: 999px;
    padding: 0.75rem 1rem;
    background: #2d2722;
    color: #ffffff;
    font: inherit;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
  }

  .cart-page__continue,
  .cart-page__empty-actions a + a {
    border: 0;
    min-height: auto;
    padding: 0;
    background: transparent;
    color: #2d2722;
    font-size: 0.94rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: underline;
    text-underline-offset: 0.16rem;
  }

  .cart-page__empty {
    display: grid;
    place-items: center;
    min-height: 60svh;
    text-align: center;
  }

  .cart-page__empty p:last-of-type {
    max-width: 42rem;
    margin: 1rem auto 0;
    color: #4f565d;
    line-height: 1.6;
  }

  .cart-page__empty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 1.5rem;
  }

  @media (max-width: 900px) {
    .cart-page__form {
      grid-template-columns: 1fr;
    }

    .cart-page__summary {
      position: static;
      width: 100%;
    }

    .cart-page__item {
      grid-template-columns: auto minmax(9rem, 11rem) minmax(0, 1fr);
    }
  }

  @media (max-width: 640px) {
    .cart-page {
      padding: 0.7rem 0.7rem 7.5rem;
      background: #f4f4f6;
    }

    .cart-page__header,
    .cart-page__item {
      grid-template-columns: 1fr;
    }

    .cart-page__header {
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 0.65rem;
      margin-bottom: 0.75rem;
      padding: 0.15rem 0.1rem;
    }

    .cart-page__header h1,
    .cart-page__header span {
      display: none;
    }

    .cart-page__mobile-back,
    .cart-page__mobile-title,
    .cart-page__mobile-edit,
    .cart-page__mobile-notices,
    .cart-page__mobile-remove,
    .cart-page__mobile-invalid,
    .cart-page__recommend,
    .cart-page__mobile-promo,
    .cart-page__mobile-footer {
      display: block;
    }

    .cart-page__mobile-back {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2rem;
      height: 2rem;
      color: #231f1b;
      text-decoration: none;
      font-size: 2rem;
      line-height: 1;
    }

    .cart-page__mobile-title {
      justify-self: center;
      font-size: 1.15rem;
      font-weight: 800;
      line-height: 1.2;
    }

    .cart-page__mobile-edit {
      border: 0;
      background: transparent;
      padding: 0;
      color: #231f1b;
      font: inherit;
      font-size: 1rem;
      font-weight: 700;
    }

    .cart-page__mobile-notices {
      display: grid;
      gap: 0.3rem;
      margin: 0 0 0.75rem;
      padding: 0.7rem 0.9rem;
      border-radius: 0.85rem;
      background: #efecff;
    }

    .cart-page__mobile-notices p {
      margin: 0;
      color: #3d3833;
      font-size: 0.9rem;
      line-height: 1.35;
    }

    .cart-page__form {
      display: block;
    }

    .cart-page__item-main {
      gap: 0.75rem;
    }

    .cart-page__select {
      position: absolute;
      top: 50%;
      left: 0.9rem;
      z-index: 2;
      padding-top: 0;
      transform: translateY(-50%);
    }

    .cart-page__remove-link {
      display: none;
      position: static;
      justify-self: start;
      margin-top: -0.1rem;
    }

    .cart-page__mobile-remove {
      display: none;
      align-items: center;
      justify-content: center;
      width: 2rem;
      height: 2rem;
      border-radius: 0.6rem;
      background: #ffeaea;
      color: #ef6b6b;
      text-decoration: none;
      font-size: 1rem;
      position: absolute;
      top: 0.5rem;
      right: 0.5rem;
    }

    .cart-page h1,
    .cart-page__empty h1 {
      font-size: clamp(2.4rem, 15vw, 3.8rem);
    }

    .cart-page__item {
      grid-template-columns: 6.7rem minmax(0, 1fr) auto;
      gap: 0.85rem;
      align-items: start;
      padding: 1rem 0.9rem 0.95rem 2.7rem;
      border: 0;
      border-radius: 1rem;
      background: #ffffff;
      box-shadow: 0 1px 0 rgba(20, 16, 12, 0.03);
      position: relative;
    }

    .cart-page__image-link {
      border-radius: 0.8rem;
      background: transparent;
    }

    .cart-page__image {
      min-height: 6.7rem;
      padding: 0;
    }

    .cart-page__bulk-bar {
      display: none;
    }

    .cart-page__summary-line {
      grid-template-columns: 1fr;
      gap: 0.2rem;
      min-height: auto;
      padding: 0;
      border: 0;
    }

    .cart-page__summary-line span:first-child {
      display: none;
    }

    .cart-page__item-summary {
      padding-right: 0;
    }

    .cart-page__summary-line strong {
      font-size: 0.92rem;
    }

    .cart-page__summary-line--priced strong {
      font-size: 1.05rem;
      font-weight: 800;
    }

    .cart-page__summary-line--priced .cart-page__line-price,
    .cart-page__summary-line--subtotal strong {
      justify-self: start;
      font-size: 0.98rem;
      font-weight: 850;
    }

    .cart-page__inline-trigger {
      min-height: 2rem;
      padding: 0.18rem 0.5rem;
      border-radius: 0.45rem;
      background: #f4f4f6;
    }

    .cart-page__prescription-panel {
      padding-left: 0;
    }

    .cart-page__summary-line--quantity {
      position: absolute;
      right: 0.7rem;
      bottom: 0.8rem;
    }

    .cart-page__quantity input {
      width: 2.2rem;
      min-height: 2rem;
      border: 0;
      border-radius: 0.5rem;
      padding: 0;
      background: #f4f4f6;
      font-size: 0.92rem;
      font-weight: 700;
    }

    .cart-page__color-dialog {
      width: min(88vw, 26rem);
      padding: 1.2rem 0.9rem 1rem;
    }

    .cart-page__color-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.55rem;
    }

    .cart-page__summary {
      display: none;
      padding: 1.2rem 1rem 1rem;
    }

    .cart-page__mobile-invalid {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-top: 0.8rem;
      padding: 1rem 0.95rem;
      border-radius: 1rem;
      background: #ffffff;
    }

    .cart-page__mobile-invalid strong {
      font-size: 0.98rem;
      font-weight: 800;
    }

    .cart-page__mobile-invalid button {
      border: 0;
      background: transparent;
      color: #37322d;
      font: inherit;
      font-size: 0.95rem;
      font-weight: 600;
    }

    .cart-page__recommend {
      margin-top: 1rem;
      padding-top: 0.2rem;
    }

    .cart-page__recommend-head h2 {
      margin: 0 0 0.9rem;
      text-align: center;
      font-size: 1.2rem;
      font-weight: 900;
    }

    .cart-page__recommend-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.7rem;
    }

    .cart-page__recommend-card {
      display: grid;
      gap: 0.55rem;
      min-width: 0;
    }

    .cart-page__recommend-media {
      position: relative;
      display: block;
      border-radius: 1rem;
      background: #ffffff;
      overflow: hidden;
      min-height: 10.5rem;
    }

    .cart-page__recommend-image {
      width: 100%;
      height: 100%;
      min-height: 10.5rem;
      object-fit: contain;
      padding: 0.85rem;
    }

    .cart-page__recommend-badge {
      position: absolute;
      top: 0.6rem;
      left: 0.55rem;
      padding: 0.22rem 0.5rem;
      border-radius: 999px;
      background: #a99af8;
      color: #201b17;
      font-size: 0.74rem;
      font-weight: 700;
    }

    .cart-page__recommend-heart {
      position: absolute;
      top: 0.55rem;
      right: 0.6rem;
      color: #26211c;
      font-size: 1.4rem;
      line-height: 1;
    }

    .cart-page__recommend-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.6rem;
    }

    .cart-page__recommend-title {
      color: #2b2622;
      font-size: 0.92rem;
      font-weight: 600;
      text-decoration: none;
      line-height: 1.3;
    }

    .cart-page__recommend-rating {
      display: inline-flex;
      align-items: center;
      gap: 0.18rem;
      white-space: nowrap;
      font-size: 0.88rem;
      font-weight: 700;
    }

    .cart-page__mobile-promo {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      margin-top: 0.8rem;
      padding: 0.8rem 0.9rem;
      border-radius: 0.85rem;
      background: #d9f0a9;
      color: #22201b;
    }

    .cart-page__mobile-promo strong {
      font-size: 0.96rem;
      line-height: 1.3;
    }

    .cart-page__mobile-footer {
      position: fixed;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 45;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 0.75rem;
      align-items: center;
      padding: 0.85rem 0.9rem calc(0.95rem + env(safe-area-inset-bottom));
      border-top: 1px solid rgba(28, 24, 20, 0.08);
      background: rgba(255, 255, 255, 0.98);
      backdrop-filter: blur(18px);
    }

    .cart-page__mobile-footer-select {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
    }

    .cart-page__mobile-footer-select input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .cart-page__mobile-footer-select span {
      position: relative;
      display: inline-flex;
      width: 1.18rem;
      height: 1.18rem;
      border: 1px solid rgba(18, 18, 18, 0.18);
      border-radius: 0.3rem;
      background: #ffffff;
    }

    .cart-page__mobile-footer-select input:checked + span {
      border-color: #5a60ff;
      background: #5a60ff;
    }

    .cart-page__mobile-footer-select input:checked + span::after {
      content: '';
      position: absolute;
      left: 0.36rem;
      top: 0.13rem;
      width: 0.23rem;
      height: 0.52rem;
      border-right: 2px solid #ffffff;
      border-bottom: 2px solid #ffffff;
      transform: rotate(45deg);
    }

    .cart-page__mobile-footer-select em {
      font-style: normal;
      font-size: 0.95rem;
      font-weight: 600;
    }

    .cart-page__mobile-footer-total {
      font-size: 1.2rem;
      font-weight: 900;
    }

    .cart-page__mobile-checkout,
    .cart-page__mobile-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 3rem;
      border-radius: 999px;
      padding: 0.6rem 1rem;
      font: inherit;
      font-size: 0.98rem;
      font-weight: 800;
      text-decoration: none;
      border: 1px solid rgba(38, 34, 29, 0.22);
      background: #ffffff;
      color: #27221d;
    }

    .cart-page__mobile-checkout {
      min-width: 10.5rem;
      border-color: #4b46f2;
      background: #4b46f2;
      color: #ffffff;
    }

    .cart-page__mobile-edit-actions[hidden] {
      display: none !important;
    }

    .cart-page[data-editing='true'] .cart-page__mobile-footer-total,
    .cart-page[data-editing='true'] .cart-page__mobile-checkout {
      display: none;
    }

    .cart-page__mobile-edit-actions {
      display: grid;
      grid-column: 2 / span 2;
      grid-template-columns: 1fr 1fr;
      gap: 0.7rem;
      width: 100%;
    }

    .cart-page[data-editing='true'] .cart-page__mobile-remove {
      display: inline-flex;
    }

    .cart-page[data-editing='true'] .cart-page__item-summary {
      padding-right: 2rem;
    }
  }

  @media (max-width: 420px) {
    .cart-page {
      padding: 0.85rem;
    }

    .cart-page__summary h2 {
      font-size: 1rem;
    }

    .cart-page__summary-head {
      align-items: center;
    }

    .cart-page__summary-row--subtotal span,
    .cart-page__summary-row--subtotal strong {
      font-size: 1rem;
    }
  }
/* END_SECTION:cart */

/* START_SECTION:collection (INDEX:4) */
.collection-mvp {
    display: grid;
    gap: 1.25rem;
    padding-top: 1.25rem;
    color: #121212;
  }

  .collection-mvp__hero {
    background:
      radial-gradient(circle at top left, rgba(187, 201, 211, 0.26), transparent 28%),
      linear-gradient(180deg, #f7f4ef 0%, #ffffff 100%);
  }

  .collection-mvp__hero-inner {
    display: grid;
    grid-template-columns: var(--content-grid);
    gap: 1.5rem;
    padding: 3rem 0 2.2rem;
  }

  .collection-mvp__hero-inner > * {
    grid-column: 2;
  }

  .collection-mvp__eyebrow,
  .collection-mvp__count,
  .collection-mvp__empty > p:first-child {
    margin: 0;
    color: #7a6e61;
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }

  .collection-mvp__heading-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: end;
  }

  .collection-mvp h1,
  .collection-mvp h2 {
    font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
    font-weight: 500;
    letter-spacing: -0.03em;
  }

  .collection-mvp h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(3rem, 7vw, 5.8rem);
    line-height: 0.95;
  }

  .collection-mvp__description {
    max-width: 66ch;
    margin-top: 1.25rem;
    color: #5f5850;
    font-size: 1rem;
    line-height: 1.7;
  }

  .collection-mvp__quiz-link,
  .collection-mvp__price-apply,
  .collection-mvp__empty-actions a,
  .collection-mvp__mobile-filter-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 41, 36, 0.14);
    border-radius: 999px;
    padding: 0.8rem 1.15rem;
    background: #2b2520;
    color: #f7f1ea;
    text-decoration: none;
  }

  .collection-mvp__quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
  }

  .collection-mvp__quick-links a {
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 999px;
    padding: 0.66rem 0.9rem;
    background: rgba(255, 255, 255, 0.84);
    color: #3b342d;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
  }

  .collection-mvp__trust-row,
  .collection-mvp__mobile-toolbar-container {
    display: none;
  }
  .collection-mvp__mobile-sort-sheet {
    display: none;
  }
  .collection-mvp__mobile-panel-header,
  .collection-mvp__mobile-filter-actions {
    display: none;
  }

  .collection-mvp__layout {
    display: grid;
    gap: 1rem;
  }

  .collection-mvp__trust-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .collection-mvp__trust-row span,
  .collection-mvp__filters,
  .collection-mvp__empty {
    border: 1px solid rgba(18, 18, 18, 0.06);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 24px rgba(14, 18, 25, 0.03);
  }

  .collection-mvp__trust-row span {
    padding: 1rem 1.1rem;
    color: #30363b;
  }

  .collection-mvp__toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    width: min(100%, 93rem);
    margin: 0 auto;
    padding: 0 1.6rem;
    box-sizing: border-box;
  }

  .collection-mvp__meta-row {
    width: min(100%, 93rem);
    margin: 0 auto;
    padding: 0 1.6rem;
    box-sizing: border-box;
  }

  .collection-mvp__toolbar-heading {
    display: grid;
    gap: 0;
    min-width: 0;
  }

  .collection-mvp__title {
    margin: 0;
    max-width: none;
    font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 2.3rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.02;
    white-space: nowrap;
  }

  .collection-mvp__toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
  }

  .collection-mvp__search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .collection-mvp__search label {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .collection-mvp__search-control {
    display: flex;
    align-items: center;
    min-height: 2.8rem;
    overflow: hidden;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
  }

  .collection-mvp__search input {
    width: min(32vw, 18rem);
    min-width: 11rem;
    border: 0;
    padding: 0.75rem 0.9rem;
    background: transparent;
    color: #111827;
    font: inherit;
    font-size: 0.9rem;
    outline: none;
  }

  .collection-mvp__search button {
    align-self: stretch;
    cursor: pointer;
    border: 0;
    border-left: 1px solid rgba(18, 18, 18, 0.08);
    padding: 0 1rem;
    background: #2b2520;
    color: #ffffff;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 800;
  }

  .collection-mvp__price-range input {
    min-height: 2.8rem;
    border: 1px solid rgba(18, 18, 18, 0.12);
    padding: 0.65rem 0.8rem;
    background: #ffffff;
    color: #1c2328;
  }

  .collection-mvp__mobile-filter-link {
    display: none;
    background: transparent;
    color: #1c2328;
  }

  .collection-mvp__mobile-filter-link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    margin-left: 0.4rem;
    border-radius: 999px;
    background: #1c2328;
    color: #f8f3ec;
    font-size: 0.75rem;
  }

  .collection-mvp__layout {
    grid-template-columns: 1fr;
    align-items: start;
    width: min(100%, 93rem);
    margin: 0 auto;
    padding: 0 1.6rem;
    box-sizing: border-box;
  }

  .collection-mvp__filter-row {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0.55rem 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .collection-mvp__filter-bar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
    gap: 1rem;
    min-width: 0;
    padding: 0;
    border-bottom: 0;
  }

  .collection-mvp__filter-bar-groups {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.9rem;
  }

  .collection-mvp__filter-dropdown {
    position: relative;
    padding: 0 0 0.65rem;
    margin-bottom: -0.65rem;
  }

  .collection-mvp__filter-trigger {
    display: flex;
    cursor: pointer;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 999px;
    padding: 0.66rem 0.92rem;
    background: rgba(255, 255, 255, 0.78);
    color: #5a5149;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 0.93rem;
    font-weight: 600;
    letter-spacing: 0;
    white-space: nowrap;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
  }

  .collection-mvp__filter-caret {
    color: #9aa1aa;
    font-size: 0.74rem;
    transition: transform 0.18s ease;
  }

  .collection-mvp__filter-dropdown:hover .collection-mvp__filter-trigger,
  .collection-mvp__filter-dropdown:focus-within .collection-mvp__filter-trigger,
  .collection-mvp__filter-dropdown.is-open .collection-mvp__filter-trigger {
    color: #111827;
    border-color: rgba(18, 18, 18, 0.1);
    background: #ffffff;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.04);
  }

  .collection-mvp__filter-dropdown:hover .collection-mvp__filter-caret,
  .collection-mvp__filter-dropdown:focus-within .collection-mvp__filter-caret,
  .collection-mvp__filter-dropdown.is-open .collection-mvp__filter-caret {
    transform: rotate(180deg);
  }

  .collection-mvp__filter-panel {
    position: absolute;
    top: calc(100% + 0.15rem);
    left: 0;
    z-index: 5;
    display: grid;
    gap: 0.85rem;
    min-width: 15rem;
    max-width: min(34rem, 84vw);
    padding: 1rem;
    border: 1px solid rgba(18, 18, 18, 0.06);
    border-radius: 0.95rem;
    background: rgba(255, 252, 248, 0.98);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.09);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.35rem);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
  }

  .collection-mvp__filter-dropdown::after {
    content: '';
    position: absolute;
    top: calc(100% - 0.1rem);
    left: 0;
    width: 100%;
    height: 0.95rem;
  }

  .collection-mvp__filter-dropdown:hover .collection-mvp__filter-panel,
  .collection-mvp__filter-dropdown:focus-within .collection-mvp__filter-panel,
  .collection-mvp__filter-dropdown.is-open .collection-mvp__filter-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .collection-mvp__filter-panel--color {
    grid-template-columns: repeat(3, minmax(13.5rem, 1fr));
    min-width: 44rem;
    gap: 0.6rem 1rem;
  }

  .collection-mvp__filter-panel--sort {
    left: auto;
    right: 0;
    min-width: 13.5rem;
    max-width: 13.5rem;
    gap: 0;
    padding: 0.45rem;
  }

  .collection-mvp__filter-panel--price {
    left: auto;
    right: 0;
    min-width: 20rem;
    max-width: min(20rem, calc(100vw - 2rem));
  }

  .collection-mvp__sort-dropdown {
    margin-left: auto;
    flex: 0 0 auto;
  }

  .collection-mvp__filter-dropdown--sort .collection-mvp__filter-trigger {
    justify-content: flex-end;
    min-width: 12.5rem;
    color: #4b5563;
  }

  .collection-mvp__sort-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.8rem 0.9rem;
    border-radius: 0.8rem;
    color: #4b5563;
    cursor: pointer;
    position: relative;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 0.92rem;
    font-weight: 500;
    transition: background-color 0.16s ease, color 0.16s ease;
  }

  .collection-mvp__sort-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .collection-mvp__sort-check {
    width: 1rem;
    height: 1rem;
    border: 1px solid rgba(18, 18, 18, 0.14);
    border-radius: 0.25rem;
    background: #ffffff;
  }

  .collection-mvp__sort-option:hover {
    background: #f7f1ea;
    color: #111827;
  }

  .collection-mvp__sort-option.is-active {
    color: #1c2328;
    font-weight: 600;
    background: #f7f1ea;
  }

  .collection-mvp__sort-option.is-active .collection-mvp__sort-check {
    border-color: #6f5e52;
    background: #6f5e52;
    box-shadow: inset 0 0 0 2px #ffffff;
  }

  .collection-mvp__filter-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: center;
    min-height: 2.6rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.85rem;
    color: #374151;
    cursor: pointer;
    position: relative;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 0.93rem;
    font-weight: 500;
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    text-align: left;
    text-decoration: none;
    transition: background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
    appearance: none;
  }

  .collection-mvp__filter-option-label {
    white-space: nowrap;
    line-height: 1.2;
    text-decoration: none;
  }

  .collection-mvp__products {
    margin-top: 0.75rem;
  }

  .collection-mvp__filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .collection-mvp__filter-option.is-disabled {
    color: #a0a6ab;
    cursor: not-allowed;
  }

  .collection-mvp__filter-option:not(.is-disabled):hover {
    background: #f8fafc;
    color: #111827;
  }

  .collection-mvp__filter-option--color {
    grid-template-columns: 1.1rem minmax(0, 1fr);
    column-gap: 0.7rem;
    align-items: center;
  }

  .collection-mvp__filter-swatch {
    width: 1.05rem;
    height: 1.05rem;
    border: 1px solid rgba(18, 18, 18, 0.12);
    border-radius: 999px;
    background: var(--filter-swatch-background);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
  }

  .collection-mvp__filter-check {
    width: 1rem;
    height: 1rem;
    border: 1px solid rgba(18, 18, 18, 0.14);
    border-radius: 0.25rem;
    background: #ffffff;
  }

  .collection-mvp__filter-option.is-active span,
  .collection-mvp__filter-option.is-active small {
    color: #111827;
    font-weight: 700;
  }

  .collection-mvp__filter-option.is-active {
    background: #f7f1ea;
    border-color: rgba(48, 37, 30, 0.24);
    box-shadow: inset 0 0 0 1px rgba(48, 37, 30, 0.08);
  }

  .collection-mvp__filter-option.is-active .collection-mvp__filter-swatch {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #2f261f;
  }

  .collection-mvp__filter-option.is-active .collection-mvp__filter-check {
    border-color: #2f261f;
    background: #2f261f;
    box-shadow: inset 0 0 0 2px #ffffff;
  }

  .collection-mvp__price-range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }

  .collection-mvp__price-range input {
    width: 100%;
    box-sizing: border-box;
  }

  .collection-mvp__price-range label {
    display: grid;
    gap: 0.35rem;
    color: #6b7280;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    font-weight: 700;
    text-transform: uppercase;
  }

  .collection-mvp__price-apply {
    width: 100%;
    margin-top: 0.35rem;
    min-height: 2.9rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
  }

  .collection-mvp__filter-clear-link {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    min-height: 2.6rem;
    padding: 0.6rem 0.95rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 999px;
    color: #6b7280;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.16s ease, color 0.16s ease, background-color 0.16s ease;
  }

  .collection-mvp__filter-clear-link.is-hidden {
    display: none;
  }

  .collection-mvp__filter-clear-link:hover {
    border-color: rgba(18, 18, 18, 0.14);
    background: #f8fafc;
    color: #111827;
  }

  .collection-mvp__products {
    min-width: 0;
  }

  #shopify-section-{{ section.id }}.is-loading .collection-mvp__products,
  #shopify-section-{{ section.id }}.is-loading .collection-mvp__toolbar {
    opacity: 0.65;
    transition: opacity 0.18s ease;
  }

  .collection-mvp__grid {
    display: grid;
    gap: 1rem;
  }

  .collection-mvp__product-item {
    min-width: 0;
  }

  .collection-mvp__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .collection-mvp__grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .collection-mvp__pagination {
    margin-top: 2.6rem;
  }

  .collection-mvp__pagination-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    color: #121212;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  }

  .collection-mvp__pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    color: #4b5563;
    text-decoration: none;
    transition: border-color 0.16s ease, color 0.16s ease, background-color 0.16s ease;
  }

  .collection-mvp__pagination-link--arrow {
    min-width: 2.85rem;
    padding: 0 0.35rem;
    border-radius: 0.75rem;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    color: #8b949e;
  }

  .collection-mvp__pagination-link--arrow:not(.is-disabled):hover {
    color: #111827;
  }

  .collection-mvp__pagination-link--number {
    min-width: 2.85rem;
    padding: 0 0.7rem;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.88rem;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
  }

  .collection-mvp__pagination-link--number:hover {
    border-color: rgba(18, 18, 18, 0.18);
    color: #111827;
    background: #ffffff;
  }

  .collection-mvp__pagination-link--number.is-current {
    border-color: rgba(28, 35, 40, 0.18);
    background: #ffffff;
    color: #111827;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.07);
  }

  .collection-mvp__pagination-link.is-disabled {
    color: #c7cbd1;
    pointer-events: none;
  }

  .collection-mvp__pagination-ellipsis {
    color: #b5b9bf;
    font-size: 1.15rem;
    line-height: 1;
    letter-spacing: 0.08em;
  }

  .collection-mvp__empty {
    padding: 2rem;
    text-align: center;
  }

  .collection-mvp__empty h2 {
    margin: 0.5rem 0 0;
    font-size: clamp(2rem, 4vw, 3rem);
  }

  .collection-mvp__empty p:last-of-type {
    max-width: 52ch;
    margin: 1rem auto 0;
    color: #4f565d;
    line-height: 1.7;
  }

  .collection-mvp__empty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 1.4rem;
  }

  .collection-mvp__empty-actions a:first-child {
    background: transparent;
    color: #1c2328;
  }

  .collection-mvp__guide {
    display: grid;
    gap: 1.15rem;
    margin-top: 2.5rem;
    padding: 2rem;
    border-radius: 1.6rem;
    background: #f7f4ef;
  }

  .collection-mvp__guide-heading {
    display: grid;
    gap: 0.35rem;
  }

  .collection-mvp__guide-heading p {
    margin: 0;
    color: #626b74;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .collection-mvp__guide-heading h2 {
    max-width: 13ch;
    margin: 0;
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 0.98;
  }

  .collection-mvp__guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .collection-mvp__guide-grid article {
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 1.2rem;
    padding: 1.2rem;
    background: #ffffff;
  }

  .collection-mvp__guide-grid h3 {
    margin: 0;
    color: #1c2328;
    font-size: 1rem;
  }

  .collection-mvp__guide-grid p {
    margin: 0.65rem 0 0;
    color: #4f565d;
    line-height: 1.65;
  }

  @media (max-width: 1100px) {
    .collection-mvp__grid--4 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .collection-mvp__guide-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 749px) {
    /* Mobile Toolbar */
    .collection-mvp__mobile-toolbar-container {
      display: block;
      margin-bottom: 0.2rem;
    }
    .collection-mvp__mobile-toolbar-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-top: 1px solid #eee;
      border-bottom: 1px solid #eee;
      padding: 0.6rem 0;
      margin-bottom: 0.6rem;
    }
    .collection-mvp__mobile-toolbar-sort {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      font-size: 0.95rem;
      font-weight: 700;
      color: #111;
      background: none;
      border: none;
      padding: 0.4rem 0;
    }
    .collection-mvp__mobile-toolbar-right {
      display: flex;
      align-items: center;
      gap: 1rem;
    }
    .collection-mvp__mobile-toolbar-filter {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      font-size: 0.95rem;
      font-weight: 700;
      color: #111;
      background: none;
      border: none;
      padding: 0.4rem 0;
    }
    .collection-mvp__mobile-toolbar-grid {
      display: flex;
      align-items: center;
      justify-content: center;
      background: none;
      border: none;
      padding: 0.4rem;
      color: #111;
    }
    .collection-mvp__mobile-toolbar-count {
      font-size: 0.85rem;
      color: #555;
    }

    .collection-mvp__meta-row {
      display: none !important;
    }

    /* Keep filter/sort forms in the DOM for mobile modals without rendering the old row. */
    .collection-mvp__filter-row {
      display: contents !important;
    }

    /* Sort Bottom Sheet */
    .collection-mvp__sort-dropdown {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 9999;
      display: none;
    }
    .collection-mvp__sort-dropdown.is-open {
      display: block;
    }
    .collection-mvp__sort-dropdown::before {
      content: '';
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background: rgba(0,0,0,0.5);
    }
    .collection-mvp__sort-dropdown .collection-mvp__filter-trigger {
      display: none;
    }
    .collection-mvp__sort-dropdown .collection-mvp__filter-panel {
      position: absolute;
      top: auto;
      bottom: 0;
      left: 0;
      width: 100%;
      background: #fff;
      border-radius: 1rem 1rem 0 0;
      padding: 1.5rem;
      box-sizing: border-box;
      transform: translateY(100%);
      transition: transform 0.3s ease;
      display: flex;
      flex-direction: column;
      gap: 0;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      max-height: 80vh;
      overflow-y: auto;
    }
    .collection-mvp__sort-dropdown.is-open .collection-mvp__filter-panel {
      transform: translateY(0);
    }
    .collection-mvp__sort-option {
      padding: 1rem 0;
      border-bottom: 1px solid #eee;
      font-size: 1rem;
      font-weight: 500;
      color: #333;
    }
    .collection-mvp__sort-option.is-active {
      color: #4b7fd1;
      font-weight: 700;
    }

    /* Filter Right Drawer */
    .collection-mvp__filter-bar {
      position: fixed;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%;
      z-index: 9999;
      display: none;
    }
    .collection-mvp__filter-bar.is-open {
      display: block;
    }
    .collection-mvp__filter-bar::before {
      content: '';
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background: rgba(0,0,0,0.5);
    }
    .collection-mvp__filter-bar-groups {
      position: absolute;
      top: 0;
      right: 0;
      width: 85%;
      max-width: 320px;
      height: 100%;
      background: #fff;
      transform: translateX(100%);
      transition: transform 0.3s ease;
      display: flex;
      flex-direction: column;
      padding: 1.5rem 1rem;
      box-sizing: border-box;
      overflow-y: auto;
      gap: 1rem;
    }
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-bar-groups {
      transform: translateX(0);
    }
    .collection-mvp__filter-dropdown {
      width: 100%;
    }
    .collection-mvp__filter-dropdown .collection-mvp__filter-trigger {
      width: 100%;
      justify-content: space-between;
      background: #f8f8f8;
      border: none;
      padding: 1rem;
      border-radius: 0.5rem;
    }
    .collection-mvp__filter-dropdown .collection-mvp__filter-panel {
      position: static;
      transform: none;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      box-shadow: none;
      border: none;
      background: transparent;
      padding: 0.5rem 0;
      display: none;
    }
    .collection-mvp__filter-dropdown.is-open .collection-mvp__filter-panel {
      display: grid;
    }

    /* Mobile Panel Header */
    .collection-mvp__mobile-panel-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: 1.5rem;
      border-bottom: 1px solid #eee;
      margin-bottom: 1rem;
    }
    .collection-mvp__mobile-panel-header h3 {
      font-size: 1.1rem;
      font-weight: 700;
      margin: 0;
      color: #111;
    }
    .collection-mvp__mobile-panel-header button {
      background: none;
      border: none;
      padding: 0.5rem;
      color: #111;
      display: flex;
    }

    .collection-mvp {
      overflow-x: hidden;
      width: 100%;
    }

    .collection-mvp__hero,
    .collection-mvp__toolbar,
    .collection-mvp__meta-row,
    .collection-mvp__layout,
    .collection-mvp__filter-row,
    .collection-mvp__products,
    .collection-mvp__grid,
    .collection-mvp__product-item {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
    }

    .collection-mvp__hero-inner {
      grid-template-columns: minmax(0, 1fr);
      padding: 1rem 0 1.2rem;
    }

    .collection-mvp__toolbar,
    .collection-mvp__trust-row,
    .collection-mvp__meta-row,
    .collection-mvp__layout {
      padding: 0 0.4rem;
    }

    .collection-mvp__heading-row,
    .collection-mvp__toolbar,
    .collection-mvp__trust-row,
    .collection-mvp__meta-row,
    .collection-mvp__layout {
      grid-template-columns: minmax(0, 1fr);
      gap: 0;
    }

    .collection-mvp__products {
      margin-top: 0;
    }

    .collection-mvp__products .collection-mvp__grid,
    .collection-mvp__products .collection-mvp__grid--3,
    .collection-mvp__products .collection-mvp__grid--2,
    .collection-mvp__products .collection-mvp__grid--4 {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 0.4rem;
    }

    .collection-mvp__products > .collection-mvp__grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 0.4rem;
    }

    .collection-mvp__product-item {
      display: block !important;
      width: 100%;
      min-width: 0;
    }

    .collection-mvp h1 {
      font-size: 2.8rem;
    }

    .collection-mvp__title {
      white-space: nowrap;
    }

    .collection-mvp__toolbar {
      gap: 0.9rem;
    }

    .collection-mvp__toolbar-actions,
    .collection-mvp__sort-dropdown {
      width: 100%;
      min-width: 0;
    }

    .collection-mvp__search {
      display: none !important;
    }

    .collection-mvp__search-control {
      width: 100%;
      min-width: 0;
      min-height: 2.2rem !important;
    }

    .collection-mvp__toolbar-actions {
      align-items: stretch;
      flex-direction: column;
    }

    .collection-mvp__search label {
      display: none;
    }

    .collection-mvp__search input {
      width: 100%;
      min-width: 0;
      padding: 0.5rem 0.8rem !important;
      font-size: 0.85rem !important;
    }

    .collection-mvp__search button {
      padding: 0 0.8rem !important;
      font-size: 0.8rem !important;
    }

    .collection-mvp__mobile-filter-link {
      display: none;
    }

    .collection-mvp__filter-bar {
      scroll-margin-top: 1rem;
      align-items: center;
      gap: 0.75rem;
      width: 100%;
      min-width: 0;
      overflow: visible;
      box-sizing: border-box;
    }

    .collection-mvp__filter-bar-groups {
      display: flex;
      flex-wrap: nowrap;
      gap: 0.65rem;
      width: 100%;
      min-width: 0;
      flex: 1 1 auto;
      box-sizing: border-box;
      overflow-x: auto;
      overflow-y: visible;
      padding-bottom: 0.15rem;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }

    .collection-mvp__filter-bar-groups::after {
      content: '';
      flex: 0 0 0.5rem;
      width: 0.5rem;
      height: 1px;
    }

    .collection-mvp__filter-bar-groups::-webkit-scrollbar {
      display: none;
    }

    .collection-mvp__filter-row {
      align-items: center;
      flex-direction: row;
      gap: 0.75rem;
      padding: 0.15rem 0 0.25rem;
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
    }

    .collection-mvp__sort-dropdown {
      margin-left: auto;
      width: auto;
      flex: 0 0 auto;
    }

    .collection-mvp__filter-dropdown {
      width: auto;
      flex: 0 0 auto;
      padding-bottom: 0;
      margin-bottom: 0;
      scroll-margin-right: 1rem;
    }

    .collection-mvp__filter-dropdown:last-child {
      margin-right: 0.7rem;
    }

    .collection-mvp__filter-trigger {
      width: auto;
      justify-content: space-between;
      min-height: 2.65rem;
      padding: 0.72rem 0.9rem;
      background: #ffffff;
      white-space: nowrap;
    }

    .collection-mvp__filter-panel,
    .collection-mvp__filter-panel--color {
      position: static;
      display: none;
      min-width: 0;
      max-width: none;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: none;
      box-shadow: none;
      padding: 0.35rem 0 0.25rem;
      border: 0;
      gap: 0.6rem;
    }

    .collection-mvp__filter-dropdown::after {
      display: none;
    }

    .collection-mvp__filter-panel--color {
      grid-template-columns: 1fr;
      min-width: 0;
    }

    .collection-mvp__filter-panel--sort {
      display: none;
      min-width: 0;
      max-width: none;
      padding: 0.35rem 0 0.25rem;
    }

    .collection-mvp__filter-panel--price {
      display: none;
      min-width: 0;
      max-width: none;
      padding: 0.35rem 0 0.25rem;
    }

    .collection-mvp__filter-dropdown:hover .collection-mvp__filter-panel,
    .collection-mvp__filter-dropdown:focus-within .collection-mvp__filter-panel {
      display: none;
    }

    .collection-mvp__filter-dropdown.is-open .collection-mvp__filter-panel {
      display: grid;
    }

    .collection-mvp__filter-option,
    .collection-mvp__sort-option {
      padding-left: 0;
      padding-right: 0;
      border-radius: 0;
    }

    .collection-mvp__filter-option-label,
    .collection-mvp__filter-trigger-label {
      white-space: normal;
      line-height: 1.35;
    }

    .collection-mvp__filter-clear-link {
      margin-left: 0;
    }

    /* Final mobile modal overrides: keep these after legacy mobile filter rules. */
    .collection-mvp__filter-row {
      display: contents !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      box-shadow: none !important;
      background: transparent !important;
    }

    .collection-mvp__sort-dropdown {
      position: fixed !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      z-index: 9999 !important;
      display: none !important;
      margin: 0 !important;
      background: transparent !important;
    }

    .collection-mvp__sort-dropdown.is-open {
      display: block !important;
    }

    .collection-mvp__sort-dropdown .collection-mvp__filter-panel--sort {
      position: absolute !important;
      inset: auto 0 0 0 !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
      max-width: none !important;
      max-height: 80vh !important;
      padding: 1.2rem 1rem 1.4rem !important;
      overflow-y: auto !important;
      border: 0 !important;
      border-radius: 1rem 1rem 0 0 !important;
      background: #fff !important;
      box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.18) !important;
      transform: translateY(100%) !important;
      transition: transform 0.24s ease !important;
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      box-sizing: border-box !important;
    }

    .collection-mvp__sort-dropdown.is-open .collection-mvp__filter-panel--sort {
      transform: translateY(0) !important;
    }

    .collection-mvp__filter-bar {
      position: fixed !important;
      inset: 0 !important;
      z-index: 9999 !important;
      display: none !important;
      width: 100% !important;
      height: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
      background: transparent !important;
      overflow: hidden !important;
    }

    .collection-mvp__filter-bar.is-open {
      display: block !important;
    }

    .collection-mvp__filter-bar-groups {
      position: absolute !important;
      top: 0 !important;
      right: 0 !important;
      width: min(86vw, 22rem) !important;
      max-width: 320px !important;
      height: 100% !important;
      display: flex !important;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      gap: 0.65rem !important;
      padding: 1rem 1rem 6.2rem !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      background: #fff !important;
      box-sizing: border-box !important;
      transform: translateX(100%) !important;
      transition: transform 0.24s ease !important;
      -webkit-overflow-scrolling: touch !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-bar-groups {
      transform: none !important;
    }

    .collection-mvp__filter-bar-groups::after {
      display: none !important;
    }

    .collection-mvp__mobile-sort-sheet {
      position: fixed !important;
      inset: 0 !important;
      z-index: 10000 !important;
      display: none !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      background: transparent !important;
    }

    .collection-mvp__mobile-sort-sheet.is-open {
      display: block !important;
    }

    .collection-mvp__mobile-sort-sheet::before,
    .collection-mvp__filter-bar::before {
      content: '' !important;
      position: absolute !important;
      inset: 0 !important;
      display: block !important;
      background: rgba(0, 0, 0, 0.48) !important;
    }

    .collection-mvp__mobile-sort-panel {
      position: absolute !important;
      inset: auto 0 0 0 !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
      max-height: 80vh !important;
      padding: 0.9rem 1rem 1.1rem !important;
      overflow-y: auto !important;
      border-radius: 1rem 1rem 0 0 !important;
      background: #fff !important;
      box-sizing: border-box !important;
      transform: translateY(100%) !important;
      transition: transform 0.24s ease !important;
    }

    .collection-mvp__mobile-sort-panel .collection-mvp__mobile-panel-header,
    .collection-mvp__filter-bar .collection-mvp__mobile-panel-header {
      position: relative !important;
      width: calc(100% + 2rem) !important;
      margin: -1rem -1rem 0 !important;
      padding: 1rem !important;
      border-bottom: 1px solid #eeeeee !important;
      box-sizing: border-box !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    .collection-mvp__mobile-sort-panel .collection-mvp__mobile-panel-header h3,
    .collection-mvp__filter-bar .collection-mvp__mobile-panel-header h3 {
      text-align: center !important;
      margin: 0 !important;
      padding-left: 2rem !important; /* Offset for right close button */
      flex: 1 !important;
    }

    .collection-mvp__mobile-sort-panel .collection-mvp__mobile-panel-header button,
    .collection-mvp__filter-bar .collection-mvp__mobile-panel-header button {
      position: absolute !important;
      right: 1rem !important;
    }

    .collection-mvp__mobile-sort-panel .collection-mvp__mobile-panel-header {
      margin-top: -0.9rem !important;
    }

    .collection-mvp__mobile-sort-sheet.is-open .collection-mvp__mobile-sort-panel {
      transform: translateY(0) !important;
    }

    .collection-mvp__mobile-sort-option {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      min-height: 2.7rem !important;
      margin: 0 !important;
      padding: 0.62rem 0 !important;
      border-bottom: 1px solid #eeeeee !important;
      border-left: 0 !important;
      border-right: 0 !important;
      border-top: 0 !important;
      background: #ffffff !important;
      color: #222 !important;
      font-size: 0.92rem !important;
      font-weight: 600 !important;
      text-align: left !important;
    }

    .collection-mvp__mobile-sort-option input {
      position: absolute !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }

    .collection-mvp__mobile-sort-option .collection-mvp__mobile-sort-check {
      display: none !important;
      color: #4c3ff0 !important;
      font-size: 1.1rem !important;
      font-weight: 800 !important;
    }

    .collection-mvp__mobile-sort-option.is-active {
      color: #4c3ff0 !important;
    }

    .collection-mvp__mobile-sort-option.is-active .collection-mvp__mobile-sort-check {
      display: block !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown {
      display: none !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      flex: none !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="gender"],
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="price"],
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="shape"],
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="color"],
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown--price {
      display: block !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="gender"] {
      order: 1 !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="price"],
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown--price {
      order: 2 !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="shape"] {
      order: 3 !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-dropdown[data-filter-key="color"] {
      order: 4 !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-trigger {
      min-height: 0 !important;
      width: 100% !important;
      padding: 0.9rem 0 0.65rem !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: #222 !important;
      font-size: 1.05rem !important;
      font-weight: 800 !important;
      pointer-events: none !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-caret {
      display: none !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-panel {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 0.55rem !important;
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      position: static !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      pointer-events: auto !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-panel--price {
      display: block !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-option,
    .collection-mvp__filter-bar.is-open .collection-mvp__sort-option {
      min-height: 3.05rem !important;
      padding: 0.72rem 0.72rem !important;
      border: 1px solid #eeeeee !important;
      border-radius: 0.42rem !important;
      background: #f5f5f5 !important;
      color: #222 !important;
      font-size: 0.9rem !important;
      font-weight: 600 !important;
      justify-content: flex-start !important;
      box-sizing: border-box !important;
    }

    .collection-mvp__filter-bar.is-open [data-fallback-filter-tag="kids-glasses"],
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-option[hidden] {
      display: none !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-option.is-active,
    .collection-mvp__filter-bar.is-open .collection-mvp__filter-option:has(input:checked) {
      border-color: #eee9ff !important;
      background: #f3f0ff !important;
      color: #4c3ff0 !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__filter-option--color {
      align-items: center !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__price-range {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 0.6rem !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__price-range input {
      width: 100% !important;
      min-height: 2.7rem !important;
      border: 1px solid #e5e5e5 !important;
      border-radius: 0.45rem !important;
      background: #f7f7f7 !important;
      box-sizing: border-box !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__price-apply {
      display: none !important;
    }

    .collection-mvp__filter-clear-link {
      display: none !important;
    }

    .collection-mvp__mobile-filter-actions {
      position: absolute !important;
      left: auto !important;
      right: 0 !important;
      bottom: 0 !important;
      width: min(86vw, 22rem) !important;
      max-width: 320px !important;
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 0.55rem !important;
      padding: 0.85rem 1rem 1rem !important;
      border-top: 1px solid #eeeeee !important;
      background: #ffffff !important;
      box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.06) !important;
      z-index: 10 !important;
      box-sizing: border-box !important;
      margin: 0 !important;
      transform: translateX(100%) !important;
      transition: transform 0.24s ease !important;
    }

    .collection-mvp__filter-bar.is-open .collection-mvp__mobile-filter-actions {
      transform: none !important;
    }

    .collection-mvp__mobile-filter-clear,
    .collection-mvp__mobile-filter-apply {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      min-height: 3rem !important;
      border-radius: 999px !important;
      font-size: 0.94rem !important;
      font-weight: 700 !important;
      margin: 0 !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    .collection-mvp__mobile-filter-clear {
      border: 1px solid #9c9c9c !important;
      background: #ffffff !important;
      color: #222 !important;
    }

    .collection-mvp__mobile-filter-apply {
      border: 1px solid #4c3ff0 !important;
      background: #4c3ff0 !important;
      color: #ffffff !important;
    }

    .collection-mvp__pagination-nav {
      justify-content: center;
      gap: 0.45rem;
    }

    .collection-mvp__pagination-link--arrow {
      min-width: 2.45rem;
      min-height: 2.45rem;
      font-size: 1.7rem;
    }

    .collection-mvp__pagination-link--number {
      min-width: 2.45rem;
      min-height: 2.45rem;
      padding: 0 0.5rem;
    }
  }

  @media (max-width: 420px) {
    .collection-mvp h1 {
      font-size: 2.35rem;
    }

    .collection-mvp__filter-row {
      padding: 0.85rem;
      gap: 0.85rem;
    }

    .collection-mvp__filter-trigger {
      padding: 0.75rem 0.85rem;
      font-size: 0.88rem;
    }

    .collection-mvp__pagination-link--number {
      min-width: 2.2rem;
      min-height: 2.2rem;
    }

    .collection-mvp__grid--3,
    .collection-mvp__grid--4 {
      gap: 0.65rem;
    }
  }
/* END_SECTION:collection */

/* START_SECTION:collections (INDEX:5) */
.collections {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--collection-card-size), 100%), 1fr));
    gap: var(--grid-gap);
  }
  .collections--compact {
    --collection-card-size: 160px;
  }
  .collections--full {
    --collection-card-size: 280px;
  }
  .collection-card {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
/* END_SECTION:collections */

/* START_SECTION:custom-section (INDEX:6) */
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
/* END_SECTION:custom-section */

/* START_SECTION:footer (INDEX:7) */
.site-footer {
    display: grid;
    gap: 0;
    margin-top: 4rem;
    background: transparent;
    color: #111111;
  }

  .site-footer a {
    color: inherit;
    text-decoration: none;
  }

  .site-footer__trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding: 1.1rem 2rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 1.35rem;
    background: transparent;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.04);
  }

  .site-footer__trust article {
    display: grid;
    gap: 0.3rem;
  }

  .site-footer__trust h3,
  .site-footer__trust p,
  .site-footer__brand p,
  .site-footer__contact p {
    margin: 0;
    line-height: 1.55;
  }

  .site-footer__trust h3 {
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.08em;
  }

  .site-footer__trust p {
    color: #5f6770;
    font-size: 0.94rem;
  }

  .site-footer__main,
  .site-footer__sub,
  .site-footer__payment {
    display: flex;
    align-items: flex-start;
  }

  .site-footer__main {
    justify-content: space-between;
    gap: 3rem;
    padding: 2.2rem 2.4rem;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 1.5rem;
    background: transparent;
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.05);
  }

  .site-footer__column {
    width: min(100%, 22rem);
  }

  .site-footer__column h2 {
    margin: 0 0 1.5rem;
    font-size: 1rem;
    font-weight: 800;
  }

  .site-footer__column nav {
    display: grid;
    gap: 0.95rem;
  }

  .site-footer__column nav a,
  .site-footer__contact p,
  .site-footer__contact a {
    font-size: 0.98rem;
    color: #30363b;
  }

  .site-footer__contact {
    display: grid;
    gap: 1rem;
  }

  .site-footer__company {
    font-size: 1.05rem;
    font-weight: 700;
  }

  .site-footer__sub {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1rem 2.5rem 1.5rem;
    border-top: 0;
  }

  .site-footer__brand {
    flex-direction: column;
    gap: 0.2rem;
    align-items: center;
  }

  .site-footer__brand p,
  .site-footer__brand p a {
    color: #6b7280;
    font-size: 0.88rem;
  }

  .site-footer__payment {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
  }

  .site-footer__payment svg {
    width: 1.85rem;
    height: auto;
    opacity: 0.78;
  }

  @media (max-width: 749px) {
    .site-footer {
      margin-top: 0;
      padding: 0 0 1.5rem;
      background: #0f0f10;
      color: #ffffff;
    }

    .site-footer__trust,
    .site-footer__main,
    .site-footer__sub {
      grid-template-columns: 1fr;
      flex-direction: column;
    }

    .site-footer__trust {
      display: none;
    }

    .site-footer__trust,
    .site-footer__main {
      padding-left: 0;
      padding-right: 0;
    }

    .site-footer__main {
      width: 100%;
      margin: 0;
      padding: 0;
      gap: 0;
      border: 0;
      border-radius: 0;
      background: #0f0f10;
      box-shadow: none;
      box-sizing: border-box;
    }

    .site-footer__column {
      width: 100%;
      max-width: none;
      padding: 1.5rem 1.1rem;
      border: none;
      border-radius: 0;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      background: #171718;
      box-sizing: border-box;
    }

    .site-footer__column h2 {
      margin-bottom: 0.85rem;
      font-size: 1.02rem;
      color: #ffffff;
    }

    .site-footer__column nav,
    .site-footer__contact {
      gap: 0.7rem;
    }

    .site-footer__column nav a {
      display: block;
      padding: 0.7rem 0.8rem;
      border-radius: 0.85rem;
      background: rgba(255, 255, 255, 0.06);
      color: #f5f5f4;
      font-size: 0.94rem;
      line-height: 1.35;
    }

    .site-footer__contact p,
    .site-footer__contact a {
      font-size: 0.92rem;
      line-height: 1.5;
      color: #d6d3d1;
    }

    .site-footer__sub {
      align-items: center;
      padding: 1rem;
      background: #0f0f10;
    }

    .site-footer__brand,
    .site-footer__payment {
      justify-content: center;
      align-items: center;
    }

    .site-footer__brand p,
    .site-footer__brand p a {
      color: #d6d3d1;
    }

    .site-footer__payment svg {
      opacity: 0.95;
      filter: grayscale(1) invert(1);
    }
  }
/* END_SECTION:footer */

/* START_SECTION:header (INDEX:9) */
.site-header {
    grid-column: 1 / -1;
    position: sticky;
    top: 0;
    z-index: 20;
    margin: 0;
    background: rgba(251, 249, 245, 0.94);
    border-bottom: 1px solid rgba(18, 18, 18, 0.06);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.03);
    backdrop-filter: blur(10px);
  }

  .site-header__announcement {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 1.9rem;
    padding: 0.36rem 1rem;
    background: #e9e2d7;
    color: #463b33;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
  }

  .site-header__announcement a,
  .site-header__announcement span {
    color: inherit;
    text-decoration: none;
  }

  .site-header__mobile-drawer {
    position: fixed;
    inset: 0;
    height: 100dvh;
    z-index: 35;
  }

    .site-header__mobile-search-panel {
      position: fixed;
      inset: 0;
      height: 100dvh;
      z-index: 38;
    }

    .site-header__mobile-search-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(17, 17, 17, 0.42);
    }

    .site-header__mobile-search-sheet {
      position: relative;
      width: 100%;
      height: 100%;
      background: #f3f2ef;
      overflow-y: auto;
    }

    .site-header__mobile-search-form {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 0.7rem;
      padding: 0.95rem 0.9rem 0.85rem;
      background: #ffffff;
      border-bottom: 1px solid rgba(18, 18, 18, 0.06);
    }

    .site-header__mobile-search-back {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.2rem;
      height: 2.2rem;
      border: 0;
      padding: 0;
      background: transparent;
    }

    .site-header__mobile-search-back-icon {
      width: 0.85rem;
      height: 0.85rem;
      border-left: 2px solid #111111;
      border-bottom: 2px solid #111111;
      transform: rotate(45deg);
    }

    .site-header__mobile-search-field {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      min-height: 3rem;
      padding: 0 0.9rem;
      border: 2px solid #5146f0;
      border-radius: 999px;
      background: #ffffff;
    }

    .site-header__mobile-search-field-icon {
      position: relative;
      display: block;
      width: 0.9rem;
      height: 0.9rem;
      border: 2px solid #111111;
      border-radius: 999px;
      box-sizing: border-box;
      flex: 0 0 auto;
    }

    .site-header__mobile-search-field-icon::after {
      content: '';
      position: absolute;
      right: -0.34rem;
      bottom: -0.28rem;
      width: 0.5rem;
      height: 2px;
      border-radius: 999px;
      background: #111111;
      transform: rotate(45deg);
    }

    .site-header__mobile-search-field input {
      width: 100%;
      min-width: 0;
      border: 0;
      padding: 0;
      background: transparent;
      color: #111111;
      font: inherit;
      font-size: 0.95rem;
    }

    .site-header__mobile-search-submit {
      min-width: 5.7rem;
      min-height: 3rem;
      border: 0;
      border-radius: 999px;
      background: #5146f0;
      color: #ffffff;
      font: inherit;
      font-size: 0.95rem;
      font-weight: 700;
    }

    .site-header__mobile-search-content {
      margin: 1rem;
      padding: 1.2rem;
      border-radius: 1.25rem;
      background: #ffffff;
    }

    .site-header__mobile-search-content h3,
    .site-header__mobile-search-content p,
    .site-header__mobile-search-content strong {
      margin: 0;
    }

    .site-header__mobile-search-content h3 {
      color: #171310;
      font-size: 1.1rem;
      font-weight: 780;
      margin-bottom: 1rem;
    }

    .site-header__mobile-search-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.7rem;
      margin-bottom: 1.2rem;
    }

    .site-header__mobile-search-tags button {
      border: 0;
      min-height: 2.35rem;
      padding: 0 1rem;
      border-radius: 999px;
      background: #f2f2f1;
      color: #2c2c2b;
      font: inherit;
      font-size: 0.9rem;
      font-weight: 650;
    }

    .site-header__mobile-search-tags button:first-child {
      border: 2px solid #5146f0;
      background: #ffffff;
      color: #5146f0;
    }

    .site-header__mobile-search-content p {
      color: #6b7280;
      font-size: 0.92rem;
      line-height: 1.6;
      text-align: center;
    }

    .site-header__mobile-search-content strong {
      display: block;
      margin-top: 0.25rem;
      color: #374151;
      font-size: 1.05rem;
      font-weight: 700;
      text-align: center;
    }

    body.mobile-search-open {
      overflow: hidden;
    }

  .site-header__mobile-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  .site-header__mobile-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    gap: 0;
    width: min(86vw, 23rem);
    height: 100dvh;
    max-height: 100dvh;
    padding: 0;
    background: #ffffff;
    box-shadow: 18px 0 42px rgba(17, 17, 17, 0.16);
    transform: translateX(-100%);
    transition: transform 180ms ease;
    overflow: hidden;
  }

  .site-header__mobile-panel-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
    background: #ffffff;
    overflow-y: auto;
  }

  .site-header__mobile-drawer.is-open .site-header__mobile-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .site-header__mobile-drawer.is-open .site-header__mobile-panel {
    transform: translateX(0);
  }

  .site-header__mobile-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4.35rem;
    padding: 0 1.2rem;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    color: #111111;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .site-header__mobile-close {
    width: 2.4rem;
    height: 2.4rem;
    border: 0;
    padding: 0;
    background: transparent;
    color: #111111;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
  }

  .site-header__mobile-menu {
    display: grid;
    gap: 0;
  }

  .site-header__mobile-group {
    display: grid;
    gap: 0;
  }

  .site-header__mobile-parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3.65rem;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
    background: #ffffff;
  }

  .site-header__mobile-parent-link {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-height: 3.65rem;
    padding: 0 1.2rem;
    color: #111111;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: none;
  }

  .site-header__mobile-parent-toggle {
    display: inline-flex;
    flex: 0 0 3.65rem;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    border: 0;
    border-left: 1px solid rgba(18, 18, 18, 0.08);
    background: transparent;
    color: #1f2937;
    cursor: pointer;
  }

  .site-header__mobile-parent-caret {
    min-width: 1rem;
    color: #1f2937;
    font-size: 1.35rem;
    line-height: 1;
    text-align: center;
  }

  .site-header__mobile-submenu {
    display: grid;
    gap: 0;
    margin-top: 0;
    padding: 0;
    background: #fafafa;
  }

  .site-header__mobile-menu--secondary {
    margin-top: auto;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
    background: #ffffff;
  }

  .site-header__mobile-menu a {
    display: flex;
    align-items: center;
    min-height: 3.65rem;
    padding: 0 1.2rem;
    border: 0;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
    background: #ffffff;
    color: #111111;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
  }

  .site-header__mobile-submenu a {
    min-height: 3.25rem;
    padding: 0 1.2rem 0 2.15rem;
    background: #fafafa;
    color: #222222;
    font-size: 0.96rem;
    font-weight: 600;
  }

  .site-header__nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    width: min(100%, 93rem);
    min-height: 4.15rem;
    margin: 0 auto;
    padding: 0 1.6rem;
    gap: 1.2rem;
  }

  .site-header__title {
    margin: 0;
    font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
    font-size: 1.06rem;
    font-weight: 600;
    letter-spacing: 0.28em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
  }

  .site-header__title a {
    color: #111111;
    text-decoration: none;
  }

  .site-header__mobile-toggle {
    display: none;
    grid-auto-rows: 2px;
    gap: 0.28rem;
    width: 2.2rem;
    height: 2.2rem;
    padding: 0;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    cursor: pointer;
    justify-items: center;
    align-content: center;
  }

    .site-header__mobile-left,
    .site-header__mobile-search {
      display: none;
    }

    .site-header__mobile-search {
      position: relative;
      align-items: center;
      justify-content: center;
      width: 2.2rem;
      height: 2.2rem;
      border: 1px solid rgba(18, 18, 18, 0.1);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.82);
    }

    .site-header__mobile-search-icon {
      position: relative;
      display: block;
      width: 0.92rem;
      height: 0.92rem;
      border: 2px solid #111111;
      border-radius: 999px;
      box-sizing: border-box;
    }

    .site-header__mobile-search-icon::after {
      content: '';
      position: absolute;
      right: -0.34rem;
      bottom: -0.28rem;
      width: 0.5rem;
      height: 2px;
      border-radius: 999px;
      background: #111111;
      transform: rotate(45deg);
      transform-origin: center;
    }

  .site-header__mobile-toggle span {
    display: block;
    width: 1.2rem;
    height: 2px;
    border-radius: 999px;
    background: #111111;
  }

  .site-header__menu,
  .site-header__right,
  .site-header__icons {
    display: flex;
    align-items: center;
    gap: 0.85rem;
  }

  .site-header__menu--primary {
    justify-content: flex-start;
    padding-left: 0;
    overflow: visible;
  }

  .site-header__right {
    justify-content: flex-end;
    padding-right: 0;
  }

  .site-header__menu-item {
    position: relative;
    display: flex;
    align-items: center;
  }

  .site-header__menu-item--mega {
    padding: 1.4rem 0;
    margin: -1.4rem 0;
  }

  .site-header__menu-item--mega::after {
    content: '';
    position: absolute;
    top: 100%;
    left: -1.35rem;
    width: min(54rem, calc(100vw - 3rem));
    height: 1rem;
  }

  .site-header__mega-menu {
    position: absolute;
    top: calc(100% + 0.1rem);
    left: -1.35rem;
    display: grid;
    grid-template-columns: 11.5rem minmax(0, 1fr);
    align-items: stretch;
    gap: 1.1rem;
    width: min(54rem, calc(100vw - 3rem));
    padding: 1rem;
    border: 1px solid rgba(18, 18, 18, 0.06);
    border-radius: 1.4rem;
    background: rgba(255, 253, 249, 0.98);
    box-shadow: 0 22px 52px rgba(15, 23, 42, 0.1);
    backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.35rem);
    pointer-events: none;
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    z-index: 30;
  }

  .site-header__menu-item--mega:hover .site-header__mega-menu,
  .site-header__menu-item--mega:focus-within .site-header__mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .site-header__mega-links {
    display: grid;
    grid-template-rows: auto repeat(4, minmax(0, 1fr));
    align-content: stretch;
    gap: 0;
    padding: 0.45rem 0.35rem;
    min-height: 100%;
  }

  .site-header__mega-links p {
    margin: 0 0 0.35rem;
    color: #7a6e61;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }

  .site-header__mega-links a {
    display: flex;
    align-items: center;
    min-height: 2.65rem;
    padding: 0 0.75rem;
    border-radius: 999px;
    color: #40372f;
    font-size: 0.91rem;
    font-weight: 500;
    line-height: 1.2;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
  }

  .site-header__mega-links a:hover {
    background: rgba(70, 59, 51, 0.05);
    color: #111111;
    text-decoration: none;
    transform: translateX(0.08rem);
  }

  .site-header__mega-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
  }

  .site-header__mega-card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) 3.9rem;
    gap: 0.55rem;
    height: 100%;
    padding: 0.35rem;
    border: 1px solid rgba(18, 18, 18, 0.04);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.5);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  }

  .site-header__mega-card-media {
    position: relative;
    overflow: hidden;
    border-radius: 0.82rem;
    background: #f3efe8;
  }

  .site-header__mega-card-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 360ms ease;
  }

  .site-header__mega-card-slide.is-active {
    opacity: 1;
  }

  .site-header__mega-card img,
  .site-header__mega-card-image {
    display: block;
    width: 100%;
    aspect-ratio: 0.92;
    object-fit: cover;
    height: 100%;
  }

  .site-header__mega-card strong {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.9rem;
    padding: 0 0.3rem;
    color: #2f2924;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.32;
    text-align: center;
  }

  .site-header__mega-card:hover {
    transform: translateY(-0.08rem);
    border-color: rgba(18, 18, 18, 0.08);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
  }

  .site-header__menu--secondary {
    justify-content: flex-end;
  }

  .site-header a {
    position: relative;
    color: #202020;
    text-decoration: none;
  }

  .site-header__menu a {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .site-header__menu > a,
  .site-header__menu-item > a,
  .site-header__menu--secondary > a {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    color: #51463c;
    transition: color 160ms ease;
  }

  .site-header__menu > a::after,
  .site-header__menu-item > a::after,
  .site-header__menu--secondary > a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0.3rem;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 180ms ease;
    opacity: 0.65;
  }

  .site-header__menu > a:hover,
  .site-header__menu-item > a:hover,
  .site-header__menu--secondary > a:hover,
  .site-header__menu-item--mega:hover > a,
  .site-header__menu-item--mega:focus-within > a {
    color: #111111;
    text-decoration: none;
  }

  .site-header__menu > a:hover::after,
  .site-header__menu-item > a:hover::after,
  .site-header__menu--secondary > a:hover::after,
  .site-header__menu-item--mega:hover > a::after,
  .site-header__menu-item--mega:focus-within > a::after {
    transform: scaleX(1);
  }

  .site-header__menu .site-header__quiz-link {
    border-radius: 999px;
    min-height: 2.25rem;
    padding: 0.46rem 0.88rem;
    border: 1px solid rgba(70, 59, 51, 0.14);
    background: rgba(255, 255, 255, 0.55);
    color: #2f2924;
    text-decoration: none;
    box-shadow: none;
  }

  .site-header__menu .site-header__quiz-link::after {
    display: none;
  }

  .site-header__icons {
    gap: 0.65rem;
  }

  .site-header__icons a,
  .site-header__icons shopify-account {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: #3c342d;
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
  }

  .site-header__icons a:hover,
  .site-header__icons shopify-account:hover {
    transform: translateY(-0.05rem);
    border-color: rgba(18, 18, 18, 0.12);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
  }

  .site-header svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .site-header__favorites-icon {
    font-size: 1.2rem;
    line-height: 1;
  }

  .site-header sup {
    position: absolute;
    top: -0.55rem;
    right: -0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1rem;
    height: 1rem;
    border-radius: 999px;
    background: #7f6b5d;
    color: #ffffff;
    font-size: 0.65rem;
    line-height: 1;
  }

  @media (max-width: 900px) {
    .site-header__nav {
      grid-template-columns: auto minmax(0, 1fr) auto;
      min-height: auto;
      padding: 0.7rem 0.95rem;
      gap: 0.85rem;
      width: 100%;
    }

      .site-header__mobile-left {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        order: 1;
        justify-self: start;
      }

    .site-header__title {
      order: 2;
      justify-self: center;
      font-size: 1.15rem;
      font-weight: 500;
      letter-spacing: 0.15em;
      font-family: "Iowan Old Style", "Baskerville", "Playfair Display", "Times New Roman", serif;
    }

    .site-header__right {
      order: 3;
    }

    .site-header__menu--primary {
      display: none;
    }

    .site-header__mobile-toggle {
      display: grid;
      width: 2.2rem;
      height: 2.2rem;
    }

    .site-header__mobile-toggle span {
      width: 1rem;
    }

      .site-header__mobile-search {
        display: inline-flex;
        width: 2.2rem;
        height: 2.2rem;
        background: rgba(255, 255, 255, 0.72);
        box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
      }

      .site-header__mobile-search-icon {
        width: 0.85rem;
        height: 0.85rem;
      }

    .site-header__icons {
      gap: 0.45rem;
    }

    .site-header__icons a,
    .site-header__icons shopify-account {
      width: 2.2rem;
      height: 2.2rem;
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
    }

    .site-header svg {
      width: 0.95rem;
      height: 0.95rem;
    }

    .site-header__favorites-icon {
      font-size: 1.05rem;
    }

      .site-header__favorites {
        display: none !important;
      }

    .site-header sup {
      top: -0.32rem;
      right: -0.32rem;
      min-width: 0.92rem;
      height: 0.92rem;
      font-size: 0.58rem;
    }

    .site-header__menu--secondary {
      display: none;
    }

    .site-header__mega-menu {
      display: none;
    }
  }

  @media (min-width: 901px) {
    .site-header__mobile-drawer {
      display: none !important;
    }
  }

  .site-header__mobile-submenu[hidden] {
    display: none !important;
  }
/* END_SECTION:header */

/* START_SECTION:info-page (INDEX:10) */
.info-page {
    display: grid;
    gap: 2rem;
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 2vw, 2rem) 5rem;
    background: #ffffff;
    color: #111111;
  }

  .info-page__hero {
    max-width: 62rem;
  }

  .info-page__hero > p {
    margin: 0 0 0.8rem;
    color: #5d6670;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .info-page h1 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(3rem, 7vw, 6.5rem);
    font-weight: 500;
    letter-spacing: -0.06em;
    line-height: 0.9;
  }

  .info-page__lede {
    max-width: 48rem;
    margin-top: 1.1rem;
    color: #4f565d;
    font-size: 1.05rem;
    line-height: 1.7;
  }

  .info-page__content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .info-page--privacy-policy .info-page__content,
  .info-page--terms-of-service .info-page__content {
    grid-template-columns: 1fr;
    max-width: 64rem;
  }

  .info-page__card,
  .info-page__detail {
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 1.1rem;
    padding: 1.25rem;
    background: #fbfaf7;
  }

  .info-page__card h2,
  .info-page__detail summary {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.1;
  }

  .info-page__card p,
  .info-page__detail p,
  .info-page__card li {
    margin: 0.85rem 0 0;
    color: #4f565d;
    line-height: 1.65;
  }

  .info-page__card :where(h2, h3) {
    margin: 1.6rem 0 0.75rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 500;
    letter-spacing: -0.03em;
  }

  .info-page__card :first-child {
    margin-top: 0;
  }

  .info-page__detail {
    grid-column: 1 / -1;
  }

  .info-page__detail summary {
    cursor: pointer;
    list-style: none;
  }

  .info-page__detail summary::-webkit-details-marker {
    display: none;
  }

  .info-page__cta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    max-width: 38rem;
  }

  .info-page__policy-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .info-page__policy-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.6rem;
    border: 1px solid rgba(18, 18, 18, 0.12);
    border-radius: 999px;
    padding: 0.65rem 1rem;
    color: #111111;
    text-decoration: none;
    background: #ffffff;
    font-size: 0.92rem;
    font-weight: 700;
  }

  .info-page__cta a {
    display: flex;
    min-height: 3.7rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(23, 19, 16, 0.16);
    border-radius: 0.9rem;
    padding: 0.95rem 1.4rem;
    background: #faf7f2;
    color: #171310;
    font-size: 1.14rem;
    letter-spacing: -0.015em;
    font-weight: 700;
    text-decoration: none;
    transition:
      background-color 180ms ease,
      border-color 180ms ease,
      color 180ms ease;
  }

  .info-page__cta a:first-child {
    border-color: #171310;
    background: #171310;
    color: #ffffff;
  }

  .info-page__cta a + a {
    color: #171310;
  }

  .info-page__cta a:hover {
    border-color: rgba(23, 19, 16, 0.32);
    background: #f3eee6;
    color: #171310;
  }

  .info-page__cta a:first-child:hover {
    border-color: #171310;
    background: #24201b;
    color: #ffffff;
  }

  @media (max-width: 900px) {
    .info-page__content {
      grid-template-columns: 1fr;
    }

    .info-page__cta {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:info-page */

/* START_SECTION:page (INDEX:11) */
.page-content {
    width: min(72rem, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4rem) 0 5rem;
  }

  .page-content h1 {
    margin: 0 0 1.5rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 500;
    letter-spacing: -0.04em;
  }

  .page-content :where(p, li) {
    color: #4f565d;
    line-height: 1.7;
  }

  .page-content :where(h2, h3) {
    margin: 2rem 0 0.8rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 500;
    letter-spacing: -0.03em;
  }

  .info-page {
    width: min(1280px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(2.4rem, 4.5vw, 4rem) clamp(1rem, 2.4vw, 2.25rem) 5rem;
    background: #ffffff;
    color: #111111;
  }

  .info-page__shell {
    display: grid;
    gap: 1.75rem;
    width: min(66rem, 100%);
    margin: 0 auto;
  }

  .info-page__hero {
    display: grid;
    gap: 0.5rem;
  }

  .info-page__eyebrow {
    margin: 0;
    color: #6a6f77;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .info-page__hero-card {
    display: block;
    padding: 0 0 1.5rem;
    border: 0;
    border-bottom: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .info-page__hero-copy {
    max-width: 40rem;
  }

  .info-page h1 {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.8rem, 5vw, 4.25rem);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1;
  }

  .info-page__lede {
    max-width: 39rem;
    margin-top: 0.9rem;
    color: #525860;
    font-size: 0.98rem;
    line-height: 1.7;
  }

  .info-page__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
    grid-auto-rows: 1fr;
  }

  .info-page__content--single {
    grid-template-columns: 1fr;
    max-width: 72rem;
  }

  .info-page__policy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: stretch;
    grid-auto-rows: 1fr;
  }

  .info-page__policy-card {
    display: grid;
    gap: 0.75rem;
    height: 100%;
    min-height: 0;
    padding: 1.2rem 0 0;
    border: 0;
    border-top: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-decoration: none;
    transition:
      color 180ms ease,
      opacity 180ms ease;
  }

  .info-page__policy-card:hover {
    color: #171310;
    opacity: 0.8;
  }

  .info-page__policy-card span {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.08;
  }

  .info-page__policy-card p {
    margin: 0;
  }

  .info-page__card,
  .info-page__detail {
    border: 0;
    border-top: 1px solid rgba(18, 18, 18, 0.05);
    border-radius: 0;
    padding: 1.35rem 0 0;
    background: transparent;
    box-shadow: none;
  }

  .info-page__card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .info-page__card h2,
  .info-page__detail h2,
  .info-page__detail summary {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.18;
  }

  .info-page__card :where(h2, h3) {
    margin: 1.6rem 0 0.75rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 500;
    letter-spacing: -0.03em;
  }

  .info-page__card :first-child {
    margin-top: 0;
  }

  .info-page__card p,
  .info-page__detail p,
  .info-page__card li {
    margin: 0.85rem 0 0;
    color: #4f565d;
    line-height: 1.65;
  }

  .info-page__detail {
    grid-column: 1 / -1;
    background: transparent;
  }

  .info-page__cta,
  .info-page__policy-nav {
    display: grid;
    gap: 0.6rem 1.4rem;
  }

  .info-page__policy-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(18, 18, 18, 0.06);
  }

  .info-page__policy-nav a,
  .info-page__cta a {
    display: flex;
    align-items: center;
    border-radius: 0;
    text-decoration: none;
    font-weight: 600;
  }

  .info-page__policy-nav a {
    justify-content: flex-start;
    justify-self: start;
    width: fit-content;
    min-height: auto;
    padding: 0.15rem 0 0.3rem;
    border: 0;
    background: transparent;
    color: #4f555d;
    font-size: 0.92rem;
    line-height: 1.25;
    text-align: left;
    box-shadow: none;
    transition:
      color 180ms ease,
      border-color 180ms ease;
  }

  .info-page__policy-nav a.is-active {
    border-bottom: 1px solid rgba(23, 19, 16, 0.58);
    padding-bottom: calc(0.3rem - 1px);
    background: transparent;
    color: #171310;
    font-weight: 700;
  }

  .info-page__policy-nav a:hover {
    color: #171310;
  }

  .info-page__cta a {
    justify-content: center;
    min-height: 3.7rem;
    padding: 0.95rem 1.4rem;
    border: 1px solid rgba(23, 19, 16, 0.16);
    border-radius: 0.9rem;
    background: #faf7f2;
    color: #171310;
    gap: 0;
    font-size: 1.14rem;
    font-weight: 700;
    letter-spacing: -0.015em;
    transition:
      background-color 180ms ease,
      border-color 180ms ease,
      color 180ms ease,
      opacity 180ms ease;
  }

  .info-page__cta a:first-child {
    border-color: #171310;
    background: #171310;
    color: #ffffff;
  }

  .info-page__cta a + a {
    color: #171310;
  }

  .info-page__cta a:hover {
    opacity: 1;
    border-color: rgba(23, 19, 16, 0.32);
    background: #f3eee6;
  }

  .info-page__cta a:first-child:hover {
    border-color: #171310;
    background: #24201b;
  }

  .info-page__cta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 38rem;
    justify-content: start;
    align-items: center;
    gap: 0.9rem;
    padding-top: 0.2rem;
  }

  @media (max-width: 1100px) {
    .info-page__policy-nav {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 900px) {
    .info-page__policy-grid,
    .info-page__content {
      grid-template-columns: 1fr;
    }

    .info-page__cta {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 749px) {
    .info-page {
      padding-bottom: 4rem;
    }

    .info-page__shell {
      gap: 1rem;
    }

    .info-page h1 {
      font-size: clamp(2.3rem, 10vw, 3.15rem);
    }

    .info-page__lede {
      font-size: 0.95rem;
    }

    .info-page__policy-nav {
      grid-template-columns: 1fr;
    }

    .info-page__policy-card {
      padding-top: 1rem;
    }

    .info-page__policy-card span {
      font-size: 1.35rem;
    }

    .info-page__card,
    .info-page__detail {
      padding-top: 1rem;
    }

    .info-page__cta {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:page */

/* START_SECTION:product (INDEX:13) */
.product-page {
    --product-hero-height: clamp(31rem, 39vw, 35rem);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 26rem;
    gap: 1.35rem;
    justify-content: stretch;
    align-items: stretch;
    min-height: auto;
    width: 100%;
    max-width: 88rem;
    margin: 0 auto;
    padding: 1rem 2.5rem 0;
    background: #ffffff;
    color: #111111;
  }

  .product-page__viewer {
    display: flex;
    min-width: 0;
    justify-content: stretch;
    background: transparent;
    position: relative;
    overflow: visible;
    z-index: 8;
  }

  .product-page__thumbs {
    position: static;
    z-index: 2;
    display: grid;
    gap: 0.85rem;
    grid-column: 1;
    grid-row: 1 / span 2;
    height: 100%;
    align-content: start;
  }

  .product-page__thumb {
    cursor: pointer;
    overflow: hidden;
    width: 5.0rem;
    height: 5.0rem;
    border: 1px solid rgba(39, 31, 23, 0.08);
    border-radius: 1rem;
    padding: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7f2ec 100%);
    box-shadow: 0 14px 28px rgba(28, 20, 12, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }

  .product-page__thumb.is-active {
    border-color: rgba(87, 69, 54, 0.32);
    box-shadow: 0 16px 32px rgba(28, 20, 12, 0.14), 0 0 0 1px rgba(87, 69, 54, 0.16);
    transform: translateY(-1px);
  }

  .product-page__thumb.is-switching {
    animation: satisvision-thumb-pop 520ms cubic-bezier(0.2, 0.75, 0.2, 1);
  }

  .product-page__thumb:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(28, 20, 12, 0.14);
  }

  .product-page__thumb-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product-page__viewer-badge {
    position: static;
    z-index: 3;
    width: 5.0rem;
    min-height: 5.0rem;
    border: 1px solid rgba(39, 31, 23, 0.08);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7f2ec 100%);
    color: #7f7368;
    font-size: 1.0rem;
    font-weight: 700;
    cursor: pointer;
    padding: 0.5rem;
    box-shadow: 0 14px 28px rgba(28, 20, 12, 0.08);
  }

  .product-page__stage {
    position: sticky;
    top: 0;
    overflow: visible;
    width: 100%;
    height: var(--product-hero-height);
    display: grid;
    grid-template-columns: 5.0rem minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 0.7rem;
    row-gap: 0.7rem;
    align-items: start;
    max-width: none;
    margin: 0;
    padding-left: 0;
    background: transparent;
  }

  .product-page__stage.is-loading .product-page__thumbs,
  .product-page__stage.is-loading .product-page__slide.is-active {
    opacity: 0.72;
    transition: opacity 180ms ease;
  }

  .product-page__slide {
    display: none;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(39, 31, 23, 0.05);
    border-radius: 1.5rem;
    background: #ffffff;
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: stretch;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(28, 20, 12, 0.06);
  }

  .product-page__slide.is-active {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .product-page__slide.is-entering {
    animation: satisvision-gallery-reveal 560ms cubic-bezier(0.2, 0.75, 0.2, 1);
  }

  .product-page__zoom-lens {
    position: absolute;
    z-index: 4;
    width: 7rem;
    height: 7rem;
    border: 1px solid rgba(99, 91, 255, 0.45);
    background: rgba(99, 91, 255, 0.12);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.72);
    pointer-events: none;
  }

  .product-page__zoom-panel {
    position: absolute;
    top: 0;
    left: calc(100% + 1.35rem);
    z-index: 6;
    width: 26rem;
    height: 100%;
    border: 1px solid rgba(39, 31, 23, 0.05);
    border-radius: 1.4rem;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 20px 42px rgba(28, 20, 12, 0.1);
  }

  .product-page__zoom-image {
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: 220%;
  }

  .product-page__gallery-loading {
    position: absolute;
    inset: 0 0 0 5.7rem;
    z-index: 30;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.48);
    opacity: 0;
    pointer-events: none;
    transform: translateZ(0);
    transition: opacity 220ms ease;
    backdrop-filter: blur(3.5px) saturate(1.02);
  }

  .product-page__stage.is-loading .product-page__gallery-loading {
    opacity: 1;
  }

  .product-page__gallery-loading span {
    position: absolute;
    left: 50%;
    top: 50%;
    display: inline-flex;
    align-items: center;
    transform: translate(-50%, -50%);
    z-index: 2;
    background-image: linear-gradient(100deg, #201a16 0%, #2f261f 28%, #b99b64 43%, #fff2cf 50%, #b99b64 57%, #2f261f 72%, #201a16 100%);
    background-size: 260% 100%;
    background-position: 120% 50%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    font-family: 'Iowan Old Style', 'Baskerville', 'Big Caslon', 'Palatino Linotype', Garamond, serif;
    font-size: clamp(1rem, 1.95vw, 1.72rem);
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    line-height: 1.02;
    font-feature-settings: 'liga' 1, 'dlig' 1, 'kern' 1;
    text-shadow: none;
    opacity: 0;
    filter: drop-shadow(0 14px 30px rgba(45, 34, 25, 0.12));
  }

  .product-page__stage.is-loading .product-page__gallery-loading span {
    animation:
      satisvision-brand-fade 720ms cubic-bezier(0.2, 0.75, 0.2, 1) both,
      satisvision-letter-shimmer 1.18s cubic-bezier(0.22, 0.65, 0.28, 1) infinite;
  }

  .product-page__gallery-loading span::before,
  .product-page__gallery-loading span::after {
    content: '';
    display: none;
  }

  .product-page__mobile-counter {
    display: none;
  }

  @keyframes satisvision-gallery-reveal {
    from {
      opacity: 0;
      filter: blur(8px);
      transform: translateY(10px) scale(0.985);
    }

    to {
      opacity: 1;
      filter: blur(0);
      transform: translateY(0) scale(1);
    }
  }

  @keyframes satisvision-brand-fade {
    0% {
      opacity: 0;
      filter: blur(8px);
      transform: translate(-50%, -45%) scale(0.96);
    }

    24%,
    72% {
      opacity: 1;
      filter: blur(0);
      transform: translate(-50%, -50%) scale(1);
    }

    100% {
      opacity: 0;
      filter: blur(7px);
      transform: translate(-50%, -54%) scale(1.02);
    }
  }

  @keyframes satisvision-letter-shimmer {
    from {
      background-position: 120% 50%;
    }

    to {
      background-position: -120% 50%;
    }
  }

  @keyframes satisvision-thumb-pop {
    0% {
      transform: translateY(0) scale(1);
    }

    48% {
      transform: translateY(-3px) scale(1.035);
    }

    100% {
      transform: translateY(-1px) scale(1);
    }
  }

  .product-page__image {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    object-position: center center;
    padding: 0;
    transform: scale(1.06);
    transform-origin: center center;
  }


  .product-page__slide--grid .product-page__image {
    object-fit: contain;
    object-position: center center;
    padding: 0;
    background: #ffffff;
    transform: scale(1.03);
  }

  .product-page__slide--fallback {
    align-items: flex-end;
    padding: 1.5rem;
    background:
      radial-gradient(circle at 72% 30%, rgba(240, 218, 112, 0.88), transparent 0 6rem, transparent 6.1rem),
      linear-gradient(180deg, #d8e4b3 0%, #9faf76 100%);
  }

  .product-page__slide--fallback span {
    max-width: 10ch;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 900;
    letter-spacing: -0.07em;
    line-height: 0.9;
    text-transform: uppercase;
  }

  .product-page__details {
    position: sticky;
    top: 0;
    min-height: var(--product-hero-height);
    border-left: 0;
    background: transparent;
    padding: 0;
    z-index: 1;
  }

  .product-page__buy-box {
    display: grid;
    align-content: start;
    gap: 1rem;
    min-height: var(--product-hero-height);
    padding: 1.35rem 1.35rem 1.2rem;
    border: 1px solid rgba(39, 31, 23, 0.08);
    border-radius: 1.5rem;
    background:
      radial-gradient(circle at top right, rgba(246, 237, 227, 0.92), transparent 0 13rem),
      linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 246, 240, 0.98) 100%);
    box-shadow: 0 24px 56px rgba(28, 20, 12, 0.09);
    backdrop-filter: blur(10px);
  }

  .product-page__header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }

  .product-page__title-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
  }

  .product-page h1 {
    margin: 0;
    color: #111111;
      font-family: var(--sv-font-sans);
      font-size: 2.18rem;
      font-weight: 750;
      letter-spacing: -0.045em;
      line-height: 1.02;
  }

  .product-page__price {
    margin: 0;
    color: #1a1612;
    font-size: 2.78rem;
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.92;
    white-space: nowrap;
  }

  .product-page__badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    border-radius: 999px;
    padding: 0 0.55rem;
    background: rgba(245, 237, 229, 0.92);
    border: 1px solid rgba(111, 94, 82, 0.16);
    color: #6f5e52;
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
  }

  .product-page__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
  }

  .product-page__action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(39, 31, 23, 0.1);
    border-radius: 999px;
    padding: 0;
    background: rgba(255, 255, 255, 0.9);
    color: #3b342d;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(28, 20, 12, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }

  .product-page__action-button.is-active {
    border-color: rgba(111, 94, 82, 0.24);
    color: #111111;
    background: #f3ece4;
  }

  .product-page__action-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(28, 20, 12, 0.12);
  }

  .product-page__reviews {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.05rem 0 1rem;
    border-bottom: 1px solid rgba(39, 31, 23, 0.08);
    color: #696159;
    font-size: 0.88rem;
  }

  .product-page__reviews a {
    color: #555555;
    text-decoration: none;
  }

  .product-page__stars {
    color: #111111;
    font-size: 0.86rem;
    letter-spacing: 0.12em;
  }

  .product-page__label {
    color: #6b6259;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.02em;
  }

  .product-page__size-row,
  .product-page__color-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
  }

  .product-page__size-row {
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(39, 31, 23, 0.08);
  }

  .product-page__color-row {
    justify-content: space-between;
  }

  .product-page__color-row > div {
    min-width: 0;
  }

  .product-page__size-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.85rem;
    min-height: 1.85rem;
    padding: 0 0.5rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #261e18 0%, #4a3a2f 100%);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
  }

  .product-page__size-row a,
  .product-page__service-row a {
    color: #6f5e52;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.03em;
  }

  .product-page__stock {
    color: #43a047;
    font-size: 0.84rem;
    font-weight: 600;
    letter-spacing: 0.02em;
  }

  .product-page__stock.is-hidden {
    display: none;
  }

  .product-page__swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: -0.1rem;
    padding-bottom: 0.95rem;
    border-bottom: 1px solid rgba(39, 31, 23, 0.08);
  }

  .product-page__swatch {
    width: 1.45rem;
    height: 1.45rem;
    border: 2px solid #ffffff;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(39, 31, 23, 0.22), 0 8px 18px rgba(28, 20, 12, 0.08);
    background: var(--swatch-background);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-decoration: none;
  }

  .product-page__swatch.is-active {
    box-shadow: 0 0 0 2px #6f5e52, 0 10px 20px rgba(28, 20, 12, 0.12);
  }

  .product-page__select-lenses {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.2rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #1f1813 0%, #4a382c 100%);
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 18px 36px rgba(33, 23, 16, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  }

  .product-page__button-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
    gap: 0.75rem;
  }

  .product-page__mobile-favorite {
    display: none;
  }

  .product-page__cart-status {
    min-height: 1.35rem;
    margin: -0.3rem 0 0;
    color: #c0372b;
    font-size: 0.88rem;
    line-height: 1.5;
  }

  .product-page__cart-status.is-success {
    color: #277246;
  }

  .product-page__frame-only-form {
    margin: 0;
  }

  .product-page__frame-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.2rem;
    border: 1px solid rgba(39, 31, 23, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #2d2722;
    font: inherit;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  }

  .product-page__select-lenses:hover,
  .product-page__frame-only:hover {
    transform: translateY(-1px);
  }

  .product-page__select-lenses:hover {
    box-shadow: 0 22px 40px rgba(33, 23, 16, 0.24);
    filter: saturate(1.03);
  }

  .product-page__frame-only:hover {
    background: #fffaf5;
    box-shadow: 0 14px 30px rgba(28, 20, 12, 0.1);
  }

  .product-page__service-row {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 1rem 1rem 0.1rem;
    border: 1px solid rgba(39, 31, 23, 0.08);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.78);
    color: #666666;
  }

  .product-page__service-row span {
    position: relative;
    padding-left: 1.5rem;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
  }

  .product-page__service-row span::before {
    content: '';
    position: absolute;
    top: 0.22rem;
    left: 0;
    width: 0.8rem;
    height: 0.8rem;
    border: 1px solid rgba(18, 18, 18, 0.18);
    border-radius: 999px;
  }

  .product-mobile-sections,
  .product-recommendations__mobile-title {
    display: none;
  }

  .product-tabs {
    width: 100%;
    max-width: 88rem;
    margin: 2rem auto 0;
    padding: 0 2.5rem 3rem;
    background: #ffffff;
    color: #111111;
  }

  .product-tabs__inner {
    border-top: 1px solid rgba(18, 18, 18, 0.08);
  }

  .product-tabs__nav {
    display: flex;
    justify-content: center;
    gap: 2.4rem;
    align-items: center;
    border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    overflow-x: auto;
  }

  .product-tabs__button {
    position: relative;
    border: 0;
    background: transparent;
    color: #4d4d4d;
    font-size: 1rem;
    font-weight: 600;
    padding: 1.1rem 0 1rem;
    cursor: pointer;
    white-space: nowrap;
  }

  .product-tabs__button.is-active {
    color: #111111;
  }

  .product-tabs__button.is-active::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #111111;
  }

  .product-tabs__panel {
    padding: 1.7rem 0 0;
  }

  .product-tabs__copy {
    display: grid;
    gap: 0.85rem;
    max-width: 75rem;
    color: #4f565d;
    line-height: 1.7;
  }

  .product-tabs__copy > * {
    margin: 0;
  }

  .product-tabs__copy h2 {
    color: #111111;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.25;
  }

  .product-tabs__copy h3 {
    padding-top: 0.4rem;
    color: #5d6670;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  .product-tabs__copy p {
    padding: 1rem 1.1rem;
    background: #ffffff;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
  }

  .product-tabs__copy ul,
  .product-tabs__copy ol {
    display: grid;
    gap: 0.7rem;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .product-tabs__copy li {
    position: relative;
    padding: 0.95rem 1rem 0.95rem 2.4rem;
    background: #ffffff;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 0;
  }

  .product-tabs__copy li::before {
    content: '';
    position: absolute;
    top: 1.28rem;
    left: 1rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: #111111;
  }

  .product-tabs__copy a {
    color: #2082c3;
    text-decoration: underline;
    text-underline-offset: 0.16rem;
  }

  .product-tabs__copy strong {
    color: #111111;
  }

  .product-tabs__copy--description {
    gap: 0.5rem;
    line-height: 1.5;
  }

  .product-tabs__copy--description p {
    padding: 0.7rem 0;
    background: transparent;
    border: 0;
  }

  .product-tabs__copy--description ul,
  .product-tabs__copy--description ol {
    gap: 0.35rem;
    padding-left: 1.2rem;
    list-style: disc;
  }

  .product-tabs__copy--description li {
    position: static;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .product-tabs__copy--description li::before {
    display: none;
  }

  .product-tabs__details-card {
    padding: 1.7rem 1.8rem;
    background: #f6f6f6;
  }

  .product-tabs__details-grid {
    display: grid;
    grid-template-columns: minmax(20rem, 27rem) minmax(18rem, 24rem);
    justify-content: center;
    gap: 1.5rem 1.75rem;
    align-items: start;
  }

  .product-tabs__details-column {
    display: grid;
    gap: 0.72rem;
    padding-top: 1.1rem;
  }

  .product-tabs__detail-row {
    display: grid;
    grid-template-columns: minmax(6.8rem, 7.6rem) minmax(0, 1fr);
    gap: 0.68rem;
    align-items: baseline;
  }

  .product-tabs__detail-row span {
    color: #4c4946;
    font-size: 0.96rem;
    font-weight: 400;
    line-height: 1.45;
  }

  .product-tabs__detail-row strong {
    color: #4c4946;
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.45;
  }

  .product-tabs__details-diagram {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    min-height: 100%;
  }

  .product-tabs__diagram-frame {
    position: relative;
    width: 100%;
    max-width: 24rem;
  }

  .product-tabs__diagram-image {
    display: block;
    width: 100%;
    height: auto;
  }

  .product-tabs__diagram-value {
    position: absolute;
    color: #6f6a67;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.01em;
    white-space: nowrap;
    text-align: right;
    transform: translate(-100%, -50%);
  }

  .product-tabs__diagram-value--overall {
    top: 8.0%;
    left: 50.0%;
  }

  .product-tabs__diagram-value--lens {
    top: 32.8%;
    left: 28.9%;
  }

  .product-tabs__diagram-value--bridge {
    top: 46.1%;
    left: 49.4%;
  }

  .product-tabs__diagram-value--temple {
    top: 97.1%;
    left: 48.4%;
  }

  .product-tabs__reviews {
    color: #252525;
  }

  .product-tabs__review-overview {
    display: grid;
    grid-template-columns: minmax(12rem, 0.7fr) minmax(18rem, 1fr) minmax(18rem, 1fr);
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1.2rem;
    padding: clamp(1rem, 2.5vw, 1.35rem);
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 1.1rem;
    background: #ffffff;
  }

  .product-tabs__review-average,
  .product-tabs__review-breakdown,
  .product-tabs__review-metrics {
    border: 1px solid rgba(18, 18, 18, 0.07);
    border-radius: 0.85rem;
    background: #fbfbfb;
    box-shadow: none;
  }

  .product-tabs__review-average {
    display: grid;
    align-content: center;
    min-height: 12rem;
    padding: 1.35rem;
    background: #2f251f;
  }

  .product-tabs__review-average > span {
    color: rgba(255, 247, 235, 0.72);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .product-tabs__review-average strong {
    display: block;
    margin-top: 0.7rem;
    color: #fff7eb;
    font-size: clamp(3.2rem, 5.5vw, 4.7rem);
    font-weight: 760;
    letter-spacing: -0.06em;
    line-height: 0.95;
  }

  .product-tabs__review-average small,
  .product-tabs__review-stars {
    display: inline-block;
    margin-top: 0.8rem;
    color: #caa06b;
    font-size: 1.05rem;
    letter-spacing: 0.12em;
    line-height: 1;
  }

  .product-tabs__review-breakdown,
  .product-tabs__review-metrics {
    display: grid;
    gap: 0.7rem;
    align-content: center;
    padding: 1.25rem;
  }

  .product-tabs__review-bar,
  .product-tabs__review-metrics div {
    display: grid;
    grid-template-columns: 4.8rem minmax(8rem, 1fr) 2.2rem;
    gap: 0.75rem;
    align-items: center;
    color: #45392f;
    font-size: 0.88rem;
  }

  .product-tabs__review-bar i,
  .product-tabs__review-metrics i {
    overflow: hidden;
    height: 0.42rem;
    border-radius: 999px;
    background: #ece1d5;
  }

  .product-tabs__review-bar b,
  .product-tabs__review-metrics b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #6a4a31;
  }

  .product-tabs__review-metrics h3 {
    margin: 0 0 1.1rem;
    color: #2f251f;
    font-size: 1.28rem;
    font-weight: 760;
    letter-spacing: -0.03em;
  }

  .product-tabs__review-metrics b {
    background: #b69a72;
  }

  .product-tabs__review-metrics strong,
  .product-tabs__review-bar em {
    color: #2f2f2f;
    font-style: normal;
    font-weight: 640;
  }

  .product-tabs__review-toolbar {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    margin: 0.6rem 0 1rem;
    padding: 0.55rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 999px;
    background: #ffffff;
  }

  .product-tabs__review-tabs {
    display: flex;
    gap: 2.8rem;
  }

  .product-tabs__review-tabs button {
    position: relative;
    cursor: pointer;
    border: 0;
    border-radius: 999px;
    padding: 0.62rem 1.05rem;
    background: #f6f6f6;
    color: #3a3028;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 680;
    box-shadow: none;
  }

  .product-tabs__review-tabs button.is-active {
    color: #2f251f;
  }

  .product-tabs__review-sort {
    display: inline-flex;
    gap: 0.7rem;
    align-items: center;
    padding-right: 0.35rem;
    color: #6c5d51;
    font-size: 0.9rem;
    font-weight: 650;
  }

  .product-tabs__review-sort select {
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 999px;
    padding: 0.48rem 0.8rem;
    background: #ffffff;
    color: #2f251f;
    font: inherit;
    font-weight: 650;
  }

  .product-tabs__review-list {
    display: grid;
    gap: 1rem;
  }

  .product-tabs__review-card {
    display: grid;
    grid-template-columns: minmax(8.5rem, 11rem) minmax(0, 1fr);
    gap: clamp(1rem, 2.6vw, 2rem);
    padding: clamp(1.1rem, 2vw, 1.5rem);
    border: 1px solid rgba(18, 18, 18, 0.08);
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: none;
  }

  .product-tabs__review-card[hidden] {
    display: none;
  }

  body.mobile-review-panel-open {
    overflow: hidden;
  }

  body.mobile-details-sheet-open {
    overflow: hidden;
  }

  .product-tabs__reviewer strong {
    display: block;
    margin-top: 0.55rem;
    color: #2f251f;
    font-size: 1rem;
    font-weight: 760;
  }

  .product-tabs__reviewer {
    align-self: start;
    border-radius: 0.95rem;
    padding: 0.9rem;
    background: #f8f8f8;
  }

  .product-tabs__review-content h3 {
    margin: 0 0 0.85rem;
    color: #231c17;
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
    font-weight: 720;
    letter-spacing: -0.04em;
    line-height: 1.15;
  }

  .product-tabs__review-fields,
  .product-tabs__review-meta,
  .product-tabs__review-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1.1rem;
    color: #67594e;
    font-size: 0.88rem;
    font-weight: 620;
  }

  .product-tabs__review-fields span,
  .product-tabs__review-meta span {
    border-radius: 999px;
    padding: 0.36rem 0.68rem;
    background: #f7f7f7;
  }

  .product-tabs__review-content p {
    max-width: 58rem;
    margin: 0.95rem 0 0;
    color: #45392f;
    font-size: 1rem;
    line-height: 1.7;
  }

  .product-tabs__review-meta {
    margin-top: 0.95rem;
  }

  .product-tabs__review-foot {
    margin-top: 1.1rem;
    color: #777777;
    font-weight: 520;
  }

  .product-recommendations {
    width: 100%;
    max-width: 88rem;
    margin: 0 auto;
    padding: 0 2.5rem 3.5rem;
    background: #ffffff;
    color: #111111;
  }

  .product-recommendations__inner {
    border-top: 1px solid rgba(18, 18, 18, 0.08);
    padding-top: 2rem;
  }

  .product-delivery {
    margin-bottom: 2.4rem;
    padding: 1.5rem 1.25rem;
    background: #fafafa;
    border: 1px solid rgba(18, 18, 18, 0.06);
  }

  .product-delivery__header {
    display: flex;
    justify-content: center;
    margin-bottom: 1.2rem;
    text-align: center;
  }

  .product-delivery__header h2 {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.08;
  }

  .product-delivery__steps {
    display: grid;
    grid-template-columns: auto minmax(8rem, 1fr) auto minmax(8rem, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
  }

  .product-delivery__step {
    display: grid;
    justify-items: center;
    gap: 0.45rem;
    text-align: center;
  }

  .product-delivery__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border: 1px solid rgba(18, 18, 18, 0.24);
    border-radius: 999px;
    color: #4f565d;
    font-size: 0.84rem;
    line-height: 1;
  }

  .product-delivery__step strong {
    font-size: 0.88rem;
    font-weight: 600;
  }

  .product-delivery__connector {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 0.3rem;
    text-align: center;
  }

  .product-delivery__connector::before {
    content: '';
    width: 100%;
    height: 1px;
    background: #8dc8f0;
  }

  .product-delivery__connector span,
  .product-delivery__details-trigger {
    font-size: 0.78rem;
  }

  .product-delivery__connector span {
    color: #4f565d;
    font-weight: 500;
  }

  .product-delivery__details-trigger {
    position: relative;
    border: 0;
    padding: 0;
    background: transparent;
    color: #2e9ceb;
    line-height: 1;
    font-weight: 600;
    cursor: default;
  }

  .product-delivery__preview {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 0.7rem);
    display: block;
    width: min(18rem, 40vw);
    padding: 0.45rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(18, 18, 18, 0.12);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 0.35rem);
    transition:
      opacity 140ms ease,
      transform 140ms ease;
    z-index: 5;
  }

  .product-delivery__preview img {
    display: block;
    width: 100%;
    height: auto;
  }

  .product-delivery__details-trigger:hover .product-delivery__preview,
  .product-delivery__details-trigger:focus-visible .product-delivery__preview {
    opacity: 1;
    transform: translate(-50%, 0);
  }

  .product-recommendations__header {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    text-align: center;
    margin-bottom: 1.4rem;
  }

  .product-recommendations__group + .product-recommendations__group {
    margin-top: 2.5rem;
  }

  .product-recommendations__eyebrow {
    margin: 0;
    color: #7a838c;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .product-recommendations__header h2 {
    margin: 0;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.08;
  }

  .product-recommendations__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
  }

  .product-recommendations__item {
    min-width: 0;
  }

  .product-recommendations__desktop-card {
    display: block;
    height: 100%;
  }

  .product-recommendations__card {
    display: none;
    gap: 0.7rem;
  }

  .product-recommendations__group .product-recommendations__grid > *:nth-child(n+7) {
    display: none;
  }

  .product-recommendations__media-link,
  .product-recommendations__content a {
    color: inherit;
    text-decoration: none;
  }

  .product-recommendations__media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    background: #fbfbfb;
    overflow: hidden;
  }

  .product-recommendations__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .product-recommendations__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1rem;
    background: #f2f2f2;
  }

  .product-recommendations__fallback span {
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
  }

  .product-recommendations__content {
    display: grid;
    gap: 0.3rem;
    justify-items: center;
    text-align: center;
  }

  .product-recommendations__content h3,
  .product-recommendations__content p {
    margin: 0;
  }

  .product-recommendations__content h3 {
    font-size: 1rem;
    font-weight: 600;
  }

  .product-recommendations__rating,
  .product-recommendations__swatches,
  .product-recommendations__swatch-more {
    display: none;
  }

  .product-recommendations__price {
    color: #4f565d;
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: -0.02em;
  }

  .product-recommendations__link {
    margin-top: 0.2rem;
    color: #2082c3;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .product-recommendations__mobile-footer {
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
  }

  .product-recommendations__mobile-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 10.5rem;
    min-height: 3rem;
    padding: 0 1.35rem;
    border: 1px solid rgba(18, 18, 18, 0.1);
    border-radius: 999px;
    background: #f7f4ef;
    color: #1d1713;
    font-size: 0.95rem;
    font-weight: 720;
    line-height: 1;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
  }

  .product-recommendations__mobile-more:hover {
    background: #f1ede7;
    border-color: rgba(18, 18, 18, 0.16);
    transform: translateY(-1px);
  }

  @media (max-width: 1000px) {
    .product-page {
      grid-template-columns: 1fr;
      gap: 1rem;
      padding: 1rem 1rem 0;
    }

    .product-page__viewer,
    .product-page__details,
    .product-page__buy-box {
      width: 100%;
      min-width: 0;
      max-width: none;
    }

    .product-page__stage,
    .product-page__details {
      position: relative;
      top: auto;
      height: auto;
      min-height: 0;
    }

    .product-page__details {
      border-left: 0;
      margin-top: 0;
    }

    .product-page__viewer {
      display: block;
      justify-content: stretch;
    }

    .product-page__stage {
      max-width: none;
      margin-bottom: 0;
    }

    .product-page__header-row,
    .product-page__color-row {
      flex-wrap: wrap;
    }

    .product-page__actions {
      margin-left: auto;
    }

    .product-page__price {
      font-size: 2.2rem;
    }

    .product-tabs,
    .product-recommendations {
      padding-left: 1rem;
      padding-right: 1rem;
    }

    .product-tabs__details-grid,
    .product-tabs__review-overview {
      grid-template-columns: 1fr;
    }

    .product-tabs__details-diagram {
      justify-items: start;
    }

    .product-tabs__review-card {
      grid-template-columns: 9rem minmax(0, 1fr);
    }

    .product-recommendations__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-delivery__steps {
      grid-template-columns: 1fr;
      gap: 1rem;
    }

    .product-delivery__connector::before {
      width: 1px;
      height: 1.5rem;
    }

  }

  @media (max-width: 749px) {
    .product-page {
      padding: 0;
      gap: 0;
      display: flex;
      flex-direction: column;
        padding-bottom: 0;
    }

    .product-page__viewer {
      order: 1;
      padding: 0;
      background: #f3f3f1;
    }

    .product-page__details {
      order: 2;
      display: block;
      padding: 0.85rem 1rem 1rem;
      background: #ffffff;
    }

    .product-page__thumbs {
      position: static;
      display: flex;
      overflow-x: auto;
      order: 2;
      gap: 0.55rem;
      padding: 0.7rem 0.85rem 0.2rem;
      grid-column: auto;
      grid-row: auto;
      scrollbar-width: none;
    }

    .product-page__thumbs::-webkit-scrollbar {
      display: none;
    }

    .product-page__thumb {
      flex: 0 0 4.2rem;
      width: 4.2rem;
      height: 4.2rem;
      border-radius: 0.8rem;
      border: 1px solid rgba(39, 31, 23, 0.08);
      box-shadow: none;
      background: #f6f5f2;
    }

    .product-page__viewer-badge {
      position: static;
      width: 4.2rem;
      min-height: 4.2rem;
      margin-right: 0;
      flex: 0 0 4.2rem;
      grid-column: auto;
      grid-row: auto;
      font-size: 0.62rem;
    }

    .product-page__stage {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 0;
      padding-left: 0;
      max-width: none;
      height: auto;
      overflow: hidden;
      background: #f3f3f1;
    }

    .product-page__slide {
      order: 1;
      min-height: auto;
      aspect-ratio: 1 / 1.02;
      height: auto;
      border: 0;
      border-radius: 0;
      background: #f3f3f1;
      box-shadow: none;
    }

    .product-page__slide.is-active {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .product-page__image {
      min-height: 0;
      padding: 0.4rem 0.6rem 0;
      transform: none;
      width: 100%;
      max-height: none;
      margin: 0 auto;
      object-fit: contain;
    }

      .product-page__mobile-counter {
        position: absolute;
        top: 1rem;
        left: 1rem;
      z-index: 4;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 3.2rem;
      min-height: 1.7rem;
      padding: 0 0.55rem;
      border-radius: 999px;
      background: rgba(123, 123, 123, 0.72);
      color: #ffffff;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.03em;
    }

    .product-page__buy-box {
      min-height: 0;
      gap: 0.75rem;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      padding: 0;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      backdrop-filter: none;
      background: transparent;
    }

    .product-page__details {
      margin-bottom: 0;
    }

    .product-page__header-row {
      display: contents;
    }

    .product-page__actions {
      display: none;
    }

    .product-page__action-button {
      width: 2.75rem;
      height: 2.75rem;
      font-size: 1.08rem;
    }

    .product-page__title-stack {
      grid-column: 1;
      display: inline-flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.42rem;
      min-width: 0;
    }

    .product-page h1 {
      font-size: 1.7rem;
      line-height: 1.08;
    }

    .product-page__badge {
      min-height: 1.2rem;
      padding: 0 0.48rem;
      font-size: 0.58rem;
      letter-spacing: 0.12em;
    }

    .product-page__price {
      grid-column: 2;
      align-self: center;
      width: auto;
      font-size: 2rem;
      line-height: 1.05;
      white-space: nowrap;
      text-align: right;
    }

    .product-page__reviews,
    .product-page__size-row,
    .product-page__color-row,
    .product-page__swatches,
    .product-page__button-row,
    .product-page__cart-status,
    .product-page__service-row {
      grid-column: 1 / -1;
    }

    .product-page__reviews,
    .product-page__size-row,
    .product-page__color-row {
      gap: 0.45rem;
    }

    .product-page__reviews,
    .product-page__size-row {
      display: grid;
      justify-items: start;
    }

    .product-page__reviews {
      padding-bottom: 0.55rem;
    }

    .product-page__size-row {
      padding-bottom: 0.55rem;
    }

    .product-page__color-row {
      align-items: center;
      justify-content: space-between;
      flex-direction: row;
      flex-wrap: nowrap;
    }

    .product-page__stock {
      width: auto;
      text-align: right;
    }

    .product-page__select-lenses {
      width: 100%;
    }

    .product-page__button-row {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 60;
      grid-template-columns: 3.2rem minmax(0, 0.95fr) minmax(0, 1.18fr);
      gap: 0.55rem;
      align-items: center;
      padding: 0.75rem 0.85rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
      margin: 0;
      background: rgba(255, 255, 255, 0.98);
      box-shadow: 0 -10px 28px rgba(24, 18, 12, 0.12);
      backdrop-filter: blur(12px);
    }

    .product-page__mobile-favorite {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.08rem;
      width: 3.2rem;
      height: 3.2rem;
      padding: 0;
      border: 1px solid rgba(39, 31, 23, 0.16);
      border-radius: 999px;
      background: #ffffff;
      color: #1c1713;
      box-shadow: none;
    }

    .product-page__mobile-favorite-icon {
      font-size: 1.25rem;
      line-height: 1;
    }

    .product-page__mobile-favorite-label {
      font-size: 0.55rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      line-height: 1;
    }

    .product-page__select-lenses,
    .product-page__frame-only {
      min-height: 3.05rem;
      font-size: 0.88rem;
      letter-spacing: 0.06em;
      box-shadow: none;
    }

    .product-page__frame-only {
      border-color: rgba(39, 31, 23, 0.2);
      background: #ffffff;
    }

    .product-page__zoom-panel,
    .product-page__zoom-lens {
      display: none !important;
    }

    .product-page__service-row span {
      padding-left: 1.35rem;
      font-size: 0.86rem;
    }

    .product-page__service-row {
      display: none;
    }

    .product-page__cart-status {
      min-height: 0;
      margin: 0;
      line-height: 0;
    }

    .product-mobile-sections {
      display: grid;
      gap: 1.2rem;
      padding: 0 1rem 1.35rem;
      background: #ffffff;
    }

    .product-mobile-section {
      padding-top: 1rem;
      border-top: 1px solid rgba(18, 18, 18, 0.08);
    }

    .product-mobile-section:first-child {
      padding-top: 0;
      border-top: 0;
    }

    .product-mobile-section__heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 0.9rem;
    }

    .product-mobile-section__heading--reviews {
      align-items: center;
    }

    .product-mobile-section__toggle {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.25rem;
      height: 2.25rem;
      border: 0;
      padding: 0;
      background: transparent;
      color: #171310;
    }

    .product-mobile-section__toggle-icon,
    .product-mobile-details-sheet__section-toggle-icon {
      position: static;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1rem;
      height: 1rem;
      color: currentColor;
      font-size: 1.65rem;
      font-weight: 500;
      line-height: 1;
    }

    .product-mobile-section__toggle-icon::before,
    .product-mobile-details-sheet__section-toggle-icon::before {
      content: '−';
    }

    .product-mobile-section.is-collapsed .product-mobile-section__toggle-icon::before,
    .product-mobile-details-sheet__section.is-collapsed .product-mobile-details-sheet__section-toggle-icon::before {
      content: '+';
    }

    .product-mobile-section__body[hidden] {
      display: none;
    }

    .product-mobile-section__heading h2 {
      margin: 0;
      color: #171310;
      font-size: 1.4rem;
      font-weight: 760;
      letter-spacing: -0.03em;
      line-height: 1.05;
    }

    .product-mobile-section__meta {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      color: #2b241e;
      font-size: 0.92rem;
      font-weight: 700;
    }

    .product-mobile-section__stars {
      letter-spacing: 0.08em;
    }

    .product-mobile-review-open {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      border: 0;
      padding: 0;
      background: transparent;
      color: #1d1713;
      font: inherit;
    }

    .product-mobile-review-star-rating {
      position: relative;
      display: inline-block;
      line-height: 1;
      letter-spacing: 0.08em;
    }

    .product-mobile-review-star-rating__base,
    .product-mobile-review-star-rating__fill {
      display: block;
      white-space: nowrap;
    }

    .product-mobile-review-star-rating__base {
      color: rgba(29, 23, 19, 0.22);
    }

    .product-mobile-review-star-rating__fill {
      position: absolute;
      left: 0;
      top: 0;
      overflow: hidden;
      color: #1d1713;
    }

    .product-mobile-review-open__stars {
      font-size: 0.96rem;
    }

    .product-mobile-review-open strong {
      font-size: 0.92rem;
      font-weight: 760;
    }

    .product-mobile-review-open__chevron {
      width: 0.75rem;
      height: 0.75rem;
      border-top: 2px solid #7d756e;
      border-right: 2px solid #7d756e;
      transform: rotate(45deg);
    }

    .product-mobile-review-card {
      display: grid;
      gap: 0.7rem;
      padding: 1.15rem;
      border: 1px solid rgba(18, 18, 18, 0.06);
      border-radius: 1.25rem;
      background: #f7f7f5;
      box-shadow: none;
    }

    .product-mobile-review-card[hidden] {
      display: none;
    }

    .product-mobile-review-card[data-mobile-review-preview] {
      gap: 0.9rem;
    }

    .product-mobile-review-card__header,
    .product-mobile-review-card__footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      color: #8a827a;
      font-size: 0.82rem;
    }

    .product-mobile-review-card__header strong {
      color: #241d18;
      font-size: 0.98rem;
      font-weight: 740;
      line-height: 1.1;
    }

    .product-mobile-review-card__stars {
      color: #1d1713;
      font-size: 1.02rem;
      letter-spacing: 0.08em;
    }

    .product-mobile-review-card h3 {
      margin: 0;
      color: #1d1713;
      font-size: 1.18rem;
      font-weight: 780;
      letter-spacing: -0.03em;
      line-height: 1.2;
    }

    .product-mobile-review-card p {
      margin: 0;
      color: #352f2a;
      font-size: 0.96rem;
      line-height: 1.65;
    }

    .product-mobile-review-panel {
      position: fixed;
      inset: 0;
      width: 100vw;
      max-width: 100vw;
      z-index: 90;
      background: rgba(241, 240, 237, 0.98);
      overflow-x: hidden;
    }

    .product-mobile-review-panel[hidden] {
      display: none;
    }

    .product-mobile-review-panel__sheet {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      width: 100%;
      max-width: 100%;
      height: 100%;
      background: #f3f2ef;
      overflow-x: hidden;
    }

    .product-mobile-review-panel__header {
      display: grid;
      grid-template-columns: 2.6rem 1fr 2.6rem;
      align-items: center;
      gap: 0.4rem;
      min-height: calc(4rem + env(safe-area-inset-top, 0px));
      padding: calc(0.5rem + env(safe-area-inset-top, 0px)) 1rem 0.55rem;
      background: rgba(255, 255, 255, 0.92);
      border-bottom: 1px solid rgba(18, 18, 18, 0.06);
    }

    .product-mobile-review-panel__header h3 {
      margin: 0;
      color: #171310;
      text-align: center;
      font-size: 1.15rem;
      font-weight: 780;
      letter-spacing: -0.03em;
    }

    .product-mobile-review-panel__back,
    .product-mobile-review-panel__spacer {
      width: 2.6rem;
      height: 2.6rem;
    }

    .product-mobile-review-panel__back {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      padding: 0;
      background: transparent;
      color: #171310;
      line-height: 1;
    }

    .product-mobile-review-panel__back-icon {
      width: 1rem;
      height: 1rem;
      border-left: 2px solid #171310;
      border-bottom: 2px solid #171310;
      transform: rotate(45deg);
    }

    .product-mobile-review-panel__body {
      overflow-y: auto;
      overflow-x: hidden;
      padding: 1rem 1rem calc(7rem + env(safe-area-inset-bottom, 0px));
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    .product-mobile-review-panel__body > * {
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
    }

    .product-mobile-review-summary {
      display: grid;
      grid-template-columns: minmax(5.6rem, 0.72fr) minmax(0, 1fr);
      gap: 0.8rem;
      padding: 1.15rem;
      border-radius: 1.35rem;
      background: #ffffff;
      margin-bottom: 1rem;
      min-width: 0;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    .product-mobile-review-summary__score {
      display: grid;
      align-content: center;
      justify-items: center;
      gap: 0.45rem;
    }

    .product-mobile-review-summary__score strong {
      color: #171310;
      font-size: 3.25rem;
      font-weight: 800;
      line-height: 0.92;
    }

    .product-mobile-review-summary__stars {
      font-size: 1.15rem;
    }

    .product-mobile-review-summary__metrics {
      display: grid;
      gap: 0.72rem;
      align-content: center;
      min-width: 0;
    }

    .product-mobile-review-summary__metrics div {
      display: grid;
      grid-template-columns: minmax(3.9rem, auto) 2rem minmax(0, 1fr);
      align-items: center;
      gap: 0.45rem;
      min-width: 0;
    }

    .product-mobile-review-summary__metrics span {
      color: #1d1713;
      font-size: 0.92rem;
      font-weight: 760;
    }

    .product-mobile-review-summary__metrics strong {
      color: #1d1713;
      font-size: 0.92rem;
      font-weight: 720;
      text-align: right;
      font-variant-numeric: tabular-nums;
    }

    .product-mobile-review-summary__metrics i {
      display: block;
      height: 0.6rem;
      border-radius: 999px;
      background: rgba(186, 232, 66, 0.18);
      overflow: hidden;
    }

    .product-mobile-review-summary__metrics i b {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: #b4ea41;
    }

    .product-mobile-review-panel__toolbar {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: center;
      gap: 0.85rem;
      margin-bottom: 1rem;
      padding-bottom: 0.75rem;
      border-bottom: 1px solid rgba(18, 18, 18, 0.08);
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    .product-mobile-review-panel__tabs {
      display: inline-flex;
      align-items: center;
      gap: 1.6rem;
      overflow-x: auto;
      scrollbar-width: none;
    }

    .product-mobile-review-panel__tabs::-webkit-scrollbar {
      display: none;
    }

    .product-mobile-review-panel__tabs button {
      position: relative;
      border: 0;
      padding: 0 0 0.6rem;
      background: transparent;
      color: #3a342d;
      font: inherit;
      font-size: 0.95rem;
      font-weight: 720;
      white-space: nowrap;
    }

    .product-mobile-review-panel__tabs button.is-active::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 0.18rem;
      border-radius: 999px;
      background: #171310;
    }

    .product-mobile-review-panel__tabs button:not(.is-active) {
      opacity: 0.85;
      pointer-events: none;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-list {
      display: grid;
      gap: 1rem;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-card {
      gap: 0.9rem;
      padding: 1.15rem;
      border: 0;
      border-radius: 1.25rem;
      background: #ffffff;
      box-shadow: none;
      min-width: 0;
      width: 100%;
      max-width: 100%;
      overflow: hidden;
      box-sizing: border-box;
    }

    .product-mobile-review-panel__reviews .product-tabs__reviewer {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: start;
      gap: 0.8rem;
      width: 100%;
      min-width: 0;
    }

    .product-mobile-review-panel__reviews .product-tabs__reviewer strong {
      color: #1d1713;
      font-size: 1rem;
      font-weight: 760;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-stars {
      color: #1d1713;
      font-size: 1rem;
      letter-spacing: 0.08em;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-content h3 {
      color: #1d1713;
      font-size: 1.14rem;
      font-weight: 780;
      letter-spacing: -0.03em;
      overflow-wrap: anywhere;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-content {
      min-width: 0;
      width: 100%;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-fields {
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
      margin: 0.75rem 0 0;
      min-width: 0;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-fields span {
      display: inline-flex;
      align-items: center;
      min-height: 1.85rem;
      padding: 0 0.72rem;
      border-radius: 999px;
      background: #dff1a8;
      color: #2b2b1d;
      font-size: 0.8rem;
      font-weight: 720;
      white-space: nowrap;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-content p {
      margin-top: 0.95rem;
      overflow-wrap: anywhere;
      max-width: 100%;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-meta {
      display: flex;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 0.28rem;
      margin-top: 0.95rem;
      color: #7b756e;
      font-size: 0.64rem;
      font-weight: 650;
      min-width: 0;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-meta span {
      flex: 1 1 0;
      min-width: 0;
      padding: 0.56rem 0.38rem;
      border-radius: 999px;
      background: #f2f1ef;
      text-align: center;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      line-height: 1.2;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-helpful {
      text-align: center;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-foot {
      display: flex;
      justify-content: flex-end;
      margin-top: 0.35rem;
      color: #8a827a;
      font-size: 0.82rem;
    }

    .product-mobile-review-panel__reviews .product-tabs__review-card:first-child {
      scroll-margin-top: 5rem;
    }

      .product-mobile-services-list {
        display: grid;
        gap: 0.95rem;
        margin: 0;
        padding: 0 0 0 1.05rem;
        color: #342c26;
        font-size: 1rem;
        line-height: 1.45;
      }

      .product-mobile-services-list strong {
        color: #171310;
    }

    .product-mobile-details-card {
      display: grid;
      gap: 1rem;
    }

    .product-mobile-details-diagram {
      padding: 0.2rem 0 0.3rem;
    }

    .product-mobile-details-diagram .product-tabs__diagram-frame {
      max-width: none;
    }

    .product-mobile-details-more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 3rem;
      width: 100%;
      border: 0;
      border-radius: 999px;
      background: #f2f0ec;
      color: #3a312b;
      font: inherit;
      font-size: 0.96rem;
      font-weight: 700;
      letter-spacing: 0.02em;
    }

    .product-mobile-details-sheet {
      position: fixed;
      inset: 0;
      z-index: 95;
      display: grid;
      align-items: end;
    }

    .product-mobile-details-sheet[hidden] {
      display: none;
    }

    .product-mobile-details-sheet__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(19, 17, 14, 0.42);
    }

    .product-mobile-details-sheet__panel {
      position: relative;
      width: 100%;
      max-height: min(84vh, 52rem);
      border-radius: 1.35rem 1.35rem 0 0;
      background: #ffffff;
      box-shadow: 0 -18px 40px rgba(19, 17, 14, 0.16);
      overflow: hidden;
    }

    .product-mobile-details-sheet__header {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 0.75rem;
      min-height: 4rem;
      padding: 0 1.1rem;
      border-bottom: 1px solid rgba(18, 18, 18, 0.08);
    }

    .product-mobile-details-sheet__header h3 {
      margin: 0;
      color: #171310;
      font-size: 1.2rem;
      font-weight: 780;
      text-align: center;
      justify-self: center;
      transform: translateX(1rem);
    }

    .product-mobile-details-sheet__close {
      width: 2.5rem;
      height: 2.5rem;
      border: 0;
      padding: 0;
      background: transparent;
      color: #171310;
      font-size: 2rem;
      line-height: 1;
    }

    .product-mobile-details-sheet__body {
      max-height: calc(min(84vh, 52rem) - 4rem);
      overflow-y: auto;
      padding: 1rem 1rem calc(2rem + env(safe-area-inset-bottom, 0px));
    }

    .product-mobile-details-sheet__section + .product-mobile-details-sheet__section {
      margin-top: 1.35rem;
    }

    .product-mobile-details-sheet__section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 0.9rem;
    }

    .product-mobile-details-sheet__section h4 {
      margin: 0;
      color: #171310;
      font-size: 1.1rem;
      font-weight: 780;
      letter-spacing: -0.03em;
    }

    .product-mobile-details-sheet__section-toggle {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.25rem;
      height: 2.25rem;
      border: 0;
      padding: 0;
      background: transparent;
      color: #171310;
    }

    .product-mobile-details-sheet__section-body[hidden] {
      display: none;
    }

    .product-mobile-details-sheet__diagram .product-tabs__diagram-frame {
      max-width: none;
      margin: 0;
    }

    .product-mobile-details-sheet__table {
      display: grid;
      border: 1px solid rgba(18, 18, 18, 0.1);
      border-radius: 1rem;
      overflow: hidden;
    }

    .product-mobile-details-sheet__table div {
      display: grid;
      grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
      background: #ffffff;
    }

    .product-mobile-details-sheet__table div + div {
      border-top: 1px solid rgba(18, 18, 18, 0.08);
    }

    .product-mobile-details-sheet__table span,
    .product-mobile-details-sheet__table strong {
      padding: 0.88rem 0.95rem;
      font-size: 0.95rem;
      line-height: 1.25;
    }

    .product-mobile-details-sheet__table span {
      color: #4d453e;
      background: #f7f4ef;
      font-weight: 600;
    }

    .product-mobile-details-sheet__table strong {
      color: #171310;
      font-weight: 760;
      border-left: 1px solid rgba(18, 18, 18, 0.08);
    }

    .product-mobile-details-sheet__copy {
      color: #3f3730;
      font-size: 0.96rem;
      line-height: 1.65;
    }

    .product-mobile-details-sheet__copy p,
    .product-mobile-details-sheet__copy ul {
      margin: 0;
    }

    .product-mobile-details-sheet__copy h1,
    .product-mobile-details-sheet__copy h2,
    .product-mobile-details-sheet__copy h3,
    .product-mobile-details-sheet__copy h4 {
      margin: 0 0 0.55rem;
      color: #2f2924;
      font-size: 0.98rem;
      font-weight: 740;
      line-height: 1.4;
      letter-spacing: -0.01em;
    }

    .product-mobile-details-sheet__copy ul {
      display: grid;
      gap: 0.7rem;
      padding-left: 1.1rem;
      margin-top: 0.8rem;
    }

    .product-page__swatches {
      gap: 0.4rem;
      padding-bottom: 0.45rem;
    }

    .product-page__swatch {
      width: 1.55rem;
      height: 1.55rem;
    }

    .product-tabs {
      display: none;
    }

    .product-tabs__nav {
      justify-content: flex-start;
      gap: 1rem;
      padding-left: 0.9rem;
      padding-right: 0.9rem;
      scroll-padding-left: 0.9rem;
    }

    .product-tabs__button {
      font-size: 0.9rem;
      padding: 0.9rem 0 0.8rem;
    }

    .product-tabs__copy p,
    .product-tabs__copy li,
    .product-tabs__review-card {
      padding-left: 0.9rem;
      padding-right: 0.9rem;
    }

    .product-tabs__details-card {
      padding: 1rem;
    }
    .product-tabs__detail-row {
      grid-template-columns: minmax(6.5rem, 0.95fr) minmax(0, 1fr);
      gap: 0.8rem;
    }

    .product-tabs__review-card {
      grid-template-columns: 1fr;
      gap: 1rem;
      padding: 1rem;
    }

    .product-tabs__review-overview {
      padding: 1.25rem;
    }

    .product-tabs__review-toolbar {
      display: grid;
      gap: 0.8rem;
      justify-content: stretch;
      align-items: start;
    }

    .product-tabs__review-tabs {
      gap: 1.6rem;
      overflow-x: auto;
    }

    .product-tabs__review-sort {
      justify-content: space-between;
      padding-right: 0;
    }

      .product-recommendations {
          padding: 0 1rem calc(2rem + env(safe-area-inset-bottom, 0px));
    }

    .product-recommendations__group .product-recommendations__grid > *:nth-child(n+7) {
      display: block;
    }

    .product-recommendations__inner {
      border-top: 0;
      padding-top: 0;
    }

    .product-delivery,
    .product-recommendations__group + .product-recommendations__group,
    .product-recommendations__eyebrow,
    .product-recommendations__header h2:not(.product-recommendations__mobile-title) {
      display: none;
    }

    .product-recommendations__header .product-recommendations__mobile-title {
      display: block;
      margin: 0;
      color: #171310;
      font-size: 1.55rem;
      font-weight: 760;
      letter-spacing: -0.03em;
      line-height: 1.05;
    }

      .product-recommendations__header {
      justify-items: center;
      text-align: center;
      margin-bottom: 1rem;
    }

    .product-recommendations__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.95rem;
    }

      .product-recommendations__desktop-card {
        display: none;
      }

      .product-recommendations__card {
        display: grid;
        gap: 0.7rem;
        padding: 0.8rem 0.75rem 0.9rem;
        border: 1px solid rgba(18, 18, 18, 0.06);
        border-radius: 1.2rem;
        background: #fbfaf8;
        box-shadow: 0 12px 28px rgba(24, 18, 12, 0.04);
      }

    .product-recommendations__mobile-footer {
        display: none;
      justify-content: center;
      margin-top: 1rem;
    }

    .product-recommendations__mobile-more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 9rem;
      min-height: 2.8rem;
      padding: 0 1rem;
      border: 1px solid rgba(18, 18, 18, 0.08);
      border-radius: 999px;
      background: #f7f4ef;
      color: #1d1713;
      font-size: 0.9rem;
      font-weight: 720;
      text-decoration: none;
    }

    .product-recommendations__media {
      border-radius: 1rem;
        background: #f6f5f2;
        aspect-ratio: 1 / 1;
    }

    .product-recommendations__content {
        grid-template-columns: minmax(0, 1fr) auto;
        justify-items: start;
        align-items: start;
        text-align: left;
        gap: 0.22rem 0.55rem;
        width: 100%;
    }

    .product-recommendations__content h3 {
        grid-column: 1;
        margin: 0;
        font-size: 1rem;
        font-weight: 700;
    }

    .product-recommendations__price {
        grid-column: 1;
        grid-row: 2;
        color: #1d1713;
        font-size: 1.16rem;
        font-weight: 760;
      }

      .product-recommendations__rating {
        grid-column: 2;
        grid-row: 1 / span 2;
        display: inline-flex;
        align-items: center;
        gap: 0.24rem;
        color: #1d1713;
        font-size: 0.92rem;
        font-weight: 760;
      }

      .product-recommendations__rating span {
        font-size: 1rem;
    }

    .product-recommendations__swatches {
        grid-column: 2;
        grid-row: 2;
      display: flex;
      align-items: center;
        justify-content: flex-end;
      min-height: 1.4rem;
        gap: 0.42rem;
        margin-left: auto;
        white-space: nowrap;
    }

    .product-recommendations__swatch {
        width: 1.15rem;
        height: 1.15rem;
      border-radius: 999px;
      background: var(--recommendation-swatch-background, #d9d5cf);
      border: 1px solid rgba(18, 18, 18, 0.12);
      box-shadow: 0 0 0 2px #ffffff;
    }

      .product-recommendations__swatch-more {
        color: #7c7a76;
        font-size: 0.88rem;
        font-weight: 720;
      }

    .product-recommendations__link {
      display: none;
    }

    .product-tabs__details-grid,
    .product-tabs__review-overview {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 420px) {
    .product-page {
      padding: 0;
      padding-bottom: 0;
    }

    .product-page__thumb {
      flex-basis: 3.65rem;
      width: 3.65rem;
      height: 3.65rem;
    }

    .product-page__viewer-badge {
      width: 3.65rem;
      min-height: 3.65rem;
      flex-basis: 3.65rem;
    }

    .product-page h1 {
      font-size: 1.46rem;
    }

    .product-page__price {
      font-size: 1.62rem;
    }

      .product-page__mobile-counter {
        top: 0.95rem;
        left: 0.95rem;
      min-width: 3rem;
      min-height: 1.6rem;
      font-size: 0.74rem;
    }

    .product-page__image {
      padding: 0.25rem 0.35rem 0;
    }

    .product-page__button-row {
      padding-left: 0.7rem;
      padding-right: 0.7rem;
      gap: 0.4rem;
      grid-template-columns: 3rem minmax(0, 0.92fr) minmax(0, 1.12fr);
      bottom: 0;
    }

    .product-page__select-lenses,
    .product-page__frame-only {
      min-height: 2.65rem;
      font-size: 0.78rem;
    }

    .product-page__mobile-favorite {
      width: 3rem;
      height: 3rem;
    }

    .product-tabs__button {
      font-size: 0.86rem;
    }
  }
/* END_SECTION:product */

/* START_SECTION:satisvision-home (INDEX:14) */
.satisvision-home {
    --satisvision-page-edge: clamp(0rem, 1.6vw, 1.5rem);
    background: #f8f5ef;
    color: #111111;
  }

  .satisvision-home__hero {
    position: relative;
    display: block;
    aspect-ratio: 1536 / 662;
    height: auto;
    overflow: hidden;
    padding: 0;
    background: #efebe4;
  }

  .satisvision-home__hero-slides,
  .satisvision-home__hero-slide,
  .satisvision-home__hero-image,
  .satisvision-home__hero-art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .satisvision-home__hero-slide {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    opacity: 1;
    background: #ece7df;
  }

  .satisvision-home__hero-image {
    inset: 0 auto 0 -2%;
    width: 104%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    background: #ece7df;
  }

  .satisvision-home__hero-overlay {
    position: absolute;
    inset: 0;
    background: transparent;
  }

  .satisvision-home__hero-copy {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(48rem, calc(100% - 3rem));
    min-height: min(37rem, 54vw);
    padding: 2.2rem 3rem 2.8rem;
    margin-left: clamp(1.5rem, 4vw, 4.8rem);
    border-radius: 1.8rem;
    background: transparent;
  }

  .satisvision-home__eyebrow {
    max-width: none;
    margin: 0 0 1.2rem;
    color: #433b33;
    font-family: var(--sv-font-sans);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
  }

  .satisvision-home h1 {
    max-width: none;
    margin: 0;
    color: #181512;
    font-family: var(--sv-font-sans);
    font-size: clamp(4.5rem, 6.5vw, 6rem);
    font-weight: 750;
    letter-spacing: -0.05em;
    line-height: 0.94;
    text-transform: none;
  }

  .satisvision-home h1 span {
    display: block;
    white-space: nowrap;
  }

  .satisvision-home__lede {
    max-width: 38rem;
    margin: 1.45rem 0 0;
    color: #373029;
    font-family: var(--sv-font-sans);
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1.55;
  }

  .satisvision-home__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.35rem;
  }

  .satisvision-home__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 9rem;
    border-radius: 999px;
    padding: 0.8rem 1.18rem;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
      transform 160ms ease,
      background-color 160ms ease,
      border-color 160ms ease;
  }

  .satisvision-home__button:hover {
    transform: translateY(-1px);
  }

  .satisvision-home__button--primary {
    background: #1f1b18;
    box-shadow: 0 12px 24px rgba(24, 21, 18, 0.12);
  }

  .satisvision-home__button--secondary {
    display: inline-flex;
    background: rgba(255, 255, 255, 0.58);
    color: #2f2924;
    box-shadow: inset 0 0 0 1px rgba(47, 41, 36, 0.12);
    backdrop-filter: blur(4px);
  }

  .satisvision-home__text-link {
    display: none;
  }

  .satisvision-home__benefits {
    display: none;
  }

  .satisvision-home__benefits span {
    min-width: 0;
    text-align: center;
  }

  .satisvision-home__featured {
    width: 100%;
    padding: 2.5rem 2.1rem 4.25rem;
    background: #fbf8f3;
  }

  .satisvision-home__featured + .satisvision-home__featured {
    padding-top: 0;
  }

  .satisvision-home__discovery,
  .satisvision-home__shape-shop {
    display: grid;
    gap: 1.2rem;
    padding: 3.2rem 2.1rem;
    background: #f7f2eb;
  }

  .satisvision-home__shape-shop {
    background: #efe7dc;
  }

  .satisvision-home__discovery-header,
  .satisvision-home__shape-heading {
    display: grid;
    gap: 0.45rem;
  }

  .satisvision-home__discovery-header p,
  .satisvision-home__shape-heading p {
    margin: 0;
    color: #7a6e61;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .satisvision-home__discovery-header h2,
  .satisvision-home__shape-heading h2 {
    max-width: 12ch;
    margin: 0;
    color: #111111;
    font-family: var(--sv-font-sans);
    font-size: clamp(1.95rem, 3.4vw, 3.25rem);
    font-weight: 750;
    letter-spacing: -0.05em;
    line-height: 0.98;
    text-transform: none;
  }

  .satisvision-home__discovery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .satisvision-home__discovery-card {
    display: grid;
    gap: 0.75rem;
    min-height: 15rem;
    align-content: end;
    border: 1px solid rgba(18, 18, 18, 0.07);
    border-radius: 1.2rem;
    padding: 1.3rem;
    background: #f5efe6;
    color: #111111;
    text-decoration: none;
  }

  .satisvision-home__discovery-card--quiz {
    background: #efe8de;
  }

  .satisvision-home__discovery-card span {
    color: #7a6e61;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .satisvision-home__discovery-card strong {
    max-width: 11ch;
    font-family: var(--sv-font-sans);
    font-size: clamp(1.45rem, 2.3vw, 2.3rem);
    font-weight: 750;
    letter-spacing: -0.04em;
    line-height: 1;
    text-transform: none;
  }

  .satisvision-home__discovery-card small {
    max-width: 30ch;
    color: #60584f;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.55;
  }

  .satisvision-home__shape-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
  }

  .satisvision-home__shape-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5rem;
    border: 1px solid rgba(18, 18, 18, 0.09);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #2f2924;
    font-size: clamp(0.96rem, 1.55vw, 1.22rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    text-decoration: none;
  }

  .satisvision-home__featured-heading {
    margin-bottom: 1.35rem;
  }

  .satisvision-home__featured-heading h2 {
    margin: 0;
    color: #111111;
    font-family: var(--sv-font-sans);
    font-size: clamp(1.65rem, 2.2vw, 2.15rem);
    font-weight: 750;
    letter-spacing: -0.04em;
    line-height: 1.05;
  }

  .satisvision-home__featured-heading a {
    color: #2f2924;
    text-decoration: none;
  }

  .satisvision-home__featured-heading a:hover {
    text-decoration: underline;
    text-underline-offset: 0.18rem;
  }

  .satisvision-home__featured-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
    align-items: stretch;
  }

  .satisvision-home__featured-footer {
    display: flex;
    justify-content: center;
    margin-top: 1.6rem;
  }

  .satisvision-home__featured-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 10.5rem;
    min-height: 2.9rem;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 999px;
    padding: 0.72rem 1.35rem;
    background: transparent;
    color: #2f2924;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  }

  .satisvision-home__featured-button:hover {
    transform: translateY(-0.08rem);
    border-color: rgba(47, 41, 36, 0.22);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
  }

  .satisvision-home__featured-placeholder {
    display: flex;
    align-items: flex-end;
    min-height: 31rem;
    padding: 1.4rem;
    overflow: hidden;
    background:
      radial-gradient(circle at 70% 28%, rgba(240, 218, 112, 0.88), transparent 0 5rem, transparent 5.1rem),
      linear-gradient(180deg, #d8e4b3 0%, #9faf76 100%);
    color: #111111;
  }

  .satisvision-home__featured-placeholder--two {
    background:
      radial-gradient(circle at 72% 28%, rgba(22, 31, 28, 0.9), transparent 0 5rem, transparent 5.1rem),
      linear-gradient(180deg, #dfe5ec 0%, #8595a2 100%);
    color: #ffffff;
  }

  .satisvision-home__featured-placeholder--three {
    background:
      linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent),
      linear-gradient(180deg, #f5f0e4 0%, #d2c4ae 100%);
  }

  .satisvision-home__featured-placeholder span {
    max-width: 9ch;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(2.4rem, 4vw, 4.2rem);
    font-weight: 900;
    letter-spacing: -0.07em;
    line-height: 0.9;
    text-transform: uppercase;
  }

  @media (max-width: 1100px) {
    .satisvision-home__benefits,
    .satisvision-home__featured-grid,
    .satisvision-home__discovery-grid,
    .satisvision-home__shape-links {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 749px) {
    .satisvision-home__hero {
      min-height: 25.5rem;
      aspect-ratio: auto;
      background: #e7e2da;
    }

    .satisvision-home__hero-overlay {
      z-index: 1;
      background: linear-gradient(
        90deg,
        rgba(248, 245, 239, 0.92) 0%,
        rgba(248, 245, 239, 0.84) 28%,
        rgba(248, 245, 239, 0.48) 54%,
        rgba(248, 245, 239, 0.08) 72%,
        rgba(248, 245, 239, 0) 84%
      );
    }

    .satisvision-home__hero-copy {
      z-index: 2;
      width: min(15.75rem, calc(100% - 1rem));
      min-height: 25.5rem;
      padding: 1.3rem 0 1.35rem 1rem;
      margin-left: 0;
      border-radius: 0;
      background: transparent;
    }

    .satisvision-home h1 {
      max-width: 13.5rem;
      font-size: clamp(2rem, 6.3vw, 2.45rem);
      line-height: 0.93;
      color: #1a1614;
    }

    .satisvision-home__lede {
      display: none;
      max-width: 13.75rem;
      font-size: 0.8rem;
      color: #201b18;
      font-weight: 600;
      line-height: 1.38;
    }

    .satisvision-home__eyebrow {
      color: #1a1614;
      font-weight: 700;
      margin-bottom: 0.72rem;
      font-size: 0.76rem;
      letter-spacing: 0.18em;
    }

    .satisvision-home__actions {
      margin-top: 0.75rem;
      flex-direction: column;
      align-items: stretch;
      max-width: 11rem;
    }

    .satisvision-home__button {
      width: 100%;
      min-width: 0;
      min-height: 2.65rem;
      padding: 0.66rem 0.95rem;
      font-size: 0.8rem;
    }

    .satisvision-home__hero-image {
      inset: 0;
      width: 100%;
      height: 100%;
      max-width: none;
      right: auto;
      object-fit: cover;
      object-position: 67% center;
    }

    .satisvision-home__benefits,
    .satisvision-home__discovery-grid,
    .satisvision-home__shape-links {
      grid-template-columns: 1fr;
    }

    .satisvision-home__featured-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.8rem;
    }

    .satisvision-home__benefits {
      gap: 0.35rem;
      padding: 0.8rem var(--satisvision-page-edge);
      font-size: 0.82rem;
    }

    .satisvision-home__benefits span {
      text-align: left;
    }

    .satisvision-home__featured {
      padding: 1.5rem 1rem 3rem;
    }

    .satisvision-home__discovery,
    .satisvision-home__shape-shop {
      padding: 2.4rem 1rem;
    }

    .satisvision-home__featured-placeholder {
      min-height: 22rem;
    }
  }

  @media (max-width: 420px) {
    .satisvision-home__hero {
      min-height: 23rem;
    }

    .satisvision-home__hero-overlay {
      background: linear-gradient(
        90deg,
        rgba(248, 245, 239, 0.94) 0%,
        rgba(248, 245, 239, 0.88) 32%,
        rgba(248, 245, 239, 0.52) 56%,
        rgba(248, 245, 239, 0.08) 74%,
        rgba(248, 245, 239, 0) 86%
      );
    }

    .satisvision-home__hero-copy {
      width: min(14.35rem, calc(100% - 0.9rem));
      min-height: 23rem;
      margin-left: 0;
      padding: 1rem 0 1.05rem 0.85rem;
    }

    .satisvision-home h1 {
      max-width: 11.25rem;
      font-size: 1.82rem;
    }

    .satisvision-home__eyebrow {
      font-size: 0.74rem;
    }

    .satisvision-home__lede {
      max-width: 11.4rem;
      font-size: 0.74rem;
    }

    .satisvision-home__hero-image {
      width: 100%;
      height: 100%;
      object-position: 69% center;
    }

    .satisvision-home__featured,
    .satisvision-home__discovery,
    .satisvision-home__shape-shop {
      padding-left: 0.85rem;
      padding-right: 0.85rem;
    }

    .satisvision-home__featured-grid {
      gap: 0.65rem;
    }
  }
/* END_SECTION:satisvision-home */

/* START_SECTION:search (INDEX:15) */
.search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .search-results .prev,
  .search-results .page,
  .search-results .next {
    grid-column: 1 / -1;
  }
/* END_SECTION:search */

/* CSS from block stylesheet tags */
/* START_BLOCK:group (INDEX:16) */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
/* END_BLOCK:group */

/* START_BLOCK:text (INDEX:17) */
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }
/* END_BLOCK:text */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:favorites-page-content (INDEX:19) */
.favorites-page {
    background: #ffffff;
    color: #111111;
  }

  .favorites-page [hidden] {
    display: none !important;
  }

  .favorites-page__inner {
    width: min(96rem, calc(100% - 2rem));
    margin: 0 auto;
    padding: 2.5rem 0 4rem;
  }

  .favorites-page__header {
    display: grid;
    gap: 0.45rem;
    max-width: 42rem;
  }

  .favorites-page__eyebrow {
    margin: 0;
    color: #7a838c;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .favorites-page__header h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 600;
    line-height: 1.02;
  }

  .favorites-page__body {
    margin: 0;
    color: #4f565d;
    line-height: 1.65;
  }

  .favorites-page__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.6rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(18, 18, 18, 0.08);
  }

  .favorites-page__toolbar span {
    color: #4f565d;
    font-size: 0.9rem;
    font-weight: 600;
  }

  .favorites-page__clear,
  .favorites-page__empty a,
  .favorites-page__card-actions a,
  .favorites-page__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    border-radius: 999px;
    padding: 0 1rem;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
  }

  .favorites-page__clear,
  .favorites-page__remove {
    border: 1px solid rgba(18, 18, 18, 0.12);
    background: #ffffff;
    color: #111111;
  }

  .favorites-page__empty {
    display: grid;
    justify-items: start;
    gap: 0.9rem;
    margin-top: 1.5rem;
    padding: 1.4rem;
    background: #fafafa;
    border: 1px solid rgba(18, 18, 18, 0.06);
  }

  .favorites-page__empty p {
    margin: 0;
    color: #4f565d;
  }

  .favorites-page__empty a,
  .favorites-page__card-actions a {
    background: #1697f6;
    color: #ffffff;
  }

  .favorites-page__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
  }

  .favorites-page__card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid rgba(18, 18, 18, 0.08);
    background: #ffffff;
  }

  .favorites-page__media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    background: #fbfbfb;
    overflow: hidden;
  }

  .favorites-page__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .favorites-page__content {
    display: grid;
    gap: 0.35rem;
  }

  .favorites-page__content h2,
  .favorites-page__content p {
    margin: 0;
  }

  .favorites-page__content h2 {
    font-size: 1rem;
    font-weight: 600;
  }

  .favorites-page__content p {
    color: #4f565d;
    font-size: 0.9rem;
    font-weight: 600;
  }

  .favorites-page__card-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
  }

  @media (max-width: 900px) {
    .favorites-page__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 640px) {
    .favorites-page__inner {
      width: min(100%, calc(100% - 1rem));
      padding: 1.6rem 0 2.4rem;
    }

    .favorites-page__toolbar {
      align-items: flex-start;
      flex-direction: column;
    }

    .favorites-page__grid {
      grid-template-columns: 1fr;
    }
  }
/* END_SNIPPET:favorites-page-content */

/* START_SNIPPET:frame-quiz-content (INDEX:20) */
.frame-quiz {
    min-height: calc(100svh - 5rem);
    background:
      radial-gradient(circle at 84% 16%, rgba(226, 211, 192, 0.45), transparent 0 11rem, transparent 11.1rem),
      radial-gradient(circle at 10% 84%, rgba(244, 238, 230, 0.86), transparent 0 16rem, transparent 16.1rem),
      linear-gradient(180deg, #faf8f4 0%, #f4efe8 48%, #ffffff 100%);
    color: #1c1814;
  }

  .frame-quiz__shell {
    display: grid;
    grid-template-columns: minmax(18rem, 0.85fr) minmax(20rem, 1.15fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
    width: 100%;
    min-height: calc(100svh - 5rem);
    padding: clamp(2rem, 5vw, 4rem);
  }

  .frame-quiz__intro p:first-child,
  .frame-quiz__step-count {
    margin: 0 0 0.75rem;
    color: #8a7f73;
    font-size: 0.8rem;
    font-weight: 650;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .frame-quiz__intro h1,
  .frame-quiz__step h2 {
    margin: 0;
    color: #1c1814;
    font-family: inherit;
    font-weight: 760;
    letter-spacing: -0.045em;
    line-height: 0.96;
  }

  .frame-quiz__intro h1 {
    max-width: 10ch;
    font-size: clamp(3.4rem, 7vw, 6.6rem);
  }

  .frame-quiz__intro p:last-child {
    max-width: 34rem;
    margin-top: 1.4rem;
    color: #756d66;
    font-size: 1.08rem;
    font-weight: 450;
    line-height: 1.6;
  }

  .frame-quiz__panel {
    overflow: hidden;
    border: 1px solid rgba(31, 25, 20, 0.08);
    border-radius: 1.8rem;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 70px rgba(31, 25, 20, 0.08);
  }

  .frame-quiz__progress {
    height: 0.38rem;
    background: rgba(31, 25, 20, 0.07);
  }

  .frame-quiz__progress span {
    display: block;
    width: 20%;
    height: 100%;
    background: linear-gradient(90deg, #1f1813 0%, #4a382c 100%);
    transition: width 180ms ease;
  }

  .frame-quiz__form {
    min-height: 31rem;
    padding: clamp(1.4rem, 4vw, 3rem);
  }

  .frame-quiz__step {
    display: none;
  }

  .frame-quiz__step.is-active {
    display: block;
  }

  .frame-quiz__step h2 {
    max-width: 13ch;
    font-size: clamp(2.4rem, 4.4vw, 4.3rem);
  }

  .frame-quiz__answers {
    display: grid;
    gap: 0.8rem;
    margin-top: 2rem;
  }

  .frame-quiz__answers--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .frame-quiz__answers button,
  .frame-quiz__secondary {
    cursor: pointer;
    border: 1px solid rgba(31, 25, 20, 0.1);
    border-radius: 999px;
    padding: 1rem 1.2rem;
    background: #fffdfa;
    color: #1c1814;
    font: inherit;
    font-weight: 650;
    text-align: left;
    box-shadow: 0 10px 24px rgba(31, 25, 20, 0.04);
    transition:
      background-color 160ms ease,
      border-color 160ms ease,
      color 160ms ease,
      box-shadow 160ms ease,
      transform 160ms ease;
  }

  .frame-quiz__answers button:hover,
  .frame-quiz__answers button.is-selected {
    transform: translateY(-2px);
    border-color: rgba(31, 25, 20, 0.34);
    background: #1f1813;
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(31, 25, 20, 0.12);
  }

  .frame-quiz__result p:not(.frame-quiz__step-count) {
    max-width: 42rem;
    margin: 1rem 0 0;
    color: #756d66;
    font-size: 1.05rem;
    line-height: 1.6;
  }

  .frame-quiz__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 2rem;
  }

  .frame-quiz__primary,
  .frame-quiz__nav button {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border: 1px solid #1f1813;
    border-radius: 999px;
    padding: 0.95rem 1.2rem;
    background: #1f1813;
    color: #ffffff;
    font: inherit;
    font-weight: 760;
    text-decoration: none;
  }

  .frame-quiz__secondary {
    text-align: center;
  }

  .frame-quiz__nav {
    display: flex;
    justify-content: space-between;
    padding: 0 clamp(1.4rem, 4vw, 3rem) clamp(1.4rem, 4vw, 3rem);
  }

  .frame-quiz__nav button:disabled {
    cursor: not-allowed;
    border-color: rgba(31, 25, 20, 0.08);
    background: transparent;
    color: #aaa199;
  }

  @media (max-width: 900px) {
    .frame-quiz__shell {
      grid-template-columns: 1fr;
      align-items: start;
      padding: 2rem 1rem;
    }

    .frame-quiz__intro h1 {
      font-size: clamp(3.4rem, 18vw, 5rem);
    }

    .frame-quiz__form {
      min-height: 29rem;
    }
  }

  @media (max-width: 640px) {
    .frame-quiz__answers--grid {
      grid-template-columns: 1fr;
    }
  }
/* END_SNIPPET:frame-quiz-content */

/* START_SNIPPET:image (INDEX:21) */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }
/* END_SNIPPET:image */

/* START_SNIPPET:product-card (INDEX:24) */
.product-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    height: 100%;
    border: 1px solid rgba(18, 18, 18, 0.06);
    border-radius: 1.05rem;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 24px rgba(14, 18, 25, 0.03);
    transition:
      transform 180ms ease,
      box-shadow 180ms ease,
      border-color 180ms ease;
  }

  .product-card:hover {
    transform: translateY(-2px);
    border-color: rgba(18, 18, 18, 0.1);
    box-shadow: 0 14px 30px rgba(14, 18, 25, 0.05);
  }

  .product-card__media-link,
  .product-card__title a {
    color: inherit;
    text-decoration: none;
  }

  .product-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #f4efe8;
  }

  .product-card__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition:
      opacity 220ms ease,
      transform 220ms ease;
  }

  .product-card__image--secondary {
    position: absolute;
    inset: 0;
    opacity: 0;
  }

  .product-card:hover .product-card__image--primary:has(+ .product-card__image--secondary) {
    opacity: 0;
  }

  .product-card:hover .product-card__image--secondary {
    opacity: 1;
    transform: scale(1.01);
  }

  .product-card__image--fallback {
    display: flex;
    align-items: flex-end;
    padding: 1.4rem;
    color: #1c2328;
    font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
    font-size: 1.75rem;
    line-height: 1;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0)),
      linear-gradient(180deg, #d7dbde 0%, #9099a2 100%);
  }

  .product-card__badges {
    position: absolute;
    top: 0.8rem;
    left: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
  }

  .product-card__badges span {
    border-radius: 999px;
    padding: 0.34rem 0.56rem;
    background: rgba(255, 255, 255, 0.74);
    color: #4a4038;
    font-size: 0.63rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
  }

  .product-card__content {
    display: grid;
    grid-template-rows: minmax(2.35rem, auto) minmax(2.95rem, auto) auto;
    gap: 0.75rem;
    align-content: start;
    padding: 1rem 1rem 1.15rem;
  }

  .product-card__feature-row,
  .product-card__meta {
    display: flex;
    gap: 0.45rem;
  }

  .product-card__meta {
    margin: 0;
    color: #6b6259;
    font-size: 0.73rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .product-card__meta {
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
  }

  .product-card__feature-row {
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    min-height: 2.35rem;
  }

  .product-card__feature {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid rgba(45, 39, 34, 0.08);
    border-radius: 999px;
    padding: 0.28rem 0.58rem;
    background: linear-gradient(135deg, #fbfaf7, #f2eee8);
    color: #62584f;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.055em;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .product-card__price {
    color: #171310;
    font-size: 1.32rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1;
  }

  .product-card__swatches {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.38rem;
    color: #6b6259;
  }

  .product-card__swatch {
    display: inline-block;
    width: 1.05rem;
    height: 1.05rem;
    border: 1px solid rgba(24, 20, 17, 0.16);
    border-radius: 999px;
    background: var(--swatch-background);
    box-shadow:
      inset 0 0 0 2px rgba(255, 255, 255, 0.88),
      0 3px 8px rgba(24, 20, 17, 0.08);
  }

  .product-card__swatch-more {
    color: #6b6259;
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.04em;
  }

  .product-card__title {
    margin: 0;
    color: #121212;
    font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.14;
    min-height: 2.95rem;
  }

  .product-card__title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .product-card__lens-link,
  .product-card [data-lens-options] {
    display: none;
  }

  @media (max-width: 749px) {
    .product-card {
      width: 100%;
      min-width: 0;
    }

    .product-card {
      border-radius: 0.9rem;
      box-shadow: 0 8px 18px rgba(14, 18, 25, 0.04);
    }

    .product-card__badges {
      top: 0.65rem;
      left: 0.65rem;
      gap: 0.35rem;
    }

    .product-card__badges span {
      padding: 0.32rem 0.55rem;
      font-size: 0.62rem;
    }

    .product-card__content {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      padding: 0.8rem 0.75rem 0.9rem;
    }

    .product-card__feature-row,
    .product-card__meta {
      gap: 0.45rem;
      align-items: flex-start;
    }

    .product-card__meta {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      margin-top: auto;
    }

    .product-card__meta {
      font-size: 0.62rem;
      letter-spacing: 0.08em;
    }

    .product-card__feature-row {
      min-height: auto;
    }

    .product-card__feature {
      max-width: 100%;
      padding: 0.24rem 0.48rem;
      font-size: 0.56rem;
      letter-spacing: 0.04em;
    }

    .product-card__price {
      font-size: 1.35rem;
    }

    .product-card__title {
      min-height: auto;
      font-size: 0.98rem;
      line-height: 1.15;
    }

  }
/* END_SNIPPET:product-card */