/** Shopify CDN: Minification failed

Line 5528:0 Unexpected "}"
Line 11264:10 Unexpected "{"
Line 11264:19 Expected ":"
Line 11265:10 Unexpected "{"
Line 11265:19 Expected ":"
Line 11266:10 Unexpected "{"
Line 11266:19 Expected ":"

**/
:root {
  --alpha-button-background: 1;
  --alpha-button-border: 1;
  --alpha-link: 0.85;
  --alpha-badge-border: 0.1;
  --focused-base-outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  --focused-base-outline-offset: 0.3rem;
  --focused-base-box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
    /* Somarelle typography tokens */
  --somarelle-font-family: "Manrope", sans-serif;

  --type-xxs: 10px;
  --type-xs: 11px;
  --type-sm: 12px;
  --type-md: 13px;
  --type-base: 14px;
  --type-menu-mobile: 16px;
  --type-cart-title: 18px;
  --type-heading: 20px;
  --type-heading-lg: 22px;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-soft: 0.02em;
  --tracking-link: 0.03em;
  --tracking-label: 0.08em;
  --tracking-filter: 0.10em;
  --tracking-wide: 0.12em;
  --tracking-button: 0.14em;

  --font-body-family: var(--somarelle-font-family);
  --font-heading-family: var(--somarelle-font-family);
}

.product-card-wrapper .card,
.contains-card--product {
  --border-radius: var(--product-card-corner-radius);
  --border-width: var(--product-card-border-width);
  --border-opacity: var(--product-card-border-opacity);
  --shadow-horizontal-offset: var(--product-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--product-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--product-card-shadow-blur-radius);
  --shadow-opacity: var(--product-card-shadow-opacity);
  --shadow-visible: var(--product-card-shadow-visible);
  --image-padding: var(--product-card-image-padding);
  --text-alignment: var(--product-card-text-alignment);
}

.collection-card-wrapper .card,
.contains-card--collection {
  --border-radius: var(--collection-card-corner-radius);
  --border-width: var(--collection-card-border-width);
  --border-opacity: var(--collection-card-border-opacity);
  --shadow-horizontal-offset: var(--collection-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--collection-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--collection-card-shadow-blur-radius);
  --shadow-opacity: var(--collection-card-shadow-opacity);
  --shadow-visible: var(--collection-card-shadow-visible);
  --image-padding: var(--collection-card-image-padding);
  --text-alignment: var(--collection-card-text-alignment);
}

.article-card-wrapper .card,
.contains-card--article {
  --border-radius: var(--blog-card-corner-radius);
  --border-width: var(--blog-card-border-width);
  --border-opacity: var(--blog-card-border-opacity);
  --shadow-horizontal-offset: var(--blog-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--blog-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--blog-card-shadow-blur-radius);
  --shadow-opacity: var(--blog-card-shadow-opacity);
  --shadow-visible: var(--blog-card-shadow-visible);
  --image-padding: var(--blog-card-image-padding);
  --text-alignment: var(--blog-card-text-alignment);
}

.contains-content-container,
.content-container {
  --border-radius: var(--text-boxes-radius);
  --border-width: var(--text-boxes-border-width);
  --border-opacity: var(--text-boxes-border-opacity);
  --shadow-horizontal-offset: var(--text-boxes-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--text-boxes-shadow-vertical-offset);
  --shadow-blur-radius: var(--text-boxes-shadow-blur-radius);
  --shadow-opacity: var(--text-boxes-shadow-opacity);
  --shadow-visible: var(--text-boxes-shadow-visible);
}

.contains-media,
.global-media-settings {
  --border-radius: var(--media-radius);
  --border-width: var(--media-border-width);
  --border-opacity: var(--media-border-opacity);
  --shadow-horizontal-offset: var(--media-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--media-shadow-vertical-offset);
  --shadow-blur-radius: var(--media-shadow-blur-radius);
  --shadow-opacity: var(--media-shadow-opacity);
  --shadow-visible: var(--media-shadow-visible);
}

/* base */

