/** Shopify CDN: Minification failed

Line 2087:23 Expected "}" to go with "{"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:main-404 (INDEX:14) */
.main-404 {
    --color-primary: #074042;
    --color-accent: #EAAFD4;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-404__container {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
    text-align: center;
  }

  .main-404__code {
    display: block;
    font-family: var(--font-heading);
    font-size: 6rem;
    font-weight: 700;
    line-height: 1;
    color: var(--color-accent);
    margin-bottom: 16px;
  }

  .main-404__heading {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
    color: var(--color-primary);
  }

  .main-404__body {
    font-size: 1.0625rem;
    line-height: 1.7;
    margin: 0 0 32px;
    opacity: 0.75;
  }

  .main-404__button {
    display: inline-block;
    padding: 14px 32px;
    background-color: var(--color-primary);
    color: #fff;
    text-decoration: none;
    border-radius: var(--style-border-radius-inputs, 6px);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
  }

  .main-404__button:hover {
    background-color: #053032;
  }

  @media screen and (max-width: 768px) {
    .main-404__code {
      font-size: 4rem;
    }

    .main-404__heading {
      font-size: 2rem;
    }
  }
/* END_SECTION:main-404 */

/* START_SECTION:main-collection (INDEX:18) */
.main-collection {
    --color-primary: #074042;
    --color-accent: #EAAFD4;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-collection__container {
    max-width: var(--page-width, 1200px);
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
  }

  .main-collection__header {
    text-align: center;
    margin-bottom: 40px;
  }

  .main-collection__title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
    color: var(--color-primary);
  }

  .main-collection__description {
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.7;
    font-size: 1rem;
    opacity: 0.85;
  }

  .main-collection__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(7, 64, 66, 0.1);
  }

  .main-collection__sort {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .main-collection__sort-label {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  .main-collection__sort-select {
    padding: 8px 36px 8px 12px;
    border: 1px solid rgba(7, 64, 66, 0.2);
    border-radius: var(--style-border-radius-inputs, 6px);
    background-color: transparent;
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--color-primary);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23074042' d='M6 8.825L0.575 3.4 1.4 2.575 6 7.175 10.6 2.575 11.425 3.4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    cursor: pointer;
  }

  .main-collection__sort-select:focus {
    outline: none;
    border-color: var(--color-primary);
  }

  .main-collection__count {
    font-size: 0.875rem;
    opacity: 0.7;
    margin: 0;
  }

  .main-collection__grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns, 3), 1fr);
    gap: 32px;
  }

  .main-collection__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    font-size: 1.125rem;
    opacity: 0.6;
  }

  .main-collection__pagination {
    margin-top: 48px;
    text-align: center;
  }

  .main-collection__pagination .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .main-collection__pagination a,
  .main-collection__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--style-border-radius-inputs, 6px);
    font-family: var(--font-body);
    font-size: 0.875rem;
    text-decoration: none;
    color: var(--color-primary);
    transition: background-color 0.2s ease;
  }

  .main-collection__pagination a:hover {
    background-color: rgba(7, 64, 66, 0.08);
  }

  .main-collection__pagination span.current {
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 600;
  }

  @media screen and (max-width: 768px) {
    .main-collection__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .main-collection__title {
      font-size: 2rem;
    }

    .main-collection__toolbar {
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
    }
  }

  @media screen and (max-width: 480px) {
    .main-collection__grid {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:main-collection */

/* START_SECTION:main-customers-account (INDEX:19) */
.main-customers-account {
    --color-primary: #074042;
    --color-accent: #EAAFD4;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-customers-account__container {
    max-width: var(--page-width, 1200px);
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
  }

  .main-customers-account__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 48px;
  }

  .main-customers-account__title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    color: var(--color-primary);
  }

  .main-customers-account__logout {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
  }

  .main-customers-account__logout:hover {
    opacity: 0.7;
  }

  .main-customers-account__section {
    margin-bottom: 48px;
  }

  .main-customers-account__section-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(7, 64, 66, 0.1);
    color: var(--color-primary);
  }

  /* Orders Table */
  .main-customers-account__orders-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .main-customers-account__orders {
    width: 100%;
    border-collapse: collapse;
  }

  .main-customers-account__orders th {
    text-align: left;
    padding: 12px 16px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.5;
    border-bottom: 1px solid rgba(7, 64, 66, 0.1);
  }

  .main-customers-account__orders td {
    padding: 16px;
    font-size: 0.9375rem;
    border-bottom: 1px solid rgba(7, 64, 66, 0.06);
    vertical-align: middle;
  }

  .main-customers-account__order-link {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
  }

  .main-customers-account__order-link:hover {
    opacity: 0.7;
  }

  .main-customers-account__status {
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 20px;
    background-color: rgba(7, 64, 66, 0.08);
  }

  .main-customers-account__status--fulfilled {
    background-color: rgba(7, 64, 66, 0.1);
    color: var(--color-primary);
  }

  .main-customers-account__status--unfulfilled {
    background-color: rgba(234, 175, 212, 0.3);
    color: var(--color-primary);
  }

  .main-customers-account__no-orders {
    font-size: 1rem;
    opacity: 0.6;
  }

  /* Address */
  .main-customers-account__address {
    line-height: 1.7;
    font-size: 1rem;
  }

  .main-customers-account__address p {
    margin: 0 0 16px;
  }

  .main-customers-account__no-address {
    font-size: 1rem;
    opacity: 0.6;
    margin-bottom: 12px;
  }

  .main-customers-account__address-link {
    font-size: 0.9375rem;
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
  }

  .main-customers-account__address-link:hover {
    opacity: 0.7;
  }

  @media screen and (max-width: 768px) {
    .main-customers-account__title {
      font-size: 2rem;
    }

    .main-customers-account__orders th,
    .main-customers-account__orders td {
      padding: 10px 12px;
      font-size: 0.8125rem;
    }
  }
