@font-face {
  font-family: "Supreme LL";
  src: url("SupremeLLWeb-Regular.woff2") format("woff2"),
    url("SupremeLLWeb-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Craftory";
  src: url("BR-Naht-Beta-Regular.woff2") format("woff2"),
    url("BR-Naht-Beta-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Craftory";
  src: url("BR-Naht-Beta-Bold.woff2") format("woff2"),
    url("BR-Naht-Beta-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --content-spacing: 0.625rem;
  --secondary-color: 243, 238, 232;
  --color-orange: 221, 122, 58;
  --color-red: 193, 82, 83;
  --color-mid-grey: 197, 196, 186;
  --color-lighter-grey: 219, 213, 205;
  --color-yellow: 240, 181, 92;
  --color-dark-grey: 86, 86, 86;
  --color-green: 136, 138, 110;
  --color-beige: 243, 238, 232;
  --font-sans: "Supreme LL", sans-serif;
  --font-display: "Craftory", sans-serif;
  --heading-font-family: var(--font-sans);
  --text-font-family: var(--font-sans);
  --heading-letter-spacing: 0;
}

body {
  font-family: var(--font-sans);
}

::selection {
  background: rgb(var(--text-color));
  color: rgb(var(--background));
}

.heading,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.prose :where(h1, h2, h3, h4, h5, h6) {
  text-transform: none;
  letter-spacing: 0;
}

a.button {
  border: 1px solid rgb(var(--text-color));
  font-size: 0.875rem;
  line-height: 1;
  padding: 0.625rem 0.8rem;
  display: inline-block;
  border-radius: 7px;
  transition: color 0.2s, background-color 0.2s;
  color: rgb(var(--text-color));
  background: transparent;
  letter-spacing: 0;
  text-transform: none;

  &:hover {
    background: rgb(var(--text-color));
    color: rgb(var(--background));
  }
}

.header {
  --header-logo-width: clamp(9.8rem, 2.0936rem + 10.2618vw, 10rem);

  padding: 1rem var(--content-spacing);

  a,
  summary,
  a span,
  button,
  li,
  p {
    font-size: clamp(0.875rem, 0.4745rem + 0.8377vw, 1.125rem);
    opacity: 1;
    color: rgb(var(--text-color));
    line-height: 1.5;
    text-transform: none;
    letter-spacing: 0;
  }

  li::before {
    display: none;
  }

  .localization-toggle {
    svg {
      display: none;
    }
  }

  .cart-nav-item {
    display: flex;
    align-items: center;
    gap: 0.25em;

    .cart-nav-item__count {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: clamp(0.75rem, 0.661rem + 0.238vw, 0.875rem);
      flex-shrink: 0;
      width: 1.5em;
      height: 1.5em;
      aspect-ratio: 1;
      border-radius: 100%;
      background: rgb(var(--text-color));
      color: rgb(var(--background));
    }
  }
}

.mega-menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: var(--content-spacing);
  border-bottom: 0;

  .mega-menu__section-heading {
    display: none;
  }

  ul {
    row-gap: 0;
  }

  a {
    transition: color 0.2s;

    &:hover {
      color: #9d9230;
    }
  }

  .mega-menu__promo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--content-spacing);

    & > a {
      gap: 0.25rem;

      &:only-child {
        grid-column: span 2 / span 2;
        max-width: 100%;
      }
    }
  }
}

.container {
  margin-inline: var(--content-spacing);
}

.bleed,
.full-bleed {
  margin-inline: calc(var(--content-spacing) * -1);
  padding-inline: 0;
}

.footer {
  padding: var(--content-spacing);

  @media screen and (min-width: 1024px) {
    padding-block-start: 2rem;
  }

  p,
  a {
    color: rgb(var(--text-color));
    line-height: 1.5;
    text-transform: none;
    letter-spacing: 0;
    font-size: 1.125rem;

    @media screen and (min-width: 1024px) {
      font-size: 1rem;
    }
  }

  .container {
    margin-inline: 0;
  }

  .footer__inner {
    row-gap: 1.5rem;
    width: 100%;
  }

  .footer__block-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    width: 100%;
    justify-content: space-between;
  }

  .footer__block--links,
  .footer__menu-wrapper {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    ul {
      display: flex;
      justify-content: flex-start;

      @media screen and (min-width: 1024px) {
        justify-content: center;
      }

      li {
        white-space: nowrap;
      }
    }
  }

  .footer__menu-wrapper {
    margin-block-end: 2rem;

    &:has(.social-media-newsletter-buttons) {
      .footer-links:first-of-type {
        grid-column: 2 / 2;
        grid-row: 1 / 1;
      }

      .footer-links:last-of-type {
        grid-column: 2 / 2;
        grid-row: 2 / 2;
      }
    }
  }

  .footer-links {
    ul {
      display: flex;
      flex-direction: column;
      gap: 0;

      @media screen and (min-width: 1024px) {
        flex-direction: row;
        gap: 0.75rem;
      }
    }
  }

  svg {
    fill: rgb(var(--secondary-color));
    width: 100%;
  }

  .footer__block--copyright {
    order: -1;
    margin-bottom: 1.5rem;
  }

  .footer-links:first-of-type {
    grid-column: 1 / 2;
    grid-row: 1 / 1;

    @media screen and (min-width: 1024px) {
      grid-column: 1 / 4;
      grid-row: auto;
    }
  }

  .footer-links:last-of-type {
    grid-column: 2 / 2;
    grid-row: 1 / 1;

    @media screen and (min-width: 1024px) {
      grid-column: 4 / 7;
      grid-row: auto;
    }
  }

  .social-media-newsletter-buttons {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 0.625rem;
    margin-bottom: 2rem;
    grid-column: 1 / 1;
    grid-row: 1 / 3;

    @media screen and (min-width: 1024px) {
      grid-column: auto;
      align-items: center;
      flex-direction: row;
      justify-content: space-between;
    }

    a,
    button {
      border: 1px solid rgb(var(--text-color));
      font-size: 0.875rem;
      line-height: 1;
      padding: 0.625rem 0.8rem;
      display: inline-block;
      border-radius: 7px;
      transition: color 0.2s, background-color 0.2s;
      color: rgb(var(--text-color));

      &::before {
        display: none;
      }

      &:hover {
        background-color: rgb(var(--text-color));
        color: rgb(var(--background));
      }
    }

    .social-media__item a {
      text-transform: uppercase;
    }

    @media screen and (min-width: 640) {
      a,
      button {
        font-size: 1rem;
        padding: 0.625rem 0.875rem;
      }
    }
  }
}