.page-width {
  max-width: var(--page-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

body:has(.section-header .drawer-menu) .announcement-bar-section .page-width {
  max-width: 100%;
}

.page-width.drawer-menu {
  max-width: 100%;
}

.page-width-desktop {
  padding: 0;
  margin: 0 auto;
}

.utility-bar__grid.page-width {
  padding-left: 3rem;
  padding-right: 3rem;
}

@media screen and (min-width: 750px) {
  .page-width {
    padding: 0 5rem;
  }

  .header.page-width,
  .utility-bar__grid.page-width {
    padding-left: 3.2rem;
    padding-right: 3.2rem;
  }

  .page-width--narrow {
    padding: 0 9rem;
  }

  .page-width-desktop {
    padding: 0;
  }

  .page-width-tablet {
    padding: 0 5rem;
  }
}

@media screen and (min-width: 990px) {
  .header:not(.drawer-menu).page-width {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .page-width--narrow {
    max-width: 72.6rem;
    padding: 0;
  }

  .page-width-desktop {
    max-width: var(--page-width);
    padding: 0 5rem;
  }
}

.isolate {
  position: relative;
  z-index: 0;
}

.section + .section {
  margin-top: var(--spacing-sections-mobile);
}

@media screen and (min-width: 750px) {
  .section + .section {
    margin-top: var(--spacing-sections-desktop);
  }
}

.element-margin-top {
  margin-top: 5rem;
}

@media screen and (min-width: 750px) {
  .element-margin {
    margin-top: calc(5rem + var(--page-width-margin));
  }
}

.background-secondary {
  background-color: rgba(var(--color-foreground), 0.04);
}

.grid-auto-flow {
  display: grid;
  grid-auto-flow: column;
}

.page-margin,
.shopify-challenge__container {
  margin: 7rem auto;
}

.rte-width {
  max-width: 82rem;
  margin: 0 auto 2rem;
}

.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hidden {
  display: none !important;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.visually-hidden--inline {
  margin: 0;
  height: 1em;
}

.overflow-hidden {
  overflow: hidden;
}

.skip-to-content-link:focus {
  z-index: 9999;
  position: inherit;
  overflow: auto;
  width: auto;
  height: auto;
  clip: auto;
}

.full-width-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

::selection {
  background-color: rgba(var(--color-foreground), 0.2);
}

.text-body {
  font-size: var(--type-base);
  letter-spacing: var(--tracking-normal);
  line-height: 1.65;
  font-family: var(--somarelle-font-family);
  font-style: normal;
  font-weight: var(--weight-regular);
}

h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
  font-family: var(--somarelle-font-family);
  font-style: normal;
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-tight);
  color: rgb(var(--color-foreground));
  line-height: 1.3;
  word-break: break-word;
}

.hxxl {
  font-size: var(--type-heading-lg);
  line-height: 1.25;
}

.hxl {
  font-size: var(--type-heading-lg);
  line-height: 1.25;
}

@media only screen and (min-width: 750px) {
  .hxl {
    font-size: var(--type-heading-lg);
  }
}

.h0 {
  font-size: var(--type-heading-lg);
  line-height: 1.25;
}

@media only screen and (min-width: 750px) {
  .h0 {
    font-size: var(--type-heading-lg);
  }
}

h1,
.h1 {
  font-size: var(--type-heading-lg);
  line-height: 1.25;
}

@media only screen and (min-width: 750px) {
  h1,
  .h1 {
    font-size: var(--type-heading-lg);
  }
}

h2,
.h2 {
  font-size: var(--type-heading);
  line-height: 1.3;
}

@media only screen and (min-width: 750px) {
  h2,
  .h2 {
    font-size: var(--type-heading);
  }
}

h3,
.h3 {
  font-size: var(--type-menu-mobile);
  line-height: 1.45;
}

@media only screen and (min-width: 750px) {
  h3,
  .h3 {
    font-size: var(--type-menu-mobile);
  }
}

h4,
.h4 {
  font-family: var(--somarelle-font-family);
  font-style: normal;
  font-size: var(--type-base);
  font-weight: var(--weight-semibold);
  line-height: 1.5;
}

h5,
.h5 {
  font-size: var(--type-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  line-height: 1.4;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) {
  h5,
  .h5 {
    font-size: var(--type-sm);
  }
}

h6,
.h6 {
  color: rgba(var(--color-foreground), 0.75);
  margin-block-start: 1.67em;
  margin-block-end: 1.67em;
}

blockquote {
  font-style: italic;
  color: rgba(var(--color-foreground), 0.75);
  border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
  padding-left: 1rem;
}

@media screen and (min-width: 750px) {
  blockquote {
    padding-left: 1.5rem;
  }
}

.caption {
  font-size: var(--type-xs);
  letter-spacing: var(--tracking-soft);
  line-height: 1.4;
}

@media screen and (min-width: 750px) {
  .caption {
    font-size: var(--type-xs);
  }
}

.caption-with-letter-spacing {
  font-size: var(--type-xs);
  letter-spacing: var(--tracking-wide);
  line-height: 1.4;
  text-transform: uppercase;
}

.caption-with-letter-spacing--medium {
  font-size: var(--type-sm);
  letter-spacing: var(--tracking-wide);
}

.caption-with-letter-spacing--large {
  font-size: var(--type-sm);
  letter-spacing: var(--tracking-wide);
}

.caption-large,
.customer .field input,
.customer select,
.field__input,
.form__label,
.select__select {
  font-size: var(--type-base);
  line-height: 1.5;
  letter-spacing: var(--tracking-normal);
}

.color-foreground {
  color: rgb(var(--color-foreground));
}

table:not([class]) {
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 1.4rem;
  border-style: hidden;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.2);
  /* draws the table border  */
}

table:not([class]) td,
table:not([class]) th {
  padding: 1em;
  border: 0.1rem solid rgba(var(--color-foreground), 0.2);
}

@media screen and (max-width: 749px) {
  .small-hide {
    display: none !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .medium-hide {
    display: none !important;
  }
}

@media screen and (min-width: 990px) {
  .large-up-hide {
    display: none !important;
  }
}

.left {
  text-align: left;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

.light {
  opacity: 0.7;
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

.link,
.customer a {
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  color: rgb(var(--color-link));
  background-color: transparent;
  font-size: 1.4rem;
  font-family: inherit;
}

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

.link--text:hover {
  color: rgba(var(--color-foreground), 0.75);
}

.link-with-icon {
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  text-decoration: none;
  margin-bottom: 4.5rem;
  white-space: nowrap;
}

.link-with-icon .icon {
  width: 1.5rem;
  margin-left: 1rem;
}

a:not([href]) {
  cursor: not-allowed;
}

.circle-divider::after {
  content: '\2022';
  margin: 0 1.3rem 0 1.5rem;
}

.circle-divider:last-of-type::after {
  display: none;
}

hr {
  border: none;
  height: 0.1rem;
  background-color: rgba(var(--color-foreground), 0.2);
  display: block;
  margin: 5rem 0;
}

@media screen and (min-width: 750px) {
  hr {
    margin: 7rem 0;
  }
}

.full-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: block;
}

.placeholder {
  background-color: rgba(var(--color-foreground), 0.04);
  color: rgba(var(--color-foreground), 0.55);
  fill: rgba(var(--color-foreground), 0.55);
}

details > * {
  box-sizing: border-box;
}

.break {
  word-break: break-word;
}

.visibility-hidden {
  visibility: hidden;
}

@media (prefers-reduced-motion) {
  .motion-reduce {
    transition: none !important;
    animation: none !important;
  }
}

:root {
  --duration-short: 100ms;
  --duration-default: 200ms;
  --duration-announcement-bar: 250ms;
  --duration-medium: 300ms;
  --duration-long: 500ms;
  --duration-extra-long: 600ms;
  --duration-extra-longer: 750ms;
  --duration-extended: 3s;
  --ease-out-slow: cubic-bezier(0, 0, 0.3, 1);
  --animation-slide-in: slideIn var(--duration-extra-long) var(--ease-out-slow) forwards;
  --animation-fade-in: fadeIn var(--duration-extra-long) var(--ease-out-slow);
}

.underlined-link,
.customer a,
.inline-richtext a {
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  transition: text-decoration-thickness ease 100ms;
}

.underlined-link,
.customer a {
  color: rgba(var(--color-link), var(--alpha-link));
}

.inline-richtext a,
.rte.inline-richtext a {
  color: currentColor;
}

.underlined-link:hover,
.customer a:hover,
.inline-richtext a:hover {
  color: rgb(var(--color-link));
  text-decoration-thickness: 0.2rem;
}

.icon-arrow {
  width: 1.5rem;
}

h3 .icon-arrow,
.h3 .icon-arrow {
  width: calc(var(--font-heading-scale) * 1.5rem);
}

/* arrow animation */
.animate-arrow .icon-arrow path {
  transform: translateX(-0.25rem);
  transition: transform var(--duration-short) ease;
}

.animate-arrow:hover .icon-arrow path {
  transform: translateX(-0.05rem);
}

.svg-wrapper {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
}

.svg-wrapper > svg {
  height: 100%;
  width: 75%;
}

/* base-details-summary */
summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

summary .icon-caret {
  position: absolute;
  height: 0.6rem;
  right: 1.5rem;
  top: calc(50% - 0.2rem);
}

summary::-webkit-details-marker {
  display: none;
}

.disclosure-has-popup {
  position: relative;
}

.disclosure-has-popup[open] > summary::before {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  cursor: default;
  content: ' ';
  background: transparent;
}

.disclosure-has-popup > summary::before {
  display: none;
}

.disclosure-has-popup[open] > summary + * {
  z-index: 100;
}

@media screen and (min-width: 750px) {
  .disclosure-has-popup[open] > summary + * {
    z-index: 4;
  }

  .facets .disclosure-has-popup[open] > summary + * {
    z-index: 2;
  }
}

.placeholder-svg {
  height: 100%;
  width: 100%;
}

/* base-focus */
/*
  Focus ring - default (with offset)
*/

*:focus {
  outline: 0;
  box-shadow: none;
}

*:focus-visible {
  outline: var(--focused-base-outline);
  outline-offset: var(--focused-base-outline-offset);
  box-shadow: var(--focused-base-box-shadow);
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
.focused {
  outline: var(--focused-base-outline);
  outline-offset: var(--focused-base-outline-offset);
  box-shadow: var(--focused-base-box-shadow);
}

/*
  Focus ring - inset
*/

.focus-inset:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focused.focus-inset {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

/*
  Focus ring - none
*/

/* Dangerous for a11y - Use with care */
.focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

.focus-offset:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 1rem;
  box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.focus-offset.focused {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 1rem;
  box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

/* component-title */
.title,
.title-wrapper-with-link {
  margin: 3rem 0 2rem;
}

.title-wrapper-with-link .title {
  margin: 0;
}

.title .link {
  font-size: inherit;
}

.title-wrapper {
  margin-bottom: 3rem;
}

.title-wrapper-with-link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.title--primary {
  margin: 4rem 0;
}

.title-wrapper--self-padded-tablet-down,
.title-wrapper--self-padded-mobile {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media screen and (min-width: 750px) {
  .title-wrapper--self-padded-mobile {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 990px) {
  .title,
  .title-wrapper-with-link {
    margin: 5rem 0 3rem;
  }

  .title--primary {
    margin: 2rem 0;
  }

  .title-wrapper-with-link {
    align-items: center;
  }

  .title-wrapper-with-link .title {
    margin-bottom: 0;
  }

  .title-wrapper--self-padded-tablet-down {
    padding-left: 0;
    padding-right: 0;
  }
}

.title-wrapper-with-link .link-with-icon {
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.title-wrapper-with-link .link-with-icon .svg-wrapper {
  width: 1.5rem;
}

.title-wrapper-with-link a {
  margin-top: 0;
  flex-shrink: 0;
}

.title-wrapper--no-top-margin {
  margin-top: 0;
}

.title-wrapper--no-top-margin > .title {
  margin-top: 0;
}

.subtitle {
  font-size: 1.8rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  letter-spacing: 0.06rem;
  color: rgba(var(--color-foreground), 0.7);
}

.subtitle--small {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
}

.subtitle--medium {
  font-size: 1.6rem;
  letter-spacing: 0.08rem;
}

/* component-grid */
.grid {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding: 0;
  list-style: none;
  column-gap: var(--grid-mobile-horizontal-spacing);
  row-gap: var(--grid-mobile-vertical-spacing);
}

@media screen and (min-width: 750px) {
  .grid {
    column-gap: var(--grid-desktop-horizontal-spacing);
    row-gap: var(--grid-desktop-vertical-spacing);
  }
}

.grid:last-child {
  margin-bottom: 0;
}

.grid__item {
  width: calc(25% - var(--grid-mobile-horizontal-spacing) * 3 / 4);
  max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  flex-grow: 1;
  flex-shrink: 0;
}

@media screen and (min-width: 750px) {
  .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

.grid--gapless.grid {
  column-gap: 0;
  row-gap: 0;
}

@media screen and (max-width: 749px) {
  .grid__item.slider__slide--full-width {
    width: 100%;
    max-width: none;
  }
}

.grid--1-col .grid__item {
  max-width: 100%;
  width: 100%;
}

.grid--3-col .grid__item {
  width: calc(33.33% - var(--grid-mobile-horizontal-spacing) * 2 / 3);
}

@media screen and (min-width: 750px) {
  .grid--3-col .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }
}

.grid--2-col .grid__item {
  width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
}

@media screen and (min-width: 750px) {
  .grid--2-col .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--4-col-tablet .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--2-col-tablet .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (max-width: 989px) {
  .grid--1-col-tablet-down .grid__item {
    width: 100%;
    max-width: 100%;
  }

  .slider--tablet.grid--peek {
    margin: 0;
    width: 100%;
  }

  .slider--tablet.grid--peek .grid__item {
    box-sizing: content-box;
    margin: 0;
  }

  .slider.slider--tablet .scroll-trigger.animate--slide-in,
  .slider.slider--mobile .scroll-trigger.animate--slide-in {
    animation: none;
    opacity: 1;
    transform: inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen) .slider--tablet {
    animation: var(--animation-slide-in);
  }
}

@media screen and (min-width: 990px) {
  .grid--6-col-desktop .grid__item {
    width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
    max-width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
  }

  .grid--5-col-desktop .grid__item {
    width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
    max-width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
  }

  .grid--4-col-desktop .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-desktop .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--2-col-desktop .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .slider.slider--desktop .scroll-trigger.animate--slide-in {
    animation: none;
    opacity: 1;
    transform: inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen) .slider--desktop {
    animation: var(--animation-slide-in);
  }
}

@media screen and (min-width: 990px) {
  .grid--1-col-desktop {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .grid--1-col-desktop .grid__item {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 749px) {
  .grid--peek.slider--mobile {
    margin: 0;
    width: 100%;
  }

  .grid--peek.slider--mobile .grid__item {
    box-sizing: content-box;
    margin: 0;
  }

  .grid--peek .grid__item {
    min-width: 35%;
  }

  .grid--peek.slider .grid__item:first-of-type {

  }

  /* Fix to show some space at the end of our sliders in all browsers */
  .grid--peek.slider:after {
    margin-left: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

  .grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item,
  .grid--peek .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item,
  .slider--mobile.grid--peek.grid--1-col-tablet-down .grid__item {
    width: calc(100% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .slider--tablet.grid--peek .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet .grid__item,
  .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek .grid__item:first-of-type {
    margin-left: 1.5rem;
  }

  .grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--1-col-tablet-down.grid--peek .grid__item {
    width: calc(100% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }
}

/* component-media */
.media {
  display: block;
  background-color: rgba(var(--color-foreground), 0.1);
  position: relative;
  overflow: hidden;
}

.media--transparent {
  background-color: transparent;
}

.media > *:not(.zoom):not(.deferred-media__poster-button),
.media model-viewer {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.media > img {
  object-fit: cover;
  object-position: center center;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.media--square {
  padding-bottom: 100%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--landscape {
  padding-bottom: 66.6%;
}

.media--cropped {
  padding-bottom: 56%;
}

.media--16-9 {
  padding-bottom: 56.25%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius: 50%;
}

.media.media--hover-effect > img + img {
  opacity: 0;
}

@media screen and (min-width: 990px) {
  .media--cropped {
    padding-bottom: 63%;
  }
}

deferred-media {
  display: block;
}

/* component-button */
/* Button - default */

.button--secondary,
.button--tertiary {
  --color-button: var(--color-secondary-button);
  --color-button-text: var(--color-secondary-button-text);
}

.button--tertiary {
  --alpha-button-background: 0;
  --alpha-button-border: 0.2;
}

.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
  --shadow-blur-radius: var(--buttons-shadow-blur-radius);
  --shadow-opacity: var(--buttons-shadow-opacity);
  --shadow-visible: var(--buttons-shadow-visible);
  --border-offset: var(--buttons-border-offset); /* reduce radius edge artifacts */
  --border-opacity: calc(1 - var(--buttons-border-opacity));
  border-radius: var(--buttons-radius-outset);
  position: relative;
}

.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  min-width: calc(12rem + var(--buttons-border-width) * 2);
  min-height: calc(4.5rem + var(--buttons-border-width) * 2);
}

.button,
.shopify-challenge__button,
.customer button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  padding: 0 3rem;
  cursor: pointer;
  font: inherit;
  font-size: var(--type-sm);
  text-decoration: none;
  color: rgb(var(--color-button-text));
  transition: box-shadow var(--duration-short) ease;
  -webkit-appearance: none;
  appearance: none;
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

.button:before,
.shopify-challenge__button:before,
.customer button:before,
.shopify-payment-button__button--unbranded:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: var(--buttons-radius-outset);
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
    rgba(var(--color-shadow), var(--shadow-opacity));
}

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
  content: '';
  position: absolute;
  top: var(--buttons-border-width);
  right: var(--buttons-border-width);
  bottom: var(--buttons-border-width);
  left: var(--buttons-border-width);
  z-index: 1;
  border-radius: var(--buttons-radius);
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
      rgba(var(--color-button-text), var(--border-opacity)),
    0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  transition: box-shadow var(--duration-short) ease;
}

.button:not([disabled]):hover::after,
.shopify-challenge__button:hover::after,
.customer button:hover::after,
.shopify-payment-button__button--unbranded:hover::after {
  --border-offset: 1.3px;
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
      rgba(var(--color-button-text), var(--border-opacity)),
    0 0 0 calc(var(--buttons-border-width) + 1px) rgba(var(--color-button), var(--alpha-button-background));
}

.button--secondary:after {
  --border-opacity: var(--buttons-border-opacity);
}

.button:focus-visible,
.button:focus,
.button.focused,
.shopify-payment-button__button--unbranded:focus-visible,
.shopify-payment-button__button--unbranded:focus {
  outline: 0;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.5),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button:focus:not(:focus-visible):not(.focused),
.shopify-payment-button__button--unbranded:focus:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
}

.button::selection,
.shopify-challenge__button::selection,
.customer button::selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.button,
.button-label,
.shopify-challenge__button,
.customer button {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-button);
  line-height: 1.4;
  text-transform: uppercase;
}

.button--tertiary {
  font-size: var(--type-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-transform: none;
  padding: 1rem 1.5rem;
  min-width: calc(9rem + var(--buttons-border-width) * 2);
  min-height: calc(3.5rem + var(--buttons-border-width) * 2);
}
/* Somarelle button typography system */
.button,
.shopify-payment-button__button,
.shopify-payment-button__button--unbranded,
.product-form__submit,
.cart__checkout-button,
.newsletter-form__button {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-button);
  line-height: 1.4;
  text-transform: uppercase;
}

/* Secondary CTA refinement */
.button--secondary,
.shopify-payment-button__button--unbranded {
  font-size: var(--type-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  line-height: 1.4;
  text-transform: uppercase;
}

/* Small link-style buttons */
.button--tertiary,
.link-with-icon,
.share-button__button {
  font-size: var(--type-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.button--small {
  padding: 1.2rem 2.6rem;
}

/* Shopify Accelerated Checkout */

shopify-accelerated-checkout {
  --shopify-accelerated-checkout-button-border-radius: var(--buttons-radius-outset);
  --shopify-accelerated-checkout-button-box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
  rgba(var(--color-shadow), var(--shadow-opacity));
}
shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-border-radius: var(--buttons-radius-outset);
  --shopify-accelerated-checkout-button-box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
  rgba(var(--color-shadow), var(--shadow-opacity));
}


/* Button - other */

.button:disabled,
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled,
.quantity__button.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.button--full-width {
  display: flex;
  width: 100%;
}

.button.loading {
  color: transparent;
  position: relative;
}

@media screen and (forced-colors: active) {
  .button.loading {
    color: rgb(var(--color-foreground));
  }
}

.button.loading > .loading__spinner {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
}

.button.loading > .loading__spinner .spinner {
  width: fit-content;
}

.button.loading > .loading__spinner .path {
  stroke: rgb(var(--color-button-text));
}

/* Button - social share */

.share-button {
  display: block;
  position: relative;
}

.share-button details {
  width: fit-content;
}

.share-button__button {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  color: rgb(var(--color-link));
  margin-left: 0;
  padding-left: 0;
  min-height: 4.4rem;
}

details[open] > .share-button__fallback {
  animation: animateMenuOpen var(--duration-default) ease;
}

.share-button__button:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.share-button__button,
.share-button__fallback button {
  cursor: pointer;
  background-color: transparent;
  border: none;
}

.share-button__button .icon-share {
  height: 1.2rem;
  margin-right: 1rem;
  min-width: 1.3rem;
}

.share-button__fallback {
  display: flex;
  align-items: center;
  position: absolute;
  top: 3rem;
  left: 0.1rem;
  z-index: 3;
  width: 100%;
  min-width: max-content;
  border-radius: var(--inputs-radius);
  border: 0;
}

.share-button__fallback:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: var(--inputs-border-width);
  right: var(--inputs-border-width);
  bottom: var(--inputs-border-width);
  left: var(--inputs-border-width);
  border: 0.1rem solid transparent;
  border-radius: var(--inputs-radius);
  box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  transition: box-shadow var(--duration-short) ease;
  z-index: 1;
}

.share-button__fallback:before {
  background: rgb(var(--color-background));
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--inputs-radius-outset);
  box-shadow: var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset)
    var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  z-index: -1;
}

.share-button__fallback button {
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  right: var(--inputs-border-width);
}

.share-button__fallback button:hover {
  color: rgba(var(--color-foreground), 0.75);
}

.share-button__fallback button:hover .svg-wrapper {
  transform: scale(1.07);
}

.share-button__close:not(.hidden) + .share-button__copy {
  display: none;
}

.share-button__close,
.share-button__copy {
  background-color: transparent;
  color: rgb(var(--color-foreground));
}

.share-button__copy:focus-visible,
.share-button__close:focus-visible {
  background-color: rgb(var(--color-background));
  z-index: 2;
}

.share-button__copy:focus,
.share-button__close:focus {
  background-color: rgb(var(--color-background));
  z-index: 2;
}

.field:not(:focus-visible):not(.focused) + .share-button__copy:not(:focus-visible):not(.focused),
.field:not(:focus-visible):not(.focused) + .share-button__close:not(:focus-visible):not(.focused) {
  background-color: inherit;
}

.share-button__fallback .field:after,
.share-button__fallback .field:before {
  content: none;
}

.share-button__fallback .field {
  border-radius: 0;
  min-width: auto;
  min-height: auto;
  transition: none;
}

.share-button__fallback .field__input:focus,
.share-button__fallback .field__input:-webkit-autofill {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 0.1rem;
  box-shadow: 0 0 0 0.1rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.share-button__fallback .field__input {
  box-shadow: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  filter: none;
  min-width: auto;
  min-height: auto;
}

.share-button__fallback .field__input:hover {
  box-shadow: none;
}

.share-button__fallback .icon {
  width: 1.5rem;
  height: 1.5rem;
}

.share-button__message:not(:empty) {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  margin-top: 0;
  padding: 0.8rem 0 0.8rem 1.5rem;
  margin: var(--inputs-border-width);
}

.share-button__message:not(:empty):not(.hidden) ~ * {
  display: none;
}

/* component-form */
.field__input,
.select__select,
.customer .field input,
.customer select {
  -webkit-appearance: none;
  appearance: none;
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.6rem;
  width: 100%;
  box-sizing: border-box;
  transition: box-shadow var(--duration-short) ease;
  border-radius: var(--inputs-radius);
  height: 4.5rem;
  min-height: calc(var(--inputs-border-width) * 2);
  min-width: calc(7rem + (var(--inputs-border-width) * 2));
  position: relative;
  border: 0;
}

.field:before,
.select:before,
.customer .field:before,
.customer select:before,
.localization-form__select:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--inputs-radius-outset);
  box-shadow: var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset)
    var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  z-index: -1;
}

.field:after,
.select:after,
.customer .field:after,
.customer select:after,
.localization-form__select:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: var(--inputs-border-width);
  right: var(--inputs-border-width);
  bottom: var(--inputs-border-width);
  left: var(--inputs-border-width);
  border: 0.1rem solid transparent;
  border-radius: var(--inputs-radius);
  box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  transition: box-shadow var(--duration-short) ease;
  z-index: 1;
}

.select__select {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.2rem;
  color: rgba(var(--color-foreground), 0.75);
}

.field:hover.field:after,
.select:hover.select:after,
.select__select:hover.select__select:after,
.customer .field:hover.field:after,
.customer select:hover.select:after,
.localization-form__select:hover.localization-form__select:after {
  box-shadow: 0 0 0 calc(0.1rem + var(--inputs-border-width))
    rgba(var(--color-foreground), var(--inputs-border-opacity));
  outline: 0;
  border-radius: var(--inputs-radius);
}

.field__input:focus-visible,
.select__select:focus-visible,
.customer .field input:focus-visible,
.customer select:focus-visible,
.localization-form__select:focus-visible.localization-form__select:after {
  box-shadow: 0 0 0 calc(0.1rem + var(--inputs-border-width)) rgba(var(--color-foreground));
  outline: 0;
  border-radius: var(--inputs-radius);
}

.field__input:focus,
.select__select:focus,
.customer .field input:focus,
.customer select:focus,
.localization-form__select:focus.localization-form__select:after {
  box-shadow: 0 0 0 calc(0.1rem + var(--inputs-border-width)) rgba(var(--color-foreground));
  outline: 0;
  border-radius: var(--inputs-radius);
}

.localization-form__select:focus {
  outline: 0;
  box-shadow: none;
}

.text-area,
.select {
  display: flex;
  position: relative;
  width: 100%;
}

/* Select */

.select .svg-wrapper,
.customer select + .svg-wrapper {
  height: 0.6rem;
  width: 1rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.2rem);
  right: 0;
}

.select__select,
.customer select {
  cursor: pointer;
  line-height: calc(1 + 0.6 / var(--font-body-scale));
  padding: 0 calc(var(--inputs-border-width) + 3rem) 0 2rem;
  margin: var(--inputs-border-width);
  min-height: calc(var(--inputs-border-width) * 2);
}

/* Field */

.field {
  position: relative;
  width: 100%;
  display: flex;
  transition: box-shadow var(--duration-short) ease;
}

.customer .field {
  display: flex;
}

.field--with-error {
  flex-wrap: wrap;
}

.field__input,
.customer .field input {
  flex-grow: 1;
  text-align: left;
  padding: 1.5rem;
  margin: var(--inputs-border-width);
  transition: box-shadow var(--duration-short) ease;
}

.field__label,
.customer .field label {
  font-size: 1.6rem;
  left: calc(var(--inputs-border-width) + 2rem);
  top: calc(1rem + var(--inputs-border-width));
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--duration-short) ease, font-size var(--duration-short) ease;
  color: rgba(var(--color-foreground), 0.75);
  letter-spacing: 0.1rem;
  line-height: 1.5;
}

.field__input:focus ~ .field__label,
.field__input:not(:placeholder-shown) ~ .field__label,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:focus ~ label,
.customer .field input:not(:placeholder-shown) ~ label,
.customer .field input:-webkit-autofill ~ label {
  font-size: 1rem;
  top: calc(var(--inputs-border-width) + 0.5rem);
  left: calc(var(--inputs-border-width) + 2rem);
  letter-spacing: 0.04rem;
}

.field__input:focus,
.field__input:not(:placeholder-shown),
.field__input:-webkit-autofill,
.customer .field input:focus,
.customer .field input:not(:placeholder-shown),
.customer .field input:-webkit-autofill {
  padding: 2.2rem 1.5rem 0.8rem 2rem;
  margin: var(--inputs-border-width);
}

.field__input::-webkit-search-cancel-button,
.customer .field input::-webkit-search-cancel-button {
  display: none;
}

.field__input::placeholder,
.customer .field input::placeholder {
  opacity: 0;
}

.field__button {
  align-items: center;
  background-color: transparent;
  border: 0;
  color: currentColor;
  cursor: pointer;
  display: flex;
  height: 4.4rem;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 4.4rem;
}

.field__button > .svg-wrapper {
  height: 2.5rem;
  width: 2.5rem;
}

.field__input:-webkit-autofill ~ .field__button,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:-webkit-autofill ~ label {
  color: rgb(0, 0, 0);
}

/* Text area */

.text-area {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  min-height: 10rem;
  resize: none;
}

input[type='checkbox'] {
  display: inline-block;
  width: auto;
  margin-right: 0.5rem;
}

/* Form global */

.form__label {
  display: block;
  margin-bottom: 0.6rem;
}

.form__message {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  line-height: 1;
  margin-top: 1rem;
}

.form__message--large {
  font-size: 1.6rem;
}

.customer .field .form__message {
  font-size: 1.4rem;
  text-align: left;
}

.form__message .icon,
.customer .form__message .svg-wrapper {
  flex-shrink: 0;
  height: 1.3rem;
  margin-right: 0.5rem;
  width: 1.3rem;
}

.form__message--large .icon,
.customer .form__message .svg-wrapper {
  height: 1.5rem;
  width: 1.5rem;
  margin-right: 1rem;
}

.customer .field .form__message .svg-wrapper {
  align-self: start;
}

.form-status {
  margin: 0;
  font-size: 1.6rem;
}

.form-status-list {
  padding: 0;
  margin: 2rem 0 4rem;
}

.form-status-list li {
  list-style-position: inside;
}

.form-status-list .link::first-letter {
  text-transform: capitalize;
}

/* component-quantity */
.quantity {
  color: rgba(var(--color-foreground));
  position: relative;
  width: calc(14rem / var(--font-body-scale) + var(--inputs-border-width) * 2);
  display: flex;
  border-radius: var(--inputs-radius);
  min-height: calc((var(--inputs-border-width) * 2) + 4.5rem);
}

.quantity:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: var(--inputs-border-width);
  right: var(--inputs-border-width);
  bottom: var(--inputs-border-width);
  left: var(--inputs-border-width);
  border: 0.1rem solid transparent;
  border-radius: var(--inputs-radius);
  box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  transition: box-shadow var(--duration-short) ease;
  z-index: 1;
}

.quantity:before {
  background: rgb(var(--color-background));
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--inputs-radius-outset);
  box-shadow: var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset)
    var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  z-index: -1;
}

.quantity__input {
  color: currentColor;
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.6rem;
  font-weight: 500;
  opacity: 0.85;
  text-align: center;
  background-color: transparent;
  border: 0;
  padding: 0 0.5rem;
  width: 100%;
  flex-grow: 1;
  -webkit-appearance: none;
  appearance: none;
}

.quantity__button {
  width: calc(4.5rem / var(--font-body-scale));
  flex-shrink: 0;
  font-size: 1.8rem;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(var(--color-foreground));
  padding: 0;
}

.quantity__button:first-child {
  margin-left: calc(var(--inputs-border-width));
}

.quantity__button:last-child {
  margin-right: calc(var(--inputs-border-width));
}

.quantity__button .svg-wrapper {
  width: 1rem;
  pointer-events: none;
}

.quantity__button:focus-visible,
.quantity__input:focus-visible {
  background-color: rgb(var(--color-background));
  z-index: 2;
}

.quantity__button:focus,
.quantity__input:focus {
  background-color: rgb(var(--color-background));
  z-index: 2;
}

.quantity__button:not(:focus-visible):not(.focused),
.quantity__input:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
  background-color: inherit;
}

.quantity__input:-webkit-autofill,
.quantity__input:-webkit-autofill:hover,
.quantity__input:-webkit-autofill:active {
  box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
  -webkit-box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity__input[type='number'] {
  -moz-appearance: textfield;
}

.quantity__rules {
  margin-top: 0.5rem;
  position: relative;
  font-size: 1.2rem;
}

.quantity__rules .caption {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
}

.quantity__rules .divider + .divider::before {
  content: '\2022';
  margin: 0 0.5rem;
}

.quantity__rules-cart {
  position: relative;
}

.product__info-container .loading__spinner:not(.hidden) ~ *,
.quantity__rules-cart .loading__spinner:not(.hidden) ~ * {
  visibility: hidden;
}

/* component-modal */
.modal__toggle {
  list-style-type: none;
}

.modal__toggle-close {
  display: none;
}

.modal__toggle-open {
  display: flex;
}

.modal__close-button.link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0rem;
  height: 4.4rem;
  width: 4.4rem;
  background-color: transparent;
}

.modal__close-button .icon {
  width: 1.7rem;
  height: 1.7rem;
}

.modal__content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(var(--color-background));
  z-index: 4;
  display: flex;
  justify-content: center;
  align-items: center;
}

.media-modal {
  cursor: zoom-out;
}

.media-modal .deferred-media {
  cursor: initial;
}

/* component-cart-count-bubble */
.cart-count-bubble:empty {
  display: none;
}

.cart-count-bubble {
  position: absolute;
  background-color: rgb(var(--somarelle-noir));
  color: rgb(var(--color-button-text));
  height: 0.8rem;
  width: 0.8rem;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
  bottom: 0.8rem;
  left: 2.5rem;
  line-height: 1;
  padding-top: 0.05rem;
  box-sizing: border-box;
}

/* utility-bar */
.utility-bar {
  height: 100%;
}

.utility-bar--bottom-border {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

@media screen and (min-width: 990px) {
  .utility-bar--bottom-border-social-only {
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }
}

.utility-bar__grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: 'announcements';
}

.utility-bar__grid .list-social {
  justify-content: flex-start;
  align-content: center;
  margin-left: -1.2rem;
  grid-area: social-icons;
}

@media screen and (max-width: 989px) {
  .utility-bar .utility-bar__grid .list-social {
    display: none;
  }
}

.utility-bar .list-social__item .icon {
  scale: 0.9;
}

@media screen and (min-width: 990px) {
  .utility-bar__grid--3-col {
    grid-template-columns: 3fr 4fr 3fr;
    grid-template-areas: 'social-icons announcements language-currency';
  }

  .utility-bar__grid--2-col {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: 'social-icons language-currency';
  }

  .announcement-bar.announcement-bar--one-announcement,
  .announcement-bar--one-announcement .announcement-bar__link {
    width: fit-content;
    margin: auto;
  }
}

.announcement-bar,
.announcement-bar__announcement {
  color: rgb(var(--color-foreground));
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  grid-area: announcements;
}

.announcement-bar .slider--everywhere {
  margin-bottom: 0;
  scroll-behavior: auto;
}

.utility-bar__grid .announcement-bar-slider {
  width: 100%;
}

.utility-bar__grid .announcement-bar-slider {
  width: 100%;
}

.announcement-bar-slider,
.announcement-bar-slider .slider {
  width: 100%;
}

.announcement-bar .slider-button--next {
  margin-right: -1.5rem;
  min-width: 44px;
}

.announcement-bar .slider-button--prev {
  margin-left: -1.5rem;
  min-width: 44px;
}

.announcement-bar .slider-button--next:focus-visible,
.announcement-bar .slider-button--prev:focus-visible,
.utility-bar .list-social__link:focus-visible {
  outline-offset: -0.3rem;
  box-shadow: 0 0 0 -0.2rem rgb(var(--color-foreground));
}

.localization-wrapper {
  grid-area: language-currency;
  align-self: center;
  display: flex;
  justify-content: flex-end;
}

.localization-wrapper .localization-selector + .disclosure__list-wrapper {
  animation: animateMenuOpen var(--duration-default) ease;
}

.utility-bar .localization-wrapper .disclosure .localization-form__select,
.utility-bar .localization-wrapper .disclosure__link {
  font-size: calc(var(--font-heading-scale) * 1.3rem);
}

@media screen and (min-width: 990px) {
  body:has(.section-header .header:not(.drawer-menu)) .utility-bar .page-width {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .announcement-bar-slider {
    width: 60%;
  }

  .announcement-bar .slider-button {
    height: 3.8rem;
  }
}

.announcement-bar__link {
  display: flex;
  width: 100%;
  text-decoration: none;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.announcement-bar__link:hover {
  text-decoration: underline;
}

.announcement-bar__link .icon-arrow {
  display: inline-block;
  pointer-events: none;
  margin-left: 0.8rem;
  vertical-align: middle;
  margin-bottom: 0.2rem;
}

.announcement-bar__message {
  text-align: center;
  padding: 0.5rem 0;
  margin: 0;
  letter-spacing: 0.1rem;
  min-height: 2.8rem;
}

.announcement-bar-slider--fade-in-next .announcement-bar__message,
.announcement-bar-slider--fade-in-previous .announcement-bar__message,
.announcement-bar-slider--fade-out-next .announcement-bar__message,
.announcement-bar-slider--fade-out-previous .announcement-bar__message {
  animation-duration: var(--duration-announcement-bar);
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.announcement-bar-slider--fade-in-next .announcement-bar__message {
  --announcement-translate-from: -1.5rem;
  /* Prevent flicker */
  opacity: 0;
  animation-name: translateAnnouncementSlideIn;
  animation-delay: var(--duration-announcement-bar);
}

.announcement-bar-slider--fade-in-previous .announcement-bar__message {
  --announcement-translate-from: 1.5rem;
  /* Prevent flicker */
  opacity: 0;
  animation-name: translateAnnouncementSlideIn;
  animation-delay: var(--duration-announcement-bar);
}

.announcement-bar-slider--fade-out-next .announcement-bar__message {
  --announcement-translate-to: 1.5rem;
  animation-name: translateAnnouncementSlideOut;
}

.announcement-bar-slider--fade-out-previous .announcement-bar__message {
  --announcement-translate-to: -1.5rem;
  animation-name: translateAnnouncementSlideOut;
}

@keyframes translateAnnouncementSlideIn {
  0% {
    opacity: 0;
    transform: translateX(var(--announcement-translate-from));
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes translateAnnouncementSlideOut {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(var(--announcement-translate-to));
  }
}

/* section-header */
.section-header.shopify-section-group-header-group {
  z-index: 3;
}

.shopify-section-header-sticky {
  position: sticky;
  top: 0;
}

.shopify-section-header-hidden {
  top: calc(-1 * var(--header-height));
}

.shopify-section-header-hidden.menu-open {
  top: 0;
}

.section-header.animate {
  transition: top 0.15s ease-out;
}

.shopify-section-group-header-group {
  z-index: 4;
}

.section-header ~ .shopify-section-group-header-group {
  z-index: initial;
}

/* Main Header Layout */
.header-wrapper {
  display: block;
  position: relative;
  background-color: rgb(var(--color-background));
}

.header-wrapper--border-bottom {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.header {
  display: grid;
  grid-template-areas: 'left-icons heading icons';
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
}

@media screen and (max-width: 749px) {
  .header--has-app {
    grid-template-columns: auto 1fr auto;
  }
}

@media screen and (min-width: 990px) {
  .header {
    grid-template-columns: 1fr auto 1fr;
  }

  .header--top-left,
  .header--middle-left:not(.header--has-menu) {
    grid-template-areas:
      'heading icons'
      'navigation navigation';
    grid-template-columns: 1fr auto;
  }

  .header--top-left.drawer-menu,
  .header--middle-left.drawer-menu {
    grid-template-areas: 'navigation heading icons';
    grid-template-columns: auto 1fr auto;
    column-gap: 1rem;
  }

  .header--middle-left {
    grid-template-areas: 'heading navigation icons';
    grid-template-columns: auto auto 1fr;
    column-gap: 2rem;
  }

  .header--middle-center:not(.drawer-menu) {
    grid-template-areas: 'navigation heading icons';
    grid-template-columns: 1fr auto 1fr;
    column-gap: 2rem;
  }

  .header--middle-center a.header__heading-link {
    text-align: center;
  }

  .header--top-center {
    grid-template-areas:
      'left-icons heading icons'
      'navigation navigation navigation';
  }

  .header--top-center.drawer-menu {
    grid-template-areas: 'left-icons heading icons';
    grid-template-columns: 1fr auto 1fr;
  }

  .header:not(.header--middle-left, .header--middle-center) .header__inline-menu {
    margin-top: 1.05rem;
  }
}

.header *[tabindex='-1']:focus {
  outline: none;
}

.header__heading {
  margin: 0;
  line-height: 0;
}

.header > .header__heading-link {
  line-height: 0;
}

.header__heading,
.header__heading-link {
  grid-area: heading;
  justify-self: center;
}

.header__heading-link {
  display: inline-block;
  padding: 0.75rem;
  text-decoration: none;
  word-break: break-word;
}

.header__heading-link:hover .h2 {
  color: rgb(var(--color-foreground));
}

.header__heading-link .h2 {
  line-height: 1;
  color: rgba(var(--color-foreground), 0.75);
}

.header__heading-logo {
  height: auto;
  max-width: 100%;
}

.header__heading-logo-wrapper {
  width: 100%;
  display: inline-block;
  transition: width 0.3s cubic-bezier(0.52, 0, 0.61, 0.99);
}

@media screen and (max-width: 989px) {
  .header__heading,
  .header__heading-link {
    text-align: center;
  }

  .header--mobile-left .header__heading,
  .header--mobile-left .header__heading-link {
    text-align: left;
    justify-self: start;
  }

  .header--mobile-left {
    grid-template-columns: auto 2fr 1fr;
  }
}

@media screen and (min-width: 990px) {
  .header--middle-left .header__heading-link,
  .header--top-left .header__heading-link {
    margin-left: -0.75rem;
  }

  .header__heading,
  .header__heading-link {
    justify-self: start;
  }

  .header--middle-center .header__heading-link,
  .header--middle-center .header__heading {
    justify-self: center;
    text-align: center;
  }

  .header--top-center .header__heading-link,
  .header--top-center .header__heading {
    justify-self: center;
    text-align: center;
  }
}

/* Header icons */
.header__icons {
  display: flex;
  grid-area: icons;
  justify-self: end;
  padding-right: 0;
}

.header__icons .shopify-app-block {
  max-width: 4.4rem;
  max-height: 4.4rem;
  overflow: hidden;
}

.header__icon:not(.header__icon--summary),
.header__icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__icon {
  color: rgb(var(--color-foreground));
}

.header__icon span {
  height: 100%;
}

.header__icon .svg-wrapper {
  width: 44px;
  height: 44px;
}

.header__icon::after {
  content: none;
}

.header__icon:hover .icon,
.modal__close-button:hover .icon {
  transform: scale(1.07);
}

.header__icon .icon {
  height: 2rem;
  width: 2rem;
  fill: none;
  vertical-align: middle;
}

.header__icon,
.header__icon--cart .icon {
  height: 4.4rem;
  width: 4.4rem;
  padding: 0;
}

.header__icon--cart {
  position: relative;
  margin-left: 0.4rem;
  margin-right: -1.2rem;
}

.header__icon--cart .icon {
  height: 2.2rem;
  width: 2.2rem;
}

.header__icon--cart {
  position: relative;
  margin-right: -1.2rem;
}

.header__icon--menu[aria-expanded='true']::before {
  content: '';
  top: 100%;
  left: 0;
  height: calc(var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%)));
  width: 100%;
  display: block;
  position: absolute;
  background: rgba(var(--color-foreground), 0.5);
}

.header__icon--account shop-user-avatar {
  --shop-avatar-size: 2.8rem;
}

details .header__icon-close {
  display: none;
}

details[open] .header__icon-close {
  display: inline-block;
}

account-icon {
  display: flex;
}

/* Search */
menu-drawer + .header__search {
  display: none;
}

.header > .header__search {
  grid-area: left-icons;
  justify-self: start;
}

.header--top-center.drawer-menu > .header__search {
  margin-left: 3.2rem;
}

.header--top-center header-drawer {
  grid-area: left-icons;
}

.header:not(.header--has-menu) * > .header__search {
  display: none;
}

.header__search {
  display: inline-flex;
  line-height: 0;
}

.header--top-center > .header__search {
  display: none;
}

.header--top-center * > .header__search {
  display: inline-flex;
}

@media screen and (min-width: 990px) {
  .header:not(.header--top-center) * > .header__search,
  .header--top-center > .header__search {
    display: inline-flex;
  }

  .header:not(.header--top-center) > .header__search,
  .header--top-center * > .header__search {
    display: none;
  }
}

details[open] > .search-modal {
  opacity: 1;
  animation: animateMenuOpen var(--duration-default) ease;
}

details[open] .modal-overlay {
  display: block;
}

details[open] .modal-overlay::after {
  position: absolute;
  content: '';
  background-color: rgb(var(--color-foreground), 0.5);
  top: 100%;
  left: 0;
  right: 0;
  height: 100vh;
}

.search-modal {
  opacity: 0;
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  min-height: calc(100% + var(--inputs-margin-offset) + (2 * var(--inputs-border-width)));
  height: 100%;
}

.search-modal__content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 5rem 0 1rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  position: relative;
}

.search-modal__content-bottom {
  bottom: calc((var(--inputs-margin-offset) / 2));
}

.search-modal__content-top {
  top: calc((var(--inputs-margin-offset) / 2));
}

.search-modal__form {
  width: 100%;
}

.search-modal__close-button {
  position: absolute;
  right: 0.3rem;
}

@media screen and (min-width: 750px) {
  .search-modal__close-button {
    right: 1rem;
  }

  .search-modal__content {
    padding: 0 6rem;
  }
}

@media screen and (min-width: 990px) {
  .search-modal__form {
    max-width: 74.2rem;
  }

  .search-modal__close-button {
    position: initial;
    margin-left: 0.5rem;
  }
}

/* Header menu drawer */
.header__icon--menu .icon {
  display: block;
  position: absolute;
  opacity: 1;
  transform: scale(1);
  transition: transform 150ms ease, opacity 150ms ease;
}

details:not([open]) > .header__icon--menu .icon-close,
details[open] > .header__icon--menu .icon-hamburger {
  visibility: hidden;
  opacity: 0;
  transform: scale(0.8);
}

.js details[open]:not(.menu-opening) > .header__icon--menu .icon-close {
  visibility: hidden;
}

.js details[open]:not(.menu-opening) > .header__icon--menu .icon-hamburger {
  visibility: visible;
  opacity: 1;
  transform: scale(1.07);
}

.js details > .header__submenu {
  opacity: 0;
  transform: translateY(-1.5rem);
}

details[open] > .header__submenu {
  animation: animateMenuOpen var(--duration-default) ease;
  animation-fill-mode: forwards;
  z-index: 1;
}

@media (prefers-reduced-motion) {
  details[open] > .header__submenu {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Header menu */
.header__inline-menu {
  margin-left: -1.2rem;
  grid-area: navigation;
  display: none;
}

.header--top-center .header__inline-menu,
.header--top-center .header__heading-link {
  margin-left: 0;
}

@media screen and (min-width: 990px) {
  .header__inline-menu {
    display: block;
  }

  .header--top-center .header__inline-menu {
    justify-self: center;
  }

  .header--top-center .header__inline-menu > .list-menu--inline {
    justify-content: center;
  }

  .header--middle-left .header__inline-menu {
    margin-left: 0;
  }
}

.header__menu {
  padding: 0 1rem;
}

.header__menu-item {
  padding: 1.2rem;
  text-decoration: none;
  color: rgba(var(--color-foreground), 0.75);
}

.header__menu-item:hover {
  color: rgb(var(--color-foreground));
}

.header__menu-item span {
  transition: text-decoration var(--duration-short) ease;
}

.header__menu-item:hover span {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

details[open] > .header__menu-item {
  text-decoration: underline;
}

details[open]:hover > .header__menu-item {
  text-decoration-thickness: 0.2rem;
}

details[open] > .header__menu-item .icon-caret {
  transform: rotate(180deg);
}

.header__active-menu-item {
  transition: text-decoration-thickness var(--duration-short) ease;
  color: rgb(var(--color-foreground));
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.header__menu-item:hover .header__active-menu-item {
  text-decoration-thickness: 0.2rem;
}

.header__submenu {
  transition: opacity var(--duration-default) ease, transform var(--duration-default) ease;
}

.global-settings-popup,
.header__submenu.global-settings-popup {
  border-radius: var(--popup-corner-radius);
  border-color: rgba(var(--color-foreground), var(--popup-border-opacity));
  border-style: solid;
  border-width: var(--popup-border-width);
  box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius)
    rgba(var(--color-shadow), var(--popup-shadow-opacity));
  z-index: -1;
}

.header__submenu.list-menu {
  padding: 1rem 0;
}

.header__submenu .header__submenu {
  background-color: rgba(var(--color-foreground), 0.03);
  padding: 1rem 0;
  margin: 1rem 0;
}

.header__submenu .header__menu-item:after {
  right: 2rem;
}

.header__submenu .header__menu-item {
  justify-content: space-between;
  padding: 0.8rem 2rem;
}

.header__submenu .header__menu-item:hover {
  text-decoration-line: underline;
}

.header__menu-item .icon-caret {
  right: 0.8rem;
}

.header__submenu .icon-caret {
  flex-shrink: 0;
  margin-left: 1rem;
  position: static;
}

header-menu > details,
details-disclosure > details {
  position: relative;
}

@keyframes animateMenuOpen {
  0% {
    opacity: 0;
    transform: translateY(-1.5rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.overflow-hidden-mobile,
.overflow-hidden-tablet,
.overflow-hidden-desktop {
  overflow: hidden;
}

@media screen and (min-width: 750px) {
  .overflow-hidden-mobile {
    overflow: auto;
  }
}

@media screen and (min-width: 990px) {
  .overflow-hidden-tablet {
    overflow: auto;
  }
}

.badge {
  border: 1px solid transparent;
  border-radius: var(--badge-corner-radius);
  display: inline-block;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  line-height: 1;
  padding: 0.5rem 1.3rem 0.6rem 1.3rem;
  text-align: center;
  background-color: rgb(var(--color-badge-background));
  border-color: rgba(var(--color-badge-border), var(--alpha-badge-border));
  color: rgb(var(--color-badge-foreground));
  word-break: break-word;
}

.gradient {
  background: rgb(var(--color-background));
  background: var(--gradient-background);
  background-attachment: fixed;
}

@media screen and (forced-colors: active) {
  .icon {
    color: CanvasText;
    fill: CanvasText !important;
  }

  .icon-close-small path {
    stroke: CanvasText;
  }
}

.ratio {
  display: flex;
  position: relative;
  align-items: stretch;
}

.ratio::before {
  content: '';
  width: 0;
  height: 0;
  padding-bottom: var(--ratio-percent);
}

.content-container {
  border-radius: var(--text-boxes-radius);
  border: var(--text-boxes-border-width) solid rgba(var(--color-foreground), var(--text-boxes-border-opacity));
  position: relative;
}

.content-container:after {
  content: '';
  position: absolute;
  top: calc(var(--text-boxes-border-width) * -1);
  right: calc(var(--text-boxes-border-width) * -1);
  bottom: calc(var(--text-boxes-border-width) * -1);
  left: calc(var(--text-boxes-border-width) * -1);
  border-radius: var(--text-boxes-radius);
  box-shadow: var(--text-boxes-shadow-horizontal-offset) var(--text-boxes-shadow-vertical-offset)
    var(--text-boxes-shadow-blur-radius) rgba(var(--color-shadow), var(--text-boxes-shadow-opacity));
  z-index: -1;
}

.content-container--full-width:after {
  left: 0;
  right: 0;
  border-radius: 0;
}

@media screen and (max-width: 749px) {
  .content-container--full-width-mobile {
    border-left: none;
    border-right: none;
    border-radius: 0;
  }
  .content-container--full-width-mobile:after {
    display: none;
  }
}

.global-media-settings {
  position: relative;
  border: var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius: var(--media-radius);
  overflow: visible !important;
  background-color: rgb(var(--color-background));
}

.global-media-settings:after {
  content: '';
  position: absolute;
  top: calc(var(--media-border-width) * -1);
  right: calc(var(--media-border-width) * -1);
  bottom: calc(var(--media-border-width) * -1);
  left: calc(var(--media-border-width) * -1);
  border-radius: var(--media-radius);
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius)
    rgba(var(--color-shadow), var(--media-shadow-opacity));
  z-index: -1;
  pointer-events: none;
}

.global-media-settings--no-shadow {
  overflow: hidden !important;
}

.global-media-settings--no-shadow:after {
  content: none;
}

.global-media-settings img,
.global-media-settings iframe,
.global-media-settings model-viewer,
.global-media-settings video,
.global-media-settings .placeholder-svg {
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

.content-container--full-width,
.global-media-settings--full-width,
.global-media-settings--full-width img,
.global-media-settings--full-width video,
.global-media-settings--full-width iframe,
.global-media-settings--full-width .placeholder-svg {
  border-radius: 0;
  border-left: none;
  border-right: none;
}

/* check for flexbox gap in older Safari versions */
@supports not (inset: 10px) {
  .grid {
    margin-left: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

  .grid__item {
    padding-left: var(--grid-mobile-horizontal-spacing);
    padding-bottom: var(--grid-mobile-vertical-spacing);
  }

  @media screen and (min-width: 750px) {
    .grid {
      margin-left: calc(-1 * var(--grid-desktop-horizontal-spacing));
    }

    .grid__item {
      padding-left: var(--grid-desktop-horizontal-spacing);
      padding-bottom: var(--grid-desktop-vertical-spacing);
    }
  }

  .grid--gapless .grid__item {
    padding-left: 0;
    padding-bottom: 0;
  }

  @media screen and (min-width: 749px) {
    .grid--peek .grid__item {
      padding-left: var(--grid-mobile-horizontal-spacing);
    }
  }

  .product-grid .grid__item {
    padding-bottom: var(--grid-mobile-vertical-spacing);
  }

  @media screen and (min-width: 750px) {
    .product-grid .grid__item {
      padding-bottom: var(--grid-desktop-vertical-spacing);
    }
  }
}

.font-body-bold {
  font-weight: var(--font-body-weight-bold);
}

/* outline and border styling for Windows High Contrast Mode */
@media (forced-colors: active) {
  .button,
  .shopify-challenge__button,
  .customer button {
    border: transparent solid 1px;
  }

  .button:focus-visible,
  .button:focus,
  .button.focused,
  .shopify-payment-button__button--unbranded:focus-visible,
  .shopify-payment-button [role='button']:focus-visible,
  .shopify-payment-button__button--unbranded:focus,
  .shopify-payment-button [role='button']:focus {
    outline: solid transparent 1px;
  }

  .field__input:focus,
  .select__select:focus,
  .customer .field input:focus,
  .customer select:focus,
  .localization-form__select:focus.localization-form__select:after {
    outline: transparent solid 1px;
  }

  .localization-form__select:focus {
    outline: transparent solid 1px;
  }
}

.rte:after {
  clear: both;
  content: '';
  display: block;
}

.rte > *:first-child {
  margin-top: 0;
}

.rte > *:last-child {
  margin-bottom: 0;
}

.rte table {
  table-layout: fixed;
}

@media screen and (min-width: 750px) {
  .rte table td {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}

.rte img {
  height: auto;
  max-width: 100%;
  border: var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius: var(--media-radius);
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius)
    rgba(var(--color-shadow), var(--media-shadow-opacity));
  margin-bottom: var(--media-shadow-vertical-offset);
}

.rte ul,
.rte ol {
  list-style-position: inside;
  padding-left: 2rem;
}

.rte li {
  list-style: inherit;
}

.rte li:last-child {
  margin-bottom: 0;
}

.rte a {
  color: rgba(var(--color-link), var(--alpha-link));
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  transition: text-decoration-thickness var(--duration-short) ease;
}

.rte a:hover {
  color: rgb(var(--color-link));
  text-decoration-thickness: 0.2rem;
}

.rte blockquote {
  display: inline-flex;
}

.rte blockquote > * {
  margin: -0.5rem 0 -0.5rem 0;
}

/* Image mask global styles */

.shape--mask {
  display: block;
  height: 0;
  width: 0;
}

.shape--arch {
  clip-path: url('#Shape-Arch');
}

.shape--blob {
  clip-path: polygon(var(--shape--blob-1));
}

.shape--chevronleft {
  clip-path: polygon(100% 0%, 85% 50%, 100% 100%, 15% 100%, 0% 50%, 15% 0%);
}

.shape--chevronright {
  clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 15% 50%, 0% 0%);
}

.shape--circle {
  clip-path: circle(closest-side);
}

.shape--diamond {
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.shape--parallelogram {
  clip-path: polygon(15% 0, 100% 0%, 85% 100%, 0% 100%);
}

.shape--round {
  clip-path: ellipse(45% 45% at 50% 50%);
}

/* Fixed background */
.animate--fixed {
  clip-path: inset(0);
}

.animate--fixed > img:not(.zoom):not(.deferred-media__poster-button),
.animate--fixed > svg:not(.zoom):not(.deferred-media__poster-button) {
  position: fixed;
  height: 100vh;
}

/* Zoom in image on scroll */
.animate--zoom-in {
  --zoom-in-ratio: 1;
}

.animate--zoom-in > img,
.animate--zoom-in > .svg-wrapper {
  transition: scale var(--duration-short) linear;
  scale: var(--zoom-in-ratio);
}

/* Animations */

@media (prefers-reduced-motion: no-preference) {
  .animate--ambient > img,
  .animate--ambient > .svg-wrapper {
    animation: animateAmbient 30s linear infinite;
  }

  @keyframes animateAmbient {
    0% {
      transform: rotate(0deg) translateX(1em) rotate(0deg) scale(1.2);
    }
    100% {
      transform: rotate(360deg) translateX(1em) rotate(-360deg) scale(1.2);
    }
  }

  .scroll-trigger.animate--fade-in,
  .scroll-trigger.animate--slide-in {
    opacity: 0.01;
  }

  .scroll-trigger.animate--slide-in {
    transform: translateY(2rem);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--fade-in {
    opacity: 1;
    animation: var(--animation-fade-in);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--slide-in {
    animation: var(--animation-slide-in);
    animation-delay: calc(var(--animation-order) * 75ms);
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--fade-in,
  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in,
  .scroll-trigger.scroll-trigger--design-mode .slider,
  .scroll-trigger:not(.scroll-trigger--offscreen).scroll-trigger--cancel {
    opacity: 1;
    animation: none;
    transition: none;
    transform: none;
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in {
    transform: translateY(0);
  }

  @keyframes slideIn {
    from {
      transform: translateY(2rem);
      opacity: 0.01;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes fadeIn {
    from {
      opacity: 0.01;
    }
    to {
      opacity: 1;
    }
  }
}

/* Element Hovers: Vertical Lift, 3d Lift */

@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .animate--hover-3d-lift .card-wrapper .card--card,
  .animate--hover-3d-lift .card-wrapper .card--standard .card__inner,
  .animate--hover-3d-lift .button:not(.button--tertiary),
  .animate--hover-3d-lift .shopify-challenge__button,
  .animate--hover-3d-lift .customer button,
  .animate--hover-3d-lift .shopify-payment-button__button,
  .animate--hover-3d-lift .deferred-media .deferred-media__poster-button {
    transition: transform var(--duration-long) ease, box-shadow var(--duration-long) ease;
    transform-origin: center;
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--card,
  .animate--hover-3d-lift .card-wrapper:hover .card--standard .card__inner,
  .animate--hover-3d-lift .button:not(.button--tertiary):not([disabled]):hover,
  .animate--hover-3d-lift .shopify-challenge__button:not([disabled]):hover,
  .animate--hover-3d-lift .customer button:not([disabled]):hover,
  .animate--hover-3d-lift .shopify-payment-button__button:hover,
  .animate--hover-3d-lift .deferred-media:hover .deferred-media__poster-button {
    transition: transform var(--duration-extended) ease, box-shadow var(--duration-long) ease; /* Slow the card transition speed while hover is active. */
    transform: rotate(1deg);
    box-shadow: -1rem -1rem 1rem -1rem rgba(0, 0, 0, 0.05), 1rem 1rem 1rem -1rem rgba(0, 0, 0, 0.05),
      0 0 0.5rem 0 rgba(255, 255, 255, 0), 0 2rem 3.5rem -2rem rgba(0, 0, 0, 0.5);
  }

  .animate--hover-3d-lift .deferred-media:hover .deferred-media__poster-button {
    transform: translate(-50%, -50%) scale(1.05); /* Apply a specialized transform to the video play button. */
  }

  .animate--hover-3d-lift .collage__item .card-wrapper:hover .card--card,
  .animate--hover-3d-lift .collage__item .card-wrapper:hover .card--standard .card__inner {
    transform: rotate(0.5deg); /* Less intense rotation for collage items. */
  }

  .animate--hover-3d-lift .product-grid .grid__item:hover,
  .animate--hover-3d-lift .collection-list .grid__item:hover,
  .animate--hover-3d-lift .collage__item:hover,
  .animate--hover-3d-lift .blog-articles .article:hover,
  .animate--hover-3d-lift .complementary-slide li:hover {
    z-index: 2; /* Make sure the hovered card is the topmost card. */
  }

  .animate--hover-3d-lift .product-grid {
    isolation: isolate; /* Ensure z-index changes here don't negatively effect other UI stacking. */
  }

  .animate--hover-3d-lift .card-wrapper .card--shape.card--standard:not(.card--text) .card__inner {
    box-shadow: none;
    transition: transform var(--duration-long) ease, filter var(--duration-long) ease;
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--shape.card--standard:not(.card--text) .card__inner {
    transition: transform calc(2 * var(--duration-extended)) ease, filter var(--duration-long) ease; /* Slow the card transition speed while hover is active. */
    filter: drop-shadow(0rem 2rem 2rem rgba(0, 0, 0, 0.15)) drop-shadow(0rem 1rem 1rem rgba(0, 0, 0, 0.15));
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--card:after,
  .animate--hover-3d-lift .card-wrapper:hover .card--standard .card__inner:after,
  .animate--hover-3d-lift
    .card-wrapper:hover
    .card--shape.card--standard:not(.card--text)
    .card__inner
    .card__media:before {
    background-image: var(--easter-egg);
    background-size: 250px 250px;
    mix-blend-mode: color-dodge;
    pointer-events: none;
    z-index: 2;
  }

  .animate--hover-3d-lift
    .card-wrapper:hover
    .card--shape.card--standard:not(.card--text)
    .card__inner
    .card__media:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .animate--hover-3d-lift .card-wrapper .card--card:before,
  .animate--hover-3d-lift .card-wrapper .card--standard .card__media:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: background-position calc(2 * var(--duration-extended)) ease, opacity var(--duration-default) ease;
    mix-blend-mode: overlay;
    background-size: 400% 100%;
    background-position: 90% 0;
    background-repeat: no-repeat;
    background-image: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0) 45%,
      rgba(255, 255, 255, 1) 50%,
      rgba(255, 255, 255, 0) 55%
    );
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--card:before,
  .animate--hover-3d-lift .card-wrapper:hover .card--standard .card__media:after {
    opacity: 0.2;
    transition: background-position 6s ease, opacity var(--duration-long) ease;
    background-position: left;
    z-index: 2;
  }

  :root {
    --easter-egg: none;
    --sparkle: url('./sparkle.gif');
  }

  .animate--hover-vertical-lift .button:not(.button--tertiary),
  .animate--hover-vertical-lift .shopify-challenge__button,
  .animate--hover-vertical-lift .customer button,
  .animate--hover-vertical-lift .shopify-payment-button__button {
    transition: transform var(--duration-default) var(--ease-out-slow);
  }

  .animate--hover-vertical-lift .card-wrapper .card--card,
  .animate--hover-vertical-lift .card-wrapper .card--standard .card__inner {
    transition: transform var(--duration-medium) var(--ease-out-slow);
  }

  .animate--hover-vertical-lift .card-wrapper:hover .card--card,
  .animate--hover-vertical-lift .card-wrapper:hover .card--standard .card__inner {
    transform: translateY(-0.75rem);
  }

  .animate--hover-vertical-lift .card-wrapper:active .card--card,
  .animate--hover-vertical-lift .card-wrapper:active .card--standard .card__inner {
    transform: translateY(-0.5rem);
  }

  .animate--hover-vertical-lift .button:not(.button--tertiary):not([disabled]):hover,
  .animate--hover-vertical-lift .shopify-challenge__button:not([disabled]):hover,
  .animate--hover-vertical-lift .customer button:not([disabled]):hover,
  .animate--hover-vertical-lift .shopify-payment-button__button:hover {
    transform: translateY(-0.25rem);
  }

  .animate--hover-vertical-lift .button:not(.button--tertiary):not([disabled]):active,
  .animate--hover-vertical-lift .shopify-challenge__button:not([disabled]):active,
  .animate--hover-vertical-lift .customer button:not([disabled]):active,
  .animate--hover-vertical-lift .shopify-payment-button__button:active {
    transform: translateY(0);
  }

  .animate--hover-vertical-lift .button:not([disabled]):hover:after,
  .animate--hover-vertical-lift .customer button:not([disabled]):hover:after,
  .animate--hover-vertical-lift .shopify-payment-button__button:not([disabled]):hover:after {
    --border-offset: 0.3px; /* Default is 1.3px as defined above in this file. This removes 1px to prevent the border from growing on buttons when this effect is on.  */
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
        rgba(var(--color-button-text), var(--border-opacity)),
      0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  }

  .animate--hover-vertical-lift .button:not([disabled]).button--secondary:hover:after {
    --border-offset: 0px; /* Prevent the border from growing on buttons when this effect is on. */
  }
}

/* Loading spinner */
.loading__spinner {
  position: absolute;
  z-index: 1;
  width: 1.8rem;
}

.loading__spinner {
  width: 1.8rem;
  display: inline-block;
}

.spinner {
  animation: rotator 1.4s linear infinite;
}

@keyframes rotator {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}

.path {
  stroke-dasharray: 280;
  stroke-dashoffset: 0;
  transform-origin: center;
  stroke: rgb(var(--color-foreground));
  animation: dash 1.4s ease-in-out infinite;
}

@media screen and (forced-colors: active) {
  .path {
    stroke: CanvasText;
  }
}

@keyframes dash {
  0% {
    stroke-dashoffset: 280;
  }
  50% {
    stroke-dashoffset: 75;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 280;
    transform: rotate(450deg);
  }
}

.loading__spinner:not(.hidden) + .cart-item__price-wrapper,
.loading__spinner:not(.hidden) ~ cart-remove-button {
  opacity: 50%;
}

.loading__spinner:not(.hidden) ~ cart-remove-button {
  pointer-events: none;
  cursor: default;
}

/* Progress bar */
.progress-bar-container {
  width: 100%;
  margin: auto;
}

.progress-bar {
  height: 0.13rem;
  width: 100%;
}

.progress-bar-value {
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-foreground));
  animation: indeterminateAnimation var(--duration-extra-longer) infinite ease-in-out;
  transform-origin: 0;
}

.progress-bar .progress-bar-value {
  display: block;
}

@keyframes indeterminateAnimation {
  0% {
    transform: translateX(-20%) scaleX(0);
  }
  40% {
    transform: translateX(30%) scaleX(0.7);
  }
  100% {
    transform: translateX(100%) scaleX(0);
  }
}
/* =========================================================
   SOMARELLE BRAND LAYER — CLEANED
   Quiet luxury / confidence-first / editorial minimal
   ========================================================= */

:root {
  --somarelle-onyx: 0, 0, 0;            /* Somarelle Black #000000 */
  --somarelle-pearl: 255, 255, 255;     /* Somarelle White rgb(var(--somarelle-pearl)) */
  --somarelle-sand: 231, 221, 207;      /* Somarelle Dune #E7DDCF */
  --somarelle-bronze: 200, 167, 109;    /* Somarelle Gold #C8A76D */
  --somarelle-blush: 180, 138, 134;     /* Somarelle Rose #B48A86 */
  --somarelle-noir: 75, 31, 47;         /* Somarelle Noir #4B1F2F */

  --color-background: var(--somarelle-pearl);
  --color-foreground: var(--somarelle-onyx);
  --color-link: var(--somarelle-onyx);

  --color-button: var(--somarelle-onyx);
  --color-button-text: 255, 255, 255;
  --color-secondary-button: var(--somarelle-pearl);
  --color-secondary-button-text: var(--somarelle-onyx);

  --font-heading-family: "Manrope", sans-serif;
  --font-heading-style: normal;
  --font-heading-weight: 500;

  --font-body-family: "Manrope", sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;

  --page-width: 144rem;

  --buttons-radius: 0rem;
  --buttons-radius-outset: 0rem;
  --inputs-radius: 0rem;
  --inputs-radius-outset: 0rem;
  --card-corner-radius: 0rem;
  --product-card-corner-radius: 0rem;
  --collection-card-corner-radius: 0rem;
  --blog-card-corner-radius: 0rem;
  --media-radius: 0rem;
  --text-boxes-radius: 0rem;

  --buttons-shadow-opacity: 0;
  --inputs-shadow-opacity: 0;
  --product-card-shadow-opacity: 0;
  --collection-card-shadow-opacity: 0;
  --blog-card-shadow-opacity: 0;
  --media-shadow-opacity: 0;
  --text-boxes-shadow-opacity: 0;

  --alpha-link: 1;
}
/* Global tone */
body,
.color-background-1 {
  background-color: rgb(var(--somarelle-pearl));
  color: rgb(var(--somarelle-onyx));
}

.color-background-2,
.background-secondary {
  background-color: rgb(var(--somarelle-sand));
  color: rgb(var(--somarelle-onyx));
}

/* Typography */
body,
p,
span,
input,
select,
textarea,
button,
.link,
.menu-drawer__menu-item,
.header__menu-item,
.field__input,
.select__select,
.card__information,
.price,
.product__description,
.product__text,
.product__tax {
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  letter-spacing: 0.28px;
}

h1,
h2,
.h0,
.h1,
.h2,
.banner__heading,
.rich-text__heading,
.main-page-title,
.collection-hero__title,
.product__title h1 {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 0.95;
  text-transform: none;
}

h3,
h4,
h5,
h6,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

h1,
.h1,
.product__title h1 {
  font-size: clamp(3rem, 4vw, 3rem);
}

h2,
.h2 {
  font-size: clamp(2.8rem, 4vw, 5.2rem);
}

h3,
.h3 {
  font-size: 1.45rem;
  letter-spacing: 0.175rem;
}

p,
.text-body,
.rte,
.product__description,
.article-template__content {
  font-size: 1.55rem;
  line-height: 1.75;
  letter-spacing: 0.015em;
  color: rgba(var(--somarelle-onyx), 0.88);
}

/* Links */
a,
.link,
.underlined-link,
.inline-richtext a {
  color: rgb(var(--somarelle-onyx));
  text-decoration-thickness: 0.08rem;
  text-underline-offset: 0.28rem;
  transition: color 180ms ease, opacity 180ms ease;
}

a:hover,
.link:hover,
.underlined-link:hover,
.inline-richtext a:hover {
  color: rgb(var(--somarelle-bronze));
}

/* Header */
.header-wrapper {
  background: rgb(var(--somarelle-pearl));
  border-bottom: 0.1rem solid rgba(var(--somarelle-onyx), 0.08);
}

.header {
  min-height: 8rem;
}

.header__menu-item,
.list-menu__item,
.header__icon,
.localization-form__select,
.disclosure__button {
  font-family: "Manrope", sans-serif;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.175rem;
  text-transform: uppercase;
}

.header__menu-item span,
.list-menu__item span {
  text-underline-offset: 0.3rem;
}

.header__menu-item:hover,
.list-menu__item:hover,
.header__icon:hover {
  color: rgb(var(--somarelle-bronze));
}

/* Announcement bar */
.announcement-bar,
.announcement-bar__announcement,
.utility-bar {
  background-color: rgb(var(--somarelle-onyx));
  color: rgb(var(--somarelle-pearl));
}

.announcement-bar__message {
  font-family: "Manrope", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: none;
}

/* Section spacing */
.section + .section {
  margin-top: 6rem;
}

@media screen and (min-width: 750px) {
  .section + .section {
    margin-top: 10rem;
  }
}

/* Buttons */
.button,
.button-label,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: 0;
  min-height: 5rem;
}

.button,
.shopify-payment-button__button--unbranded {
  background-color: rgb(var(--somarelle-onyx));
  color: #fff;
}

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
  box-shadow: 0 0 0 0.1rem rgba(var(--somarelle-noir), 1);
}

.button:hover,
.shopify-payment-button__button--unbranded:hover {
  background-color: rgb(var(--somarelle-noir));
  color: #fff;
}

.button--secondary {
  background-color: transparent;
  color: rgb(var(--somarelle-onyx));
}

.button--secondary:after {
  box-shadow: 0 0 0 0.1rem rgba(var(--somarelle-onyx), 0.75);
}

.button--secondary:hover {
  background-color: rgb(var(--somarelle-onyx));
  color: rgb(var(--somarelle-pearl));
}

/* Inputs */
.field__input,
.select__select,
.customer .field input,
.customer select,
.text-area,
.quantity:after,
.field:after,
.select:after {
  border-radius: 0;
}

.field__input,
.select__select,
.customer .field input,
.customer select,
.text-area {
  background: rgba(var(--somarelle-pearl), 1);
  color: rgb(var(--somarelle-onyx));
}

.field:hover.field:after,
.select:hover.select:after,
.customer .field:hover.field:after,
.customer select:hover.select:after {
  box-shadow: 0 0 0 0.1rem rgba(var(--somarelle-bronze), 0.6);
}

.field__input:focus,
.field__input:focus-visible,
.select__select:focus,
.select__select:focus-visible {
  box-shadow: 0 0 0 0.1rem rgba(var(--somarelle-bronze), 1);
}

/* Product cards */
.card,
.card-wrapper,
.product-card-wrapper .card,
.collection-card-wrapper .card {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.card__content,
.card__information {
  padding-left: 0;
  padding-right: 0;
}

.card__heading,
.card-information .price,
.price,
.price-item {
  color: rgb(var(--somarelle-onyx));
}

.card__heading {
  font-family: "Manrope", sans-serif;
  font-size: 1.45rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.card-information .price,
.price {
  font-family: "Manrope", sans-serif;
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.card__media,
.media {
  background-color: rgba(var(--somarelle-sand), 0.45);
}

.media img {
  transition: transform 500ms ease, opacity 350ms ease;
}

.card-wrapper:hover .media img,
.product-media-container:hover img {
  transform: scale(1.02);
}

/* Titles */
.title,
.title-wrapper .title,
.collection-list-title,
.featured-collection .title,
.rich-text__heading {
  font-family: "Manrope", sans-serif;
  letter-spacing: -0.02em;
}

/* Product page */
.product__title h1 {
  margin-bottom: 1.2rem;
}

.price--large,
.price__regular .price-item--regular {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.product-form__input .form__label,
.product__tax,
.product__inventory,
.product__sku,
.product__text {
  font-family: "Manrope", sans-serif;
  letter-spacing: 0.02em;
}

.product-form__input input[type='radio'] + label {
  border-radius: 0;
  min-width: 4.8rem;
  min-height: 4.8rem;
  border: 0.1rem solid rgba(var(--somarelle-onyx), 0.14);
  background: transparent;
  transition: all 180ms ease;
}

.product-form__input input[type='radio']:checked + label {
  background: rgb(var(--somarelle-onyx));
  color: rgb(var(--somarelle-pearl));
  border-color: rgb(var(--somarelle-onyx));
}

/* Cart */
drawer-cart,
.cart-drawer,
.cart-notification,
.cart-items,
.totals,
.cart__footer {
  background-color: rgb(var(--somarelle-pearl));
}

.cart-item__name,
.cart__checkout-button,
.totals__total {
  color: rgb(var(--somarelle-onyx));
}

/* Motion */
.button,
.link,
.header__menu-item,
.card-wrapper,
.header__icon,
details summary,
.disclosure__button {
  transition: all 180ms ease;
}

/* Borders */
hr,
.header-wrapper--border-bottom,
.footer,
.collection-hero,
.product__accordion,
.shopify-policy__container {
  border-color: rgba(var(--somarelle-onyx), 0.08);
}

/* Remove default rounded Shopify feel */
.button,
.field__input,
.select__select,
.quantity,
.card,
.media,
.product-form__input input[type='radio'] + label,
.shopify-payment-button__button--unbranded {
  border-radius: 0 !important;
}

.somarelle-accent {
  color: rgb(var(--somarelle-noir));
}

.somarelle-gold-accent {
  color: rgb(var(--somarelle-bronze));
}

/* =========================================================
   SOMARELLE VIDEO HERO — CLEANED
   ========================================================= */

.video-section video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.video-section__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.32);
  z-index: 1;
  pointer-events: none;
}

.somarelle-video-hero__content {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 11rem 2rem 0;
  text-align: center;
  animation: fadeUp 1.2s ease-out;
}

.somarelle-video-hero__heading {
  margin-bottom: 0.8rem;
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.somarelle-video-hero__text {
  margin-bottom: 2.8rem;
}

.somarelle-video-hero__button {
  padding: 1.4rem 3.2rem;
  font-size: 1.3rem;
  letter-spacing: 0.16em;
  border-radius: 2px;
  font-weight: 500;
  text-transform: uppercase;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile hero */
@media screen and (max-width: 749px) {
  .somarelle-video-hero__content {
    align-items: flex-start;
    justify-content: flex-start;
    padding: 5rem 1.6rem 0;
  }

  .somarelle-video-hero__inner {
    max-width: 28rem;
    margin: 0 auto;
    text-align: center;
  }

  .somarelle-video-hero__heading {
    font-size: 2.5rem;
    line-height: 1.08;
    margin-bottom: 1rem;
    letter-spacing: -0.01em;
  }

  .somarelle-video-hero__text {
    font-size: 1.25rem;
    line-height: 1.55;
    max-width: 26rem;
    margin: 0 auto 1.8rem;
  }

  .somarelle-video-hero__button {
  padding: 12px 28px;
  font-size: 13px;
  letter-spacing: 0.175rem;
  border-radius: 2px;
  background-color: #B8956B;
}

  .video-section video {
    min-height: 44rem;
    object-fit: cover;
    object-position: center;
  }
}
@media screen and (max-width: 749px) {
  .video-section,
  .somarelle-video-hero,
  .video-section__media {
    min-height: 52rem !important;
  }

  .video-section__media {
    position: relative;
    overflow: hidden;
  }

  .video-section video,
  .video-section__media video {
    width: 100% !important;
    height: 52rem !important;
    min-height: 52rem !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block;
  }

  .somarelle-video-hero__content {
    min-height: 52rem !important;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 749px) {
  .somarelle-video-hero__content {
    padding: 100px 24px 40px 24px !important;
    text-align: center;
  }

  .somarelle-video-hero__heading {
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: -0.01em;
  }

  .somarelle-video-hero__subheading {
    font-size: 14px;
    line-height: 1.6;
    margin-top: 8px;
    margin-bottom: 18px;
  }
}
.somarelle-video-hero__content {
  position: relative;
  z-index: 2;
}
.announcement-bar {
  background-color: rgb(var(--somarelle-onyx)); /* Midnight Onyx */
}

.announcement-bar__message {
  color: rgb(var(--somarelle-pearl)) !important; /* Warm Pearl */
  font-size: 13px;
  letter-spacing: 0.08em;
}
.announcement-bar__message {
  text-transform: none;
  font-weight: 400;
}
/* ================================
   SOMARELLE HOMEPAGE HEADER
   single source of truth
================================ */


/* keep announcement bar above */
.template-index .announcement-bar-section {
  position: relative;
  z-index: 41;
}

/* transparent homepage wrapper */
.template-index sticky-header.header-wrapper--overlay-home.is-homepage-header,
.template-index div.header-wrapper--overlay-home.is-homepage-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* transparent inner header row */
.template-index .header-wrapper--overlay-home.is-homepage-header .header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

@media screen and (min-width: 990px) {
  /* desktop only: transparent homepage header uses white text/icons */
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header a,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header button,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header summary,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header .header__icon,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header svg {
    color: rgb(var(--somarelle-pearl)) !important;
    fill: currentColor !important;
  }

  @media screen and (min-width: 990px) {
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open):not(:hover) .header-wrapper--overlay-home.is-homepage-header .header__heading-logo {
    filter: brightness(0) invert(1) !important;
  }
}
}



.template-index .section-header.scrolled-past-header sticky-header.header-wrapper--overlay-home.is-homepage-header {
  background: rgba(250, 246, 240, 0.96) !important;
  background-color: rgba(250, 246, 240, 0.96) !important;
  background-image: none !important;
  border-bottom: 0.1rem solid rgba(15, 15, 15, 0.08) !important;
  box-shadow: 0 8px 24px rgba(15, 15, 15, 0.06) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* dark content after scroll */
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}

.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .header__heading-logo {
  filter: none !important;
}
/* ==========================================
   HOMEPAGE DRAWER FIX
========================================== */

/* Drawer panel should use normal solid colors, not homepage overlay colors */
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  color: rgb(var(--somarelle-onyx)) !important;
  box-shadow: none !important;
}

/* Reset all drawer text/icons back to dark */
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer a,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer button,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer summary,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .link,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .link--text,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .list-menu__item,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__menu-item,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__close-button,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .localization-form__select,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .disclosure__button,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer svg,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .icon {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
  opacity: 1 !important;
}

/* Make sure submenu panels match */
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__submenu,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__inner-container,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__inner-submenu {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
}

/* Soften the dark backdrop behind the drawer */
.template-index .header-wrapper--overlay-home.is-homepage-header .header__icon--menu[aria-expanded='true']::before {
  background: rgba(15, 15, 15, 0.18) !important;
}

/* If you want NO dark backdrop at all, use this instead:
.template-index .header-wrapper--overlay-home.is-homepage-header .header__icon--menu[aria-expanded='true']::before {
  background: transparent !important;
}
*/
/* =========================================
   HOMEPAGE: SOLID HEADER WHEN ANY HEADER UI IS OPEN
   drawer / search / country / language
========================================= */

/* 1) Remove Dawn's built-in dark overlays */
.template-index .header__icon--menu[aria-expanded='true']::before,
.template-index details[open] .modal-overlay::after {
  background: transparent !important;
}

/* 2) Solid header whenever ANY header interaction is open */
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(15, 15, 15, 0.08) !important;
  box-shadow: 0 8px 24px rgba(15, 15, 15, 0.06) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* 3) Keep the inside row clean */
.template-index .section-header:has(.menu-drawer-container > details[open]) .header.is-homepage-header-inner,
.template-index .section-header:has(details-modal > details[open]) .header.is-homepage-header-inner,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header.is-homepage-header-inner,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header.is-homepage-header-inner {
  background: transparent !important;
  background-color: transparent !important;
}

/* 4) Dark text/icons whenever any header interaction is open */
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header svg,

.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header svg,

.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header svg,

.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}

/* 5) Logo back to normal when header becomes solid */
.template-index .section-header:has(.menu-drawer-container > details[open]) .header__heading-logo,
.template-index .section-header:has(details-modal > details[open]) .header__heading-logo,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header__heading-logo,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header__heading-logo {
  filter: none !important;
}

/* 6) Make localization dropdown panel match the solid header */
.template-index .desktop-localization-wrapper .disclosure__list-wrapper,
.template-index .header-localization .disclosure__list-wrapper {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  border: 1px solid rgba(15, 15, 15, 0.08) !important;
  box-shadow: 0 8px 24px rgba(15, 15, 15, 0.06) !important;

}/* =========================================
   SOMARELLE HEADER / DRAWER COLOR UNIFICATION
========================================= */

/* 1) Homepage solid header states use exactly same color as drawer */
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header.scrolled-past-header sticky-header.header-wrapper--overlay-home.is-homepage-header {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 2) Drawer panel uses the exact same ivory */
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__submenu,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__inner-container,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__inner-submenu,
.template-index .desktop-localization-wrapper .disclosure__list-wrapper,
.template-index .header-localization .disclosure__list-wrapper {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
}

/* 3) Remove ALL dark overlay when drawer opens */
.template-index .header__icon--menu[aria-expanded='true']::before,
.template-index .menu-drawer-container summary::before,
.template-index .menu-drawer-container details[open] > summary::before,
.template-index details[open] .modal-overlay::after,
.template-index .country-selector__overlay {
  background: transparent !important;
  opacity: 0 !important;
  content: none !important;
}

/* 4) Keep drawer text crisp */
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer a,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer button,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer summary,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}/* =========================================
   HOMEPAGE: DRAWER OPEN = HEADER STAYS SOLID
========================================= */

/* remove Dawn dark backdrop */
.template-index .header__icon--menu[aria-expanded='true']::before,
.template-index .menu-drawer-container details[open] > summary::before,
.template-index .menu-drawer-container > details[open] > summary::before {
  background: transparent !important;
  opacity: 0 !important;
  content: none !important;
}

/* DRAWER OPEN = solid header */
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(15, 15, 15, 0.08) !important;
  box-shadow: 0 8px 24px rgba(15, 15, 15, 0.06) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* keep inner header clean */
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header.is-homepage-header-inner {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* header content turns dark while drawer is open */
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header-wrapper--overlay-home.is-homepage-header svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}

/* logo normal while drawer open */
.template-index .section-header:has(#Details-menu-drawer-container[open]) .header__heading-logo {
  filter: none !important;
}

/* drawer panel same color as header */
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer,
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer .menu-drawer__submenu,
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer .menu-drawer__inner-container,
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer .menu-drawer__inner-submenu {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
}

/* drawer text stays dark */
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer,
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer a,
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer button,
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer summary,
.template-index .section-header:has(#Details-menu-drawer-container[open]) #menu-drawer svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}/* =========================================
   HOMEPAGE HEADER OPEN STATE
   stable on desktop + mobile
========================================= */

/* remove dark Dawn overlays */
.template-index .header__icon--menu[aria-expanded='true']::before,
.template-index .menu-drawer-container summary::before,
.template-index .menu-drawer-container details[open] > summary::before,
.template-index details[open] .modal-overlay::after,
.template-index .country-selector__overlay {
  background: transparent !important;
  opacity: 0 !important;
  content: none !important;
}

/* any open header UI = solid header */
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(15, 15, 15, 0.08) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* keep inner row clean */
.template-index .section-header.header-ui-open .header.is-homepage-header-inner {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* dark text/icons in open state */
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header span,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .link,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .link--text,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}

/* logo normal in open state */
.template-index .section-header.header-ui-open .header__heading-logo {
  filter: none !important;
}

/* dropdowns + drawer use same background */
.template-index .section-header.header-ui-open #menu-drawer,
.template-index .section-header.header-ui-open #menu-drawer .menu-drawer__submenu,
.template-index .section-header.header-ui-open #menu-drawer .menu-drawer__inner-container,
.template-index .section-header.header-ui-open #menu-drawer .menu-drawer__inner-submenu,
.template-index .section-header.header-ui-open .disclosure__list-wrapper {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
}

/* drawer text always dark */
.template-index .section-header.header-ui-open #menu-drawer,
.template-index .section-header.header-ui-open #menu-drawer a,
.template-index .section-header.header-ui-open #menu-drawer button,
.template-index .section-header.header-ui-open #menu-drawer summary,
.template-index .section-header.header-ui-open #menu-drawer svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}
/* =========================================
   DESKTOP HOMEPAGE HEADER HOVER = DARK
========================================= */
@media screen and (min-width: 990px) {
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header a,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header span,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header button,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header summary,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header .header__icon,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header .link,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header .link--text,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header-wrapper--overlay-home.is-homepage-header svg {
    color: rgb(var(--somarelle-onyx)) !important;
    fill: currentColor !important;
  }

  .template-index .section-header:not(.header-ui-open):not(.scrolled-past-header):hover .header__heading-logo {
    filter: none !important;
  }
}
/* =========================================
   ALL NON-HOMEPAGE HEADER / DRAWER = IVORY
========================================= */

/* any open header UI on all pages */
.section-header.header-ui-open .header-wrapper,
.section-header.header-ui-open .header-wrapper.gradient,
.section-header.header-ui-open .header-wrapper.color-scheme-1,
.section-header.header-ui-open .header-wrapper[class*='color-'] {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(15, 15, 15, 0.08) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* menu drawer + localization dropdowns */
.section-header.header-ui-open #menu-drawer,
.section-header.header-ui-open #menu-drawer .menu-drawer__submenu,
.section-header.header-ui-open #menu-drawer .menu-drawer__inner-container,
.section-header.header-ui-open #menu-drawer .menu-drawer__inner-submenu,
.section-header.header-ui-open .disclosure__list-wrapper {
  background: var(--somarelle-pearl) !important;
  background-color: var(--somarelle-pearl) !important;
  background-image: none !important;
}

/* keep text/icons dark */
.section-header.header-ui-open .header-wrapper,
.section-header.header-ui-open .header-wrapper a,
.section-header.header-ui-open .header-wrapper span,
.section-header.header-ui-open .header-wrapper button,
.section-header.header-ui-open .header-wrapper summary,
.section-header.header-ui-open .header-wrapper .header__heading-link,
.section-header.header-ui-open .header-wrapper .header__icon,
.section-header.header-ui-open .header-wrapper .link,
.section-header.header-ui-open .header-wrapper .link--text,
.section-header.header-ui-open .header-wrapper .localization-form__select,
.section-header.header-ui-open .header-wrapper svg,
.section-header.header-ui-open #menu-drawer,
.section-header.header-ui-open #menu-drawer a,
.section-header.header-ui-open #menu-drawer button,
.section-header.header-ui-open #menu-drawer summary,
.section-header.header-ui-open #menu-drawer svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}

/* remove dark overlay */
.header__icon--menu[aria-expanded='true']::before,
.menu-drawer-container summary::before,
.menu-drawer-container details[open] > summary::before,
details[open] .modal-overlay::after,
.country-selector__overlay {
  background: transparent !important;
  opacity: 0 !important;
  content: none !important;
}

/* keep logo normal */
.section-header.header-ui-open .header__heading-logo {
  filter: none !important;
}
/* Homepage: remove gap between hero video and featured collection */
.template-index section[id*="__video_apXWzc"] + section[id*="__featured_collection"] {
  margin-top: 0 !important;
}
/* Global button shape only — fix Dawn outer outline too */
.button,
.button::before,
.button::after,
.button--primary,
.button--primary::before,
.button--primary::after,
.button--secondary,
.button--secondary::before,
.button--secondary::after,
.product-form__submit,
.product-form__submit::before,
.product-form__submit::after,
.cart__checkout-button,
.cart__checkout-button::before,
.cart__checkout-button::after,
.quick-add__submit,
.quick-add__submit::before,
.quick-add__submit::after,
.shopify-payment-button__button,
.shopify-payment-button__button::before,
.shopify-payment-button__button::after,
.shopify-payment-button__button--unbranded,
.shopify-payment-button__button--unbranded::before,
.shopify-payment-button__button--unbranded::after {
  border-radius: 999px !important;
}
/* Global rounded inputs / selects / newsletter / localization */
.field,
.field__input,
.select,
.select__select,
textarea,
.customer .field,
.customer input,
.customer select,
.newsletter-form__field-wrapper .field,
.newsletter-form__field-wrapper .field__input,
.localization-form__select,
.disclosure__button.localization-form__select {
  border-radius: 999px !important;
}

/* Dawn outline layers */
.field:before,
.field:after,
.select:before,
.select:after {
  border-radius: 999px !important;
}
/* Country / region + language selectors = pill shape */
.localization-form__select,
.disclosure__button.localization-form__select,
.localization-selector.link {
  border-radius: 999px !important;
}

/* Dawn outline layers for selectors */
.disclosure__button.localization-form__select::before,
.disclosure__button.localization-form__select::after,
.localization-form__select::before,
.localization-form__select::after {
  border-radius: 999px !important;
}
/* Global localization selectors + dropdown panels */

/* Closed selectors: Country / Region + Language */
localization-form .disclosure__button.localization-form__select,
localization-form .disclosure__button.localization-form__select::before,
localization-form .disclosure__button.localization-form__select::after,
localization-form .localization-form__select,
localization-form .localization-form__select::before,
localization-form .localization-form__select::after {
  border-radius: 999px !important;
}

/* Open dropdown panel */
localization-form .disclosure__list-wrapper,
localization-form .disclosure__list {
  border-radius: 12px !important;
  overflow: hidden !important;
}
/* Perfect round variant circles */

/* Color swatches */
.product-form__input .swatch-input__label,
.product-form__input .swatch-input__label::before,
.product-form__input .swatch-input__label::after {
  width: 4.8rem !important;
  height: 4.8rem !important;
  min-width: 4.8rem !important;
  min-height: 4.8rem !important;
  border-radius: 50% !important;
}

/* Size buttons = true circles */
.product-form__input--pill input[type='radio'] + label,
.product-form__input input[type='radio'] + label {
  width: 4.8rem !important;
  height: 4.8rem !important;
  min-width: 4.8rem !important;
  min-height: 4.8rem !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
}
/* Quantity selector = soft pill shape */
.quantity,
.quantity::before,
.quantity::after {
  border-radius: 999px !important;
  overflow: hidden !important;
}

.quantity__button,
.quantity__input {
  border-radius: 999px !important;
}
/* Product page price — slightly bigger */
.product__info-container .price-item,
.product__info-container .price__regular .price-item--regular,
.product__info-container .price__sale .price-item--sale,
.product__info-container .price__sale .price-item--last {
  font-size: 2.2rem !important;
  line-height: 1.1 !important;
}
/* Product page spacing rhythm */
.product__info-container > * + * {
  margin-top: 1.4rem !important;
}

.product__title,
.product__title h1 {
  margin-bottom: 0 !important;
}

.product__info-container .price,
.product__info-container .price__container {
  margin-top: 0.8rem !important;
  margin-bottom: 0 !important;
}

.product__tax,
.product__tax.caption,
.product__tax.rte {
  margin-top: 0.8rem !important;
  margin-bottom: 0.2rem !important;
}

.product-form__input,
.product-form__quantity {
  margin-top: 1.8rem !important;
}

.product-form__input .form__label,
.product-form__quantity .form__label {
  margin-bottom: 0rem !important;
}

.product-form__buttons,
.buy-buttons {
  margin-top: 2rem !important;
}

.shopify-payment-button {
  margin-top: 1.2rem !important;
}

.product__description,
.share-button {
  margin-top: 2.4rem !important;
}

/* Mobile refinement */
@media screen and (max-width: 749px) {
  .product__info-container > * + * {
    margin-top: 1.2rem !important;
  }

  .product__info-container .price,
  .product__info-container .price__container {
    margin-top: 0.6rem !important;
  }

  .product__tax,
  .product__tax.caption,
  .product__tax.rte {
    margin-top: 0.6rem !important;
    margin-bottom: 0.2rem !important;
  }

  .product-form__input,
  .product-form__quantity {
    margin-top: 1.6rem !important;
  }

  .product-form__buttons,
  .buy-buttons {
    margin-top: 1.8rem !important;
  }

  .shopify-payment-button {
    margin-top: 1rem !important;
  }

  .product__description,
  .share-button {
    margin-top: 2rem !important;
  }
}

/* Collection page: remove gap between banner title and product grid */
.template-collection .section + .section {
  margin-top: 0 !important;
}
/* =========================
   SOMARELLE PRODUCT CARD TYPOGRAPHY
   Prada-style compact product grid
   ========================= */

.card__heading,
.card__heading a,
.product-card-title,
.featured-collection .card__heading,
.featured-collection .card__heading a,
.related-products .card__heading,
.related-products .card__heading a,
.product-recommendations .card__heading,
.product-recommendations .card__heading a,
.template-index .collection .card__heading,
.template-index .collection .card__heading a,
.template-collection .card__heading,
.template-collection .card__heading a {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  line-height: 1.4;
  text-transform: uppercase;
}

.price,
.price-item,
.card-information .price,
.card-information .price-item,
.featured-collection .price,
.featured-collection .price-item,
.related-products .price,
.related-products .price-item,
.product-recommendations .price,
.product-recommendations .price-item,
.template-index .collection .price,
.template-index .collection .price-item,
.template-collection .price,
.template-collection .price-item {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.4;
  text-transform: none;
}

.price__sale .price-item--sale,
.price-item--sale {
  font-size: var(--type-sm);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-soft);
  line-height: 1.4;
}

.price__regular .price-item--regular,
.price-item--regular {
  font-size: var(--type-sm);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.4;
}

.price--on-sale .price-item--regular,
.price__compare,
s.price-item {
  font-size: var(--type-xs);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.4;
}

.badge,
.card__badge .badge,
.price__badge-sale,
.price__badge-sold-out {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-xxs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.10em;
  line-height: 1.3;
  text-transform: uppercase;
}
/* Footer localization - properly centered on all screen sizes */
.footer__content-bottom,
.footer__content-bottom-wrapper,
.footer__column--info {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer__localization {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3rem;
  flex-wrap: wrap;
  text-align: center;
}

.footer__localization .localization-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
}

.footer__localization .localization-form__label,
.footer__localization .caption-large {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 0 1rem 0;
}

.footer__localization .disclosure,
.footer__localization .localization-form__select,
.footer__localization .disclosure__button {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: stack nicely */
@media screen and (max-width: 749px) {
  .footer__localization {
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
  }
}/* Desktop: center Country/region + Language in footer */
@media screen and (min-width: 750px) {
  .footer__content-bottom-wrapper,
  .footer__column--info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .footer__localization {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 4rem !important;
    flex-wrap: wrap !important;
    text-align: center !important;
    margin: 0 auto 2rem !important;
  }

  .footer__localization .localization-form {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }

  .footer__localization .localization-form__label,
  .footer__localization .caption-large {
    width: 100% !important;
    text-align: center !important;
    margin: 0 0 1rem 0 !important;
  }

  .footer__localization .disclosure,
  .footer__localization .localization-form__select,
  .footer__localization .disclosure__button {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Footer newsletter + social icons centered properly */
.footer-block--newsletter {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.footer-block--newsletter .footer-block__newsletter {
  width: 100% !important;
  max-width: 46rem !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.footer-block--newsletter .footer-block__heading {
  width: 100% !important;
  margin: 0 0 1.4rem 0 !important;
  text-align: center !important;
}

.footer-block--newsletter .newsletter-form {
  width: 100% !important;
}

.footer-block--newsletter .newsletter-form__field-wrapper {
  width: 100% !important;
  max-width: 40rem !important;
  margin: 0 auto !important;
}

.footer-block--newsletter .field {
  margin: 0 auto !important;
}

.footer-block--newsletter .footer__list-social,
.footer-block--newsletter .list-social {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1.8rem !important;
  margin: 2.4rem auto 0 !important;
}
/* Footer social icons size */
.footer-block--newsletter .list-social__link .svg-wrapper,
.footer__list-social .list-social__link .svg-wrapper {
  width: 2.4rem !important;
  height: 2.4rem !important;
}

.footer-block--newsletter .list-social__link svg,
.footer__list-social .list-social__link svg {
  width: 2.4rem !important;
  height: 2.4rem !important;
}
.footer-block--newsletter {
  padding-bottom: 0.4rem !important;
}

.footer-block--newsletter .footer__list-social,
.footer-block--newsletter .list-social {
  margin-top: 1.2rem !important;
  margin-bottom: 0 !important;
}

.footer__content-bottom {
  padding-top: 0.8rem !important;
}

.footer__content-bottom-wrapper {
  padding-top: 0 !important;
  row-gap: 0.8rem !important;
}

.footer__localization {
  margin: 0 auto 0.6rem !important;
}
/* Tighten footer gap between social icons and localization */
.footer__content-top {
  padding-bottom: 1.2rem !important;
}

.footer__content-bottom {
  padding-top: 1.2rem !important;
}

.footer-block--newsletter {
  margin-bottom: 0 !important;
}

.footer-block--newsletter .footer__list-social,
.footer-block--newsletter .list-social {
  margin-top: 1.2rem !important;
  margin-bottom: 0 !important;
}
/* Mobile announcement bar thinner */
@media screen and (max-width: 749px) {
  .announcement-bar__message {
    padding: 0.35rem 0 !important;
  }

  .announcement-bar__link {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
.announcement-bar__message {
  text-align: center;
  padding: 0.5rem 0;
  margin: 0;
  min-height: 2.8rem;
  font-family: "Manrope", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: none;
  font-weight: 400;
  color: rgb(var(--somarelle-pearl)) !important;
}
@media screen and (min-width: 990px) {
  /* Keep the header search trigger as search icon only */
  .header__search summary .modal__toggle-close,
  .header__search summary .icon-close,
  .header__search summary .icon-close-small {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .header__search summary .modal__toggle-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .header__search details[open] summary .modal__toggle-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

}/* DESKTOP HOMEPAGE HEADER — smooth fade from transparent to solid */
@media screen and (min-width: 990px) {
  /* keep the real wrapper transparent in all states */
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    position: relative !important;
  }

  /* fade layer */
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--somarelle-pearl);
    border-bottom: 1px solid rgba(15, 15, 15, 0.08);
    box-shadow: 0 8px 24px rgba(15, 15, 15, 0.06);
    opacity: 0;
    transition: opacity 280ms ease;
    pointer-events: none;
    z-index: 0;
  }

  /* keep actual header content above the fade layer */
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .header {
    position: relative;
    z-index: 1;
  }

  /* show solid layer on hover / open / scrolled */
  .template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header::before,
  .template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header::before,
  .template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header::before {
    opacity: 1;
  }

  /* smooth text/icon/logo color change too */
  .template-index .header-wrapper--overlay-home.is-homepage-header,
  .template-index .header-wrapper--overlay-home.is-homepage-header a,
  .template-index .header-wrapper--overlay-home.is-homepage-header button,
  .template-index .header-wrapper--overlay-home.is-homepage-header summary,
  .template-index .header-wrapper--overlay-home.is-homepage-header .header__icon,
  .template-index .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
  .template-index .header-wrapper--overlay-home.is-homepage-header svg {
    transition: color 280ms ease, fill 280ms ease;
  }

  .template-index .header-wrapper--overlay-home.is-homepage-header .header__heading-logo {
    transition: filter 280ms ease;
  }
}/* DESKTOP HOMEPAGE HEADER — smooth fade instead of snap */
@media screen and (min-width: 990px) {
  .template-index .section-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 40;
    margin-bottom: 0 !important;
  }

  .template-index .announcement-bar-section {
    position: relative;
    z-index: 41;
  }

  .template-index .header-wrapper--overlay-home.is-homepage-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-bottom: 1px solid transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition:
      background-color 280ms ease,
      border-color 280ms ease,
      box-shadow 280ms ease,
      color 180ms ease,
      opacity 280ms ease;
    will-change: background-color, border-color, box-shadow, opacity;
  }

  .template-index .header-wrapper--overlay-home.is-homepage-header .header,
  .template-index .header-wrapper--overlay-home.is-homepage-header a,
  .template-index .header-wrapper--overlay-home.is-homepage-header button,
  .template-index .header-wrapper--overlay-home.is-homepage-header summary,
  .template-index .header-wrapper--overlay-home.is-homepage-header .header__icon,
  .template-index .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
  .template-index .header-wrapper--overlay-home.is-homepage-header svg,
  .template-index .header-wrapper--overlay-home.is-homepage-header .header__heading-logo {
    transition:
      color 180ms ease,
      fill 180ms ease,
      filter 180ms ease,
      background-color 280ms ease;
  }

  /* transparent state */
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open) .header-wrapper--overlay-home.is-homepage-header {
    background-color: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
  }

  /* solid fade-in state */
  .template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header {
    background-color: rgba(245, 241, 235, 0.96) !important;
    border-bottom-color: rgba(15, 15, 15, 0.08) !important;
    box-shadow: 0 8px 24px rgba(15, 15, 15, 0.06) !important;
  }
}
@media screen and (min-width: 990px) {
  .template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header .header__heading-logo,
  .template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .header__heading-logo,
  .template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .header__heading-logo {
    filter: none !important;
  }
}  

  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header a,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header button,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header summary,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .header__icon,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header svg {
    color: rgb(var(--somarelle-onyx)) !important;
    fill: currentColor !important;
  }

  .template-index .section-header .header__heading-logo {
    filter: none !important;
  }


  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header a,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header button,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header summary,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .header__icon,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header svg {
    color: rgb(var(--somarelle-onyx)) !important;
    fill: currentColor !important;
  }

  .template-index .section-header .header__heading-logo {
    filter: none !important;
  }
}
@media screen and (max-width: 989px) {
  /* mobile homepage header: always solid Somarelle White */
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header:not(.scrolled-past-header) .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header,
  .template-index sticky-header.header-wrapper--overlay-home.is-homepage-header,
  .template-index div.header-wrapper--overlay-home.is-homepage-header {
    background: rgb(var(--somarelle-pearl)) !important;
    background-color: rgb(var(--somarelle-pearl)) !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(var(--somarelle-onyx), 0.08) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header a,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header button,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header summary,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .header__icon,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
  .template-index .section-header .header-wrapper--overlay-home.is-homepage-header svg {
    color: rgb(var(--somarelle-onyx)) !important;
    fill: currentColor !important;
  }

  .template-index .section-header .header__heading-logo {
    filter: none !important;
  }
}

/* HOMEPAGE VIDEO HERO — final refinement */
.template-index .video-section__media {
  position: relative;
}

.template-index .video-section__media::after {
  background: rgba(15, 15, 15, 0.36) !important;
}

.template-index .somarelle-video-hero__heading {
  font-size: clamp(3.4rem, 5.4vw, 6.4rem) !important;
  line-height: 1.14 !important;
}

.template-index .somarelle-video-hero__text,
.template-index .somarelle-video-hero__subheading {
  max-width: 34rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.65 !important;
}

@media screen and (max-width: 749px) {
  .template-index .video-section__media::after {
    background: rgba(15, 15, 15, 0.4) !important;
  }

  .template-index .somarelle-video-hero__heading {
    font-size: 2.4rem !important;
    line-height: 1.18 !important;
  }

  .template-index .somarelle-video-hero__text,
  .template-index .somarelle-video-hero__subheading {
    max-width: 24rem !important;
    line-height: 1.6 !important;
  }
}
/* =========================================
   SOMARELLE – CART DRAWER ITEM POLISH
   non-empty cart drawer only
========================================= */

cart-drawer:not(.is-empty) .drawer__header {
  padding: 1.6rem 0 1.2rem !important;
}

cart-drawer:not(.is-empty) .drawer__heading {
  margin: 0 !important;
  font-size: 1.6rem !important;
  letter-spacing: 0.12em !important;
  line-height: 1.1 !important;
}

cart-drawer:not(.is-empty) .cart-items thead tr {
  margin-bottom: 1.4rem !important;
}

cart-drawer:not(.is-empty) .cart-item {
  grid-template-columns: 8rem minmax(0, 1fr) auto !important;
  column-gap: 1.4rem !important;
  row-gap: 1rem !important;
  align-items: start !important;
  margin-bottom: 0.6rem !important;
}

cart-drawer:not(.is-empty) .cart-item__media {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 8rem !important;
}

cart-drawer:not(.is-empty) .cart-item__image {
  width: 100% !important;
  max-width: 8rem !important;
}

cart-drawer:not(.is-empty) .cart-item__details {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
}

cart-drawer:not(.is-empty) .cart-item__details > * + * {
  margin-top: 0.3rem !important;
}

cart-drawer:not(.is-empty) .cart-item__name {
  font-size: 1.45rem !important;
  line-height: 1.15 !important;
}

cart-drawer:not(.is-empty) .product-option {
  font-size: 1.35rem !important;
  line-height: 1.35 !important;
}

cart-drawer:not(.is-empty) .cart-item__totals {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  text-align: right !important;
}

cart-drawer:not(.is-empty) .cart-item__price-wrapper,
cart-drawer:not(.is-empty) .cart-item__price-wrapper * {
  font-size: 1.4rem !important;
  line-height: 1.15 !important;
}

cart-drawer:not(.is-empty) .cart-item__quantity {
  grid-column: 2 / 4 !important;
  grid-row: 2 !important;
  padding-top: 1rem !important;
}

cart-drawer:not(.is-empty) .cart-item__quantity-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 0.8rem !important;
  flex-wrap: nowrap !important;
}

cart-drawer:not(.is-empty) .quantity {
  width: 14.8rem !important;
  min-width: 14.8rem !important;
}

cart-drawer:not(.is-empty) cart-remove-button {
  margin-left: 0 !important;
}

cart-drawer:not(.is-empty) cart-remove-button .button {
  width: 4.4rem !important;
  height: 4.4rem !important;
  min-width: 4.4rem !important;
  min-height: 4.4rem !important;
}

cart-drawer:not(.is-empty) .totals > * {
  font-size: 1.5rem !important;
}

cart-drawer:not(.is-empty) .tax-note {
  margin: 1rem 0 1.6rem !important;
  text-align: left !important;
  font-size: 1.4rem !important;
  line-height: 1.45 !important;
}

@media screen and (min-width: 750px) {
  cart-drawer:not(.is-empty) .cart-item {
    grid-template-columns: 9rem minmax(0, 1fr) auto !important;
    column-gap: 1.6rem !important;
    row-gap: 1.2rem !important;
  }

  cart-drawer:not(.is-empty) .cart-item__media {
    width: 9rem !important;
  }

  cart-drawer:not(.is-empty) .cart-item__image {
    max-width: 9rem !important;
  }

  cart-drawer:not(.is-empty) .quantity {
    width: 15.5rem !important;
    min-width: 15.5rem !important;
  }
}
@media screen and (max-width: 749px) {
  cart-drawer:not(.is-empty) .cart-item {
    grid-template-columns: 7.2rem minmax(0, 1fr) auto !important;
    column-gap: 1.2rem !important;
    row-gap: 0.9rem !important;
    margin-bottom: 1.6rem !important;
  }

  cart-drawer:not(.is-empty) .cart-item__media {
    width: 7.2rem !important;
  }

  cart-drawer:not(.is-empty) .cart-item__image {
    max-width: 7.2rem !important;
  }

  cart-drawer:not(.is-empty) .cart-item__name {
    font-size: 1.4rem !important;
  }

  cart-drawer:not(.is-empty) .product-option {
    font-size: 1.3rem !important;
  }

  cart-drawer:not(.is-empty) .cart-item__price-wrapper,
  cart-drawer:not(.is-empty) .cart-item__price-wrapper * {
    font-size: 1.3rem !important;
  }

  cart-drawer:not(.is-empty) .quantity {
    width: 13.8rem !important;
    min-width: 13.8rem !important;
  }

  cart-drawer:not(.is-empty) cart-remove-button .button {
    width: 4rem !important;
    height: 4rem !important;
    min-width: 4rem !important;
    min-height: 4rem !important;
  }

}

.header__icon--account .icon-account {
  width: 2.2rem;
  height: 2.2rem;
}
.header__icon--cart .icon-cart {
  width: 2.2rem;
  height: 2.2rem;
}
.header__icon--cart {
  margin-left: 0.6rem;
}



  @media screen and (max-width: 749px) {
  .header__icon--cart {
    margin-left: -1rem;
    margin-right: -3rem;
  }
}

  @media screen and (max-width: 749px) {
  .header--top-center > .header__search {
    display: inline-flex !important;
  }

  .header--top-center * > .header__search {
    display: none !important;
  }
}
@media screen and (max-width: 749px) {
  .header__icon--account.small-hide {
    display: flex !important;
  }
}
html {
  scrollbar-width: normal;
  scrollbar-color: rgba(var(--color-foreground), 0.7) transparent;
}

html::-webkit-scrollbar {
  width: 3px;
}

html::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-foreground), 0.7);
  border-radius: 100px;
}

html::-webkit-scrollbar-track {
  background: transparent;
}
.header__icon--cart .cart-count-bubble span[aria-hidden="true"] {
  display: none;
}
@media screen and (max-width: 749px) {
  .product__media img {
    height: 46rem;
    object-fit: cover;
  }
}
/* Swap Add to Cart and Buy It Now styles */

/* Add to Cart = black filled */
.product-form__submit.button--secondary {
  background-color: rgb(var(--color-button)) !important;
  color: rgb(var(--color-button-text)) !important;
}

.product-form__submit.button--secondary::before,
.product-form__submit.button--secondary::after {
  box-shadow: none !important;
}

.product-form__submit.button--secondary:hover,
.product-form__submit.button--secondary:focus-visible {
  background-color: rgb(var(--color-button)) !important;
  color: rgb(var(--color-button-text)) !important;
}

/* Buy It Now = outlined */
.shopify-payment-button__button--unbranded {
  background-color: transparent !important;
  color: rgb(var(--color-button)) !important;
}

.shopify-payment-button__button--unbranded::before {
  box-shadow: none !important;
}

.shopify-payment-button__button--unbranded::after {
  box-shadow: 0 0 0 0.1rem rgba(17, 17, 17, 0.75) !important;
}

.shopify-payment-button__button--unbranded:hover,
.shopify-payment-button__button--unbranded:focus-visible {
  background-color: transparent !important;
  color: rgb(var(--color-button)) !important;
}
.product-form__submit.button--secondary {
  background-color: rgb(var(--color-foreground)) !important;
  color: rgb(var(--color-background)) !important;
}

.product-form__submit.button--secondary span {
  color: rgb(var(--color-background)) !important;
}

.product-form__submit.button--secondary::after,
.product-form__submit.button--secondary::before {
  box-shadow: none !important;
}
.product-form__submit.button--secondary,
.product-form__submit.button--secondary:hover,
.product-form__submit.button--secondary:focus,
.product-form__submit.button--secondary:focus-visible,
.product-form__submit.button--secondary:active {
  background-color: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
}

.product-form__submit.button--secondary span,
.product-form__submit.button--secondary:hover span,
.product-form__submit.button--secondary:focus span,
.product-form__submit.button--secondary:focus-visible span,
.product-form__submit.button--secondary:active span {
  color: rgb(var(--somarelle-pearl)) !important;
}

.product-form__submit.button--secondary::before,
.product-form__submit.button--secondary::after,
.product-form__submit.button--secondary:hover::before,
.product-form__submit.button--secondary:hover::after,
.product-form__submit.button--secondary:focus::before,
.product-form__submit.button--secondary:focus::after,
.product-form__submit.button--secondary:focus-visible::before,
.product-form__submit.button--secondary:focus-visible::after,
.product-form__submit.button--secondary:active::before,
.product-form__submit.button--secondary:active::after {
  box-shadow: none !important;
}
@media screen and (max-width: 749px) {
  .product__info-container {
    padding-bottom: 8.5rem;
  }

  .mobile-sticky-atc-shell,
  .mobile-sticky-atc-top {
    position: fixed;
    left: 0;
    right: 0;
    pointer-events: none;
  }

  .mobile-sticky-atc-shell {
    bottom: 0;
    z-index: 2;
    padding: 1.2rem 1.5rem calc(1.2rem + env(safe-area-inset-bottom));
    background: transparent;
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.8rem);
    transition:
      opacity 180ms ease,
      transform 180ms ease,
      visibility 0s linear 180ms;
  }

  .mobile-sticky-atc-shell.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
      opacity 180ms ease,
      transform 180ms ease,
      visibility 0s linear 0s;
  }

  .mobile-sticky-atc-shell .product-form__submit-wrap {
    width: min(40rem, 100%);
    margin: 0 auto;
    pointer-events: auto;
  }

  .mobile-sticky-atc-top {
    top: var(--mobile-sticky-top-offset, 0px);
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.8rem);
    transition:
      opacity 180ms ease,
      transform 180ms ease,
      visibility 0s linear 180ms;
  }

  .mobile-sticky-atc-top.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
      opacity 180ms ease,
      transform 180ms ease,
      visibility 0s linear 0s;
  }

  .mobile-sticky-atc-top__inner {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1rem 1.5rem;
    background: rgba(var(--color-background), 0.96);
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }

  .mobile-sticky-atc-top__meta {
    min-width: 0;
    flex: 1 1 auto;
  }

  .mobile-sticky-atc-top__title {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-sticky-atc-top__price {
    margin: 0.3rem 0 0;
    font-size: 1.2rem;
    line-height: 1.2;
    color: rgba(var(--color-foreground), 0.75);
  }

  .mobile-sticky-atc-top__actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    pointer-events: auto;
  }

  .mobile-sticky-atc-top .product-form__submit-wrap {
    width: auto;
    margin: 0;
    pointer-events: auto;
  }

  .mobile-sticky-atc-top .product-form__submit {
    width: auto;
    min-width: 12rem;
    min-height: 4.4rem;
    margin: 0;
    padding: 0 2.2rem;
  }

  .mobile-sticky-purchase .product-form__submit-anchor.is-docked {
    overflow: hidden;
  }

  .mobile-sticky-purchase .product-form__dynamic-checkout-wrap {
    margin-top: 1.2rem;
  }
}
@media screen and (max-width: 749px) {
  .product__media-wrapper {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

  .product__media-list {
    margin-left: 0 !important;
    width: 100vw !important;
  }

  .product__media-list .product__media-item {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .product__media-list .media,
  .product__media-list .deferred-media {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .product__media-list .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
/* =========================
   HOMEPAGE HERO REPOSITION
   Text bottom left
   Button bottom right
   ========================= */

.template-index #MainContent .shopify-section:first-child .banner__content {
  align-items: flex-end !important;
  justify-content: flex-end !important;
}

.template-index #MainContent .shopify-section:first-child .banner__box {
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  padding: 0 4rem 3.6rem !important;
  background: transparent !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "heading button"
    "text button";
  align-items: end !important;
  column-gap: 3rem !important;
  row-gap: 0.8rem !important;
  text-align: left !important;
  justify-items: start !important;
}

/* Heading */
.template-index #MainContent .shopify-section:first-child .banner__heading {
  grid-area: heading !important;
  margin: 0 !important;
  max-width: 8ch !important;
  font-size: clamp(3rem, 4vw, 5.8rem) !important;
  line-height: 0.95 !important;
  text-align: left !important;
}

/* Subtext */
.template-index #MainContent .shopify-section:first-child .banner__text {
  grid-area: text !important;
  margin: 0 !important;
  max-width: 42rem !important;
  text-align: left !important;
}

.template-index #MainContent .shopify-section:first-child .banner__text p {
  margin: 0 !important;
  font-size: 1.6rem !important;
  line-height: 1.45 !important;
}

/* Button wrapper */
.template-index #MainContent .shopify-section:first-child .banner__buttons {
  grid-area: button !important;
  align-self: end !important;
  justify-self: end !important;
  margin: 0 !important;
}

/* Button */
.template-index #MainContent .shopify-section:first-child .banner__buttons .button {
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .template-index #MainContent .shopify-section:first-child .banner__box {
    padding: 0 2rem 2.2rem !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "heading"
      "text"
      "button";
    row-gap: 1rem !important;
  }

  .template-index #MainContent .shopify-section:first-child .banner__heading {
    max-width: 9ch !important;
    font-size: clamp(2.2rem, 8vw, 4rem) !important;
    line-height: 1 !important;
  }

  .template-index #MainContent .shopify-section:first-child .banner__text p {
    font-size: 1.4rem !important;
    line-height: 1.4 !important;
  }

  .template-index #MainContent .shopify-section:first-child .banner__buttons {
    justify-self: start !important;
  }
}
/* General text links */
a:not(.button):not(.shopify-payment-button__button),
.link,
.underlined-link,
.full-unstyled-link,
.header__menu-item,
.menu-drawer__menu-item,
.footer-block__details-content .list-menu__item--link,
.list-menu__item,
.card__heading a,
.card-information a,
.product__title a,
.pagination__item,
.breadcrumb a,
summary.header__menu-item {
  transition: color 0.2s ease;
}

/* Hover state */
a:not(.button):not(.shopify-payment-button__button):hover,
a:not(.button):not(.shopify-payment-button__button):hover span,
.link:hover,
.underlined-link:hover,
.full-unstyled-link:hover,
.header__menu-item:hover,
.header__menu-item:hover span,
.menu-drawer__menu-item:hover,
.menu-drawer__menu-item:hover span,
.footer-block__details-content .list-menu__item--link:hover,
.list-menu__item:hover,
.card__heading a:hover,
.card-information a:hover,
.product__title a:hover,
.pagination__item:hover,
.breadcrumb a:hover,
summary.header__menu-item:hover,
summary.header__menu-item:hover span {
  color: rgb(var(--somarelle-blush)) !important;
}
/* Cart drawer remove/trash icon: light icon on dark hover */
.cart-drawer cart-remove-button .button:hover,
.cart-drawer .cart-remove-button:hover,
.drawer cart-remove-button .button:hover,
.drawer .cart-remove-button:hover {
  color: rgb(var(--somarelle-pearl)) !important;
}

/* Force SVG/icon inside remove button to follow hover color */
.cart-drawer cart-remove-button .button:hover svg,
.cart-drawer cart-remove-button .button:hover svg path,
.cart-drawer .cart-remove-button:hover svg,
.cart-drawer .cart-remove-button:hover svg path,
.drawer cart-remove-button .button:hover svg,
.drawer cart-remove-button .button:hover svg path,
.drawer .cart-remove-button:hover svg,
.drawer .cart-remove-button:hover svg path {
  color: rgb(var(--somarelle-pearl)) !important;
  stroke: currentColor !important;
  fill: none !important;
}
/* =========================
   EMPTY CART DRAWER CENTERING
   Desktop + Mobile
   ========================= */

cart-drawer.is-empty .drawer__inner,
cart-drawer.is-empty .cart-drawer,
.drawer.is-empty .drawer__inner {
  height: 100dvh !important;
  min-height: 100dvh !important;
}

cart-drawer.is-empty .drawer__inner-empty,
.drawer.is-empty .drawer__inner-empty {
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4rem 3rem !important;
}

cart-drawer.is-empty .cart-drawer__warnings,
.drawer.is-empty .cart-drawer__warnings {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

cart-drawer.is-empty .cart-drawer__empty-content,
.drawer.is-empty .cart-drawer__empty-content {
  width: 100% !important;
  max-width: 34rem !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

cart-drawer.is-empty .cart__empty-text,
.drawer.is-empty .cart__empty-text {
  margin: 0 0 2.4rem !important;
  text-align: center !important;
}

cart-drawer.is-empty .cart-drawer__empty-content .button,
.drawer.is-empty .cart-drawer__empty-content .button {
  margin: 0 auto !important;
}

cart-drawer.is-empty .cart-drawer__login-title,
.drawer.is-empty .cart-drawer__login-title {
  margin: 5rem 0 1rem !important;
  text-align: center !important;
}

cart-drawer.is-empty .cart-drawer__login-paragraph,
.drawer.is-empty .cart-drawer__login-paragraph {
  margin: 0 !important;
  text-align: center !important;
}

/* Keep close icon top-right */
cart-drawer.is-empty .drawer__close,
.drawer.is-empty .drawer__close {
  position: absolute !important;
  top: 4.2rem !important;
  right: 5.2rem !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  cart-drawer.is-empty .drawer__inner-empty,
  .drawer.is-empty .drawer__inner-empty {
    padding: 3rem 2rem !important;
  }

  cart-drawer.is-empty .cart-drawer__empty-content,
  .drawer.is-empty .cart-drawer__empty-content {
    max-width: 30rem !important;
  }

  /* Keep close icon top-right */
cart-drawer.is-empty .drawer__close,
.drawer.is-empty .drawer__close {
  position: absolute !important;
  top: 2.4em !important;
  right: 2.4rem !important;
  }
}
/* =========================
   PRODUCT CARD TEXT SIZE
   Featured collections / collections / recommendations
   Does NOT affect main product page info
   ========================= */

/* Product card names */
.card-wrapper .card__heading,
.card-wrapper .card__heading a,
.card-wrapper .card-information .card-information__text,
.card-wrapper .card-information .full-unstyled-link,
.product-recommendations .card__heading,
.product-recommendations .card__heading a,
.related-products .card__heading,
.related-products .card__heading a {
  font-size: 1.25rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
}

/* Product card prices */
.card-wrapper .card-information .price,
.card-wrapper .card-information .price-item,
.card-wrapper .card-information .price__regular,
.card-wrapper .card-information .price__sale,
.product-recommendations .card-information .price,
.product-recommendations .card-information .price-item,
.related-products .card-information .price,
.related-products .card-information .price-item {
  font-size: 1.15rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.05em !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .card-wrapper .card__heading,
  .card-wrapper .card__heading a,
  .card-wrapper .card-information .card-information__text,
  .card-wrapper .card-information .full-unstyled-link,
  .product-recommendations .card__heading,
  .product-recommendations .card__heading a,
  .related-products .card__heading,
  .related-products .card__heading a {
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
  }

  .card-wrapper .card-information .price,
  .card-wrapper .card-information .price-item,
  .card-wrapper .card-information .price__regular,
  .card-wrapper .card-information .price__sale,
  .product-recommendations .card-information .price,
  .product-recommendations .card-information .price-item,
  .related-products .card-information .price,
  .related-products .card-information .price-item {
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
  }
}/* =========================
   FOOTER LOCALIZATION DROPDOWNS
   Match menu drawer style
   ========================= */




/* Allow dropdowns to show fully */
.footer,
.footer__content-bottom,
.footer__localization,
.footer .localization-form,
.footer .disclosure {
  overflow: visible !important;
}

/* Footer selector row */
.footer__localization,
.footer .localization-form:has(.disclosure) {
  position: relative !important;
}

/* Selector buttons */
.footer .localization-form__select,
.footer .disclosure__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.4rem !important;

  width: auto !important;
  min-width: 0 !important;
  min-height: auto !important;
  height: auto !important;

  margin: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  color: rgb(var(--color-foreground)) !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.footer .localization-form__select:hover,
.footer .disclosure__button:hover {
  color: rgb(var(--somarelle-noir)) !important;
}

/* Caret */
.footer .localization-form__select .icon-caret,
.footer .disclosure__button .icon-caret {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  width: 1rem !important;
  height: 1rem !important;
  flex: 0 0 auto !important;
}

/* Dropdown shell */
.footer .disclosure__list-wrapper {
  position: absolute !important;
  bottom: calc(100% + 1rem) !important;
  top: auto !important;
  left: 0 !important;
  right: auto !important;

  width: 30rem !important;
  min-width: 30rem !important;
  max-width: 30rem !important;
  max-height: 40rem !important;

  display: flex !important;
  flex-direction: column !important;

  padding: 0 !important;
  margin: 0 !important;

  background: rgb(var(--somarelle-pearl)) !important;
  border: 0.1rem solid rgba(var(--color-foreground), 0.08) !important;
  border-radius: 1.2rem !important;
  box-shadow: 0 1.4rem 4rem rgba(17, 17, 17, 0.12) !important;

  overflow: hidden !important;
  z-index: 100 !important;
}

/* Language dropdown smaller */
.footer localization-form:last-of-type .disclosure__list-wrapper {
  width: 18rem !important;
  min-width: 18rem !important;
  max-width: 18rem !important;
}

/* Hide closed dropdowns */
.footer .disclosure__list-wrapper[hidden] {
  display: none !important;
}

/* Search area */
.footer .country-filter {
  flex: 0 0 auto !important;
  width: 100% !important;
  padding: 1.2rem !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: rgb(var(--somarelle-pearl)) !important;
}

.footer .country-filter .field {
  width: 100% !important;
  margin: 0 !important;
}

.footer .country-filter input,
.footer .country-filter .field__input {
  width: 100% !important;
  box-sizing: border-box !important;

  background: rgb(var(--somarelle-pearl)) !important;
  color: rgb(var(--color-foreground)) !important;

  border: 0.1rem solid rgba(var(--color-foreground), 0.55) !important;
  border-radius: 999px !important;
  box-shadow: none !important;

  font-size: 1.3rem !important;
  padding: 1.2rem 4rem 1.2rem 1.6rem !important;
}

/* Search icon */
.footer .country-filter .field__button {
  color: rgb(var(--color-foreground)) !important;
}

/* Scrollable list */
.footer .disclosure__list,
.footer .country-selector__list {
  flex: 1 1 auto !important;

  width: 100% !important;
  max-width: 100% !important;
  max-height: none !important;

  padding: 0 0 0.8rem 0 !important;
  margin: 0 !important;

  background: rgb(var(--somarelle-pearl)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Scrollbar */
.footer .disclosure__list::-webkit-scrollbar,
.footer .country-selector__list::-webkit-scrollbar {
  width: 0.7rem;
}

.footer .disclosure__list::-webkit-scrollbar-track,
.footer .country-selector__list::-webkit-scrollbar-track {
  background: transparent;
}

.footer .disclosure__list::-webkit-scrollbar-thumb,
.footer .country-selector__list::-webkit-scrollbar-thumb {
  background: rgba(var(--color-foreground), 0.55);
  border-radius: 999px;
}

/* Items */
.footer .disclosure__item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer .disclosure__link {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;

  display: flex !important;
  align-items: center !important;
  gap: 0.8rem !important;

  padding: 1rem 1.4rem !important;
  margin: 0 !important;

  background: rgb(var(--somarelle-pearl)) !important;
  color: rgb(var(--color-foreground)) !important;

  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Selected / hover */
.footer .disclosure__link:hover,
.footer .disclosure__link[aria-current='true'] {
  background: rgba(var(--color-foreground), 0.04) !important;
  color: rgb(var(--somarelle-noir)) !important;
}

/* Checkmark */
.footer .disclosure__link .icon-checkmark,
.footer .disclosure__link svg {
  width: 1rem !important;
  height: 1rem !important;
  flex: 0 0 auto !important;
}

/* Mobile */
@media screen and (max-width: 749px) {
  .footer .disclosure__list-wrapper {
    width: 28rem !important;
    min-width: 28rem !important;
    max-width: calc(100vw - 4rem) !important;
  }

  .footer localization-form:last-of-type .disclosure__list-wrapper {
    width: 18rem !important;
    min-width: 18rem !important;
  }

  .footer .disclosure__link {
    font-size: 1.3rem !important;
  }
}

/* Center text inside footer country/language selector pills */
.footer .localization-form__select,
.footer .disclosure__button,
.footer .localization-selector.link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.footer .localization-form__select span,
.footer .disclosure__button span,
.footer .localization-selector.link span {
  text-align: center !important;
}

/* Keep caret close to text */
.footer .localization-form__select .icon-caret,
.footer .disclosure__button .icon-caret,
.footer .localization-selector.link .icon-caret {
  margin-left: 0.6rem !important;
  position: static !important;
  transform: none !important;
}
/* =========================
   SEARCH OPEN: HIDE HEADER ICONS
   ========================= */

/* Hide menu/account/cart icons when search modal is open */
body:has(.header__search details[open]) .header__icon--menu,
body:has(.header__search details[open]) .header__icon--account,
body:has(.header__search details[open]) .header__icon--cart,
body:has(.header__search details[open]) .header__icons {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Keep search itself visible */
body:has(.header__search details[open]) .header__search,
body:has(.header__search details[open]) details-modal.header__search,
body:has(.header__search details[open]) .search-modal,
body:has(.header__search details[open]) .search-modal__content {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Search modal pearl background */
.search-modal,
.search-modal.gradient,
.search-modal__content,
.search-modal .field,
.search-modal .field__input,
.search-modal .search__input {
  background-color: rgb(var(--somarelle-pearl)) !important;
}
/* Hide the extra header search icon when search is open */
body:has(.header__search details[open]) .header__icon--search {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Keep only the search bar input/search button visible */
body:has(.header__search details[open]) .search-modal .search__button,
body:has(.header__search details[open]) .search-modal .field__button,
body:has(.header__search details[open]) .search-modal input[type='search'] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
/* Lower hero CTA on desktop only */
@media screen and (min-width: 990px) {
  .somarelle-video-hero__button {
    position: relative !important;
    top: 3rem !important;
  }
}


/* Mobile drawer slightly smaller */
@media screen and (max-width: 749px) {
  .drawer-footer-localization localization-form:has(form[id*='Language']) .disclosure__button::before,
  .drawer-footer-localization localization-form:has(form[id*='Language']) .localization-form__select::before {
    width: 1.2rem !important;
    height: 1.2rem !important;
  }
}

/* Make language selector a proper inline group */
.drawer-footer-localization form[id*='Language'] .disclosure__button,
.drawer-footer-localization form[id*='Language'] .localization-form__select,
.footer form[id*='Language'] .disclosure__button,
.footer form[id*='Language'] .localization-form__select {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  position: relative !important;
}

/* Force icon to sit INSIDE the clickable language field */
.drawer-footer-localization form[id*='Language'] .disclosure__button::before,
.drawer-footer-localization form[id*='Language'] .localization-form__select::before,
.footer form[id*='Language'] .disclosure__button::before,
.footer form[id*='Language'] .localization-form__select::before {
  position: static !important;
  inset: auto !important;
  transform: none !important;

  content: "" !important;
  display: inline-block !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  flex: 0 0 1.25rem !important;

  background-color: currentColor !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg fill='black' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4ZM334.83 362 368 281.65 401.17 362Z'/%3E%3Cpath d='M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73 39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93.92 1.19 1.83 2.35 2.74 3.51-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59 22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg fill='black' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4ZM334.83 362 368 281.65 401.17 362Z'/%3E%3Cpath d='M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73 39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93.92 1.19 1.83 2.35 2.74 3.51-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59 22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9Z'/%3E%3C/svg%3E") !important;

  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
}

/* Align caret nicely after text */
.drawer-footer-localization form[id*='Language'] .icon-caret,
.footer form[id*='Language'] .icon-caret {
  position: static !important;
  transform: none !important;
  margin-left: 0.35rem !important;
  width: 1rem !important;
  height: 1rem !important;
}

/* Menu drawer footer selector spacing */
.drawer-footer-localization {
  align-items: center !important;
  gap: 1.6rem !important;
}

/* Footer pill spacing */
.footer form[id*='Language'] .disclosure__button,
.footer form[id*='Language'] .localization-form__select {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* Mobile menu drawer: keep icon compact */
@media screen and (max-width: 749px) {
  .drawer-footer-localization form[id*='Language'] .disclosure__button,
  .drawer-footer-localization form[id*='Language'] .localization-form__select {
    gap: 0.45rem !important;
  }

  .drawer-footer-localization form[id*='Language'] .disclosure__button::before,
  .drawer-footer-localization form[id*='Language'] .localization-form__select::before {
    width: 1.1rem !important;
    height: 1.1rem !important;
    flex-basis: 1.1rem !important;
  }
}
/* =========================
   LANGUAGE SELECTOR FINAL ALIGNMENT
   Footer + menu drawer
   ========================= */

/* Main language inner group */
.somarelle-language-selector__inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  width: 100% !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Language SVG */
.somarelle-language-selector__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.15rem !important;
  height: 1.15rem !important;
  flex: 0 0 1.15rem !important;
  line-height: 1 !important;
  transform: translateY(0.01rem) !important;
}

.somarelle-language-selector__icon svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important;
}

/* Text */
.somarelle-language-selector__text {
  display: inline-block !important;
  line-height: 1 !important;
}

/* Caret */
.somarelle-language-selector__caret {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1rem !important;
  height: 1rem !important;
  flex: 0 0 1rem !important;
  margin-left: 0.15rem !important;
  line-height: 1 !important;
}

.somarelle-language-selector__caret .icon-caret {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 0.9rem !important;
  height: 0.9rem !important;
  margin: 0 !important;
}

/* Drawer footer row alignment */
.drawer-footer-localization {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.7rem !important;
}

.drawer-footer-localization .localization-form__select,
.drawer-footer-localization .disclosure__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  line-height: 1 !important;
  min-height: 2rem !important;
  padding: 0 !important;
}

/* Drawer country caret alignment */
.drawer-footer-localization form[id*='Country'] .icon-caret,
.drawer-footer-localization form[id*='Country'] svg.icon-caret {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 0.9rem !important;
  height: 0.9rem !important;
  margin-left: 0.45rem !important;
}

/* Page footer pill alignment */
.footer .localization-form__select,
.footer .disclosure__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Footer language pill spacing */
.footer form[id*='Language'] .localization-form__select,
.footer form[id*='Language'] .disclosure__button {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* Footer country caret alignment */
.footer form[id*='Country'] .icon-caret,
.footer form[id*='Country'] svg.icon-caret {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 1rem !important;
  height: 1rem !important;
  margin-left: 0.55rem !important;
}

/* Footer language inner group slightly wider */
.footer .somarelle-language-selector__inner {
  gap: 0.6rem !important;
}

/* Drawer language smaller and tighter */
.drawer-footer-localization .somarelle-language-selector__icon {
  width: 1.05rem !important;
  height: 1.05rem !important;
  flex-basis: 1.05rem !important;
}

.drawer-footer-localization .somarelle-language-selector__inner {
  gap: 0.5rem !important;
}

/* Mobile drawer refinement */
@media screen and (max-width: 749px) {
  .drawer-footer-localization {
    gap: 1.4rem !important;
  }

  .drawer-footer-localization .somarelle-language-selector__icon {
    width: 1rem !important;
    height: 1rem !important;
    flex-basis: 1rem !important;
  }

  .drawer-footer-localization .somarelle-language-selector__caret {
    width: 0.9rem !important;
    height: 0.9rem !important;
    flex-basis: 0.9rem !important;
  }
}
/* =========================
   FIX DUPLICATE LANGUAGE ICON
   Final alignment for drawer + footer
   ========================= */

/* Kill old CSS-generated language icon */
.drawer-footer-localization form[id*='Language'] .disclosure__button::before,
.drawer-footer-localization form[id*='Language'] .localization-form__select::before,
.footer form[id*='Language'] .disclosure__button::before,
.footer form[id*='Language'] .localization-form__select::before {
  content: none !important;
  display: none !important;
  background: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

/* Language button base */
.drawer-footer-localization form[id*='Language'] .disclosure__button,
.drawer-footer-localization form[id*='Language'] .localization-form__select,
.footer form[id*='Language'] .disclosure__button,
.footer form[id*='Language'] .localization-form__select {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* Inner language group */
.somarelle-language-selector__inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  width: auto !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* SVG icon */
.somarelle-language-selector__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.15rem !important;
  height: 1.15rem !important;
  flex: 0 0 1.15rem !important;
  line-height: 1 !important;
}

.somarelle-language-selector__icon svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important;
}

/* Text */
.somarelle-language-selector__text {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

/* Caret */
.somarelle-language-selector__caret {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1rem !important;
  height: 1rem !important;
  flex: 0 0 1rem !important;
  margin-left: 0.15rem !important;
  line-height: 1 !important;
}

.somarelle-language-selector__caret .icon-caret,
.somarelle-language-selector__caret svg {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 0.9rem !important;
  height: 0.9rem !important;
  margin: 0 !important;
}

/* Drawer footer country/language row */
.drawer-footer-localization {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.8rem !important;
}

/* Drawer footer selector text alignment */
.drawer-footer-localization .disclosure__button,
.drawer-footer-localization .localization-form__select {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 2rem !important;
  line-height: 1 !important;
  padding: 0 !important;
}

/* Drawer footer country caret */
.drawer-footer-localization form[id*='Country'] .icon-caret,
.drawer-footer-localization form[id*='Country'] svg.icon-caret {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 0.9rem !important;
  height: 0.9rem !important;
  margin-left: 0.45rem !important;
}

/* Footer pill alignment */
.footer .localization-form__select,
.footer .disclosure__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Footer language pill spacing */
.footer form[id*='Language'] .disclosure__button,
.footer form[id*='Language'] .localization-form__select {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* Footer country caret */
.footer form[id*='Country'] .icon-caret,
.footer form[id*='Country'] svg.icon-caret {
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 1rem !important;
  height: 1rem !important;
  margin-left: 0.55rem !important;
}

/* Mobile drawer refinement */
@media screen and (max-width: 749px) {
  .drawer-footer-localization {
    gap: 1.4rem !important;
  }

  .drawer-footer-localization .somarelle-language-selector__icon {
    width: 1rem !important;
    height: 1rem !important;
    flex-basis: 1rem !important;
  }

  .drawer-footer-localization .somarelle-language-selector__caret {
    width: 0.9rem !important;
    height: 0.9rem !important;
    flex-basis: 0.9rem !important;
  }
}
/* Footer language selector: align custom SVG icon with text */
.footer .somarelle-language-selector__inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.8rem !important;
}

.footer .somarelle-language-selector__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.4rem !important;
  height: 1.4rem !important;
  line-height: 1 !important;
  flex: 0 0 1.4rem !important;
  transform: translateY(-0.05rem) !important;
}

.footer .somarelle-language-selector__icon svg {
  display: block !important;
  width: 1.4rem !important;
  height: 1.4rem !important;
}

.footer .somarelle-language-selector__text {
  display: inline-block !important;
  line-height: 1 !important;
}

.footer .somarelle-language-selector__caret {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1rem !important;
  height: 1rem !important;
  flex: 0 0 1rem !important;
  line-height: 1 !important;
  margin-left: 0.2rem !important;
}

.footer .somarelle-language-selector__caret svg,
.footer .somarelle-language-selector__caret .svg-wrapper {
  display: block !important;
  width: 1rem !important;
  height: 1rem !important;
}
/* Footer country selector: reduce extra right-side space inside pill */
#FooterCountryForm .localization-form__select,
.footer localization-form form[id*='FooterCountry'] .localization-form__select {
  padding-right: 2.2rem !important;
}

#FooterCountryForm .localization-form__select .icon-caret,
.footer localization-form form[id*='FooterCountry'] .localization-form__select .icon-caret {
  right: 1.4rem !important;
}
/* =========================
   MOBILE FOOTER DROPDOWN FIX
   Hide page-footer dropdown when menu drawer is open
   ========================= */

@media screen and (max-width: 749px) {
  /* Never let actual page footer localization appear above menu drawer */
  body:has(header-drawer details[open]) footer.footer .disclosure__list-wrapper,
  body:has(.menu-drawer-container details[open]) footer.footer .disclosure__list-wrapper {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Keep menu drawer above page/footer */
  header-drawer,
  .menu-drawer,
  .menu-drawer__inner-container,
  .menu-drawer__navigation-container {
    z-index: 9999 !important;
  }

  /* Footer dropdown only works when menu drawer is NOT open */
  body:not(:has(header-drawer details[open])) footer.footer .disclosure__list-wrapper {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: 14rem !important;
    transform: translateX(-50%) !important;

    width: calc(100vw - 4rem) !important;
    max-width: 34rem !important;
    max-height: 36rem !important;

    background: rgb(var(--somarelle-pearl)) !important;
    border: 0.1rem solid rgba(var(--color-foreground), 0.08) !important;
    border-radius: 1.2rem !important;
    box-shadow: 0 1.4rem 4rem rgba(17, 17, 17, 0.16) !important;

    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    z-index: 50 !important;
  }

  body:not(:has(header-drawer details[open])) footer.footer .disclosure__list-wrapper[hidden] {
    display: none !important;
  }

  body:not(:has(header-drawer details[open])) footer.footer .disclosure__list,
  body:not(:has(header-drawer details[open])) footer.footer .country-selector__list {
    max-height: 27rem !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: rgb(var(--somarelle-pearl)) !important;
  }
}/* =========================
   HIDE SHOPIFY COUNTRY / REGION SELECTOR
   Currency handled by currency app
   Applies to desktop, mobile, footer, menu drawer
   ========================= */

/* Hide Shopify Country/Region selector only — keep Language working */
localization-form:has(form[id*='Country']),
form[id*='Country'],
form[action*='/localization']:has(input[name='country_code']),
.footer localization-form:has(form[id*='Country']),
.footer form[id*='Country'],
.menu-drawer localization-form:has(form[id*='Country']),
.menu-drawer form[id*='Country'],
.drawer-footer-localization localization-form:has(form[id*='Country']),
.drawer-footer-localization form[id*='Country'] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Keep Language selector/dropdown active in footer + menu drawer */
.footer localization-form:has(form[id*='Language']),
.footer form[id*='Language'],
.footer form[id*='Language'] .disclosure,
.footer form[id*='Language'] .disclosure__button,
.footer form[id*='Language'] .disclosure__list-wrapper,
.menu-drawer localization-form:has(form[id*='Language']),
.menu-drawer form[id*='Language'],
.menu-drawer form[id*='Language'] .disclosure,
.menu-drawer form[id*='Language'] .disclosure__button,
.menu-drawer form[id*='Language'] .disclosure__list-wrapper {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Only hide language dropdown when Shopify/Dawn marks it hidden */
.footer form[id*='Language'] .disclosure__list-wrapper[hidden],
.menu-drawer form[id*='Language'] .disclosure__list-wrapper[hidden] {
  display: none !important;
}

/* Show language dropdown when opened */
.footer form[id*='Language'] .disclosure__list-wrapper:not([hidden]),
.menu-drawer form[id*='Language'] .disclosure__list-wrapper:not([hidden]) {
  display: block !important;
}
/* Hide country blocks specifically in footer */
.footer localization-form:has(form[id*='Country']),
.footer form[id*='Country'],
.footer .country-selector {
  display: none !important;
}

/* Hide country blocks specifically in menu drawer footer */
.menu-drawer localization-form:has(form[id*='Country']),
.menu-drawer form[id*='Country'],
.drawer-footer-localization localization-form:has(form[id*='Country']),
.drawer-footer-localization form[id*='Country'],
.drawer-footer-localization .country-selector {
  display: none !important;
}

/* Keep language selector clean after country selector is removed */
.footer__localization,
.drawer-footer-localization {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Menu drawer footer: keep language aligned left with footer content */
.menu-drawer .drawer-footer-localization {
  justify-content: flex-start !important;
}

/* Page footer: center language selector */
.footer .footer__localization {
  justify-content: center !important;
}
/* FINAL FIX: hide duplicate mobile filter label */
@media screen and (max-width: 749px) {
  .facets-container .mobile-facets__open-label.small-hide,
  .facets-container .small-hide {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .facets-container .mobile-facets__open-label.medium-hide,
  .facets-container .mobile-facets__open-label.large-up-hide {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .facets-container .mobile-facets__open {
    display: inline-flex !important;
    align-items: center !important;
    gap: 1rem !important;
  }

  .facets-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .facets-container .product-count {
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }
}/* =========================
   FINAL MOBILE FILTER LABEL FIX
   Keep "FILTER AND SORT" on one line
   ========================= */
@media screen and (max-width: 749px) {
  .facets-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.2rem !important;
    flex-wrap: nowrap !important;
  }

  .facets-container .mobile-facets__wrapper {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .facets-container .mobile-facets__open-wrapper,
  .facets-container .mobile-facets__open {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.8rem !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .facets-container .mobile-facets__open-label {
    display: inline-block !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
    letter-spacing: 0.14rem !important;
    font-size: 1.2rem !important;
    margin: 0 !important;
  }

  .facets-container .mobile-facets__open svg,
  .facets-container .mobile-facets__open .svg-wrapper {
    flex: 0 0 auto !important;
    width: 1.4rem !important;
    height: 1.4rem !important;
    margin: 0 !important;
  }

  .facets-container .product-count {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin: 0 0 0 1rem !important;
    padding: 0 !important;
  }
}
/* =========================
   FINAL ALIGNMENT: MOBILE FILTER ROW
   Icon + Filter text + product count
   ========================= */

@media screen and (max-width: 749px) {
  .facets-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.4rem !important;
    flex-wrap: nowrap !important;
    padding: 1.6rem 0 1.4rem !important;
  }

  .facets-container .mobile-facets__wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .facets-container .mobile-facets__open-wrapper,
  .facets-container .mobile-facets__open {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 1rem !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    min-height: 2.8rem !important;
    text-decoration: none !important;
  }

  .facets-container .mobile-facets__open .svg-wrapper,
  .facets-container .mobile-facets__open svg {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.3rem !important;
    height: 1.3rem !important;
    flex: 0 0 1.3rem !important;
    margin: 0 !important;
    position: relative !important;
    top: 0 !important;
    transform: translateY(0.02rem) !important;
  }

  .facets-container .mobile-facets__open-label {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(0) !important;
  }

  .facets-container .product-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    min-height: 2.8rem !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
    transform: translateY(0) !important;
  }

  .facets-container .product-count__text,
  .facets-container .product-count__text span {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
}

.video-section .somarelle-video-hero .somarelle-video-hero__button:hover,
.section-template--index .somarelle-video-hero__button:hover,
.template-index .somarelle-video-hero__button:hover {
  background-color: rgb(var(--somarelle-blush)) !important;
  border-color: rgb(var(--somarelle-blush)) !important;
  color: rgb(var(--somarelle-pearl)) !important;

  text-decoration: none !important;
  opacity: 1 !important;
  transform: translateY(-0.08rem) !important;
}
/* =========================================
   SOMARELLE HEADER COLOR TOKENS
   keeps existing behavior, changes only colors
========================================= */

/* Solid header states use Somarelle White */
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(details-modal > details[open]) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header-wrapper--overlay-home.is-homepage-header,
body:has(#Details-menu-drawer-container[open]) .section-header .header-wrapper--overlay-home.is-homepage-header,
body:has(.drawer.active) .section-header .header-wrapper--overlay-home.is-homepage-header,
body:has(cart-drawer.drawer.active) .section-header .header-wrapper--overlay-home.is-homepage-header,
body:has([class*="upcart"][class*="active"]) .section-header .header-wrapper--overlay-home.is-homepage-header,
body:has([class*="upcart"][class*="open"]) .section-header .header-wrapper--overlay-home.is-homepage-header,
body:has([class*="CartPreview"]) .section-header .header-wrapper--overlay-home.is-homepage-header,
html body .shopify-section-header-sticky sticky-header.header-wrapper--overlay-home,
html body .shopify-section-header-sticky .header-wrapper--overlay-home,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header,
html body .section-header.scrolled-past-header .header-wrapper--overlay-home,
html body .section-header.header-ui-open .header-wrapper--overlay-home,
html body .section-header:hover .header-wrapper--overlay-home {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(var(--somarelle-onyx), 0.08) !important;
  box-shadow: 0 6px 18px rgba(var(--somarelle-onyx), 0.05) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1 !important;
}

/* Inner header row follows the same solid white in solid states */
html body .shopify-section-header-sticky sticky-header.header-wrapper--overlay-home .header,
html body .shopify-section-header-sticky .header-wrapper--overlay-home .header,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header .header,
html body .section-header.scrolled-past-header .header-wrapper--overlay-home .header,
html body .section-header.header-ui-open .header-wrapper--overlay-home .header,
html body .section-header:hover .header-wrapper--overlay-home .header,
.template-index .section-header:has(.menu-drawer-container > details[open]) .header.is-homepage-header-inner,
.template-index .section-header:has(details-modal > details[open]) .header.is-homepage-header-inner,
.template-index .section-header:has(.desktop-localization-wrapper .disclosure__button[aria-expanded='true']) .header.is-homepage-header-inner,
.template-index .section-header:has(.header-localization .disclosure__button[aria-expanded='true']) .header.is-homepage-header-inner {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 1 !important;
}

/* Header text/icons in solid states */
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .header__menu-item,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header.scrolled-past-header .header-wrapper--overlay-home.is-homepage-header svg,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .header__menu-item,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header.header-ui-open .header-wrapper--overlay-home.is-homepage-header svg,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header a,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header button,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header summary,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header .header__icon,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header .header__heading-link,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header .header__menu-item,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header .localization-form__select,
.template-index .section-header:hover .header-wrapper--overlay-home.is-homepage-header svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
}

/* Drawer opened from homepage overlay also follows white */
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__submenu,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__inner-container,
.template-index .header-wrapper--overlay-home.is-homepage-header #menu-drawer .menu-drawer__inner-submenu {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  color: rgb(var(--somarelle-onyx)) !important;
}
/* =========================================
   SOMARELLE FINAL SOLID HEADER FIX
   Keeps top-of-home transparent
   Forces solid states to be truly solid
========================================= */

/* 1) Solid wrapper in sticky / open / active states */
html body .shopify-section-header-sticky .header-wrapper--overlay-home,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header,
html body .section-header.scrolled-past-header .header-wrapper--overlay-home,
html body .section-header.header-ui-open .header-wrapper--overlay-home,
html body .section-header:hover .header-wrapper--overlay-home,
body:has(#Details-menu-drawer-container[open]) .section-header .header-wrapper--overlay-home,
body:has(.drawer.active) .section-header .header-wrapper--overlay-home,
body:has(cart-drawer.drawer.active) .section-header .header-wrapper--overlay-home,
body:has([class*="upcart"][class*="active"]) .section-header .header-wrapper--overlay-home,
body:has([class*="upcart"][class*="open"]) .section-header .header-wrapper--overlay-home,
body:has([class*="CartPreview"]) .section-header .header-wrapper--overlay-home {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  opacity: 1 !important;
  border-bottom: 1px solid rgba(var(--somarelle-onyx), 0.08) !important;
  box-shadow: 0 6px 18px rgba(var(--somarelle-onyx), 0.05) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 2) Inner header must also be solid white — not transparent */
html body .shopify-section-header-sticky .header-wrapper--overlay-home .header,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header .header,
html body .section-header.scrolled-past-header .header-wrapper--overlay-home .header,
html body .section-header.header-ui-open .header-wrapper--overlay-home .header,
html body .section-header:hover .header-wrapper--overlay-home .header,
body:has(#Details-menu-drawer-container[open]) .section-header .header-wrapper--overlay-home .header,
body:has(.drawer.active) .section-header .header-wrapper--overlay-home .header,
body:has(cart-drawer.drawer.active) .section-header .header-wrapper--overlay-home .header,
body:has([class*="upcart"][class*="active"]) .section-header .header-wrapper--overlay-home .header,
body:has([class*="upcart"][class*="open"]) .section-header .header-wrapper--overlay-home .header,
body:has([class*="CartPreview"]) .section-header .header-wrapper--overlay-home .header {
  background: rgb(var(--somarelle-pearl)) !important;
  background-color: rgb(var(--somarelle-pearl)) !important;
  background-image: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 3) Kill the translucent pseudo-layer in solid states */
html body .shopify-section-header-sticky .header-wrapper--overlay-home::before,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header::before,
html body .section-header.scrolled-past-header .header-wrapper--overlay-home::before,
html body .section-header.header-ui-open .header-wrapper--overlay-home::before,
html body .section-header:hover .header-wrapper--overlay-home::before,
body:has(#Details-menu-drawer-container[open]) .section-header .header-wrapper--overlay-home::before,
body:has(.drawer.active) .section-header .header-wrapper--overlay-home::before,
body:has(cart-drawer.drawer.active) .section-header .header-wrapper--overlay-home::before,
body:has([class*="upcart"][class*="active"]) .section-header .header-wrapper--overlay-home::before,
body:has([class*="upcart"][class*="open"]) .section-header .header-wrapper--overlay-home::before,
body:has([class*="CartPreview"]) .section-header .header-wrapper--overlay-home::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 4) Solid-state header text/icons stay dark */
html body .shopify-section-header-sticky .header-wrapper--overlay-home,
html body .shopify-section-header-sticky .header-wrapper--overlay-home a,
html body .shopify-section-header-sticky .header-wrapper--overlay-home button,
html body .shopify-section-header-sticky .header-wrapper--overlay-home summary,
html body .shopify-section-header-sticky .header-wrapper--overlay-home .header__icon,
html body .shopify-section-header-sticky .header-wrapper--overlay-home .header__heading-link,
html body .shopify-section-header-sticky .header-wrapper--overlay-home .header__menu-item,
html body .shopify-section-header-sticky .header-wrapper--overlay-home .localization-form__select,
html body .shopify-section-header-sticky .header-wrapper--overlay-home svg,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header a,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header button,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header summary,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header .header__icon,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header .header__heading-link,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header .header__menu-item,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header .localization-form__select,
html body sticky-header.header-wrapper--overlay-home.scrolled-past-header svg {
  color: rgb(var(--somarelle-onyx)) !important;
  fill: currentColor !important;
  opacity: 1 !important;
}
@media screen and (max-width: 989px) {
  slider-component.thumbnail-slider.slider-mobile-gutter {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.8rem;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  slider-component.thumbnail-slider.slider-mobile-gutter .thumbnail-list {
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    width: fit-content !important;
    max-width: 100% !important;
  }
}

/*Custom Tech Wisdo*/
@media screen and (min-width: 750px) {
  #shopify-section-template--27461201985901__rich_text_7K8J8J{
    margin-top: 0px !important;
  }
}

/* =========================
   SOMARELLE HEADER WISHLIST ICON
   Clean alignment with account + cart
   ========================= */

.header__icons .header__icon--wishlist {
  width: 4.4rem !important;
  height: 4.4rem !important;
  padding: 0 !important;
  margin: 0 0.70rem 0 -0.95rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  color: currentColor !important;
}

.header__icons .header__icon--wishlist .svg-wrapper {
  width: 2.2rem !important;
  height: 2.2rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
}

.header__icons .header__icon--wishlist svg.icon-heart {
  width: 2.2rem !important;
  height: 2.2rem !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  overflow: visible !important;
  transition: transform 150ms ease;
}

.header__icons .header__icon--wishlist svg.icon-heart path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}


/* Mobile only: move wishlist icon closer to the right icons */
@media screen and (max-width: 749px) {
  .header__icons .header__icon--wishlist {
    margin: 0 0 0 0 !important;
  }
}
/* Desktop vertical adjustment */
@media screen and (min-width: 750px) {
  .header__icons .header__icon--wishlist svg.icon-heart {
    transform: translateY(0rem) !important;
  }
}

/* Mobile vertical adjustment */
@media screen and (max-width: 749px) {
  .header__icons .header__icon--wishlist svg.icon-heart {
    transform: translateY(0rem) !important;
  }
}

/* =========================
   SOMARELLE BEST SELLERS CTA
   ========================= */

.template-index .collection__view-all {
  margin-top: 3.2rem !important;
  text-align: center !important;
}

.template-index .collection__view-all .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 22rem !important;
  min-height: 4.8rem !important;
  padding: 1.3rem 3.2rem !important;

  background: rgb(var(--somarelle-onyx)) !important;
  background-color: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;

  border: 1px solid rgb(var(--somarelle-onyx)) !important;
  border-radius: 999px !important;
  box-shadow: none !important;

  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.175rem !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.template-index .collection__view-all .button:hover {
  background: rgb(var(--somarelle-noir)) !important;
  background-color: rgb(var(--somarelle-noir)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
}

.template-index .collection__view-all .button::before,
.template-index .collection__view-all .button::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}
/* =========================
   SOMARELLE COLLECTION ACTIVE FILTER BUTTONS
   Onyx button / Pearl text / Noir hover
   ========================= */

.template-collection .active-facets__button,
.template-search .active-facets__button {
  text-decoration: none !important;
  margin: 0 0.8rem 0.8rem 0 !important;
}

.template-collection .active-facets__button-inner,
.template-search .active-facets__button-inner,
.template-collection .active-facets__button--light,
.template-search .active-facets__button--light {
  background: rgb(var(--somarelle-onyx)) !important;
  background-color: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;

  border: 1px solid rgb(var(--somarelle-onyx)) !important;
  border-radius: 999px !important;
  box-shadow: none !important;

  min-height: 2.8rem !important;
  padding: 0.45rem 1.35rem !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.6rem !important;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease !important;
}

/* Hover */
.template-collection .active-facets__button:hover .active-facets__button-inner,
.template-search .active-facets__button:hover .active-facets__button-inner,
.template-collection .active-facets__button--light:hover,
.template-search .active-facets__button--light:hover {
  background: rgb(var(--somarelle-noir)) !important;
  background-color: rgb(var(--somarelle-noir)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
  box-shadow: none !important;
}

/* X icon */
.template-collection .active-facets__button svg,
.template-search .active-facets__button svg {
  width: 1rem !important;
  height: 1rem !important;
  color: rgb(var(--somarelle-pearl)) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  opacity: 0.85 !important;
}

/* Remove Dawn default button outlines */
.template-collection .active-facets__button-inner::before,
.template-collection .active-facets__button-inner::after,
.template-search .active-facets__button-inner::before,
.template-search .active-facets__button-inner::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Remove all link */
.template-collection .active-facets__button-remove,
.template-search .active-facets__button-remove,
.template-collection .facets__clear,
.template-search .facets__clear {
  color: rgb(var(--somarelle-onyx)) !important;
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-sm) !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.25rem !important;
}
/* =========================
   SOMARELLE COLLECTION + FILTER TYPOGRAPHY
   Compact Prada-style collection system
   ========================= */

/* Collection title */
.template-collection .collection-hero__title,
.template-search .collection-hero__title,
.template-collection .title--primary,
.template-search .title--primary {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-heading-lg);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-normal);
  line-height: 1.25;
  text-transform: none;
}

/* Collection description */
.template-collection .collection-hero__description,
.template-collection .collection-hero__description p,
.template-search .collection-hero__description,
.template-search .collection-hero__description p {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: 1.7;
  text-transform: none;
}

/* Product count */
.template-collection .product-count,
.template-collection .product-count__text,
.template-search .product-count,
.template-search .product-count__text {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-regular);
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* Desktop filter headings/buttons */
.template-collection .facets__heading,
.template-collection .facets__summary,
.template-collection .facet-filters__label,
.template-collection .facets__disclosure summary,
.template-search .facets__heading,
.template-search .facets__summary,
.template-search .facet-filters__label,
.template-search .facets__disclosure summary {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-filter);
  line-height: 1.4;
  text-transform: uppercase;
}

/* Desktop filter options + sort dropdown */
.template-collection .facets__item,
.template-collection .facets__item label,
.template-collection .facet-checkbox,
.template-collection .facet-filters__sort,
.template-collection .facet-filters__sort option,
.template-search .facets__item,
.template-search .facets__item label,
.template-search .facet-checkbox,
.template-search .facet-filters__sort,
.template-search .facet-filters__sort option {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-md);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.5;
  text-transform: none;
}

/* Mobile filter trigger */
.template-collection .mobile-facets__open,
.template-collection .mobile-facets__open-label,
.template-search .mobile-facets__open,
.template-search .mobile-facets__open-label {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-filter);
  line-height: 1.4;
  text-transform: uppercase;
}

/* Mobile filter drawer title */
.template-collection .mobile-facets__heading,
.template-search .mobile-facets__heading {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-cart-title);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-normal);
  line-height: 1.3;
  text-transform: none;
}

/* Mobile filter drawer groups */
.template-collection .mobile-facets__summary,
.template-search .mobile-facets__summary {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-filter);
  line-height: 1.4;
  text-transform: uppercase;
}

/* Mobile filter drawer options */
.template-collection .mobile-facets__label,
.template-collection .mobile-facets__label span,
.template-collection .mobile-facets__sort .select__select,
.template-search .mobile-facets__label,
.template-search .mobile-facets__label span,
.template-search .mobile-facets__sort .select__select {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-md);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.5;
  text-transform: none;
}

/* Active filter pills */
.template-collection .active-facets__button,
.template-collection .active-facets__button-inner,
.template-search .active-facets__button,
.template-search .active-facets__button-inner {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-xs);
  font-weight: var(--weight-medium);
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.template-collection .active-facets__button-remove:hover,
.template-search .active-facets__button-remove:hover,
.template-collection .facets__clear:hover,
.template-search .facets__clear:hover {
  color: rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE PRODUCT IMAGE CLICK TO ZOOM
   Desktop + Mobile
   ========================= */

.template-product .product__modal-opener,
.template-product modal-opener.product__modal-opener {
  cursor: zoom-in !important;
  position: relative !important;
}

.template-product .product__modal-opener .product__media,
.template-product .product__modal-opener img {
  cursor: zoom-in !important;
}

/* Make the hidden Dawn zoom button cover the whole image */
.template-product .product__modal-opener .product__media-toggle {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  opacity: 0 !important;
  z-index: 3 !important;
  cursor: zoom-in !important;
}

/* Ensure it also works on mobile */
@media screen and (max-width: 749px) {
  .template-product .product__modal-opener .product__media-toggle {
    display: block !important;
    opacity: 0 !important;
    pointer-events: auto !important;
  }

  .template-product .product__modal-opener {
    cursor: zoom-in !important;
  }
}
/* Product image click-to-zoom fix */
.template-product .product__modal-opener {
  pointer-events: auto !important;
  cursor: zoom-in !important;
  position: relative !important;
}

.template-product .product__media-toggle {
  pointer-events: auto !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: zoom-in !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* =========================
   SOMARELLE PRODUCT RECOMMENDATIONS CTA
   Handpicked For You button
   ========================= */

.template-product .somarelle-recommendations-cta {
  width: 100%;
  margin-top: 3.2rem;
  text-align: center;
}

.template-product .somarelle-recommendations-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;

  min-width: 22rem;
  min-height: 4.8rem;
  padding: 1.3rem 3rem;

  background: rgb(var(--somarelle-onyx));
  background-color: rgb(var(--somarelle-onyx));
  color: rgb(var(--somarelle-pearl));

  border: 1px solid rgb(var(--somarelle-onyx));
  border-radius: 999px;
  box-shadow: none;

  font-family: "Manrope", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.175rem;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;

  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease;
}

.template-product .somarelle-recommendations-cta__button:hover {
  background: rgb(var(--somarelle-noir));
  background-color: rgb(var(--somarelle-noir));
  color: rgb(var(--somarelle-pearl));
  border-color: rgb(var(--somarelle-noir));
  transform: translateY(-1px);
}

.template-product .somarelle-recommendations-cta__icon {
  width: 1.55rem;
  height: 1.55rem;
  display: block;
  color: currentColor;
  fill: none;
  stroke: currentColor;
}

.template-product .somarelle-recommendations-cta__icon path {
  fill: none;
  stroke: currentColor;
  vector-effect: non-scaling-stroke;
}

@media screen and (max-width: 749px) {
  .template-product .somarelle-recommendations-cta {
    margin-top: 2.4rem;
  }

  .template-product .somarelle-recommendations-cta__button {
    min-width: 20rem;
    min-height: 4.5rem;
    padding: 1.2rem 2.6rem;
    font-size: 1.1rem;
  }

  .template-product .somarelle-recommendations-cta__icon {
    width: 1.4rem;
    height: 1.4rem;
  }
}
/* =========================
   SOMARELLE COLLECTION SORT DROPDOWN
   Premium style like language selector
   ========================= */

.template-collection .facet-filters__field,
.template-search .facet-filters__field {
  align-items: center !important;
  gap: 1rem !important;
}

.template-collection .facet-filters__label,
.template-search .facet-filters__label {
  font-family: "Manrope", sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 400 !important;
  color: rgb(var(--somarelle-onyx)) !important;
}

.template-collection .facet-filters__sort,
.template-search .facet-filters__sort,
.template-collection .select__select,
.template-search .select__select {
  min-width: 19rem !important;
  min-height: 4.6rem !important;

  padding: 0 4rem 0 1.6rem !important;

  background: #ffffff !important;
  background-color: #ffffff !important;
  color: rgb(var(--somarelle-onyx)) !important;

  border: 1px solid rgba(22, 18, 26, 0.12) !important;
  border-radius: 1.2rem !important;
  box-shadow: 0 12px 34px rgba(22, 18, 26, 0.08) !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

.template-collection .facet-filters__sort:focus,
.template-search .facet-filters__sort:focus,
.template-collection .select__select:focus,
.template-search .select__select:focus {
  outline: none !important;
  border-color: rgba(22, 18, 26, 0.18) !important;
  box-shadow: 0 12px 34px rgba(22, 18, 26, 0.1) !important;
}

/* Remove Dawn default select borders/shadows */
.template-collection .select::before,
.template-collection .select::after,
.template-search .select::before,
.template-search .select::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Dropdown arrow alignment */
.template-collection .facet-filters__field .select,
.template-search .facet-filters__field .select {
  position: relative !important;
}

.template-collection .facet-filters__field .select .svg-wrapper,
.template-search .facet-filters__field .select .svg-wrapper {
  right: 1.4rem !important;
  color: rgb(var(--somarelle-onyx)) !important;
}

/* Best possible native dropdown option styling */
.template-collection .facet-filters__sort option,
.template-search .facet-filters__sort option,
.template-collection .select__select option,
.template-search .select__select option {
  background: #ffffff !important;
  color: rgb(var(--somarelle-onyx)) !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 1.45rem !important;
  padding: 1.2rem 1.6rem !important;
}

/* Try to remove blue selected color where browser allows it */
.template-collection .facet-filters__sort option:checked,
.template-search .facet-filters__sort option:checked,
.template-collection .select__select option:checked,
.template-search .select__select option:checked {
  background: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
}

@media screen and (max-width: 749px) {
  .template-collection .facet-filters__sort,
  .template-search .facet-filters__sort,
  .template-collection .select__select,
  .template-search .select__select {
    min-width: 16rem !important;
    min-height: 4.2rem !important;
    font-size: 1.35rem !important;
    border-radius: 1.1rem !important;
  }
}
/* =========================
   SOMARELLE MOBILE PRODUCT THUMBNAILS
   Full-height thumbnails on product page
   ========================= */

@media screen and (max-width: 749px) {
  .template-product .thumbnail-slider {
    min-height: 8.4rem !important;
    margin-bottom: 1.2rem !important;
  }

  .template-product .thumbnail-list {
    align-items: stretch !important;
  }

  .template-product .thumbnail-list__item {
    height: 8.4rem !important;
    min-height: 8.4rem !important;
    aspect-ratio: auto !important;
  }

  .template-product .thumbnail-list__item::before {
    content: none !important;
    display: none !important;
    padding-bottom: 0 !important;
  }

  .template-product .thumbnail {
    height: 8.4rem !important;
    min-height: 8.4rem !important;
    width: 100% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .template-product .thumbnail img {
    height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
  }
}
/* =========================
   SOMARELLE PRODUCT PAGE CENTERING
   Balanced desktop product layout
   ========================= */

@media screen and (min-width: 990px) {
  .template-product .product {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    column-gap: 6rem !important;
  }

  .template-product .product__media-wrapper {
    flex: 0 0 48% !important;
    max-width: 48% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .template-product .product__media-wrapper .somarelle-media-shift {
    width: 100% !important;
    max-width: 58rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .template-product .product__info-wrapper {
    flex: 0 0 38% !important;
    max-width: 38% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .template-product .product__info-container {
    max-width: 44rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* =========================
   SOMARELLE RELATED PRODUCTS HEADING FIX
   ========================= */

.template-product .related-products {
  padding-top: 2.4rem !important;
}

.template-product .related-products__heading,
.template-product .related-products .title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 0 !important;
  margin-bottom: 5rem !important;
  line-height: 1.1 !important;
  position: relative !important;
  z-index: 2 !important;
}

.template-product .related-products .grid {
  margin-top: 0 !important;
}
/* =========================
   SOMARELLE RELATED PRODUCTS CTA FIX
   Force pearl text/icon on hover
   ========================= */

.template-product .somarelle-recommendations-cta__button,
.template-product .somarelle-recommendations-cta__button:visited {
  background: rgb(var(--somarelle-onyx)) !important;
  background-color: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-onyx)) !important;
  opacity: 1 !important;
}

.template-product .somarelle-recommendations-cta__button span,
.template-product .somarelle-recommendations-cta__button svg,
.template-product .somarelle-recommendations-cta__button path {
  color: rgb(var(--somarelle-pearl)) !important;
  opacity: 1 !important;
  fill: none !important;
  stroke: currentColor !important;
}

.template-product .somarelle-recommendations-cta__button:hover,
.template-product .somarelle-recommendations-cta__button:focus-visible {
  background: rgb(var(--somarelle-noir)) !important;
  background-color: rgb(var(--somarelle-noir)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
  opacity: 1 !important;
}

.template-product .somarelle-recommendations-cta__button:hover span,
.template-product .somarelle-recommendations-cta__button:hover svg,
.template-product .somarelle-recommendations-cta__button:hover path,
.template-product .somarelle-recommendations-cta__button:focus-visible span,
.template-product .somarelle-recommendations-cta__button:focus-visible svg,
.template-product .somarelle-recommendations-cta__button:focus-visible path {
  color: rgb(var(--somarelle-pearl)) !important;
  opacity: 1 !important;
  stroke: currentColor !important;
}
/* Force Explore Collection CTA text/icon color */
.template-product .somarelle-recommendations-cta__button,
.template-product .somarelle-recommendations-cta__button:visited {
  background: rgb(var(--somarelle-onyx)) !important;
  background-color: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-onyx)) !important;
  opacity: 1 !important;
}

.template-product .somarelle-recommendations-cta__label {
  color: rgb(var(--somarelle-pearl)) !important;
  -webkit-text-fill-color: rgb(var(--somarelle-pearl)) !important;
  opacity: 1 !important;
}

.template-product .somarelle-recommendations-cta__icon,
.template-product .somarelle-recommendations-cta__icon path {
  color: rgb(var(--somarelle-pearl)) !important;
  stroke: rgb(var(--somarelle-pearl)) !important;
  opacity: 1 !important;
}

.template-product .somarelle-recommendations-cta__button:hover,
.template-product .somarelle-recommendations-cta__button:focus-visible {
  background: rgb(var(--somarelle-noir)) !important;
  background-color: rgb(var(--somarelle-noir)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
  opacity: 1 !important;
}

.template-product .somarelle-recommendations-cta__button:hover .somarelle-recommendations-cta__label,
.template-product .somarelle-recommendations-cta__button:focus-visible .somarelle-recommendations-cta__label {
  color: rgb(var(--somarelle-pearl)) !important;
  -webkit-text-fill-color: rgb(var(--somarelle-pearl)) !important;
  opacity: 1 !important;
}

.template-product .somarelle-recommendations-cta__button:hover .somarelle-recommendations-cta__icon,
.template-product .somarelle-recommendations-cta__button:hover .somarelle-recommendations-cta__icon path,
.template-product .somarelle-recommendations-cta__button:focus-visible .somarelle-recommendations-cta__icon,
.template-product .somarelle-recommendations-cta__button:focus-visible .somarelle-recommendations-cta__icon path {
  color: rgb(var(--somarelle-pearl)) !important;
  stroke: rgb(var(--somarelle-pearl)) !important;
  opacity: 1 !important;
}

/* =========================
   SOMARELLE TYPOGRAPHY SYSTEM
   Manrope / Prada-style restraint
   ========================= */

:root {
  --font-body-family: "Manrope", sans-serif !important;
  --font-heading-family: "Manrope", sans-serif !important;

  --font-size-xs: 10px;
  --font-size-sm: 12px;
  --font-size-base: 14px;
  --font-size-menu: 16px;
  --font-size-heading: 20px;
  --font-size-heading-lg: 22px;

  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
}

/* Global readable text */
html,
body,
button,
input,
textarea,
select,
option,
label,
summary,
p,
a,
li,
td,
th,
small,
legend,
caption,
.rte,
.rich-text,
.field__input,
.select__select,
.customer,
.drawer,
.cart-drawer,
.cart-notification,
.menu-drawer,
.footer,
.header,
.product,
.collection,
.facets,
.predictive-search,
.search {
  font-family: "Manrope", sans-serif !important;
}

body {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}

/* Do not force font on visual assets */
svg,
svg *,
img,
picture,
.icon,
.svg-wrapper,
.payment-icons,
.localization-form img,
.disclosure__button img,
.header__heading-logo,
.header__heading-logo-wrapper {
  font-family: initial !important;
}

/* =========================
   HEADINGS — NO SERIF
   ========================= */

h1,
h2,
h3,
h4,
h5,
h6,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5,
.title,
.rich-text__heading,
.collection-hero__title,
.main-page-title,
.product__title h1,
.product__title h2,
.related-products__heading,
.product-recommendations__heading,
.footer-block__heading {
  font-family: "Manrope", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

h1,
.h1,
.main-page-title,
.collection-hero__title,
.template-page h1,
.shopify-policy__title h1 {
  font-size: 22px !important;
}

h2,
.h2,
.title,
.rich-text__heading,
.related-products__heading,
.product-recommendations__heading,
.collection .title {
  font-size: 22px !important;
}

h3,
.h3 {
  font-size: 18px !important;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* =========================
   ANNOUNCEMENT + HEADER
   ========================= */

.announcement-bar,
.announcement-bar__message,
.utility-bar,
.utility-bar__grid {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
}

.header__menu-item,
.header__inline-menu a,
.list-menu__item,
.header a {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
}

.menu-drawer__menu-item,
.menu-drawer a,
.menu-drawer summary {
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  line-height: 1.6 !important;
}

/* =========================
   HERO / CTA
   ========================= */

.banner__heading,
.somarelle-video-hero__heading {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
}

.banner__text,
.somarelle-video-hero__text {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

.button,
.shopify-payment-button__button,
.product-form__submit,
.somarelle-video-hero__button {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.175rem !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

/* =========================
   PRODUCT CARDS
   ========================= */

.card__heading,
.card__heading a,
.product-card-wrapper .card__heading a {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}

.price,
.price-item,
.card-information .price {
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}

.price__sale .price-item--sale {
  font-size: 12px !important;
  font-weight: 500 !important;
}

.price__compare,
.price-item--regular s,
s.price-item {
  font-size: 11px !important;
  font-weight: 400 !important;
}

/* =========================
   PRODUCT PAGE
   ========================= */

.template-product .product__title h1,
.template-product .product__title h2 {
  font-size: 20px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
}

.template-product .price,
.template-product .price-item {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.template-product .product__description,
.template-product .rte {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.template-product .product-form__input .form__label,
.template-product variant-radios legend,
.template-product variant-selects label,
.template-product .product-form__quantity label {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.28px !important;
  text-transform: uppercase !important;
}

.template-product .product-form__input input[type="radio"] + label,
.template-product .product-form__input select,
.template-product .quantity__input,
.template-product .quantity__button {
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* =========================
   COLLECTION FILTERS / SORTING
   ========================= */

.facets__heading,
.facets__summary,
.facets__label,
.facet-filters__label,
.mobile-facets__heading,
.mobile-facets__summary {
  font-size: 13px !important;
  font-weight: 500 !important;
}

.facet-filters__sort,
.select__select,
.product-count__text {
  font-size: 14px !important;
  font-weight: 400 !important;
}

.active-facets__button-inner {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.175rem !important;
  text-transform: uppercase !important;
}

/* =========================
   CART / UPCART
   ========================= */

.cart-drawer .drawer__heading,
.cart__empty-text,
.cart__login-title,
#UpcartPopup h1,
#UpcartPopup h2,
[class*="upcart"] h1,
[class*="upcart"] h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.cart-item__name,
.cart-drawer .cart-item__name,
.cart-notification-product__name {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.product-option,
.cart-item__details,
.cart-drawer .product-option {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.cart__checkout-button,
.cart-drawer .button,
.cart-notification .button,
#UpcartPopup button,
[class*="upcart"] button {
  font-family: "Manrope", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* =========================
   PAGES / POLICIES / FAQ / ABOUT
   ========================= */

.template-page h1,
.template-page .main-page-title,
.shopify-policy__title h1 {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.template-page h2,
.template-page h3,
.shopify-policy__body h2,
.shopify-policy__body h3,
.rte h2,
.rte h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.template-page p,
.template-page li,
.shopify-policy__body p,
.shopify-policy__body li,
.rte p,
.rte li {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

/* =========================
   FOOTER
   ========================= */

.footer-block__heading,
.footer .footer-block__heading {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  line-height: 1.4;
  text-transform: uppercase;
}

.footer a,
.footer-block__details-content a,
.footer-block__details-content p,
.footer .list-menu__item {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.6 !important;
}

.footer__copyright,
.footer__copyright small,
.copyright__content,
.copyright__content a {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-xs);
  font-weight: var(--weight-regular);
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-transform: none;
}
/* =========================
   SOMARELLE NEWSLETTER TYPOGRAPHY
   Compact premium footer/signup system
   ========================= */

.newsletter__wrapper h2,
.newsletter__wrapper .h1,
.newsletter__wrapper .h2,
.footer-block--newsletter h2,
.footer-block--newsletter .footer-block__heading {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-heading);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-tight);
  line-height: 1.3;
  text-transform: none;
}

.newsletter__wrapper p,
.newsletter__subheading,
.footer-block--newsletter p,
.footer-block--newsletter .rte,
.footer-block--newsletter .rte p {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: 1.6;
  text-transform: none;
}

.newsletter-form__field-wrapper input,
.newsletter-form__field-wrapper .field__input,
.footer .newsletter-form__field-wrapper input,
.footer .newsletter-form__field-wrapper .field__input {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: 1.5;
  text-transform: none;
}

.newsletter-form__button,
.footer .newsletter-form__button {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-button);
  line-height: 1.4;
  text-transform: uppercase;
}

.newsletter-form__message,
.footer .newsletter-form__message,
.footer .form__message {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-soft);
  line-height: 1.5;
}
/* Footer language/currency typography */
.footer .localization-form__select,
.footer .disclosure__button,
.footer .disclosure__link,
.footer .localization-selector,
.footer .somarelle-language-selector__text {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-md);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.5;
  text-transform: none;
}

/* =========================
   MOBILE REFINEMENT
   ========================= */

@media screen and (max-width: 749px) {
  h1,
  .h1,
  .main-page-title,
  .collection-hero__title,
  .template-page h1,
  .shopify-policy__title h1 {
    font-size: 20px !important;
  }

  h2,
  .h2,
  .title,
  .rich-text__heading,
  .related-products__heading,
  .product-recommendations__heading,
  .collection .title {
    font-size: 20px !important;
  }

  .banner__heading,
  .somarelle-video-hero__heading {
    font-size: 20px !important;
  }

  body {
    font-size: 14px !important;
  }

  .card__heading,
  .card__heading a,
  .product-card-wrapper .card__heading a,
  .price,
  .price-item {
    font-size: 12px !important;
  }

  .template-product .product__title h1,
  .template-product .product__title h2 {
    font-size: 20px !important;
  }
}
/* =========================
   SOMARELLE WISHLIST EMPTY BUTTON
   Default Somarelle CTA style
   ========================= */

.template-page .wishlist-page__empty .button,
.template-page .wishlist-page__empty a.button,
.wishlist-page__empty .button,
.wishlist-page__empty a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 18.5rem !important;
  min-height: 5rem !important;
  padding: 1.3rem 3rem !important;

  background: rgb(var(--somarelle-onyx)) !important;
  background-color: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  -webkit-text-fill-color: rgb(var(--somarelle-pearl)) !important;

  border: 1px solid rgb(var(--somarelle-onyx)) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  opacity: 1 !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.175rem !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  line-height: 1 !important;

  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease !important;
}

.template-page .wishlist-page__empty .button:hover,
.template-page .wishlist-page__empty a.button:hover,
.wishlist-page__empty .button:hover,
.wishlist-page__empty a.button:hover {
  background: rgb(var(--somarelle-noir)) !important;
  background-color: rgb(var(--somarelle-noir)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  -webkit-text-fill-color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
  opacity: 1 !important;
  transform: translateY(-1px);
}

/* Remove Dawn default button overlays */
.template-page .wishlist-page__empty .button::before,
.template-page .wishlist-page__empty .button::after,
.wishlist-page__empty .button::before,
.wishlist-page__empty .button::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  border: 0 !important;
  background: none !important;
}
/* =========================
   SOMARELLE HEADER MENU / SEARCH LABELS
   Scoped only to custom action wrapper
   ========================= */

.header .somarelle-header-action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.9rem;
  width: auto;
  min-width: max-content;
  height: 4.4rem;
  padding: 0;
  line-height: 1;
  text-decoration: none;
}

.header .somarelle-header-action.header__icon {
  width: auto;
}

.header .somarelle-header-action__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  flex: 0 0 2.2rem;
  line-height: 0;
}

.header .somarelle-header-action__icon .svg-wrapper,
.header .somarelle-header-action__icon svg {
  width: 2.2rem;
  height: 2.2rem;
}

.header .somarelle-header-action__label {
  display: inline-flex;
  align-items: center;
  height: auto;
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  line-height: 1.4;
  font-weight: var(--weight-medium);
  letter-spacing: 0.04em;
  text-transform: none;
  color: currentColor;
  white-space: nowrap;
}
/* =========================
   SOMARELLE HEADER TYPOGRAPHY
   Desktop navigation + utility labels
   ========================= */

.header__menu-item,
.header .list-menu__item,
.header__inline-menu .list-menu__item,
summary.header__menu-item {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-label);
  line-height: 1.4;
  text-transform: uppercase;
}

.header__menu-item span,
.header .list-menu__item span {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

.header__heading-link {
  letter-spacing: var(--tracking-wide);
}

@media screen and (max-width: 989px) {
  .header .somarelle-header-action {
    width: 4.4rem;
    min-width: 4.4rem;
    justify-content: center;
    gap: 0;
  }

  .header .somarelle-header-action.header__icon {
    width: 4.4rem;
  }

  .header .somarelle-header-action__label {
    display: none;
  }
}
/* Somarelle header left action spacing */
@media screen and (min-width: 990px) {
  .header > header-drawer {
    grid-area: left-icons;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    width: auto;
  }

  .header > header-drawer + .header__search {
    margin-left: 3.2rem;
  }

  .header .header__search {
    width: auto;
  }

  .header .somarelle-header-action {
    margin: 0;
  }
}
/* =========================
   SOMARELLE HEADER LEFT ACTIONS
   Menu + Search in one clean row
   ========================= */

.somarelle-header-left-actions {
  grid-area: left-icons;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 2.8rem;
  width: auto;
  min-width: 0;
}

.somarelle-header-left-actions > header-drawer,
.somarelle-header-left-actions > .header__search {
  display: inline-flex !important;
  align-items: center;
  width: auto;
  min-width: auto;
  line-height: 0;
}

.somarelle-header-left-actions .somarelle-header-action {
  margin: 0;
}

@media screen and (max-width: 989px) {
  .somarelle-header-left-actions {
    gap: 0.4rem;
  }
}
/* =========================
   SOMARELLE HEADER CUSTOM SVG SYSTEM
   Scoped only to custom header icons
   ========================= */

.header .somarelle-header-svg {
  width: 2.2rem;
  height: 2.2rem;
  display: block;
  fill: none;
  stroke: currentColor;
  overflow: visible;
}

.header .somarelle-header-svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
/* Mobile header edge balance */
@media screen and (max-width: 749px) {
  .header__icons {
    padding-right: 0.8rem;
  }
}

/* =========================
   SOMARELLE MOBILE HEADER SPACING
   Match left and right icon rhythm
   ========================= */

@media screen and (max-width: 749px) {
  .somarelle-header-left-actions {
    gap: 0.4rem;
  }

  .header__icons {
    padding-right: 0;
    gap: 0.4rem;
  }

  .header__icons .header__icon--wishlist,
  .header__icon--cart {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media screen and (max-width: 749px) {
  .somarelle-header-left-actions {
    margin-left: -0.8rem;
  }

  .header__icons {
    margin-right: -0.8rem;
  }
}
/* =========================
   SOMARELLE MOBILE HEADER FINAL SPACING
   Closer edge + tighter icon groups
   ========================= */

@media screen and (max-width: 749px) {
  .somarelle-header-left-actions {
    gap: -0.4rem;
    margin-left: -1.8rem;
  }

  .header__icons {
    gap: -0.4rem;
    margin-right: -1.8rem;
    padding-right: 0;
  }

  .header__icons .header__icon--wishlist,
  .header__icon--cart {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media screen and (max-width: 749px) {
  .somarelle-header-left-actions {
    gap: 0;
    margin-left: -1.4rem;
  }

  .somarelle-header-left-actions .header__search {
    margin-left: -0.6rem;
  }

  .header__icons {
    gap: 0;
    margin-right: -2.4rem;
    padding-right: 0;
  }

  .header__icons .header__icon--cart {
    margin-left: -0.6rem !important;
  }
}
/* Desktop left header icons: move slightly right */
@media screen and (min-width: 990px) {
  .somarelle-header-left-actions {
    margin-left: 0.8rem;
  }
}
/* Test 1: slightly thicker Menu icon only */
.header .somarelle-header-svg--menu path {
  stroke-width: 1.5;
}
/* Test 2: slightly thicker Search icon only */
.header .somarelle-header-svg--search path {
  stroke-width: 1.5;
}
/* Test 4: thicker Account icon only */
.header__icon--account svg path {
  stroke-width: 1.5 !important;
}
/* Test 5: thicker Cart icon only */
.header__icon--cart svg path {
  stroke-width: 1.5 !important;
}
/* =========================
   SOMARELLE MENU DRAWER SUBMENU ARROW
   Slim, feminine chevron
   ========================= */

.menu-drawer summary.menu-drawer__menu-item {
  position: relative;
  padding-right: 3.2rem !important;
}

/* Hide default arrow icon */
.menu-drawer summary.menu-drawer__menu-item .icon-arrow,
.menu-drawer summary.menu-drawer__menu-item svg.icon-arrow {
  display: none !important;
}

/* Custom slim chevron */
.menu-drawer summary.menu-drawer__menu-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4rem;
  width: 0.72rem;
  height: 0.72rem;
  border-top: 2.5px solid currentColor;
  border-right: 2.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  border-radius: 0.08rem;
  opacity: 0.9;
}
/* =========================
   SOMARELLE MENU DRAWER HOVER FOCUS — CLEAN
   Default black / only non-hovered siblings fade
   ========================= */

/* Default state: all drawer menu items black, no underline */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > .menu-drawer__menu-item,
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > summary.menu-drawer__menu-item {
  color: rgb(0, 0, 0) !important;
  opacity: 1 !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  transition:
    opacity 180ms ease,
    color 180ms ease !important;
}

#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > .menu-drawer__menu-item span,
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > summary.menu-drawer__menu-item span {
  color: inherit !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* While hovering inside the menu, fade only the items that are NOT hovered */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > .menu-drawer__menu-item:not(:hover),
#menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > summary.menu-drawer__menu-item:not(:hover) {
  opacity: 0.38 !important;
  color: rgb(0, 0, 0) !important;
}

/* Hovered item stays black/full opacity */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > .menu-drawer__menu-item:hover,
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > summary.menu-drawer__menu-item:hover {
  opacity: 1 !important;
  color: rgb(0, 0, 0) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Kill old underline behavior */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu a:hover,
#menu-drawer .menu-drawer__navigation .menu-drawer__menu a:hover span,
#menu-drawer .menu-drawer__navigation .menu-drawer__menu summary:hover,
#menu-drawer .menu-drawer__navigation .menu-drawer__menu summary:hover span {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-underline-offset: 0 !important;
}
/* =========================
   SOMARELLE DRAWER SUBMENU SUMMARY FIX
   Remove underline from submenu parent items
   ========================= */

#menu-drawer summary.menu-drawer__menu-item,
#menu-drawer summary.menu-drawer__menu-item:hover,
#menu-drawer summary.menu-drawer__menu-item:focus,
#menu-drawer summary.menu-drawer__menu-item:focus-visible,
#menu-drawer details[open] > summary.menu-drawer__menu-item,
#menu-drawer summary.menu-drawer__menu-item span,
#menu-drawer summary.menu-drawer__menu-item:hover span,
#menu-drawer summary.menu-drawer__menu-item:focus span,
#menu-drawer summary.menu-drawer__menu-item:focus-visible span,
#menu-drawer details[open] > summary.menu-drawer__menu-item span {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-thickness: 0 !important;
  text-underline-offset: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
/* =========================
   SOMARELLE DRAWER SUPPORT HOVER FIX
   Include submenu parent rows inside details
   ========================= */

/* Default: submenu parent like Support is black */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > details > summary.menu-drawer__menu-item {
  color: rgb(0, 0, 0) !important;
  opacity: 1 !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  transition:
    opacity 180ms ease,
    color 180ms ease !important;
}

/* When hovering inside menu, fade submenu parent too */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > details > summary.menu-drawer__menu-item:not(:hover) {
  opacity: 0.38 !important;
  color: rgb(0, 0, 0) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* When hovering submenu parent, keep it black/full */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > details > summary.menu-drawer__menu-item:hover {
  opacity: 1 !important;
  color: rgb(0, 0, 0) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Keep arrow following Support opacity/color */
#menu-drawer .menu-drawer__navigation .menu-drawer__menu > li > details > summary.menu-drawer__menu-item::after {
  color: currentColor !important;
}
/* =========================
   SOMARELLE ICON HOVER FOCUS
   Desktop only: hovered item stays onyx, siblings fade
   ========================= */

@media (hover: hover) and (pointer: fine) {
  /* Header left icons: Menu + Search */
  .header .somarelle-header-left-actions:hover .somarelle-header-action:not(:hover):not(.button) {
    opacity: 0.38 !important;
  }

  .header .somarelle-header-left-actions .somarelle-header-action:hover {
    opacity: 1 !important;
    color: rgb(var(--somarelle-onyx)) !important;
  }

  /* Header right icons: Wishlist / Account / Cart */
  .header .header__icons:hover .header__icon:not(:hover):not(.button) {
    opacity: 0.38 !important;
  }

  .header .header__icons .header__icon:hover,
  .header .header__icons .header__icon:hover svg,
  .header .header__icons .header__icon:hover path {
    opacity: 1 !important;
    color: rgb(var(--somarelle-onyx)) !important;
    stroke: currentColor !important;
  }

  /* Drawer footer icons */
  #menu-drawer .menu-drawer__utility-links:hover a:not(:hover):not(.button),
  #menu-drawer .menu-drawer__utility-links:hover button:not(:hover):not(.button) {
    opacity: 0.38 !important;
  }

  #menu-drawer .menu-drawer__utility-links a:hover,
  #menu-drawer .menu-drawer__utility-links button:hover {
    opacity: 1 !important;
    color: rgb(var(--somarelle-onyx)) !important;
  }

  /* Wishlist icon hover zoom — match other header icons */
  .header__icons .header__icon--wishlist:hover svg.icon-heart {
    transform: scale(1.07) !important;
  }
}

/* Smooth transition for icon links */
.header .somarelle-header-action,
.header .header__icon,
#menu-drawer .menu-drawer__utility-links a,
#menu-drawer .menu-drawer__utility-links button {
  transition:
    opacity 180ms ease,
    color 180ms ease,
    stroke 180ms ease,
    transform 180ms ease !important;
}
/* =========================
   SOMARELLE PRODUCT IMAGE SWATCHES
   Remove border so image is not cut
   ========================= */

.template-product .product-form__input .swatch-input__label {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: hidden !important;
}

.template-product .product-form__input .swatch-input__label::before,
.template-product .product-form__input .swatch-input__label::after {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Keep each image swatch separately clickable */
.template-product .product-form__input .swatch-input__input + .swatch-input__label {
  cursor: pointer !important;
}

/* Selected swatch indicator: subtle, not cutting the image */
.template-product .product-form__input .swatch-input__input:checked + .swatch-input__label {
  box-shadow: 0 0 0 0.15rem rgb(var(--somarelle-onyx)) !important;
}
/* =========================
   SOMARELLE PRODUCT IMAGE VARIANT SWATCHES
   Portrait 9:16, no crop
   ========================= */

.template-product .product-form__input input[type='radio'] + label[style*='background-image'] {
  width: 3.6rem !important;
  height: 6.4rem !important;
  min-width: 3.6rem !important;
  min-height: 6.4rem !important;

  padding: 0 !important;
  border: 0 !important;
  border-radius: 0.2rem !important;
  box-shadow: none !important;

  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;

  overflow: visible !important;
}
/* =========================
   SOMARELLE MENU DRAWER FOOTER
   Prada-style utility rows
   Formatting only — icons unchanged
   ========================= */

#menu-drawer .menu-drawer__navigation-container {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

#menu-drawer .menu-drawer__navigation {
  flex: 1 1 auto !important;
}

#menu-drawer .somarelle-drawer-footer {
  width: 100% !important;
  margin-top: auto !important;
  padding: 0 3.2rem 3.4rem !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1.4rem !important;

  background: transparent !important;
}

#menu-drawer .somarelle-drawer-footer__links {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1.25rem !important;
  width: 100% !important;
}

#menu-drawer .somarelle-drawer-footer__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.4rem !important;

  width: fit-content !important;
  min-height: 2.4rem !important;
  padding: 0 !important;
  margin: 0 !important;

  color: rgb(var(--somarelle-onyx)) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  opacity: 1 !important;
}

#menu-drawer .somarelle-drawer-footer__icon {
  width: 2.2rem !important;
  height: 2.2rem !important;
  flex: 0 0 2.2rem !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
}

#menu-drawer .somarelle-drawer-footer__icon svg {
  width: 2.2rem !important;
  height: 2.2rem !important;
  display: block !important;
}

#menu-drawer .somarelle-drawer-footer__text {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-sm) !important;
  font-weight: var(--weight-regular) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  color: currentColor !important;
  white-space: nowrap !important;
}
/* =========================
   SOMARELLE MENU DRAWER TYPOGRAPHY
   Mobile drawer links + footer rows
   ========================= */

#menu-drawer .menu-drawer__menu-item {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-menu-mobile);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  line-height: 1.6;
  text-transform: uppercase;
}

#menu-drawer .menu-drawer__submenu .menu-drawer__menu-item,
#menu-drawer .menu-drawer__submenu a {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-md);
  font-weight: var(--weight-medium);
  letter-spacing: 0.06em;
  line-height: 1.6;
  text-transform: uppercase;
}

#menu-drawer .menu-drawer__close-button {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-transform: none;
}

#menu-drawer .somarelle-drawer-footer__link,
#menu-drawer .somarelle-drawer-footer__language .localization-form__select,
#menu-drawer .somarelle-drawer-footer__language .disclosure__button,
#menu-drawer .somarelle-drawer-footer__language .somarelle-language-selector__text {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-sm) !important;
  font-weight: var(--weight-regular) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

#menu-drawer .somarelle-drawer-footer__social {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.4rem !important;

  margin: 0.2rem 0 0 !important;
  padding: 0 !important;
}

#menu-drawer .somarelle-drawer-footer__social .list-social__link {
  width: 2.2rem !important;
  height: 2.2rem !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#menu-drawer .somarelle-drawer-footer__language {
  margin-top: 0.1rem !important;
}
/* =========================
   SOMARELLE DRAWER FOOTER SOCIAL + LANGUAGE ALIGNMENT
   Match utility row sizing
   ========================= */

/* Instagram + TikTok row: same left rhythm as footer utility icons */
#menu-drawer .somarelle-drawer-footer__social {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.4rem !important;
  margin: 0.2rem 0 0 !important;
  padding: 0 !important;
}

/* Social icon click area */
#menu-drawer .somarelle-drawer-footer__social .list-social__link {
  width: 2.2rem !important;
  height: 2.2rem !important;
  min-width: 2.2rem !important;
  min-height: 2.2rem !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: rgb(var(--somarelle-onyx)) !important;
}

/* Social SVG size */
#menu-drawer .somarelle-drawer-footer__social .svg-wrapper,
#menu-drawer .somarelle-drawer-footer__social svg {
  width: 2.2rem !important;
  height: 2.2rem !important;
  display: block !important;
}