/* END_SECTION:main-customers-account */

/* START_SECTION:main-customers-login (INDEX:20) */
.main-customers-login {
    --color-primary: #074042;
    --color-accent: #EAAFD4;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-customers-login__container {
    max-width: 440px;
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
  }

  .main-customers-login__title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 32px;
    color: var(--color-primary);
    text-align: center;
  }

  .main-customers-login__errors {
    padding: 14px 20px;
    margin-bottom: 24px;
    border: 1px solid #c44;
    border-radius: var(--style-border-radius-inputs, 6px);
    background-color: rgba(204, 68, 68, 0.05);
    font-size: 0.875rem;
    color: #c44;
  }

  .main-customers-login__field {
    margin-bottom: 20px;
  }

  .main-customers-login__label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    color: var(--color-primary);
  }

  .main-customers-login__input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(7, 64, 66, 0.2);
    border-radius: var(--style-border-radius-inputs, 6px);
    background-color: transparent;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--color-primary);
    transition: border-color 0.2s ease;
  }

  .main-customers-login__input:focus {
    outline: none;
    border-color: var(--color-primary);
  }

  .main-customers-login__submit {
    width: 100%;
    padding: 16px 32px;
    margin-top: 8px;
    background-color: var(--color-primary);
    color: #fff;
    border: none;
    border-radius: var(--style-border-radius-inputs, 6px);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease;
  }

  .main-customers-login__submit:hover {
    background-color: #053032;
  }

  .main-customers-login__links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(7, 64, 66, 0.1);
  }

  .main-customers-login__link {
    font-size: 0.9375rem;
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
  }

  .main-customers-login__link:hover {
    opacity: 0.7;
  }

  @media screen and (max-width: 768px) {
    .main-customers-login__title {
      font-size: 2rem;
    }
  }
/* END_SECTION:main-customers-login */