@media screen and (min-width: 1024px) {
  .footer {
    p,
    a {
      font-size: 1rem;
    }

    .footer__block-list {
      display: flex;
      flex-direction: row;
    }

    .footer__block--links {
      max-width: 33.333%;
      width: 33.333%;

      ul {
        justify-content: flex-start;
      }

      &:last-child ul {
        justify-content: flex-end;
      }
    }

    .footer__block--copyright {
      order: 0;
      margin-bottom: 0;
    }

    .footer__menu-wrapper {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      align-items: center;
      margin-block-end: 2rem;

      &:has(.social-media-newsletter-buttons) {
        .social-media-newsletter-buttons {
          grid-column: 3 / 5;
          grid-row: 1 / -1;
          justify-content: space-between;
          margin-bottom: 0;
        }

        .footer-links {
          ul {
            flex-wrap: wrap;
          }

          &:first-of-type {
            grid-column: 1 / 3;
            grid-row: auto;
          }

          &:last-of-type {
            grid-column: 5 / 7;
            grid-row: auto;
          }
        }
      }

      .footer-links ul {
        justify-content: flex-end;
      }

      .footer-links:first-child ul {
        justify-content: flex-start;
      }
    }
  }

  .footer__inner:has(> .footer__background-image) {
    display: grid;
    justify-content: center;
    grid-template-columns: 1fr;

    .footer__background-image {
      grid-column: 1 / -1;
      grid-row: 1 / -1;
      width: 100%;
    }

    .footer__block-list {
      align-items: center;
      grid-column: 1 / -1;
      grid-row: 1 / -1;
      position: relative;
    }
  }
}

.product-card {
  gap: 0.125rem;
  font-size: clamp(0.75rem, 0.55rem + 0.5vw, 1rem);
  line-height: 1.5;
  position: relative;

  .product-card__image--secondary {
    mix-blend-mode: normal;
    object-fit: cover;
  }

  .product-card__media--featured-image {
    img {
      object-fit: cover;
    }

    .product-card__image--secondary {
      object-fit: contain;
    }
  }

  .product-card__info {
    gap: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    .product-details {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 0.5rem;
      color: #aba8a1;
    }

    .color-swatch {
      --swatch-border-size: 2px;
    }
  }

  .product-card__quick-add-button {
    display: flex;
    width: calc(100% - 1.25rem);
    justify-content: space-between;
    bottom: 0.625rem;
    left: 0.625rem;
    align-items: center;
    border-radius: 8px;
    background: rgb(var(--color-yellow));
    font-size: clamp(0.875rem, 0.5995rem + 0.8377vw, 1.5rem);
    padding: 0.25rem;
    padding-inline-start: 0.625rem;
    color: rgb(var(--text-color));

    &:hover {
      color: rgb(var(--text-color));
      background: rgb(var(--color-yellow));

      svg {
        transform: none;
      }
    }

    .icon-wrapper {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%;
      width: auto;
      aspect-ratio: 1;
      background: rgb(var(--secondary-color));
      border-radius: 6px;
      padding: clamp(0.25rem, 0.0648rem + 0.463vw, 0.5625rem);
    }

    svg {
      width: clamp(1.5rem, 1.2778rem + 0.5556vw, 1.875rem);
    }
  }

  .product-title {
    width: auto;
    text-align: left;
    display: block;
  }

  .product-card__title-wrapper {
    width: 100%;
  }

  .text-subdued {
    color: rgb(var(--text-color));
  }

  .product-card__title {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }

  .price-list {
    justify-content: flex-start;
    text-align: left;
    min-width: 33.333%;
  }

  .product-card__media {
    aspect-ratio: 4 / 5;
    background: rgb(var(--color-lighter-grey));
    width: 100%;
    height: auto;
  }
}

.badge-list,
.product-card__figure > .badge-list {
  inset: auto;
  top: var(--content-spacing);
  right: var(--content-spacing);
  position: absolute;
  z-index: 1;
  align-items: flex-start;
  gap: 1rem;

  .badge {
    border-radius: 999px;
    writing-mode: vertical-rl;
    text-orientation: upright;
    color: rgb(var(--text-color));
    background: rgb(var(--secondary-color));
    font-size: clamp(0.75rem, 0.6019rem + 0.3704vw, 1rem);
    padding-inline: clamp(0.75rem, 0.6389rem + 0.2778vw, 0.9375rem);
    padding-block: clamp(0.3125rem, 0.1273rem + 0.463vw, 0.625rem);
  }

  .badge--on-sale {
    background: rgb(var(--color-yellow));
  }
}

.product-card--featured {
  grid-row: span 2 / span 2;
  grid-column: 1 / -1;
  grid-row-start: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;

  @media screen and (min-width: 700px) {
    grid-column-start: 2;
  }

  @media screen and (min-width: 1000px) {
    grid-column-start: 3;
  }

  .price-list {
    min-width: 50%;
  }

  .product-card__media,
  .product-card__figure {
    height: 100%;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: auto;
  }

  .overlay-text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: rgb(var(--secondary-color));
    text-transform: uppercase;
    font-size: clamp(2.5rem, 0.2778rem + 5.5556vw, 6.25rem);
    text-align: center;
    width: 100%;
    letter-spacing: 0.1em;
    font-family: var(--font-display);
  }
}

.aspect-medium-tall {
  aspect-ratio: 3 / 4;
}

.shopify-section--main-collection .container {
  margin-inline: 0;
}

.collection {
  gap: 0;

  .facets-drawer {
    padding-inline: var(--content-spacing);
  }
}

.pagination {
  gap: var(--content-spacing);
  border: 0;
  margin-top: clamp(0.625rem, -0.4861rem + 2.7778vw, 2.5rem);

  .pagination__link {
    background-color: rgb(var(--color-lighter-grey));
    border-radius: 8px;
    font-size: 1rem;
    transition: background-color 0.2s;

    &:hover {
      background-color: rgb(var(--color-orange));
    }
  }

  .pagination__link[aria-current="page"] {
    box-shadow: none;
    background: rgb(var(--color-orange));
  }
}

.product-list {
  --product-list-calculated-column-gap: var(--content-spacing);
  align-items: stretch;
  margin-inline: var(--content-spacing) !important;
  margin-block-start: var(--content-spacing);
}