/* Language row: align with footer utility rows */
#menu-drawer .somarelle-drawer-footer__language {
  margin-top: 0.1rem !important;
}

#menu-drawer .somarelle-drawer-footer__language .localization-form__select,
#menu-drawer .somarelle-drawer-footer__language .disclosure__button {
  min-height: 2.4rem !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.4rem !important;

  color: rgb(var(--somarelle-onyx)) !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

/* Language custom inner group */
#menu-drawer .somarelle-drawer-footer__language .somarelle-language-selector__inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.4rem !important;
  width: auto !important;
  line-height: 1 !important;
}

/* Language icon: same visual scale as other drawer footer icons */
#menu-drawer .somarelle-drawer-footer__language .somarelle-language-selector__icon {
  width: 2.2rem !important;
  height: 2.2rem !important;
  flex: 0 0 2.2rem !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
}

#menu-drawer .somarelle-drawer-footer__language .somarelle-language-selector__icon svg {
  width: 1.7rem !important;
  height: 1.7rem !important;
  display: block !important;
}

/* Language text: same as Log In / Shopping Bag / Wishlist */
#menu-drawer .somarelle-drawer-footer__language .somarelle-language-selector__text,
#menu-drawer .somarelle-drawer-footer__language .localization-form__select span,
#menu-drawer .somarelle-drawer-footer__language .disclosure__button span {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-sm) !important;
  font-weight: var(--weight-regular) !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
  color: currentColor !important;
}