/* START_SECTION:main-customers-register (INDEX:21) */
.main-customers-register {
    --color-primary: #074042;
    --color-accent: #EAAFD4;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-customers-register__container {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
  }

  .main-customers-register__title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 32px;
    color: var(--color-primary);
    text-align: center;
  }

  .main-customers-register__errors {
    padding: 14px 20px;
    margin-bottom: 24px;
    border: 1px solid #c44;
    border-radius: var(--style-border-radius-inputs, 6px);
    background-color: rgba(204, 68, 68, 0.05);
    font-size: 0.875rem;
    color: #c44;
  }

  .main-customers-register__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .main-customers-register__field {
    margin-bottom: 20px;
  }

  .main-customers-register__label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    color: var(--color-primary);
  }

  .main-customers-register__input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(7, 64, 66, 0.2);
    border-radius: var(--style-border-radius-inputs, 6px);
    background-color: transparent;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--color-primary);
    transition: border-color 0.2s ease;
  }

  .main-customers-register__input:focus {
    outline: none;
    border-color: var(--color-primary);
  }

  .main-customers-register__submit {
    width: 100%;
    padding: 16px 32px;
    margin-top: 8px;
    background-color: var(--color-primary);
    color: #fff;
    border: none;
    border-radius: var(--style-border-radius-inputs, 6px);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease;
  }

  .main-customers-register__submit:hover {
    background-color: #053032;
  }

  .main-customers-register__links {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(7, 64, 66, 0.1);
    text-align: center;
  }

  .main-customers-register__signin-prompt {
    font-size: 0.9375rem;
    margin: 0;
  }

  .main-customers-register__link {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
  }

  .main-customers-register__link:hover {
    opacity: 0.7;
  }

  @media screen and (max-width: 768px) {
    .main-customers-register__title {
      font-size: 2rem;
    }

    .main-customers-register__row {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:main-customers-register */

/* START_SECTION:main-page (INDEX:23) */
.main-page {
    --color-primary: #074042;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-page__container {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
  }

  .main-page__title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 32px;
    color: var(--color-primary);
    text-align: center;
  }

  .main-page__content {
    line-height: 1.8;
    font-size: 1.0625rem;
  }

  .main-page__content h2,
  .main-page__content h3,
  .main-page__content h4 {
    font-family: var(--font-heading);
    color: var(--color-primary);
    margin-top: 2em;
    margin-bottom: 0.75em;
  }

  .main-page__content h2 {
    font-size: 1.75rem;
  }

  .main-page__content h3 {
    font-size: 1.375rem;
  }

  .main-page__content p {
    margin-bottom: 1.25em;
  }

  .main-page__content a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .main-page__content a:hover {
    opacity: 0.7;
  }

  .main-page__content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1.5em 0;
  }

  .main-page__content ul,
  .main-page__content ol {
    padding-left: 1.5em;
    margin-bottom: 1.25em;
  }

  .main-page__content li {
    margin-bottom: 0.5em;
  }

  .main-page__content blockquote {
    border-left: 3px solid #EAAFD4;
    margin: 1.5em 0;
    padding: 0.75em 1.5em;
    font-style: italic;
    opacity: 0.9;
  }

  @media screen and (max-width: 768px) {
    .main-page__title {
      font-size: 2rem;
    }

    .main-page__content {
      font-size: 1rem;
    }
  }
/* END_SECTION:main-page */