[products-count="3"] .product-list:not(.product-list--carousel) {
  grid-template-columns: 1fr;

  @media screen and (min-width: 700px) {
    grid-template-columns: repeat(2, 1fr);
  }

  @media screen and (min-width: 1000px) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.shopify-section--collection-banner {
  .section-spacing--tight {
    padding-top: clamp(2.5rem, 2.037rem + 7.4074vw, 5rem);
    min-height: clamp(12rem, 6.0741rem + 14.8148vw, 22rem);
    padding-bottom: 1rem;
  }

  .container {
    display: grid;
    grid-template-columns: 1fr;
  }

  .quick-links-wrapper {
    width: 100%;
    overflow: hidden;
    margin-top: 1rem;
    margin-bottom: 1.5rem;

    @media screen and (min-width: 768px) {
      margin-top: 0;
      margin-bottom: 0;
    }
  }

  .quick-links {
    display: flex;
  }

  h1 {
    text-align: left;
    font-size: clamp(1.75rem, 0.5648rem + 2.963vw, 3.75rem);
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
  }

  .quick-links {
    width: 100%;

    @media screen and (min-width: 768px) {
      display: grid;
    }

    ul {
      list-style: none;
      font-size: clamp(1.25rem, 0.4745rem + 0.8377vw, 1.375rem);
      line-height: 1.5;
      color: #aba8a1;
      margin-inline-start: 0;
      display: flex;
      gap: 0.5em;

      & + ul {
        margin-inline-start: 0.5em;
      }

      li {
        white-space: nowrap;

        &:first-child {
          padding-left: 0;
        }
      }

      @media screen and (min-width: 768px) {
        display: block;

        li {
          white-space: normal;
          padding-inline-start: 0;
        }

        & + ul {
          margin-inline-start: 0;
        }
      }

      a {
        transition: color 0.2s;
      }

      a.active,
      a:hover {
        color: rgb(var(--text-color));
      }
    }
  }
}

@media screen and (min-width: 768px) {
  .shopify-section--collection-banner {
    .container,
    .quick-links {
      grid-template-columns: 1fr 1fr;
    }
  }
}

.collection-toolbar {
  min-height: 0;
  box-shadow: none;
  padding-inline: var(--content-spacing);
  border: 0;
  position: relative;
  inset-block-start: 0;

  .collection-toolbar__button-list {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, 1fr);
  }

  .collection-toolbar__button-container {
    border: none;

    &:has(#sort-by-popover),
    &:has([aria-controls="sort-by-popover"]) {
      position: absolute;
      right: 0;
      top: 0;
      width: auto;
    }
  }

  .collection-toolbar__button-list--accordion {
    display: block;
    position: relative;

    .filter-list {
      p {
        font-size: clamp(0.875rem, 0.4745rem + 0.8377vw, 1.375rem);
        margin-bottom: 1em;
      }
    }

    .accordion__toggle,
    .collection-toolbar__button {
      text-transform: uppercase;
      font-size: 1rem;
      letter-spacing: 0.1em;
      padding-inline: 1rem;
      padding-block: 0.75rem;
      background: rgb(var(--color-lighter-grey));
      border-radius: 20px;
      line-height: 1;
      transition-duration: 0.2s;
    }

    .accordion {
      summary {
        width: auto;
      }
    }

    .accordion[aria-expanded="true"] {
      .accordion__toggle {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
      }
    }

    .accordion__content {
      background: rgb(var(--color-lighter-grey));
      border-radius: 20px;
      border-top-left-radius: 0;
      padding-block-start: 1.5rem;
      padding-inline: 1rem;
      padding-block-end: 1rem;
    }

    .accordion {
      border: 0;
    }

    .accordion-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: var(--content-spacing);
      row-gap: 2rem;

      @media screen and (min-width: 768px) {
        grid-template-columns: repeat(4, 1fr);
        row-gap: clamp(1rem, -0.1852rem + 2.963vw, 3rem);
      }
    }

    .button-container {
      position: absolute;
      right: var(--content-spacing);
      bottom: var(--content-spacing);

      button {
        border-radius: 999px;
        background-color: rgb(var(--color-orange));
        color: rgb(var(--text-color));
        border: 0;

        &:hover {
          color: rgb(var(--color-orange));
          background-color: rgb(var(--text-color));
        }
      }
    }
  }

  .collection-toolbar__button-container > .collection-toolbar__button,
  a,
  label {
    padding: 0;
    color: rgb(var(--text-color));
    opacity: 1;
    font-size: 1rem;
    letter-spacing: 0;
    text-transform: none;

    .text-with-icon svg {
      display: none;
    }
  }

  .collection-toolbar__button-container > .collection-toolbar__button {
    padding-inline: 1rem;
    padding-block: 0.75rem;
    text-transform: uppercase;
  }

  .popover {
    left: 0;
    right: auto;
  }

  .popover::part(content) {
    max-width: 100%;
    box-shadow: none;
    width: 100%;
  }

  .swatches {
    display: flex;
    flex-wrap: wrap;
  }

  .swatches-wrapper {
    display: flex;
  }
}

.breadcrumb__list {
  gap: 0.25rem;
}

.breadcrumb__list-item + .breadcrumb__list-item:before {
  content: "↪";
  margin: 0;
  font-size: 1rem;
  margin-inline-end: 0;
  color: var(--text-color);
}