/* Caret stays compact after English */
#menu-drawer .somarelle-drawer-footer__language .somarelle-language-selector__caret,
#menu-drawer .somarelle-drawer-footer__language .icon-caret {
  width: 1rem !important;
  height: 1rem !important;
  margin-left: 0.2rem !important;
  position: static !important;
  transform: none !important;
}
/* =========================
   SOMARELLE DRAWER FOOTER ORDER
   Language above social icons
   ========================= */

#menu-drawer .somarelle-drawer-footer__links {
  order: 1 !important;
}

#menu-drawer .somarelle-drawer-footer__language {
  order: 2 !important;
}

#menu-drawer .somarelle-drawer-footer__social {
  order: 3 !important;
  margin-top: 0.2rem !important;
}
/* =========================
   SOMARELLE FOOTER HOVER COLOR
   Replace gold/blush hover with Noir
   ========================= */

/* Footer links + social icons */
.footer a:hover,
.footer a:hover span,
.footer .link:hover,
.footer .list-social__link:hover,
.footer .list-social__link:hover svg,
.footer .list-social__link:hover path {
  color: rgb(var(--somarelle-noir)) !important;
  stroke: currentColor !important;
}

/* Footer language selector hover */
.footer .localization-form__select:hover,
.footer .disclosure__button:hover,
.footer .localization-selector.link:hover,
.footer .localization-form__select:hover span,
.footer .disclosure__button:hover span,
.footer .localization-selector.link:hover span,
.footer .localization-form__select:hover svg,
.footer .disclosure__button:hover svg,
.footer .localization-selector.link:hover svg {
  color: rgb(var(--somarelle-noir)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
  stroke: currentColor !important;
}

/* Footer newsletter input hover/focus border */
.footer .newsletter-form__field-wrapper .field:hover::after,
.footer .newsletter-form__field-wrapper .field:focus-within::after,
.footer .field:hover::after,
.footer .field:focus-within::after {
  box-shadow: 0 0 0 0.1rem rgb(var(--somarelle-noir)) !important;
}

/* Footer newsletter arrow button hover */
.footer .newsletter-form__button:hover,
.footer .newsletter-form__button:hover svg,
.footer .newsletter-form__button:hover path {
  color: rgb(var(--somarelle-noir)) !important;
  stroke: currentColor !important;
}
/* =========================
   SOMARELLE FOOTER LANGUAGE DROPDOWN
   Hover/selected color = Noir
   ========================= */

.footer .disclosure__list-wrapper .disclosure__link:hover,
.footer .disclosure__list-wrapper .disclosure__link[aria-current='true'],
.footer .disclosure__list-wrapper .disclosure__link[aria-selected='true'],
.footer .disclosure__list-wrapper .disclosure__link:hover span,
.footer .disclosure__list-wrapper .disclosure__link[aria-current='true'] span,
.footer .disclosure__list-wrapper .disclosure__link[aria-selected='true'] span {
  color: rgb(var(--somarelle-noir)) !important;
  -webkit-text-fill-color: rgb(var(--somarelle-noir)) !important;
}

/* Checkmark inside selected language row */
.footer .disclosure__list-wrapper .disclosure__link:hover svg,
.footer .disclosure__list-wrapper .disclosure__link:hover path,
.footer .disclosure__list-wrapper .disclosure__link[aria-current='true'] svg,
.footer .disclosure__list-wrapper .disclosure__link[aria-current='true'] path,
.footer .disclosure__list-wrapper .disclosure__link[aria-selected='true'] svg,
.footer .disclosure__list-wrapper .disclosure__link[aria-selected='true'] path {
  color: rgb(var(--somarelle-noir)) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
/* =========================
   PRODUCT PAGE ADD TO CART HOVER
   Onyx default / Noir hover
   ========================= */

.template-product .product-form__submit.button--secondary,
.template-product .product-form__submit.button--secondary:focus,
.template-product .product-form__submit.button--secondary:focus-visible,
.template-product .product-form__submit.button--secondary:active {
  background-color: rgb(var(--somarelle-onyx)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-onyx)) !important;
}

.template-product .product-form__submit.button--secondary:hover {
  background-color: rgb(var(--somarelle-noir)) !important;
  color: rgb(var(--somarelle-pearl)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
}

.template-product .product-form__submit.button--secondary span,
.template-product .product-form__submit.button--secondary:hover span {
  color: rgb(var(--somarelle-pearl)) !important;
  -webkit-text-fill-color: rgb(var(--somarelle-pearl)) !important;
}

.template-product .product-form__submit.button--secondary::before,
.template-product .product-form__submit.button--secondary::after,
.template-product .product-form__submit.button--secondary:hover::before,
.template-product .product-form__submit.button--secondary:hover::after {
  box-shadow: none !important;
}
/* =========================
   PRODUCT PAGE BUY IT NOW HOVER
   Text + border only = Noir
   Background stays transparent
   ========================= */

.template-product .shopify-payment-button__button--unbranded {
  background-color: transparent !important;
  color: rgb(var(--somarelle-onyx)) !important;
  border-color: rgb(var(--somarelle-onyx)) !important;
}

.template-product .shopify-payment-button__button--unbranded::after {
  box-shadow: 0 0 0 0.1rem rgb(var(--somarelle-onyx)) !important;
}

.template-product .shopify-payment-button__button--unbranded:hover,
.template-product .shopify-payment-button__button--unbranded:focus-visible {
  background-color: transparent !important;
  color: rgb(var(--somarelle-noir)) !important;
  border-color: rgb(var(--somarelle-noir)) !important;
}

.template-product .shopify-payment-button__button--unbranded:hover::after,
.template-product .shopify-payment-button__button--unbranded:focus-visible::after {
  box-shadow: 0 0 0 0.1rem rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE PRODUCT COLOR THUMBNAIL ACTIVE STATE
   No border / no circle / active underline only
   ========================= */

.template-product .product-form__input--swatch input[type='radio'] + label[style*='background-image'] {
  position: relative !important;

  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  border-radius: 0 !important;

  opacity: 0.48 !important;
  transition:
    opacity 180ms ease,
    transform 180ms ease !important;
}

/* Hover: softly reveal product */
.template-product .product-form__input--swatch input[type='radio'] + label[style*='background-image']:hover {
  opacity: 0.78 !important;
}

/* Active selected thumbnail */
.template-product .product-form__input--swatch input[type='radio']:checked + label[style*='background-image'] {
  opacity: 1 !important;
}

/* Active underline indicator */
.template-product .product-form__input--swatch input[type='radio']:checked + label[style*='background-image']::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0.5rem !important;
  transform: translateX(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 0.45rem solid transparent !important;
  border-right: 0.45rem solid transparent !important;
  border-bottom: 0.55rem solid rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE PRODUCT COLOR THUMBNAILS
   Larger 9:16 portrait thumbnails
   ========================= */

.template-product .product-form__input--swatch input[type='radio'] + label[style*='background-image'] {
  width: 5.6rem !important;
  height: 10rem !important;
  min-width: 5.6rem !important;
  min-height: 10rem !important;

  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-right: 1.2rem !important;
}

/* =========================
   SOMARELLE PRODUCT SIZE SELECTORS
   Smaller size circles
   ========================= */

.template-product .product-form__input--pill input[type='radio'] + label {
  width: 3rem !important;
  height: 3rem !important;
  min-width: 3rem !important;
  min-height: 3rem !important;

  padding: 0 !important;
  border-radius: 50% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: 1.2rem !important;
  line-height: 1 !important;
}
/* Remove Size Chart icon on product page */
.template-product .product-popup-modal__button .size-chart-inner img {
  display: none !important;
}

/* Clean alignment after icon removal */
.template-product .product-popup-modal__button .size-chart-inner {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.template-product .product-popup-modal__button .size-chart-inner span {
  margin-left: 0 !important;
}
/* =========================
   SOMARELLE PRODUCT PAGE
   Tighter premium vertical rhythm
   ========================= */

/* =========================
   SOMARELLE PRODUCT PAGE TYPOGRAPHY
   Compact premium PDP hierarchy
   ========================= */

/* Product title */
.template-product .product__title,
.template-product .product__title h1 {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-heading);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-tight);
  line-height: 1.3;
  text-transform: none;
}

/* Product price */
.template-product .product__info-container .price,
.template-product .product__info-container .price-item {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.4;
}

/* Shipping / tax note */
.template-product .product__tax,
.template-product .product__tax a {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-xs);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-soft);
  line-height: 1.5;
}

/* Product description */
.template-product .product__description,
.template-product .product__description p,
.template-product .product__description li {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: 1.65;
}

/* Variant labels: Color / Size / Quantity */
.template-product .product-form__label,
.template-product .form__label,
.template-product .quantity__label,
.template-product .product-form__input legend.form__label {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  line-height: 1.4;
  text-transform: uppercase;
}

/* Size selector text */
.template-product .product-form__input--pill input[type='radio'] + label {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-md);
  font-weight: var(--weight-medium);
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* Quantity number */
.template-product .quantity__input {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-md);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: 1.4;
}