/* START_SECTION:main-product (INDEX:24) */
/* Force html/body to neutral white so iOS 26 Safari's URL bar fallback
     sampling cannot pick up a cream tint from the theme's base styles.
     !important is used to override any rules in base.css. */
  html, body {
    background-color: #FFFFFF !important;
  }

  .main-product {
    --color-primary: #074042;
    --color-accent: #EAAFD4;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-product__container {
    max-width: var(--page-width, 1200px);
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 60px;
    align-items: start;
  }

  .main-product__gallery {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 42px;
  }

  .main-product__featured-image {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* 1:1 aspect ratio */
    overflow: hidden;
    background-color: #f5f0e8;
  }

  .main-product__featured-image img,
  .main-product__featured-image svg {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Crossfade layers — two stacked images, one fades out while the other fades in */
  .main-product__hero-layer {
    opacity: 0;
    transition: opacity 0.7s ease-in-out;
    will-change: opacity;
  }

  .main-product__hero-layer.is-active {
    opacity: 1;
  }

  .main-product__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
  }

  .main-product__arrow:hover {
    opacity: 0.7;
  }

  /* Button is 24px wide, SVG is 14px centered → 5px natural inset on each side. */
  /* Positioning the button at 0 puts the visible arrow exactly 5px from the edge. */
  .main-product__arrow--prev {
    left: 0;
    right: auto;
  }

  .main-product__arrow--next {
    right: 0;
    left: auto;
  }

  .main-product__arrow svg {
    width: 14px;
    height: 14px;
    display: block;
  }

  .main-product__grid-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 42px;
  }

  .main-product__grid-image {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* 1:1 squares */
    overflow: hidden;
    cursor: pointer;
  }

  .main-product__grid-image img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.2s ease;
  }

  .main-product__grid-image:hover img {
    opacity: 0.85;
  }

  /* Dots — hidden on desktop, shown on mobile via media query */
  .main-product__dots {
    display: none;
  }

  /* --- Info column --- */
  .main-product__info {
    display: flex;
    flex-direction: column;
  }

  /* Eyebrow */
  .main-product__eyebrow {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #510e28;
    margin: 0;
  }

  /* Title */
  .main-product__title {
    font-family: var(--font-heading);
    font-size: 44px;
    font-weight: 400;
    line-height: 44px;
    margin: 0;
    color: var(--color-primary);
  }

  /* Price */
  .main-product__price {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.25rem;
  }

  .main-product__price-current {
    font-weight: 600;
    color: var(--color-primary);
  }

  .main-product__price-compare {
    text-decoration: line-through;
    opacity: 0.5;
  }

  /* Subtitle block */
  .main-product__subtitle-bold {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary);
    margin: 0 0 10px;
    line-height: normal;
  }

  .main-product__subtitle-body {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    color: var(--color-primary);
    line-height: normal;
    margin: 0;
  }

  /* Reviews */
  .main-product__reviews {
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
  }

  .main-product__reviews-text {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary);
    margin: 0;
  }

  .main-product__reviews-stars {
    font-size: 18px;
    color: var(--color-primary);
    letter-spacing: 2px;
  }

  /* Badge pair (2-col row of icon badges) */
  .main-product__badge-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }

  .main-product__badge {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-primary);
  }

  .main-product__badge img {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
  }

  /* =============================================
     Shopify Subscriptions App — Figma-matched styles
     ============================================= */

  .subscriptions_app_embed_block {
    width: 100%;
    padding-top: 20px;
    margin-bottom: 20px;
  }

  /* Strip container chrome but keep transparent */
  .shopify_subscriptions_app_block_container {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .shopify_subscriptions_app_block {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  /* List */
  .shopify_subscriptions_app_block ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .shopify_subscriptions_app_block li {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* The wrapper around ALL options — strip its chrome */
  .shopify_subscriptions_app_block_purchase_options {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  /* Each individual option card */
  .shopify_subscriptions_app_block_label {
    display: flex !important;
    align-items: flex-start !important;
    padding: 16px !important;
    border: 1px solid #61a49d !important;
    border-bottom: 1px solid #61a49d !important;
    border-radius: 20px !important;
    background: #FFF9EE !important;
    cursor: pointer !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #074042 !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    min-height: 85px !important;
    flex-wrap: wrap !important;
  }

  /* Style the first radio in each label */
  .shopify_subscriptions_app_block_label label input[type="radio"],
  .shopify_subscriptions_app_block_purchase_options input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 1.5px solid #61a49d !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    position: relative !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .shopify_subscriptions_app_block_purchase_options input[type="radio"]:checked {
    background-color: #61a49d !important;
    border-color: #61a49d !important;
  }

  .shopify_subscriptions_app_block_purchase_options input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background-color: #fff !important;
  }

  /* The label_children sits below the first line —
     contains the second label with delivery details.
     Make it take full width so it stacks below the plan name. */
  .shopify_subscriptions_app_block_label_children {
    display: block !important;
    width: 100% !important;
    flex-basis: 100% !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #074042 !important;
    line-height: normal !important;
    margin-top: 2px !important;
    padding-left: 27px !important; /* align with text after radio (17px radio + 10px gap) */
  }

  /* Hide the second radio inside label_children */
  .shopify_subscriptions_app_block_label_children input[type="radio"] {
    display: none !important;
  }

  /* Let the inner label just flow as text */
  .shopify_subscriptions_app_block_label_children label {
    display: inline !important;
    cursor: pointer !important;
  }

  .shopify_subscriptions_app_block_label_children span,
  .shopify_subscriptions_app_block_label_children div,
  .shopify_subscriptions_app_block_label_children p {
    font-family: var(--font-body) !important;
    color: #074042 !important;
    line-height: normal !important;
  }

  /* Hide strikethrough prices */
  .shopify_subscriptions_app_block_label s,
  .shopify_subscriptions_app_block_purchase_options s {
    display: none !important;
  }

  /* Selected card state */
  .shopify_subscriptions_app_block_label:has(input:checked) {
    border-width: 2px !important;
    border-color: #61a49d !important;
  }

  /* Policy text */
  .shopify_subscriptions_app_policy {
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    color: #61a49d !important;
    margin-top: 8px !important;
  }

  #subscription-lib {
    display: none !important;
  }

  /* Variant price (inside subscription one-time purchase card) */
  .main-product__variant-price {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    flex-basis: 100%;
    padding-left: 27px; /* align with text after radio (17px + 10px gap) */
    margin-top: 4px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary);
  }

  .main-product__variant-price-compare {
    text-decoration: line-through;
    opacity: 0.5;
    font-weight: 400;
  }

  /* Extracted inline price (e.g. $99.99 from "Deliver every 3 weeks, $99.99") */
  .extracted-price {
    display: block !important;
    width: 100% !important;
    flex-basis: 100% !important;
    padding-left: 27px;
    margin-top: 4px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary);
  }

  /* Subscription price (inside subscribe card) */
  .main-product__sub-price {
    display: block !important;
    width: 100% !important;
    flex-basis: 100% !important;
    padding-left: 27px;
    margin-top: 4px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary);
  }

  /* =============================================
     Pre-order state — driven by product metafield
     (custom.preorder_mode). When the wrapper has
     .is-preorder, subscription cards are faded and
     marked "Sold out"; the one-time card becomes the
     only clickable option and takes the Pre-Order
     label + ship date.
     ============================================= */

  /* Disabled (subscription) cards: fade + block interaction */
  .main-product__buy-buttons.is-preorder
    .shopify_subscriptions_app_block_label[data-preorder-disabled="1"]:not([data-preorder-otp="1"]) {
    opacity: 0.4 !important;
    pointer-events: none !important;
    position: relative !important;
    padding-right: 96px !important; /* leave room for the Sold out pill */
  }

  /* "Sold out" pill overlaid on each disabled card. Anchored to the card,
     not the viewport — reads cleanly at every breakpoint (390/768/1024+). */
  .main-product__buy-buttons.is-preorder
    .shopify_subscriptions_app_block_label[data-preorder-disabled="1"]:not([data-preorder-otp="1"])::after {
    content: 'Sold out';
    position: absolute;
    top: 16px;
    right: 16px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--color-primary);
    background: #FFF9EE;
    border: 1px solid var(--color-primary);
    border-radius: 999px;
    padding: 4px 10px;
    line-height: 1;
    pointer-events: none;
  }

  /* Strike all prices inside disabled cards: the moved
     sub-price, the extracted inline price, any native price spans,
     and any raw text that the app injects. */
  .main-product__buy-buttons.is-preorder
    .shopify_subscriptions_app_block_label[data-preorder-disabled="1"]:not([data-preorder-otp="1"])
    .main-product__sub-price,
  .main-product__buy-buttons.is-preorder
    .shopify_subscriptions_app_block_label[data-preorder-disabled="1"]:not([data-preorder-otp="1"])
    .main-product__sub-price-current,
  .main-product__buy-buttons.is-preorder
    .shopify_subscriptions_app_block_label[data-preorder-disabled="1"]:not([data-preorder-otp="1"])
    .extracted-price,
  .main-product__buy-buttons.is-preorder
    .shopify_subscriptions_app_block_label[data-preorder-disabled="1"]:not([data-preorder-otp="1"])
    .shopify_subscriptions_app_block_label_children {
    text-decoration: line-through !important;
    text-decoration-thickness: 1px !important;
  }

  /* One-time card in pre-order mode: the plan title is replaced with
     "Pre-Order" via JS, and a date subtext is appended. Subtext styling: */
  .main-product__preorder-subtext {
    display: block;
    width: 100%;
    flex-basis: 100%;
    padding-left: 27px; /* align with text after radio (17px + 10px gap) */
    margin-top: 4px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--color-primary);
    line-height: normal;
  }

  /* Make sure the OTP card stays visually prominent when it's the
     only selectable option. */
  .main-product__buy-buttons.is-preorder
    .shopify_subscriptions_app_block_label[data-preorder-otp="1"] {
    border-width: 2px !important;
  }

  @media screen and (max-width: 480px) {
    /* At 390px the "Sold out" pill and wrapped delivery text can collide —
       push the right padding a touch more and move the pill up-right so
       it sits cleanly above any wrapped secondary line. */
    .main-product__buy-buttons.is-preorder
      .shopify_subscriptions_app_block_label[data-preorder-disabled="1"]:not([data-preorder-otp="1"]) {
      padding-right: 88px !important;
    }
  }

  /* Buy buttons */
  .main-product__add-to-cart {
    width: 100%;
    min-height: 50px;
    padding: 14px 20px;
    background-color: var(--color-accent);
    color: var(--color-primary);
    border: none;
    border-radius: 40px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s ease;
  }

  .main-product__add-to-cart:hover {
    opacity: 0.85;
  }

  .main-product__add-to-cart:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }

  /* Shopify dynamic checkout (Shop Pay, Apple Pay, etc.) */
  .main-product__payment-button {
    margin-top: 10px;
  }

  /* Outer wrapper is a flow container for the branded button + "More payment
     options" link. We DON'T clip it (that would crop the link). Just create a
     fresh stacking context so descendant clips apply predictably. */
  .main-product__payment-button .shopify-payment-button {
    isolation: isolate;
  }

  /* Fixed-height pill for the actual Shop Pay button. Using `round 9999px`
     auto-caps at 50% of the shorter dimension, so it's a guaranteed pill
     regardless of intrinsic sizing. Fixed height stops any inner paint layer
     from extending past the clipped region. */
  .main-product__payment-button shop-pay-button,
  .main-product__payment-button .shopify-payment-button__button,
  .main-product__payment-button .shopify-payment-button__button--branded,
  .main-product__payment-button .shopify-payment-button__button--unbranded {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    border-radius: 9999px !important;
    -webkit-clip-path: inset(0 round 9999px) !important;
    clip-path: inset(0 round 9999px) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    font-family: var(--font-body);
    font-weight: 700;
  }

  /* Clip every descendant paint layer inside the branded button too. Some
     Shopify builds render the purple background via an inner div or iframe
     that ignores the parent radius. */
  .main-product__payment-button .shopify-payment-button__button--branded *,
  .main-product__payment-button .shopify-payment-button__button__content,
  .main-product__payment-button .shopify-payment-button__button--branded iframe {
    border-radius: 9999px !important;
    max-height: 50px !important;
    overflow: hidden !important;
  }

  .main-product__payment-button .shopify-payment-button__more-options {
    margin-top: 8px;
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--color-primary);
    opacity: 0.7;
  }

  .main-product__payment-button .shopify-payment-button__more-options:hover {
    opacity: 1;
  }

  /* Description */
  .main-product__description {
    line-height: 1.7;
    font-size: 1rem;
  }

  .main-product__description h2,
  .main-product__description h3 {
    font-family: var(--font-heading);
    color: var(--color-primary);
  }

  /* Italic text inside the description renders as a pill tag.
     Wrap any inline text in italic from the Shopify editor to apply. */
  .main-product__description em,
  .main-product__description i {
    display: inline-block;
    padding: 8px 12px;
    margin: 2px;
    background-color: transparent;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 999px;
    font-size: 8pt;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.2;
    vertical-align: middle;
  }

  /* Rich text block */
  .main-product__richtext {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-primary);
  }

  .main-product__richtext p { margin: 0 0 12px; }
  .main-product__richtext p:last-child { margin-bottom: 0; }

  /* Liquid block */
  .main-product__liquid {
    width: 100%;
  }

  /* Divider */
  .main-product__divider {
    border: none;
    border-top: 1px solid rgba(7, 64, 66, 0.1);
    margin: 0;
  }

  /* Spacer */
  .main-product__spacer {
    width: 100%;
  }

  /* =============================================
     FAQ Accordion — Figma node 1693:11952 / 1693:11996
     ============================================= */
  .main-product__faq {
    width: 100%;
    margin: 0;
    padding-top: var(--faq-padding-top, 0px);
    padding-bottom: var(--faq-padding-bottom, 0px);
  }

  .main-product__faq-item {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--color-primary);
  }

  .main-product__faq-item:first-of-type {
    border-top: 1px solid var(--color-primary);
  }

  .main-product__faq-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    list-style: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .main-product__faq-summary::-webkit-details-marker {
    display: none;
  }

  .main-product__faq-summary::marker {
    display: none;
    content: '';
  }

  .main-product__faq-question {
    flex: 1 0 0;
    min-width: 0;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    color: var(--color-primary);
  }

  .main-product__faq-toggle {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-accent);
    border-radius: 40px;
    background-color: var(--color-accent);
    transition: background-color 0.2s ease;
  }

  /* Collapsed (default) — solid pink pill with cream arrow */
  .main-product__faq-icon {
    display: block;
  }

  .main-product__faq-icon--x {
    display: none;
  }

  /* Expanded — transparent pill with pink X */
  .main-product__faq-item[open] .main-product__faq-toggle {
    background-color: transparent;
  }

  .main-product__faq-item[open] .main-product__faq-icon--arrow {
    display: none;
  }

  .main-product__faq-item[open] .main-product__faq-icon--x {
    display: block;
  }

  .main-product__faq-answer {
    padding: 0 0 24px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-primary);
  }

  .main-product__faq-answer p {
    margin: 0 0 12px;
  }

  .main-product__faq-answer p:last-child {
    margin-bottom: 0;
  }

  /* Badges grid inside the FAQ drop-down */
  .main-product__faq-badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }

  .main-product__faq-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-primary);
  }

  .main-product__faq-badge img {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
  }

  /* Mobile sticky shop CTA + drawer — hidden on desktop, shown on mobile */
  .main-product__mobile-cta-bar,
  .main-product__mobile-cta,
  .main-product__drawer-backdrop,
  .main-product__drawer-close {
    display: none;
  }

  @media screen and (max-width: 768px) {
    /* Kill top padding above image on mobile */
    .main-product {
      padding-top: 0;
    }

    .main-product__container {
      grid-template-columns: 1fr;
      gap: 32px;
      padding: 0 20px;
    }

    .main-product__gallery {
      position: static;
      gap: 0;
    }

    /* Hide thumbnail grid on mobile — dots replace it */
    .main-product__grid-images {
      display: none;
    }

    /* Show the dots only on mobile, left-aligned to the image */
    .main-product__dots {
      display: flex;
      justify-content: flex-start;
      gap: 8px;
      padding: 16px 0 0;
    }

    .main-product__dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      border: none;
      background: rgba(7, 64, 66, 0.3);
      padding: 0;
      cursor: pointer;
      transition: background 0.2s ease;
    }

    .main-product__dot.is-active {
      background: var(--color-primary, #074042);
    }

    /* Info column — container already has side padding */
    .main-product__info {
      padding: 0;
      gap: 24px;
    }

    /* Hide on mobile per new order spec (eyebrow stays visible) */
    .main-product__spacer {
      display: none;
    }

    /* Mobile: pull title closer to eyebrow visually */
    .main-product__title { margin-top: -14px; }

    /* Per-block mobile order — set via the "Mobile position" range on each
       block in the theme editor. Default 0 = follows desktop / DOM order. */
    .main-product__info > * {
      order: var(--mobile-order, 0);
    }

    .main-product__title {
      font-size: 36px;
      line-height: 40px;
    }

    /* Mobile sticky CTA — a TRANSPARENT bar holds the Buy Now pill button
       at the bottom. Bar background is intentionally transparent so iOS
       Safari has nothing to sample/tint from. The button keeps its pink
       fill but the bar around it shows through to the page. */
    .main-product__mobile-cta-bar {
      display: block;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 50;
      background: transparent;
      padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
      transform: translateY(100%);
      transition: transform 0.3s ease;
      pointer-events: none;
    }

    .main-product__mobile-cta-bar.is-visible {
      transform: translateY(0);
      pointer-events: auto;
    }

    .main-product__mobile-cta {
      display: block;
      width: 100%;
      min-height: 50px;
      padding: 14px 20px;
      background-color: #EAAFD4;
      color: #074042;
      border: none;
      border-radius: 40px;
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
    }

    /* Drawer backdrop — dims the page behind the drawer */
    .main-product__drawer-backdrop.is-open {
      display: block;
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.4);
      z-index: 9999;
    }

    /* When drawer is open, lift the existing buy-buttons block into a
       fixed bottom panel. Same DOM element, just visually relocated. */
    .main-product__buy-buttons.is-drawer-open {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 10000;
      max-height: 90vh;
      overflow-y: auto;
      padding: 24px 20px 20px;
      background: var(--color-bg);
      border-radius: 20px 20px 0 0;
      box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.15);
    }

    /* Close button — absolutely positioned inside the drawer's top-right.
       Hidden by default; revealed only when its parent drawer is open. */
    .main-product__drawer-close {
      display: none;
    }

    .main-product__buy-buttons.is-drawer-open .main-product__drawer-close {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 12px;
      right: 12px;
      z-index: 1;
      width: 32px;
      height: 32px;
      padding: 0;
      background: transparent;
      color: var(--color-primary);
      border: 1px solid var(--color-primary);
      border-radius: 50%;
      font-size: 20px;
      line-height: 1;
      cursor: pointer;
    }