.breadcrumb__list-item + .breadcrumb__list-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.shopify-section--collection-list {
  margin-top: clamp(6.75rem, 3.6713rem + 14.2593vw, 10rem);

  .section-spacing {
    border: none;
    padding: 0;
  }

  img {
    aspect-ratio: 3 / 4;
    width: 100%;
    object-fit: cover;
  }
}
.shopify-section--collection-list,
.shopify-section--main-list-collections {
  .container {
    margin-inline: 0;

    .collection-list {
      padding-inline: var(--content-spacing);
    }
  }

  .collection-list {
    --collection-list-gap: var(--content-spacing);
    padding-block-start: var(--content-spacing);
    padding-block-end: 2rem;
    justify-content: center;
    gap: var(--content-spacing);

    .content-over-media {
      --content-over-media-overlay: transparent !important;
    }
  }

  .section-stack {
    row-gap: 0;
  }

  .section-header h2 {
    text-align: center;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1.25;
    margin-block-end: 0.5rem !important;
    letter-spacing: 0.04em;
  }

  .content-over-media {
    --content-over-media-calculated-row-gap: 0.375rem;

    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: 0.375rem;
  }

  .content-over-media
    > :not(img, video, iframe, svg, video-media, picture, figure) {
    width: auto;
    max-width: 100%;
    place-self: start;
  }

  .content-over-media figure {
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow: hidden;
  }

  .collection-card {
    display: block;
  }

  .collection-card__content {
    background-color: transparent;
  }

  p {
    color: rgb(var(--text-color));
    font-size: clamp(0.875rem, 0.7269rem + 0.3704vw, 1.125rem);

    &.h3 {
      letter-spacing: 0;
      font-size: clamp(1.375rem, 0.8565rem + 1.2963vw, 1.75rem);
      text-transform: none;
    }

    & + p {
      margin-top: 0;
    }
  }
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
textarea {
  border: 1px solid rgb(var(--text-color));
  border-radius: 7px;
  background-color: transparent;
  padding-inline: 1rem;
  padding-block: 0.625rem;
  line-height: 1;
  font-size: 1rem;

  &::placeholder {
    color: rgb(var(--text-color));
    transition-duration: 0.2s;
  }

  &:focus::placeholder {
    opacity: 0;
  }

  &:focus {
    outline: none;
  }
}

.newsletter-popup {
  border: 1px solid rgb(var(--text-color));

  p {
    text-transform: none;
    letter-spacing: 0;
  }

  button[type="submit"] {
    border: 1px solid rgb(var(--text-color));
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.625rem 0.875rem;
    display: inline-block;
    border-radius: 7px;
    transition: color 0.2s, background-color 0.2s;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: 0;

    &::before {
      display: none;
    }

    &:hover {
      background-color: rgb(var(--text-color));
      color: rgb(var(--background));
    }
  }
}

.product-gallery__thumbnail-list {
  display: none;
}

.color-scheme--with-image-overlay {
  .content {
    height: 100%;
    padding-inline: var(--content-spacing);

    & > .prose {
      display: flex;
      flex-direction: column;
      justify-content: center;
      height: 100%;

      p.h6 {
        margin-bottom: auto;
        text-transform: none;
      }

      p:not(.h1, .h2, .h3, .h4, .h5, .h6, .h0) {
        font-size: clamp(0.875rem, 0.4745rem + 0.8377vw, 1.375rem);
        line-height: 1.2;
      }
    }
  }
}

.section-spacing:has(.multi-column) {
  padding-block: var(--content-spacing);
}

.container .multi-column {
  margin-inline: 0;

  .multi-column__item {
    gap: 0.5rem;
    position: relative;

    a {
      background: transparent;
      position: relative;
    }

    p:not(.h1, .h2, .h3, .h4, .h5, .h6, .h0) {
      line-height: 1.2;
    }

    p.overlay {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, calc(-50% - 0.06em));
      z-index: 1;
      color: rgb(var(--color-beige));
      font-size: clamp(16.75rem, 1.929rem + 39.524vw, 37.5rem);
      font-family: var(--font-display);
      user-select: none;
      pointer-events: none;
    }
  }

  @media screen and (min-width: 999px) {
    .multi-column__item--wide {
      grid-column: 1 / 3;
    }

    .multi-column__item--wide + .multi-column__item--auto:nth-child(2) {
      grid-column: 1;
    }

    .multi-column__item--wide:last-child:nth-child(2n - 1) {
      grid-column-end: 4;
      grid-column-start: 2;
    }
  }

  .prose:not(.prose--tight) :where(:not(meta, span) + *) {
    margin-block-start: 0;
  }

  .aspect-square {
    img {
      aspect-ratio: 1 / 1;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

.shopify-section--image-with-text
  + .shopify-section--rich-text:has(.is-text-size-big) {
  padding-block: 0;
}

.shopify-section--rich-text {
  &:has(.text-start) {
    img {
      margin-inline: auto !important;
      display: block;
    }
  }
}

.shopify-section--rich-text.section-spacing:has(.is-text-size-big) {
  padding-block-start: clamp(3.75rem, 2.2917rem + 8.3333vw, 11.25rem);
  padding-block-end: clamp(5rem, 1.9537rem + 10.7407vw, 13.5rem);
}

.shopify-section--rich-text:has(.is-text-size-big) {
  padding-block: var(--content-spacing);

  p {
    font-size: clamp(1.75rem, 0.2736rem + 2.3037vw, 2.75rem);
    line-height: 1.1;
    max-width: 38ch;
    margin-inline: auto;
  }

  &:has(.text-start) {
    p {
      margin-inline-start: 0;
      max-width: 60ch;
    }

    img {
      margin-inline: auto !important;
      display: block;
      margin-block: clamp(2rem, 0.2222rem + 4.4444vw, 5rem) !important;
    }
  }
}

.shopify-section--rich-text div:has(> img) {
  margin-block-start: clamp(2.5rem, 0.1111rem + 2.2222vw, 2.5rem) !important;
  margin-block-end: clamp(2.5rem, 0.1111rem + 2.2222vw, 2.5rem) !important;
}

.shopify-section--rich-text:has(.is-text-size-large) {
  padding-block-start: clamp(5.625rem, 2.2917rem + 8.3333vw, 11.25rem);
  padding-block-end: clamp(6.25rem, 1.9537rem + 10.7407vw, 13.5rem);
}

.shopify-section--rich-text:has(.is-text-size-large) {
  padding-block: var(--content-spacing);

  p {
    font-size: clamp(1rem, 0.4815rem + 1.2963vw, 1.875rem);
    line-height: 1.1;
    max-width: 70ch;
    margin-inline: auto;
  }
}

.shopify-section--rich-text:has(.container--lg .is-text-size-large) {
  p {
    max-width: 100%;
  }
}

.shopify-section--featured-collections {
  padding-inline: var(--content-spacing);

  .v-stack:empty {
    display: none;
  }

  .container {
    margin-inline: 0;
  }

  .featured-collections-navigation-wrapper {
    width: 100%;
  }

  .featured-collections-navigation {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.25rem;

    button {
      font-size: clamp(1.125rem, 0.1983rem + 2.7225vw, 1.75rem);
      color: rgb(var(--color-mid-grey));
      transition: color 0.2s;

      &::after {
        display: none;
      }

      &[aria-current="true"] {
        color: rgb(var(--color-dark-grey));
      }
    }
  }

  .section-spacing {
    padding-block-start: clamp(1.5rem, 0.463rem + 2.5926vw, 3.25rem);
  }

  .section-stack {
    row-gap: clamp(1.5rem, 0.463rem + 2.5926vw, 3.25rem);
  }
}

.shopify-section--image-with-text {
  margin-block: clamp(2rem, 0.6806rem + 6.1111vw, 7.25rem);

  &:has(+ .shopify-section--rich-text) {
    margin-block-end: 0;
  }

  & + .shopify-section--image-with-text {
    margin-block-start: clamp(2rem, 0.6944rem + 13.8889vw, 7.25rem);
  }

  .heading {
    text-align: center;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1.25;
    margin-block-end: 0.5rem;
    letter-spacing: 0.04em;
  }

  picture {
    position: relative;

    .overlay-text {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      color: rgb(var(--secondary-color));
      text-transform: uppercase;
      font-size: clamp(6.25rem, -10.4167rem + 41.6667vw, 34.375rem);
      text-align: center;
      width: 100%;
      letter-spacing: 0.1em;
      font-family: var(--font-display);
    }
  }

  .image-with-text.is-style-default {
    padding-inline: var(--content-spacing);

    p:not(.h1, .h2, .h3, .h4, .h5, .h6) {
      font-size: clamp(0.875rem, 0.4745rem + 0.8377vw, 1rem);
      line-height: 1.18;
    }

    @media screen and (min-width: 768px) {
      display: grid;
      grid-template-columns: repeat(12, 1fr);

      &.has-md-width.image-with-text--reverse {
        picture {
          transform: translateX(
            clamp(-1.4rem, -0.5259rem + -2.1852vw, -2.875rem)
          );
        }

        .prose {
          grid-column: 2 / span 7;
        }
      }

      picture {
        grid-column: span 4 / span 4;
      }

      .prose {
        grid-column: span 7 / span 7;
        margin-inline: auto;
      }

      &.image-with-text--reverse {
        .prose {
          grid-column: span 8 / span 8;
        }
      }
    }
  }

  .image-with-text.is-style-centered_image {
    display: grid;
    padding: var(--content-spacing);
    gap: var(--content-spacing);

    &:has(.prose > p.h1 + p.h1 + p.h1) {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(3, minmax(24px, min-content));

      .prose {
        margin-block: 0;
      }
    }

    @media screen and (min-width: 1024px) {
      grid-template-columns: repeat(3, 1fr);

      &:has(.prose > p.h1 + p.h1 + p.h1) {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: unset;
      }
    }

    .prose {
      width: 100%;
      max-width: 100%;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: center;

      .h1 {
        margin-bottom: auto;
        text-align: center;
        margin-top: 0;
        font-size: clamp(1.375rem, 0.8565rem + 1.2963vw, 2rem);
      }

      .h6 {
        font-size: clamp(0.875rem, 0.7269rem + 0.3704vw, 1.125rem);
        text-align: center;
      }

      p {
        text-transform: none;
        letter-spacing: 0;
        font-size: clamp(1.375rem, 0.7824rem + 1.4815vw, 2rem);
        line-height: 1.07;
      }

      @media screen and (min-width: 768px) {
        height: 100%;
        align-items: start;

        .h1,
        .h6 {
          text-align: left;
        }
      }

      &:has(p.h1 + p.h1 + p.h1) {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: 1 / -1;
        grid-column: 1 / -1;
        grid-template-columns: subgrid;

        p.h1 {
          text-align: left;

          &:nth-child(2),
          &:last-child {
            text-align: right;
          }

          &:last-child {
            grid-row: -1;
            grid-column: -1;
          }
        }

        @media screen and (min-width: 768px) {
          display: grid;
          grid-column-start: 1;
          grid-column-end: 4;
          grid-template-columns: repeat(2, 1fr);
          gap: var(--content-spacing);
          grid-row-start: 1;

          p.h1 {
            text-align: left;

            &:nth-child(2),
            &:last-child {
              text-align: right;
            }

            &:last-child {
              grid-column-start: 2;
              margin-top: auto;
            }
          }
        }
      }
    }

    picture {
      grid-row-start: 2;
      grid-column: 1 / -1;

      img {
        max-width: 80%;
        margin-inline: auto;
        display: block;
        text-align: center;
      }

      @media screen and (min-width: 1024px) {
        grid-column-start: 2;
        grid-column-end: 3;
        grid-row-start: 1;

        img {
          max-width: 100%;
        }
      }
    }
  }
}

main > .shopify-section--image-with-text:first-child {
  margin-block-start: 0;
}

.product-list.product-list--carousel {
  margin-inline: 0 !important;
  margin-top: 0;
}

.carousel-nav {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0.375rem;
  right: 0.375rem;
  gap: 0.375rem;
  z-index: 1;

  .prev-next-button {
    transform: none;
    border-radius: 10px;
    box-shadow: none;
    font-size: 1.25rem;

    &[disabled] {
      opacity: 0.5;
      visibility: visible;
    }
  }

  &:has(.prev-next-button--prev[disabled]):has(
      .prev-next-button--next[disabled]
    ) {
    display: none;
  }
}

.product-gallery__image-list {
  position: relative;

  .badge-list {
    right: auto;
    left: clamp(0.75rem, 0.5278rem + 0.5556vw, 1.125rem);
    top: clamp(0.75rem, 0.5278rem + 0.5556vw, 1.125rem);
  }
}

.product-gallery__carousel {
  margin-inline: 0;
}

.product-gallery__media {
  img {
    aspect-ratio: 6 / 7;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.shopify-section--main-product {
  .product {
    gap: var(--content-spacing);
  }

  .section-spacing {
    padding-block-start: 0;
  }

  .product-info {
    padding-block-start: clamp(2rem, 0.2778rem + 5.5556vw, 3rem);
  }

  @media screen and (min-width: 1000px) {
    .product-info {
      margin-inline: 15%;
    }
  }

  .product-info {
    .product-title-wrapper {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.5rem;
    }

    .product-title,
    .price-list * {
      font-size: clamp(1.375rem, 0.5602rem + 2.037vw, 2rem);
      line-height: 1.2;
      letter-spacing: 0;
      text-transform: none;
      color: rgb(var(--text-color));
    }
  }

  .product-info__block-item[data-block-type="complementary-products"] {
    margin-block-start: clamp(3.125rem, -0.4306rem + 8.8889vw, 9.125rem);
  }

  .product-info__block-item[data-block-type="buy-buttons"] {
    margin-block-start: clamp(2rem, 0.4259rem + 5.1852vw, 2rem);
    margin-block-end: clamp(2rem, 0.6204rem + 4.0741vw, 2rem);
  }

  p {
    font-size: clamp(0.875rem, 0.7269rem + 0.3704vw, 1rem);
    line-height: 1.33;

    &.additional-information {
      font-size: clamp(0.75rem, 0.6389rem + 0.2778vw, 0.875rem);
      margin-block-start: 1.5em;
    }
  }
}

.klaviyo-bis-trigger.button {
  border-radius: 8px;
  background: rgb(var(--text-color));
  font-size: clamp(1rem, 0.5995rem + 0.8377vw, 1.5rem);
  padding: 0.75rem;
  color: rgb(var(--background));
  border: none;
  width: auto;
  display: inline-block;
  justify-self: self-start;

  &:hover {
    color: rgb(var(--text-color));
    background: rgb(var(--color-yellow));

    svg {
      transform: none;
    }
  }
}

.shopify-section--main-product .product-info__block-item button[type="submit"],
.product-info__block-item button[type="submit"] {
  border-radius: 8px;
  background: rgb(var(--color-yellow));
  font-size: clamp(1rem, 0.5995rem + 0.8377vw, 1.5rem);
  padding: 0.25rem;
  padding-inline-start: 0.625rem;
  color: rgb(var(--text-color));
  border: none;

  .text-with-icon {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  &:hover {
    color: rgb(var(--text-color));
    background: rgb(var(--color-yellow));

    svg {
      transform: none;
    }
  }

  .text-with-icon {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: auto;
    aspect-ratio: 1;
    background: rgb(var(--background));
    border-radius: 6px;
    padding: clamp(0.25rem, 0.0648rem + 0.463vw, 0.5625rem);
  }

  svg {
    width: clamp(1.5rem, 1.2778rem + 0.5556vw, 1.875rem);
  }
}

button.select {
  border: 1px solid rgb(var(--text-color));
  border-radius: 7px;
  box-shadow: none;
  width: auto;
  position: relative;
  padding-right: 2rem;
  padding-left: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  line-height: 1;
  font-size: 1rem;
  transition: color 0.2s, background 0.2s;

  svg {
    height: 0.85em;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    animation-duration: 0.3ms;
    animation-timing-function: ease-in-out;
  }

  &[aria-expanded="true"] {
    svg {
      transform: translateY(-50%) rotate(180deg);
    }
  }

  &:hover {
    background: rgb(var(--text-color));
    color: rgb(var(--background));
  }
}

button.monogram {
  border: 1px solid rgb(var(--text-color));
  border-radius: 7px;
  box-shadow: none;
  width: auto;
  position: relative;
  padding-inline: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  line-height: 1;
  font-size: 1rem;
  transition: color 0.2s, background 0.2s;

  &:hover {
    background: rgb(var(--text-color));
    color: rgb(var(--background));
  }
}

.line-item-property__field--express .checkbox {
  --checkbox-offset: 0;
  inset-block-start: var(--checkbox-offset);
}

.popover {
  border-radius: 7px;
}

.popover::part(content),
.quantity-selector {
  border: 1px solid rgb(var(--text-color));
  background-color: rgb(var(--background));
  border-radius: 7px;
  box-shadow: none;
  font-size: 1rem;
  line-height: 1;
}

.quantity-selector {
  --quantity-selector-height: 2.3rem;
  --quantity-selector-input-width: 1.75rem;

  grid-template-columns: 1fr 1fr 1fr;

  input {
    line-height: 1;
  }
}

.facets .accordion-list .accordion:last-child {
  border-block-end-width: 1px;
}

.accordion {
  background: rgb(var(--color-beige));
  border-top: 0;
  border-bottom: 0;
  padding-inline: 0.675rem;
  border-radius: 0.5rem;

  .accordion__toggle {
    font-size: clamp(1rem, 0.9259rem + 0.1852vw, 1.125rem);
    line-height: 1.3;
    padding-block: 0.75rem;
    user-select: none;
  }

  .animated-plus {
    --animated-plus-size: 1.375rem;

    height: auto;

    svg {
      width: 1.375rem;
      height: auto;
    }

    &::before,
    &::after {
      display: none;
    }
  }

  &[aria-expanded="true"] {
    svg {
      transform: rotate(180deg);
    }
  }

  .accordion__content p {
    font-size: clamp(0.875rem, 0.8009rem + 0.1852vw, 1rem);
    line-height: 1.5;
  }

  .accordion__content {
    padding-block: 0.75rem;
  }
}

.product-info__block-group.accordion-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;

  .accordion {
    border: 0;
    background: rgb(var(--secondary-color));
    padding-inline: 0.775rem;
    border-radius: 8px;
  }
}

.switch:checked {
  background-color: rgb(var(--text-color));
}

.facets .accordion-list .accordion:last-child .accordion__content {
  padding-block: 0.75rem;
}

main button[type="submit"],
main button.button {
  background: rgb(var(--text-color));
  color: rgb(var(--background));
  text-transform: none;
  letter-spacing: 0;
  display: inline-block;
  width: auto;
  font-size: clamp(1rem, 0.8519rem + 0.3704vw, 1.25rem);
  transition: all 0.3s;
  padding-inline: 1.125rem;
  line-height: 1;
  padding-block: 0.875rem;
  border-radius: 8px;

  &:hover {
    background: rgb(var(--background));
    color: rgb(var(--text-color));
  }
}

main button.button.button--outline {
  background: transparent;
  color: rgb(var(--text-color));
  border: 1px solid rgb(var(--text-color));
  font-size: 0.875rem;
  padding: 0.625rem 0.8rem;

  &:hover {
    background: rgb(var(--text-color));
    color: rgb(var(--background));
  }
}

.product-sticky-bar {
  padding-inline: var(--content-spacing);
  padding-block: var(--content-spacing);
  border: none;

  button.button {
    font-size: 1rem;
  }
}

.section-stack {
  row-gap: 1rem;
}

.section-header h2 {
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 1.25;
  margin-block-end: 0.5rem;
}

.shopify-section--related-products {
  padding-inline: 0;

  .container {
    margin-inline: 0;
  }
}

.shopify-section--recently-viewed-products,
.shopify-section--related-products {
  margin-block-start: clamp(3.125rem, 0.6065rem + 6.2963vw, 7.375rem);
}

.product-info__block-item[data-block-type="variant-picker"],
.product-info__block-item[data-block-type="quantity-selector"] {
  margin-block: 0.75rem;
}

.product-info__block-item[data-block-type="monogram"] {
  --product-info-gap: 1.5rem;
}

.drawer::part(footer),
.drawer::part(body),
.drawer::part(header) {
  padding-inline: var(--content-spacing);
  padding-block: var(--content-spacing);
  border: 0;
}

.cart-drawer {
  font-size: 1rem;

  .link-faded-reverse {
    text-decoration: underline;
  }

  .line-item-info > .v-stack {
    gap: 0.5rem;
  }

  .text-subdued {
    color: rgb(var(--text-color));
  }

  .smallcaps,
  ul li {
    text-transform: none;
    font-size: 0.75rem;
    letter-spacing: 0;
  }

  .h-stack {
    margin-top: 0.5rem;
  }

  ul {
    list-style-type: none;
    margin: 0;

    li {
      padding-inline-start: 0;
    }
  }

  .v-stack {
    gap: 0;
    line-height: 1.3;
  }
}

button.button {
  background: rgb(var(--text-color));
  color: rgb(var(--background));
  text-transform: none;
  letter-spacing: 0;
  display: flex;
  width: 100%;
  font-size: clamp(1rem, 0.8519rem + 0.3704vw, 1.25rem);
  transition: all 0.3s;
  padding-inline: 1.125rem;
  line-height: 1;
  padding-block: 0.875rem;
  border: 1px solid rgb(var(--text-color));

  &:hover {
    background: rgb(var(--background));
    color: rgb(var(--text-color));
  }
}

:where(.modal, .drawer, .popover, .header-search)::part(close-button) {
  color: rgb(var(--text-color));
}

.removable-facet {
  border: 1px solid rgb(var(--text-color));
  border-radius: 7px;
  padding-inline: 1rem;
  padding-block: 0.5rem;
  line-height: 1.3;
  color: rgb(var(--text-color));

  * {
    color: rgb(var(--text-color));
  }
}

.customer-account-box {
  form {
    margin-inline: auto;

    @media screen and (min-width: 640px) {
      max-width: 75%;
    }

    @media screen and (min-width: 1024px) {
      max-width: 50%;
    }
  }
}

.checkbox-control {
  gap: 1rem;

  label {
    line-height: 1.5;
    color: #aba8a1;
    text-transform: none;
    letter-spacing: 0;
    font-size: clamp(0.875rem, 0.4745rem + 0.8377vw, 1.375rem);
    line-height: 1.5;
  }

  input:not(.switch) {
    border-radius: 100%;
    border: #aba8a1 2px solid;
    width: 1.125rem;
    height: 1.125rem;

    &:checked {
      border: rgb(var(--text-color));
      background: rgb(var(--text-color));
    }
  }

  .checkbox:not(:disabled, :checked) ~ label {
    opacity: 1;
  }
}

.complementary-products__header {
  p {
    font-size: clamp(1rem, 0.5995rem + 0.8377vw, 1.5rem);
  }
}

.complementary-products {
  gap: 0.375rem;
}

.complementary-products__product-list {
  gap: var(--content-spacing);
}

.horizontal-product-card {
  background-color: rgb(var(--color-lighter-grey));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  overflow: hidden;
  border-radius: 10px;
  align-items: stretch;

  .horizontal-product-card__figure {
    width: 100%;
    height: auto;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .horizontal-product-card__info {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    align-items: stretch;
    padding: var(--content-spacing);
    justify-content: space-between;

    .product-title,
    .price-list * {
      font-size: clamp(1rem, 0.5995rem + 0.8377vw, 1.5rem);
    }
  }

  button.horizontal-product-card__button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background-color: rgb(var(--secondary-color));
    color: rgb(var(--text-color));
    font-size: clamp(0.9375rem, 0.8519rem + 0.3704vw, 1.25rem);
    border: 0;
    padding-inline-start: 0.75rem;
    padding-inline-end: 0.25rem;
    padding-block: 0.25rem;

    .icon-wrapper {
      height: clamp(1.75rem, 1.4537rem + 0.7407vw, 2.25rem);
      display: flex;
      align-items: center;
      justify-content: center;
      width: auto;
      aspect-ratio: 1;
      background: rgb(var(--background));
      border-radius: 6px;
      padding: clamp(0.25rem, 0.0648rem + 0.463vw, 0.5625rem);
    }

    .icon {
      height: 100%;
    }
  }
}

.blog-post-list {
  display: grid;
  column-gap: var(--content-spacing);
  row-gap: 1.75rem;
  grid-template-columns: repeat(2, 1fr);

  img {
    aspect-ratio: 3 / 4;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .blog-post-card {
    gap: 0.5rem;

    .blog-post-card__title {
      font-size: clamp(1.25rem, 0.5833rem + 1.6667vw, 2rem);
      line-height: 1.1;
    }

    .blog-post-card__info {
      gap: 0.5rem;
    }

    .blog-post-card__excerpt {
      font-size: clamp(0.875rem, 0.8009rem + 0.1852vw, 1rem);
      line-height: 1.25;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    &:nth-child(7) {
      grid-column: span 2 / span 2;

      img {
        aspect-ratio: 4 / 3;
        width: 100%;
        height: auto;
      }
    }
  }

  @media screen and (min-width: 768px) {
    grid-template-columns: repeat(6, 1fr);

    .blog-post-card {
      grid-column: span 2 / span 2;

      &:nth-child(7) {
        grid-column: span 4 / span 4;
        grid-column-start: 3;
      }
    }
  }

  @media screen and (min-width: 1024px) {
    grid-template-columns: repeat(12, 1fr);

    .blog-post-card {
      grid-column: span 3 / span 3;
    }

    .blog-post-card:nth-child(-n + 6) {
      grid-column: span 4 / span 4;
    }

    .blog-post-card:nth-child(7) {
      grid-column: span 8 / span 8;
      grid-column-start: 5;
      margin-block: 1rem;

      .blog-post-card__excerpt {
        font-size: 1rem;
        line-height: 1.25;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
      }
    }
  }
}

.shopify-section--image-with-text-overlay {
  .content-over-media {
    --content-over-media-gap: 0;
  }

  .section-spacing {
    padding-block: 0;
  }

  .content-over-media {
    padding-block-end: clamp(1rem, -0.1852rem + 2.963vw, 3rem);
  }

  &:has(.content.place-self-end-center--offset) {
    picture img {
      padding-block-end: clamp(4rem, 1.6296rem + 5.9259vw, 8rem);
    }
  }

  .content.place-self-end-center--offset > .prose {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    p {
      font-size: clamp(1.375rem, 0.7824rem + 1.4815vw, 2.375rem);
    }
  }
}

.slideshow {
  .content-over-media {
    row-gap: 1rem;
  }
}

.page-dots,
.slideshow .page-dots {
  background: rgb(var(--secondary-color));
  padding-block: 0.75rem;
  padding-inline: var(--content-spacing);
  border-radius: 999px;
  bottom: clamp(1.25rem, 0.287rem + 1.4074vw, 2.875rem);
  inset-inline-start: 50%;
  inset-inline-end: auto;
  transform: translateX(-50%);
  gap: 0.5rem;
}

.page-dots > *:after {
  background: rgb(var(--color-green));
}

.product-gallery .page-dots {
  transform: translateX(0);
}

.slideshow__slide {
  .content-over-media:has(.multi-column) {
    gap: 0;
  }

  img {
    opacity: 0;
    transform: scale(1.1);
    transition: opacity 0.3s, transform 1s;
  }

  &.is-selected {
    img {
      opacity: 1;
      transform: scale(1);
    }
  }

  p.h1 {
    font-family: var(--font-display);
    text-transform: uppercase;
    font-size: clamp(10rem, 0.91rem + 37.293vw, 41rem);
    line-height: 0.7;
    margin-top: 0;
  }

  p.h6,
  .content p {
    font-size: clamp(1.25rem, 0.8519rem + 0.3704vw, 1.25rem);
    line-height: 1.2;
  }

  .content {
    padding-bottom: 2rem;
  }

  .multi-column-wrapper {
    display: contents;
    height: 100%;
    width: 100%;
    max-width: 100%;
  }

  .slideshow__slide-content {
    height: 100%;
  }

  .prose {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 100%;
  }

  .multi-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--content-spacing);
    padding-inline: var(--content-spacing);
    height: 100%;
    width: 100%;
    max-width: 100%;
    grid-area: full-start / full-start / full-end / full-end;
    min-width: 100%;
    min-height: 100%;
    max-height: 100%;

    @media screen and (min-width: 768px) {
      grid-template-columns: 1fr 1fr;
      gap: var(--content-spacing);
    }

    .multi-column__item {
      height: 100%;
      display: block;
    }

    a {
      height: 100%;
      display: block;
    }

    img {
      height: 100%;
      width: 100%;
      object-fit: cover;
    }

    picture {
      height: 100%;
      width: 100%;
      overflow: hidden;
      display: block;
    }
  }

  .content-over-media > :not(img, video, iframe, svg, video-media, picture) {
    max-width: 100%;
  }
}

:checked + .color-swatch,
.color-swatch.is-selected {
  border-color: #cac9c2;
}

.color-swatch {
  --swatch-offset: 0;
  --swatch-size: 1.75rem;
  --swatch-border-size: 4px;
}

.variant-picker__option {
  gap: 0.25rem;

  legend,
  variant-option-value {
    font-size: 0.75rem;
  }
}

.variant-picker {
  flex-wrap: wrap;
}

.variant-picker__option--colour {
  width: 100%;
  flex-grow: 1;
  margin-block-end: calc(var(--content-spacing) * 0.5);
}

.variant-picker__option-values {
  column-gap: 0.25rem;
}

.shopify-section--image-with-text-overlay {
  .content-over-media {
    padding-block: 0;

    .prose p.huge {
      font-family: var(--font-display);
      font-size: clamp(15.625rem, 2.662rem + 32.4074vw, 34rem);
    }
  }
}

.quick-buy-modal::part(content) {
  border-radius: 8px;
}

.quick-buy-modal__content {
  .product-title-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .text-subdued {
    color: rgb(var(--text-color));
  }
}

product-list.floating-controls-container.floating-controls-container--inside.floating-controls-container--on-hover {
  position: relative;
}

.uppercase,
button.uppercase {
  text-transform: uppercase;
}

.customer-account-category {
  font-size: clamp(1.25rem, 0.4745rem + 0.8377vw, 1.375rem);
}

.customer-account-overview,
.customer-address-list {
  .prose p {
    font-size: clamp(1.25rem, 0.4745rem + 0.8377vw, 1.375rem);
  }

  .color-scheme {
    padding: 12px;
    border-radius: 8px;
  }
}

select[id*="--addresscountry"] {
  & + svg {
    display: none;
    border-radius: 8px !important;
  }
}

.prose figcaption,
.image-caption {
  margin-block: calc(var(--content-spacing) * 0.6);
  font-size: clamp(0.938rem, 0.848rem + 0.238vw, 1rem);
  color: rgb(var(--text-color));
  font-style: normal;
}

.image-caption::before {
  content: "↪ ";
}

.shopify-section--rich-text:not(.section-spacing)
  + .shopify-section--collection-list {
  margin-block-start: var(--container-gutter);
}

.article__wrapper .prose {
  font-size: var(--text-h4);

  a:has(img) {
    background: none;
  }

  img {
    width: 100%;
  }
}

.shopify-section--rich-text {
  .is-text-size-default {
    p:not(.h1, .h2, .h3, .h4, .h5, .h6) {
      font-size: var(--text-lg);
    }
  }

  .prose figcaption {
    margin-top: 0.5em;
    font-size: inherit;
  }

  .container--xs,
  .container--sm,
  .container--md {
    max-width: var(--container-max-width);
    margin-inline: auto;
  }

  .container--xs,
  .container--sm {
    padding-inline: var(--container-gutter);
  }
}

.product-info__block-item:is(
    [data-block-type="description"],
    [data-block-type="breadcrumbs"]
  ) {
  --product-info-gap: 8px;
}

.product-info__block-item:is([data-block-type="description"]) {
  margin-block-end: calc(var(--product-info-gap) * 2);
}

button.monogram.is-active {
  background: rgb(var(--text-color));
  color: rgb(var(--background));
}

#monogram-input {
  color: rgb(var(--text-color));
}

.shopify-section--rich-text + .shopify-section--multi-column {
  padding-block-start: var(--container-gutter);
  padding-block-end: calc(var(--container-gutter) * 2);
}

.shopify-section--image-with-text,
.shopify-section--image-with-text-overlay {
  & + .shopify-section--rich-text:not(:has(.section-spacing)) {
    padding-block: var(--content-spacing);
  }
}

.shopify-section--rich-text
  + .shopify-section--rich-text
  figure:has(img.constrained-image) {
  margin-block-end: var(--container-gutter);
}

.shopify-section:has(.color-scheme):last-of-type {
  margin-block-end: 0;
}

.shopify-section--multi-column + footer {
  margin-block-start: var(--container-gutter);

  @media screen and (min-width: 768px) {
    margin-block-start: calc(var(--container-gutter) * 2);
  }
}

table.order-summary {
  th,
  td {
    opacity: 1;
    border-color: rgb(var(--text-color));
  }
}

.shipping-estimator {
  border-color: rgb(var(--text-color));
  border-radius: 8px;
}

.cart-footer textarea {
  border-radius: 8px;
}