/* Size Chart link */
.template-product .product-popup-modal__button,
.template-product .product-popup-modal__button span,
.template-product .product-popup-modal__button .size-chart-inner span {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-transform: none;
}

/* Product accordions */
.template-product .accordion__title,
.template-product .product__accordion summary,
.template-product .product__accordion .summary__title,
.template-product .collapsible-content summary {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-sm);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-filter);
  line-height: 1.4;
  text-transform: uppercase;
}

.template-product .accordion__content,
.template-product .accordion__content p,
.template-product .accordion__content li {
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: 1.7;
}

/* No default underline/color difference */
.template-product .product__tax a,
.template-product .product__tax .link,
.template-product .product__tax .underlined-link {
  text-decoration: none !important;
  text-decoration-thickness: 0 !important;
}

/* No hover color change */
.template-product .product__tax a:hover,
.template-product .product__tax .link:hover,
.template-product .product__tax .underlined-link:hover,
.template-product .product__tax a:focus,
.template-product .product__tax .link:focus,
.template-product .product__tax .underlined-link:focus,
.template-product .product__tax a:active,
.template-product .product__tax .link:active,
.template-product .product__tax .underlined-link:active,
.template-product .product__tax a:visited {
  color: rgb(var(--color-foreground)) !important;
  -webkit-text-fill-color: rgb(var(--color-foreground)) !important;
  text-decoration: none !important;
}
.template-product .product__info-container > * + * {
  margin-top: 1.1rem !important;
  margin-bottom: 0 !important;
}