/* Scale down the Clinicians' Choice (FrontRow) section on mobile so
     more content fits above the fold in the buy drawer. Adjust the zoom
     value (0–1) to tune size; lower = smaller. */
  /*
  .main-product__clinicians {
    zoom: 0.8;
  }
  */
/* END_SECTION:main-product */

/* START_SECTION:main-search (INDEX:26) */
.main-search {
    --color-primary: #074042;
    --color-accent: #EAAFD4;
    --color-bg: #FFF9EE;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;

    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-primary);
  }

  .main-search__container {
    max-width: var(--page-width, 1200px);
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
  }

  .main-search__title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 32px;
    color: var(--color-primary);
    text-align: center;
  }

  .main-search__form {
    max-width: 560px;
    margin: 0 auto 40px;
  }

  .main-search__input-wrapper {
    display: flex;
    border: 1px solid rgba(7, 64, 66, 0.2);
    border-radius: var(--style-border-radius-inputs, 6px);
    overflow: hidden;
    transition: border-color 0.2s ease;
  }

  .main-search__input-wrapper:focus-within {
    border-color: var(--color-primary);
  }

  .main-search__input {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background-color: transparent;
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--color-primary);
  }

  .main-search__input:focus {
    outline: none;
  }

  .main-search__input::placeholder {
    color: rgba(7, 64, 66, 0.4);
  }

  .main-search__submit {
    padding: 14px 20px;
    background-color: var(--color-primary);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
  }

  .main-search__submit:hover {
    background-color: #053032;
  }

  .main-search__results-info {
    text-align: center;
    margin-bottom: 32px;
    font-size: 1rem;
    opacity: 0.75;
  }

  .main-search__results-info p {
    margin: 0;
  }

  .main-search__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }

  /* Non-product results (pages, articles) */
  .main-search__page-result {
    display: block;
    padding: 24px;
    border: 1px solid rgba(7, 64, 66, 0.1);
    border-radius: 8px;
    text-decoration: none;
    color: var(--color-primary);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .main-search__page-result:hover {
    border-color: rgba(7, 64, 66, 0.25);
    box-shadow: 0 2px 12px rgba(7, 64, 66, 0.06);
  }

  .main-search__page-result-title {
    font-family: var(--font-heading);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0 0 8px;
  }

  .main-search__page-result-excerpt {
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0 0 12px;
    opacity: 0.75;
  }

  .main-search__page-result-type {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-accent);
  }

  .main-search__pagination {
    margin-top: 48px;
    text-align: center;
  }

  .main-search__pagination .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .main-search__pagination a,
  .main-search__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--style-border-radius-inputs, 6px);
    font-family: var(--font-body);
    font-size: 0.875rem;
    text-decoration: none;
    color: var(--color-primary);
    transition: background-color 0.2s ease;
  }

  .main-search__pagination a:hover {
    background-color: rgba(7, 64, 66, 0.08);
  }

  .main-search__pagination span.current {
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 600;
  }

  @media screen and (max-width: 768px) {
    .main-search__title {
      font-size: 2rem;
    }

    .main-search__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }
  }

  @media screen and (max-width: 480px) {
    .main-search__grid {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:main-search */

/* CSS from block stylesheet tags */
/* START_BLOCK:group (INDEX:34) */
.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:35) */
.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:breadcrumbs (INDEX:36) */
.breadcrumbs {
    padding: 1rem 0;
  }

  .breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
  }

  .breadcrumbs__item {
    display: flex;
    align-items: center;
  }

  .breadcrumbs__link {
    color: var(--color-foreground);
    text-decoration: none;
    opacity: 0.7;
    transition: opacity 0.2s ease;
  }

  .breadcrumbs__link:hover {
    opacity: 1;
    text-decoration: underline;
  }

  .breadcrumbs__separator {
    margin: 0 0.5rem;
    opacity: 0.5;
  }

  .breadcrumbs__current {
    color: var(--color-foreground);
    font-weight: 600;
  }
/* END_SNIPPET:breadcrumbs */

/* START_SNIPPET:image (INDEX:57) */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }
/* END_SNIPPET:image */