/* Remove spacing from empty/hidden product info blocks */
.template-product .product__info-container > div:empty,
.template-product .product__info-container .installment:empty,
.template-product .product__info-container .shopify-app-block:has([style*="display: none"]) {
  display: none !important;
  margin: 0 !important;
}

/* Product title + price */
.template-product .product__title {
  margin-bottom: 0.8rem !important;
}

.template-product .price {
  margin-top: 0 !important;
  margin-bottom: 0.8rem !important;
}

/* Shipping text */
.template-product .product__tax {
  margin-top: 0.6rem !important;
  margin-bottom: 1.2rem !important;
}

/* Variant groups */
.template-product variant-selects {
  display: block !important;
  margin-top: 1.2rem !important;
}

.template-product .product-form__input {
  margin: 0 0 1.4rem !important;
}

.template-product .product-form__input--swatch {
  margin-bottom: 1.2rem !important;
}

.template-product .product-form__input--pill {
  margin-bottom: 1.4rem !important;
}

/* Size Chart */
.template-product .product-popup-modal__opener {
  margin-top: 0.4rem !important;
  margin-bottom: 1.6rem !important;
}

.template-product .product-popup-modal__button {
  padding: 0 !important;
  min-height: auto !important;
}

/* Quantity */
.template-product .product-form__quantity {
  margin-top: 0 !important;
  margin-bottom: 1.8rem !important;
}

.template-product .quantity__label {
  margin-bottom: 0.8rem !important;
}

/* Add to cart / Buy it now */
.template-product .product-form {
  margin-top: 0 !important;
}

.template-product .product-form__buttons {
  gap: 1rem !important;
}

.template-product .product-form__submit-wrap,
.template-product .product-form__dynamic-checkout-wrap {
  margin: 0 !important;
}

/* Safe checkout */
.template-product .safe-checkout-wrap {
  margin-top: 1.6rem !important;
}
/* =========================
   SOMARELLE PRODUCT SIZE CHART
   12px text + underline restored
   ========================= */

.template-product .product-popup-modal__button,
.template-product .product-popup-modal__button span,
.template-product .product-popup-modal__button .size-chart-inner span {
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 0.08rem !important;
  text-underline-offset: 0.25rem !important;
  color: rgb(var(--somarelle-onyx)) !important;
}

.template-product .product-popup-modal__button {
  padding: 0 !important;
  min-height: auto !important;
}
/* =========================
   SOMARELLE PRODUCT SHIPPING NOTE
   Uniform text / no hover color shift
   ========================= */

.template-product .product__tax,
.template-product .product__tax *,
.template-product .product__tax a,
.template-product .product__tax .link,
.template-product .product__tax .underlined-link {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-base) !important;
  font-weight: var(--weight-regular) !important;
  letter-spacing: var(--tracking-soft) !important;
  line-height: 1.5 !important;
  color: rgb(var(--color-foreground)) !important;
  -webkit-text-fill-color: rgb(var(--color-foreground)) !important;
}

/* Shipping link: same text styling, underline only */
.template-product .product__tax a,
.template-product .product__tax .link,
.template-product .product__tax .underlined-link {
  color: rgb(var(--color-foreground)) !important;
  -webkit-text-fill-color: rgb(var(--color-foreground)) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 0.08rem !important;
  text-underline-offset: 0.22rem !important;
}

/* No hover color shift */
.template-product .product__tax a:hover,
.template-product .product__tax .link:hover,
.template-product .product__tax .underlined-link:hover,
.template-product .product__tax a:focus,
.template-product .product__tax .link:focus,
.template-product .product__tax .underlined-link:focus,
.template-product .product__tax a:active,
.template-product .product__tax .link:active,
.template-product .product__tax .underlined-link:active,
.template-product .product__tax a:visited {
  color: rgb(var(--color-foreground)) !important;
  -webkit-text-fill-color: rgb(var(--color-foreground)) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 0.08rem !important;
  text-underline-offset: 0.22rem !important;
}
/* =========================
   SOMARELLE UPCART TYPOGRAPHY
   Match Somarelle typography system
   ========================= */

/* Cart title: Shopping Bag • 0 */
.upcart-internal-header h4,
.upcart-public-header h4,
[data-upcart-chunk="header-title-content"] {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-cart-title) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: var(--tracking-normal) !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

/* Product title */
.upcart-internal-component-product-tile__product-title,
.upcart-public-component-product-tile__product-title,
.upcart-internal-component-product-tile__title-link,
.upcart-public-component-product-tile__title-link {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-md) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: 0.06em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

/* Variant details: Color / Size */
.upcart-internal-component-product-tile__variant,
.upcart-public-component-product-tile__variant,
.upcart-internal-cart-items__key-value-pair {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-sm) !important;
  font-weight: var(--weight-regular) !important;
  letter-spacing: var(--tracking-soft) !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

/* Price / quantity / small cart text */
.upcart-internal__visually-hidden,
.upcart-public__visually-hidden,
.upcart-internal-component-product-tile,
.upcart-public-component-product-tile {
  font-family: var(--somarelle-font-family) !important;
}

/* Checkout button */
.upcart-checkout-button,
.UpcartDesignSettings__button,
.styles_CustomButton__fullWidth__ {
  font-family: var(--somarelle-font-family) !important;
  font-size: var(--type-md) !important;
  font-weight: var(--weight-bold) !important;
  letter-spacing: var(--tracking-wide) !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}
/* =========================
   SOMARELLE COLLECTION SORT ALIGNMENT
   Move Sort by dropdown slightly higher
   ========================= */

.template-collection .facet-filters,
.template-search .facet-filters {
  align-items: flex-start !important;
  transform: translateY(-1rem);
}

.template-collection .facet-filters__label,
.template-search .facet-filters__label {
  margin-top: 1.1rem !important;
}

.template-collection .facet-filters__field,
.template-search .facet-filters__field {
  align-items: flex-start !important;
}

.template-collection .facet-filters .select,
.template-search .facet-filters .select {
  margin-top: -4px !important;
}
/* =========================
   SOMARELLE COLLECTION SORT + PRODUCT COUNT FINAL
   Direct selectors from inspected HTML
   ========================= */

/* Remove "17 products" count everywhere */
.product-count,
.product-count.light,
.product-count__text,
#ProductCount,
#ProductCountDesktop,
.mobile-facets__count,
#ProductCountMobile,
.product-count[role="status"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Sort by label = 13px */
.facet-filters__field .facet-filters__label,
.facet-filters__field .facet-filters__label label,
.facet-filters__label.caption-large.text-body,
label[for="SortBy"] {
  font-family: var(--somarelle-font-family) !important;
  font-size: 13px !important;
  font-weight: var(--weight-regular) !important;
  letter-spacing: var(--tracking-soft) !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

/* Sort dropdown selected text = 13px */
.facet-filters__field .select,
.facet-filters__field .select__select,
.facet-filters__sort,
.facet-filters__sort.select__select,
select#SortBy,
#SortBy {
  font-family: var(--somarelle-font-family) !important;
  font-size: 13px !important;
  font-weight: var(--weight-regular) !important;
  letter-spacing: var(--tracking-soft) !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

/* Sort dropdown options */
#SortBy option {
  font-family: var(--somarelle-font-family) !important;
  font-size: 13px !important;
  font-weight: var(--weight-regular) !important;
}
/* Somarelle collection title alignment */
.template-collection .collection-hero__title {
  text-align: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Somarelle collection description */
.template-collection .collection-hero__description {
  max-width: 62rem;
  margin: 1rem auto 2.4rem !important;
  text-align: center !important;
  font-family: var(--somarelle-font-family);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-normal);
  line-height: 1.7;
}
/* =========================
   SOMARELLE PDP VARIANT FLICKER FIX
   Hide duplicate variant picker if theme briefly re-renders it
   ========================= */

.template-product .product__info-container variant-selects ~ variant-selects {
  display: none !important;
}

/* =========================
   SOMARELLE DESKTOP HOMEPAGE WISHLIST COLOR
   Transparent = white / solid states = current header color
   Does not override group hover opacity
   ========================= */

@media screen and (min-width: 990px) {
  /* Base wishlist: follow parent color like other header icons */
  .header__icons .header__icon--wishlist,
  .header__icons .header__icon--wishlist svg.icon-heart,
  .header__icons .header__icon--wishlist svg.icon-heart path {
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
  }

  .header__icons .header__icon--wishlist svg.icon-heart path {
    stroke-width: 1.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    vector-effect: non-scaling-stroke !important;
  }

  /* Homepage top transparent state only */
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open):not(:hover)
  .header-wrapper--overlay-home.is-homepage-header:not(:has(details[open]))
  .header__icons
  .header__icon--wishlist,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open):not(:hover)
  .header-wrapper--overlay-home.is-homepage-header:not(:has(details[open]))
  .header__icons
  .header__icon--wishlist svg.icon-heart,
  .template-index .section-header:not(.scrolled-past-header):not(.header-ui-open):not(:hover)
  .header-wrapper--overlay-home.is-homepage-header:not(:has(details[open]))
  .header__icons
  .header__icon--wishlist svg.icon-heart path {
    color: #ffffff !important;
    stroke: #ffffff !important;
    fill: none !important;
  }

  /* Scrolled / solid / hover / open states: wishlist color becomes onyx, but opacity is NOT forced */
  .template-index .section-header.scrolled-past-header
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist,
  .template-index .section-header.scrolled-past-header
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist svg.icon-heart,
  .template-index .section-header.scrolled-past-header
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist svg.icon-heart path,
  .template-index .section-header:hover
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist,
  .template-index .section-header:hover
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist svg.icon-heart,
  .template-index .section-header:hover
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist svg.icon-heart path,
  .template-index .section-header.header-ui-open
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist,
  .template-index .section-header.header-ui-open
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist svg.icon-heart,
  .template-index .section-header.header-ui-open
  .header-wrapper--overlay-home.is-homepage-header
  .header__icon--wishlist svg.icon-heart path,
  .template-index .header-wrapper--overlay-home.is-homepage-header:has(details[open])
  .header__icon--wishlist,
  .template-index .header-wrapper--overlay-home.is-homepage-header:has(details[open])
  .header__icon--wishlist svg.icon-heart,
  .template-index .header-wrapper--overlay-home.is-homepage-header:has(details[open])
  .header__icon--wishlist svg.icon-heart path {
    color: rgb(var(--somarelle-onyx)) !important;
    stroke: rgb(var(--somarelle-onyx)) !important;
    fill: none !important;
  }
}
/* =========================
   SOMARELLE HEADER ICON TRANSITION SYNC
   Match logo/header transition feel
   ========================= */

.header .somarelle-header-action,
.header .somarelle-header-action *,
.header .header__icon,
.header .header__icon *,
.header .header__icon svg,
.header .header__icon path,
.header .somarelle-header-svg,
.header .somarelle-header-svg path,
.header__icons .header__icon--wishlist,
.header__icons .header__icon--wishlist svg,
.header__icons .header__icon--wishlist path {
  transition:
    color 0.18s ease,
    stroke 0.18s ease,
    fill 0.18s ease,
    opacity 0.18s ease,
    filter 0.18s ease,
    transform 0.18s ease !important;
}

/* Remove accidental underline styling from icon links */
.header .header__icon,
.header .header__icon:hover,
.header .somarelle-header-action,
.header .somarelle-header-action:hover {
  text-decoration: none !important;
}

/* =========================
   SOMARELLE LINK HOVER COLOR
   Product titles + standard text links = Somarelle Noir
   Excludes buttons, header icons, drawer footer controls
   ========================= */

/* Product card titles */
.card-wrapper:hover .card__heading a,
.card-wrapper:hover .card__heading a.full-unstyled-link,
.product-card-wrapper:hover .card__heading a,
.product-card-wrapper:hover .card__heading a.full-unstyled-link,
.card__heading a:hover,
.card__heading a.full-unstyled-link:hover {
  color: rgb(var(--somarelle-noir)) !important;
  text-decoration-color: rgb(var(--somarelle-noir)) !important;
}

/* Standard page/product/collection text links */
.rte a:hover,
.inline-richtext a:hover,
.product__info-container a:not(.button):not(.shopify-payment-button__button):hover,
.collection a:not(.button):not(.card__heading a):hover,
.main-page-title a:hover,
.page-width a:not(.button):not(.header__icon):not(.somarelle-header-action):not(.menu-drawer__menu-item):not(.somarelle-drawer-footer__link):hover {
  color: rgb(var(--somarelle-noir)) !important;
  text-decoration-color: rgb(var(--somarelle-noir)) !important;
}

/* Keep underline hover clean */
.underlined-link:hover,
.customer a:hover,
.inline-richtext a:hover {
  color: rgb(var(--somarelle-noir)) !important;
  text-decoration-color: rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE WISHLIST BUTTON COLOR
   Hover + active/wishlisted = Somarelle Noir
   ========================= */

/* Wishlist button hover */
button[class*="wishlist"]:hover,
a[class*="wishlist"]:hover,
[class*="wishlist"] button:hover,
[class*="wishlist"] a:hover,
.wishlist-button:hover,
.wk-button:hover,
.swym-button:hover,
.product__info-container .header__icon--wishlist:hover {
  color: rgb(var(--somarelle-noir)) !important;
}

/* Wishlist icon hover */
button[class*="wishlist"]:hover svg,
button[class*="wishlist"]:hover path,
a[class*="wishlist"]:hover svg,
a[class*="wishlist"]:hover path,
[class*="wishlist"] button:hover svg,
[class*="wishlist"] button:hover path,
.wishlist-button:hover svg,
.wishlist-button:hover path,
.wk-button:hover svg,
.wk-button:hover path,
.swym-button:hover svg,
.swym-button:hover path {
  color: rgb(var(--somarelle-noir)) !important;
  fill: rgb(var(--somarelle-noir)) !important;
  stroke: rgb(var(--somarelle-noir)) !important;
}

/* Wishlisted / active / selected state */
button[class*="wishlist"].active,
button[class*="wishlist"].is-active,
button[class*="wishlist"].added,
button[class*="wishlist"].wishlisted,
button[class*="wishlist"][aria-pressed="true"],
a[class*="wishlist"].active,
a[class*="wishlist"].is-active,
a[class*="wishlist"].added,
a[class*="wishlist"].wishlisted,
[class*="wishlist"].active,
[class*="wishlist"].is-active,
[class*="wishlist"].added,
[class*="wishlist"].wishlisted,
.wishlist-button.active,
.wishlist-button.is-active,
.wishlist-button.added,
.wishlist-button.wishlisted,
.wk-button.active,
.wk-button.is-active,
.wk-button.added,
.wk-button.wishlisted,
.swym-button.active,
.swym-button.swym-added,
.swym-button.swym-added.swym-add-to-wishlist-view-product {
  color: rgb(var(--somarelle-noir)) !important;
}

/* Wishlisted icon fill */
button[class*="wishlist"].active svg,
button[class*="wishlist"].active path,
button[class*="wishlist"].is-active svg,
button[class*="wishlist"].is-active path,
button[class*="wishlist"].added svg,
button[class*="wishlist"].added path,
button[class*="wishlist"].wishlisted svg,
button[class*="wishlist"].wishlisted path,
button[class*="wishlist"][aria-pressed="true"] svg,
button[class*="wishlist"][aria-pressed="true"] path,
a[class*="wishlist"].active svg,
a[class*="wishlist"].active path,
a[class*="wishlist"].is-active svg,
a[class*="wishlist"].is-active path,
a[class*="wishlist"].added svg,
a[class*="wishlist"].added path,
a[class*="wishlist"].wishlisted svg,
a[class*="wishlist"].wishlisted path,
[class*="wishlist"].active svg,
[class*="wishlist"].active path,
[class*="wishlist"].is-active svg,
[class*="wishlist"].is-active path,
[class*="wishlist"].added svg,
[class*="wishlist"].added path,
[class*="wishlist"].wishlisted svg,
[class*="wishlist"].wishlisted path,
.wishlist-button.active svg,
.wishlist-button.active path,
.wishlist-button.is-active svg,
.wishlist-button.is-active path,
.wishlist-button.added svg,
.wishlist-button.added path,
.wishlist-button.wishlisted svg,
.wishlist-button.wishlisted path,
.wk-button.active svg,
.wk-button.active path,
.wk-button.is-active svg,
.wk-button.is-active path,
.wk-button.added svg,
.wk-button.added path,
.wk-button.wishlisted svg,
.wk-button.wishlisted path,
.swym-button.swym-added svg,
.swym-button.swym-added path {
  color: rgb(var(--somarelle-noir)) !important;
  fill: rgb(var(--somarelle-noir)) !important;
  stroke: rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE WISHLIST TOAST LINK HOVER
   "View your Wishlist" hover = Somarelle Noir
   ========================= */

a[href="/pages/wishlist"]:hover,
a[href*="/pages/wishlist"]:hover,
[class*="wishlist"] a[href*="/pages/wishlist"]:hover,
[class*="toast"] a[href*="/pages/wishlist"]:hover,
[class*="notification"] a[href*="/pages/wishlist"]:hover {
  color: rgb(var(--somarelle-noir)) !important;
  text-decoration-color: rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE HEADER WISHLIST NON-HOMEPAGE FIX
   Wishlist stays black/onyx on all pages except homepage
   Desktop + mobile
   ========================= */

body:not(.template-index) .header__icons .header__icon--wishlist,
body:not(.template-index) .header__icons .header__icon--wishlist svg.icon-heart,
body:not(.template-index) .header__icons .header__icon--wishlist svg.icon-heart path {
  color: rgb(var(--somarelle-onyx)) !important;
  stroke: rgb(var(--somarelle-onyx)) !important;
  fill: none !important;
  opacity: 1 !important;
}

/* Prevent wishlist from fading when hovering other header icons on non-homepage pages */
body:not(.template-index) .header__icons:hover .header__icon--wishlist,
body:not(.template-index) .header__icons:hover .header__icon--wishlist:not(:hover),
body:not(.template-index) .header__icons:hover .header__icon--wishlist svg.icon-heart,
body:not(.template-index) .header__icons:hover .header__icon--wishlist svg.icon-heart path {
  color: rgb(var(--somarelle-onyx)) !important;
  stroke: rgb(var(--somarelle-onyx)) !important;
  fill: none !important;
  opacity: 1 !important;
}
/* =========================
   SOMARELLE MOBILE COLLECTION SORT
   Remove border from Sort By dropdown
   ========================= */

@media screen and (max-width: 749px) {
  .mobile-facets__sort .select,
  .mobile-facets__sort .select__select,
  .mobile-facets__sort select,
  .mobile-facets__sort .facet-filters__sort {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  .mobile-facets__sort .select::before,
  .mobile-facets__sort .select::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .mobile-facets__sort .select:hover::before,
  .mobile-facets__sort .select:hover::after,
  .mobile-facets__sort .select:focus-within::before,
  .mobile-facets__sort .select:focus-within::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .mobile-facets__sort .select__select:focus,
  .mobile-facets__sort .select__select:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
  }
}
/* =========================
   SOMARELLE MOBILE FILTER LABEL
   Lighter "Filter and sort" text
   ========================= */

@media screen and (max-width: 749px) {
  .mobile-facets__open,
  .mobile-facets__open-label {
    font-size: var(--font-size-xs) !important;
    font-weight: var(--weight-medium) !important;
    letter-spacing: var(--tracking-label) !important;
  }
}
/* =========================
   SOMARELLE MOBILE DRAWER STICKY HOVER FIX
   Disable grey hover fade on touch/mobile drawer
   ========================= */

@media screen and (max-width: 989px), (hover: none), (pointer: coarse) {
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > a.menu-drawer__menu-item,
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > summary.menu-drawer__menu-item,
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > details > summary.menu-drawer__menu-item,
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > .menu-drawer__menu-item:not(:hover),
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > summary.menu-drawer__menu-item:not(:hover),
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > details > summary.menu-drawer__menu-item:not(:hover),
  html body #menu-drawer .menu-drawer__menu-item,
  html body #menu-drawer summary.menu-drawer__menu-item {
    color: rgb(var(--somarelle-onyx)) !important;
    opacity: 1 !important;
    text-decoration: none !important;
  }

  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > a.menu-drawer__menu-item span,
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > summary.menu-drawer__menu-item span,
  html body #menu-drawer .menu-drawer__navigation .menu-drawer__menu:hover > li > details > summary.menu-drawer__menu-item span,
  html body #menu-drawer .menu-drawer__menu-item span,
  html body #menu-drawer summary.menu-drawer__menu-item span {
    color: inherit !important;
    opacity: 1 !important;
  }

  html body #menu-drawer .menu-drawer__menu-item svg,
  html body #menu-drawer summary.menu-drawer__menu-item svg,
  html body #menu-drawer .menu-drawer__menu-item path,
  html body #menu-drawer summary.menu-drawer__menu-item path {
    color: rgb(var(--somarelle-onyx)) !important;
    stroke: rgb(var(--somarelle-onyx)) !important;
    opacity: 1 !important;
  }

  /* Footer utility links should also not stay grey on mobile */
  html body #menu-drawer .menu-drawer__utility-links:hover a:not(:hover):not(.button),
  html body #menu-drawer .menu-drawer__utility-links:hover button:not(:hover):not(.button),
  html body #menu-drawer .menu-drawer__utility-links a,
  html body #menu-drawer .menu-drawer__utility-links button {
    color: rgb(var(--somarelle-onyx)) !important;
    opacity: 1 !important;
  }
}
/* =========================
   SOMARELLE COLLECTION FILTER WEIGHT
   Desktop filter labels = small/regular weight
   ========================= */

@media screen and (min-width: 750px) {
  .template-collection .facets__summary,
  .template-collection .facets__summary span,
  .template-collection .facets__heading,
  .template-collection .facets__display,
  .template-collection .facets__wrapper summary {
    font-weight: var(--weight-regular) !important;
    text-transform: none !important;
  }
}
/* Somarelle: keep English storefront layout LTR */
html[lang^="en"],
html[lang^="en"] body {
  direction: ltr !important;
}

html[lang^="en"] .header,
html[lang^="en"] .header-wrapper,
html[lang^="en"] .somarelle-header-left-actions,
html[lang^="en"] .header__icons,
html[lang^="en"] .product,
html[lang^="en"] .product__info-wrapper,
html[lang^="en"] .product__media-wrapper,
html[lang^="en"] .product__info-container,
html[lang^="en"] .product-form,
html[lang^="en"] .collection,
html[lang^="en"] .facets,
html[lang^="en"] .footer,
html[lang^="en"] .menu-drawer,
html[lang^="en"] .drawer,
html[lang^="en"] cart-drawer,
html[lang^="en"] .cart-drawer,
html[lang^="en"] [class*="kaching" i],
html[lang^="en"] [id*="kaching" i] {
  direction: ltr !important;
}
/* Somarelle: Arabic text only, keep full store layout LTR */
html[lang^="ar"],
html[lang^="ar"] body {
  direction: ltr !important;
}

/* Keep all major layout areas LTR so the store does not flip */
html[lang^="ar"] .header,
html[lang^="ar"] .header-wrapper,
html[lang^="ar"] .somarelle-header-left-actions,
html[lang^="ar"] .header__icons,
html[lang^="ar"] .product,
html[lang^="ar"] .product__info-wrapper,
html[lang^="ar"] .product__media-wrapper,
html[lang^="ar"] .product__info-container,
html[lang^="ar"] .product-form,
html[lang^="ar"] .collection,
html[lang^="ar"] .facets,
html[lang^="ar"] .footer,
html[lang^="ar"] .menu-drawer,
html[lang^="ar"] .drawer,
html[lang^="ar"] cart-drawer,
html[lang^="ar"] .cart-drawer,
html[lang^="ar"] [class*="kaching" i],
html[lang^="ar"] [id*="kaching" i] {
  direction: ltr !important;
}

/* Let Arabic text read RTL without flipping the layout */
html[lang^="ar"] h1,
html[lang^="ar"] h2,
html[lang^="ar"] h3,
html[lang^="ar"] h4,
html[lang^="ar"] p,
html[lang^="ar"] span,
html[lang^="ar"] label,
html[lang^="ar"] legend,
html[lang^="ar"] a,
html[lang^="ar"] button,
html[lang^="ar"] .product__title,
html[lang^="ar"] .product__description,
html[lang^="ar"] .product__text,
html[lang^="ar"] .cart-item__name,
html[lang^="ar"] .menu-drawer__menu-item,
html[lang^="ar"] [class*="kaching" i] span,
html[lang^="ar"] [class*="kaching" i] p,
html[lang^="ar"] [class*="kaching" i] div {
  unicode-bidi: plaintext;
}

/* Keep prices, currency, quantities and variant controls LTR */
html[lang^="ar"] .price,
html[lang^="ar"] .quantity,
html[lang^="ar"] .quantity__input,
html[lang^="ar"] .product-form__input,
html[lang^="ar"] .variant-radios,
html[lang^="ar"] .bacurr-cur-block,
html[lang^="ar"] .cart-count-bubble,
html[lang^="ar"] .money {
  direction: ltr !important;
  unicode-bidi: normal !important;
}
/* =========================
   SOMARELLE MOBILE PRODUCT IMAGE MODAL
   Open image in normal fit view, not zoomed
   ========================= */

@media screen and (max-width: 749px) {
  .product-media-modal__dialog {
    align-items: center !important;
    justify-content: center !important;
  }

  .product-media-modal__content {
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 6rem 1.6rem 2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .product-media-modal__content > *,
  .product-media-modal__content .media,
  .product-media-modal__content img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - 9rem) !important;
    object-fit: contain !important;
    margin: auto !important;
  }

  .product-media-modal__content img {
    display: block !important;
  }
}
/* =========================
   SOMARELLE MOBILE PRODUCT IMAGE MODAL V2
   Keep full-size image view, but fit inside screen
   ========================= */

@media screen and (max-width: 749px) {
  .product-media-modal__dialog {
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  .product-media-modal__content {
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 6.5rem 1.6rem 2rem !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scroll-snap-type: y mandatory !important;
  }

  .product-media-modal__content > * {
    width: 100% !important;
    max-width: 100% !important;
    min-height: calc(100dvh - 9rem) !important;
    max-height: calc(100dvh - 9rem) !important;
    margin: 0 auto 2rem !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    scroll-snap-align: start !important;
    overflow: hidden !important;
  }

  .product-media-modal__content img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 9rem) !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: auto !important;
  }

  .product-media-modal__content .media {
    background: transparent !important;
  }
}
/* =========================
   SOMARELLE WISHLIST SHOP LABEL
   Force SHOP text to follow Noir hover state
   ========================= */

body .wishlist-page .wishlist-card__cart:hover .wishlist-card__cart-label,
body .wishlist-page .wishlist-card__cart:focus-visible .wishlist-card__cart-label {
  color: rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE DRAWER LANGUAGE DROPDOWN
   Hover: Noir text, clean white background
   ========================= */

#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__link,
#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__item,
#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__link span {
  color: rgb(var(--somarelle-onyx)) !important;
}

#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__link:hover,
#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__link:focus-visible,
#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__item:hover .disclosure__link,
#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__item:hover .disclosure__link span {
  color: rgb(var(--somarelle-noir)) !important;
  background: transparent !important;
  text-decoration: none !important;
}

#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__link[aria-current="true"],
#menu-drawer .drawer-footer-localization form[id*="Language"] .disclosure__link[aria-current="true"] span {
  color: rgb(var(--somarelle-noir)) !important;
}
/* =========================
   SOMARELLE UAE SECTION
   White elevated card style
   ========================= */
.section-{{ section.id }}-padding .bis-uae-card,
.section-{{ section.id }}-padding .bis-uae-image,
.section-{{ section.id }}-padding .bis-uae-panel {
  background: #ffffff;
  border-radius: 2.4rem;
  border: 0.1rem solid rgba(18, 18, 18, 0.06);
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
/* Hide Judge.me empty review message: "No items found" */
.jdgm-empty-state {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* =========================
   SOMARELLE IMAGE LOADING PLACEHOLDER
   Remove beige/grey loading blocks on product cards
   ========================= */

.card__media,
.card__media .media,
.card-wrapper .media,
.product-card-wrapper .media,
.collection .media,
.featured-collection .media,
.slider__slide .media {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* If Shopify placeholder SVG appears before image loads */
.card__media .placeholder-svg,
.card-wrapper .placeholder-svg,
.product-card-wrapper .placeholder-svg {
  background: #ffffff !important;
  color: rgba(22, 18, 26, 0.12) !important;
}
/* =========================
   SOMARELLE PRODUCT ACCORDION DETAILS ICON
   ========================= */

.product__accordion .accordion__custom-icon--details {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.product__accordion .accordion__custom-icon--details svg {
  width: 3rem;
  height: 3rem;
  display: block;
}

.product__accordion .accordion__custom-icon--details svg path {
  stroke: currentColor;
}

.product__accordion .accordion__custom-icon--details svg path[fill] {
  fill: currentColor;
}
/* =========================
   SOMARELLE PRODUCT CUSTOM TABS TEXT
   Details + Care Instructions
   ========================= */

/* Tab titles: Details / Care Instructions */
[class*="button-template"][class*="custom_tabs_GL8hxd"] > div {
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.01em !important;
}

/* Open tab body text */
[class*="answer-template"][class*="custom_tabs_GL8hxd"],
[class*="answer-template"][class*="custom_tabs_GL8hxd"] p,
[class*="answer-template"][class*="custom_tabs_GL8hxd"] strong,
[class*="answer-template"][class*="custom_tabs_GL8hxd"] li {
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0.01em !important;
}

/* Keep bold text controlled but not too heavy */
[class*="answer-template"][class*="custom_tabs_GL8hxd"] strong {
  font-weight: 500 !important;
}

/* Mobile refinement */
@media screen and (max-width: 749px) {
  [class*="button-template"][class*="custom_tabs_GL8hxd"] > div {
    font-size: 16px !important;
    font-weight: 400 !important;
  }

  [class*="answer-template"][class*="custom_tabs_GL8hxd"],
  [class*="answer-template"][class*="custom_tabs_GL8hxd"] p,
  [class*="answer-template"][class*="custom_tabs_GL8hxd"] strong,
  [class*="answer-template"][class*="custom_tabs_GL8hxd"] li {
    font-size: 14.5px !important;
    font-weight: 300 !important;
    line-height: 1.65 !important;
  }
}

/* ================================
   SOMARELLE MOBILE HOMEPAGE HEADER
   Final override: full white header row
================================ */
@media screen and (max-width: 749px) {
  body.template-index .section-header,
  body.template-index sticky-header.header-wrapper--overlay-home.is-homepage-header,
  body.template-index div.header-wrapper--overlay-home.is-homepage-header {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.template-index .header-wrapper--overlay-home.is-homepage-header .header,
  body.template-index .header.is-homepage-header-inner {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    height: 80px !important;
    min-height: 80px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }

  body.template-index .header-wrapper--overlay-home.is-homepage-header,
  body.template-index .header-wrapper--overlay-home.is-homepage-header * {
    color: #111 !important;
  }

  body.template-index .header-wrapper--overlay-home.is-homepage-header svg,
  body.template-index .header-wrapper--overlay-home.is-homepage-header svg path {
    stroke: currentColor !important;
  }

  body.template-index .header__heading-logo {
    filter: none !important;
  }
}
.premium-video-hero__button,
.premium-video-hero__button:hover,
.premium-video-hero__button:focus,
.premium-video-hero__button:visited {
  text-decoration: none !important;
}