/** Shopify CDN: Minification failed

Line 583:0 Unexpected "}"

**/
/* ============================================================
   neutriherbs.css
   Global brand polish layer for Neutriherbs (Dawn 15.4.1)
   Loaded LAST in <head> so it refines Dawn defaults.
   Rules: never set font-family (Avenir is global),
          never add border-radius (sharp corners everywhere).
   ============================================================ */

:root {
  --neu-pink: rgb(253, 75, 146);
  --neu-pink-dark: rgb(214, 47, 116);
  --neu-canvas: rgb(255, 246, 248);
  --neu-ink: #1a1a1a;
}

/* ------------------------------------------------------------
   1. Typography rhythm
   ------------------------------------------------------------ */
body {
  line-height: 1.7;
  color: var(--neu-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Heading weight var lifted off the old 400, but kept soft (700 was too aggressive) */
body {
  --font-heading-weight: 600;
}

h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5 {
  line-height: 1.14;
  letter-spacing: -0.01em;
  color: var(--neu-ink);
  font-weight: 600;
}

/* Gentle hierarchy — leans on size, not heavy weight */
h1, .h0, .h1 { letter-spacing: -0.02em; font-weight: 700; }
h2, .h2 { font-weight: 600; font-size: clamp(4rem, 3rem + 2.5vw, 5.6rem) !important; line-height: 1.12; }

/* Pagination dots — round (override global sharp-corners); active = filled pink dot, not a bar */
.neu-tabs__dot,
.neu-usps__dot,
.neu-hero__dot {
  border-radius: 50% !important;
  width: 9px !important;
  height: 9px !important;
}
.neu-tabs__dot.is-active,
.neu-usps__dot.is-active,
.neu-hero__dot.is-active {
  width: 11px !important;
  height: 11px !important;
  border-radius: 50% !important;
}
h3, .h3 { font-weight: 600; }
h4, h5, h6, .h4, .h5 { font-weight: 500; }

/* Navigation — give the menu real presence (was thin/anonymous) */
.header__menu-item,
.header__active-menu-item,
summary.header__menu-item span,
.header__menu-item span {
  font-weight: 600;
  letter-spacing: 0.01em;
}
.mega-menu__link--level-2,
.header__submenu .header__menu-item { font-weight: 500; }
.mega-menu .mega-menu__list > li > .mega-menu__link { font-weight: 600; }

/* Slightly larger, more editorial section titles */
.title,
.section-header__title,
.title-wrapper-with-link .title {
  line-height: 1.1;
  letter-spacing: -0.015em;
}

p { line-height: 1.7; }

/* Refined uppercase small labels */
.caption,
.caption-with-letter-spacing,
.product__text.caption-with-letter-spacing,
.card__badge .badge,
.product-form__label,
.form__label {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.74rem;
}

/* ------------------------------------------------------------
   2. Buttons — clean, confident, square
   ------------------------------------------------------------ */
.button,
.shopify-payment-button__button--unbranded,
button.shopify-payment-button__button--unbranded {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.82rem;
  padding: 1.05rem 2.4rem;
  border-radius: 0;
  transition: background-color 0.25s ease, color 0.25s ease,
              border-color 0.25s ease, box-shadow 0.25s ease;
}

/* Primary — brand pink, white text */
.button:not(.button--secondary):not(.button--tertiary),
.button--primary,
.shopify-payment-button__button--unbranded {
  background: var(--neu-pink);
  color: #fff;
  border: 1px solid var(--neu-pink);
}

.button:not(.button--secondary):not(.button--tertiary)::after,
.button--primary::after {
  display: none; /* drop Dawn's inset outline animation, keep it clean */
}

.button:not(.button--secondary):not(.button--tertiary):hover,
.button--primary:hover,
.shopify-payment-button__button--unbranded:hover {
  background: var(--neu-pink-dark);
  border-color: var(--neu-pink-dark);
  color: #fff;
  box-shadow: 0 6px 18px rgba(253, 75, 146, 0.28);
}

/* Secondary — outline */
.button--secondary {
  background: transparent;
  color: var(--neu-ink);
  border: 1px solid var(--neu-ink);
  border-radius: 0;
}

.button--secondary::after { display: none; }

.button--secondary:hover {
  background: var(--neu-ink);
  color: #fff;
  border-color: var(--neu-ink);
}

/* Tertiary / text buttons keep accent on hover */
.button--tertiary:hover { color: var(--neu-pink); }

/* ------------------------------------------------------------
   3. Product cards — subtle hover lift + image zoom
   ------------------------------------------------------------ */
.card-wrapper,
.card {
  border-radius: 0;
}

.card--standard .card__inner,
.card--card .card__inner,
.card__media,
.card .media {
  border-radius: 0;
  overflow: hidden;
}

.card-wrapper {
  transition: transform 0.32s ease, box-shadow 0.32s ease;
  will-change: transform;
}

.card-wrapper:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(26, 26, 26, 0.10);
}

/* Image zoom on hover */
.card__media .media img,
.card .media img {
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.card-wrapper:hover .card__media .media img,
.card-wrapper:hover .card .media img {
  transform: scale(1.05);
}

/* Price in near-black */
.price,
.price__regular .price-item,
.price-item--regular {
  color: var(--neu-ink);
}

.price__sale .price-item--sale,
.price--on-sale .price-item--sale {
  color: var(--neu-pink);
}

.card__heading,
.card__heading a {
  letter-spacing: -0.005em;
}

/* ------------------------------------------------------------
   4. Section spacing rhythm + soft pink background utility
   ------------------------------------------------------------ */
.neu-soft-bg {
  background: var(--neu-canvas);
}

/* Gentle breathing room between stacked sections */
.shopify-section + .shopify-section {
  margin-top: 0;
}

/* Editorial section heading treatment */
.section-header,
.title-wrapper--no-top-margin {
  margin-bottom: 1.5rem;
}

.collection .title-wrapper,
.featured-collection .title-wrapper {
  letter-spacing: -0.015em;
}

/* ------------------------------------------------------------
   5. Links + focus states
   ------------------------------------------------------------ */
a:not(.button):not(.card__heading a):not(.full-unstyled-link) {
  color: inherit;
  text-decoration-color: rgba(253, 75, 146, 0.4);
  transition: color 0.2s ease;
}

.rte a,
.article-content a,
a.link,
.link {
  color: var(--neu-pink);
}

.rte a:hover,
a.link:hover,
.link:hover {
  color: var(--neu-pink-dark);
}

/* Accessible focus — visible pink ring, square */
*:focus-visible {
  outline: 2px solid var(--neu-pink);
  outline-offset: 2px;
  border-radius: 0;
}

.button:focus-visible {
  outline: 2px solid var(--neu-pink-dark);
  outline-offset: 3px;
  box-shadow: none;
}

/* Selection color on-brand */
::selection {
  background: var(--neu-pink);
  color: #fff;
}

/* ===== Letter-spacing polish + announcement bar color (added per request) ===== */
.header__menu-item,
.header__active-menu-item,
summary.header__menu-item span,
.header__menu-item span {
  letter-spacing: 0.06em;
}
.button,
.shopify-payment-button__button--unbranded,
.card__heading {
  letter-spacing: 0.04em;
}
/* small editorial breathing room on body copy */
.rte, .product__description, .banner__text { letter-spacing: 0.005em; }

/* Announcement bar — Skinroller style: full-width dark bg, white text, no arrows */
.utility-bar,
.announcement-bar {
  background-color: #1a1a1a !important;
}
.utility-bar,
.announcement-bar,
.announcement-bar a,
.announcement-bar__message,
.announcement-bar__link,
.announcement-bar .announcement-bar__message * {
  color: #ffffff !important;
  text-transform: none !important;
}
.announcement-bar__link:hover { opacity: 0.85; }
/* hide the prev/next arrows; let the message fill the full width (no reserved arrow columns) */
.announcement-bar .slider-button,
.announcement-bar-slider .slider-button,
.announcement-bar__arrow {
  display: none !important;
}
.announcement-bar-slider.slider-buttons {
  display: block !important;
}

/* Logo — horizontal wordmark; desktop uses logo_width setting, mobile capped */
.header__heading-logo { height: auto; max-height: 48px; }
@media screen and (max-width: 749px) {
  .header__heading-logo { width: 120px !important; max-width: 120px !important; }
}

/* Disable all product-card animations on mobile (hover lift, image zoom, transitions) */
@media screen and (max-width: 749px) {
  .card-wrapper,
  .card-wrapper:hover {
    transform: none !important;
    box-shadow: none !important;
    transition: none !important;
  }
  .card__media .media img,
  .card .media img,
  .card-wrapper:hover .card__media .media img,
  .card-wrapper:hover .card .media img {
    transform: none !important;
    transition: none !important;
  }
}

/* ===== White footer ===== */
.footer {
  background-color: #ffffff !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.footer .footer__content-top,
.footer .footer__content-bottom,
.footer__content-bottom {
  border-color: rgba(0, 0, 0, 0.1) !important;
}
.footer,
.footer a,
.footer .footer-block__heading,
.footer .footer-block__details-content,
.footer .rte,
.footer .copyright__content,
.footer .list-menu__item,
.footer .footer__list-social .link,
.footer small,
.footer .localization-form__select,
.footer .disclosure__button {
  color: #1a1a1a !important;
}
.footer a:hover,
.footer .list-menu__item:hover {
  color: var(--neu-pink) !important;
}
.footer .field__input {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
  border-color: rgba(0, 0, 0, 0.3) !important;
}
.footer .field__input::placeholder { color: rgba(0, 0, 0, 0.45) !important; }
.footer .field__label { color: rgba(0, 0, 0, 0.55) !important; }
.footer .newsletter-form__button .icon { color: #1a1a1a !important; }
.footer .payment-icon { filter: none; opacity: 1; }

/* ===== Mega menu (Db-style): natural-width link columns left, promo cards right ===== */
.mega-menu__inner { display: flex; gap: 7rem; align-items: flex-start; }
.mega-menu__list {
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: repeat(2, max-content);
  column-gap: 5.6rem;
  row-gap: 0.2rem;
  margin: 0;
}
.mega-menu__list .mega-menu__link {
  white-space: nowrap;
  font-size: 1.5rem;
  padding: 0.55rem 0;
}
.mega-menu__list .mega-menu__link:hover { color: var(--neu-pink); text-decoration: none; }
.neu-mega-promos {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-end;
  gap: 1.4rem;
  max-width: 620px;
  margin-left: auto;
}
.neu-mega-promo { flex: 1 1 0; text-decoration: none; color: var(--neu-ink); }
.neu-mega-promo__media {
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #f4f1ea;
}
.neu-mega-promo__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.neu-mega-promo:hover .neu-mega-promo__media img { transform: scale(1.05); }
.neu-mega-promo__label { display: block; margin-top: .7rem; font-size: 1.4rem; font-weight: 600; }

/* ===== Header: mobile search next to hamburger + pink cart badge ===== */
@media screen and (max-width: 989px) {
  .header { position: relative; }
  .header > .header__search {
    display: inline-flex;
    position: absolute;
    left: 6rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    grid-area: unset;
  }
  .header > .header__search .header__icon,
  .header > .header__search .header__icon svg {
    color: #1a1a1a;
  }
  .header__icons .header__search { display: none; }
}
@media screen and (min-width: 990px) {
  /* desktop keeps a single search on the right */
  .header > .header__search { display: none; }
}

/* Cart count badge in brand pink */
.cart-count-bubble {
  background-color: var(--neu-pink) !important;
  color: #ffffff !important;
}

/* ===== PDP (Skinroller-style buy column) ===== */
.product__info-container .price .price-item--regular,
.product__info-container .price__regular .price-item {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.product__info-container .price__sale .price-item--sale { font-size: 3.2rem; font-weight: 700; }

/* Stock status with green dot */
.product__inventory {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.3rem;
  font-weight: 600;
}


/* Short intro: pink bullet markers like the reference */
.neu-pdp-short { margin: 0.4rem 0 0.8rem; }
.neu-pdp-short p { font-size: 1.4rem; line-height: 1.7; }
.neu-pdp-short > p:first-child strong { font-size: 1.5rem; }
.neu-pdp-short ul { padding-left: 1.8rem; }
.neu-pdp-short ul li { margin-bottom: 0.6rem; font-size: 1.4rem; }
.neu-pdp-short ul li::marker { color: var(--neu-pink); }

/* PDP USP icon row (box / return / invoice) */
.neu-pdp-usps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(26, 26, 26, 0.08);
}
.neu-pdp-usps__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
}
.neu-pdp-usps__item svg { width: 2.6rem; height: 2.6rem; color: #1a1a1a; }
.neu-pdp-usps__item span { font-size: 1.3rem; color: #1a1a1a; }

/* Buy button full-width and taller */
.product-form__submit { width: 100%; padding-top: 1.4rem; padding-bottom: 1.4rem; font-size: 1.3rem; }


/* ALL buy buttons share one pink primary button style (PDP, quick-add, cards) */
button[name="add"],
.product-form__submit,
.quick-add__submit,
.product-form__submit.button--secondary,
.quick-add__submit.button--secondary {
  background: var(--neu-pink) !important;
  color: #ffffff !important;
  border: 1px solid var(--neu-pink) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}
button[name="add"]:hover,
.product-form__submit:hover,
.quick-add__submit:hover {
  background: var(--neu-pink-dark) !important;
  border-color: var(--neu-pink-dark) !important;
}
button[name="add"]::after,
.product-form__submit::after,
.quick-add__submit::after { display: none !important; }

/* ===== PDP gallery: thumbnails locked to LEFT column (all breakpoints) ===== */
.product--thumbnail media-gallery {
  display: grid;
  grid-template-columns: 6.4rem minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}
@media screen and (min-width: 750px) {
  .product--thumbnail media-gallery { grid-template-columns: 8rem minmax(0, 1fr); gap: 1.2rem; }
  /* thumb = 8rem - 1.6rem = 6.4rem; 4x6.4 + 3x0.8 */
  .product--thumbnail .thumbnail-slider .thumbnail-list.slider { max-height: 28rem; }
}
.product--thumbnail media-gallery > [id^="GalleryViewer"] { grid-column: 2; grid-row: 1; }
.product--thumbnail media-gallery > [id^="GalleryThumbnails"] {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.6rem;
  margin: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.product--thumbnail .thumbnail-slider .thumbnail-list.slider {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
  flex: 0 1 auto;
  min-height: 0;
  /* max 4 thumbs visible: thumb = kolumn 6.4rem - 1.6rem padding = 4.8rem; 4x4.8 + 3x0.8 */
  max-height: 21.6rem;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  padding: 0;
}
.product--thumbnail .thumbnail-list.slider::-webkit-scrollbar { display: none; }
.product--thumbnail .thumbnail-list__item.slider__slide {
  width: 100% !important;
  max-width: 8rem;
  flex: 0 0 auto;
  scroll-snap-align: start;
}
/* Minimal up/down chevrons (Vendre-style, no boxes) */
.product--thumbnail .thumbnail-slider .slider-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 100%;
  height: 2rem;
  background: transparent;
  border: 0;
  color: rgba(26, 26, 26, 0.55);
  cursor: pointer;
  transition: color 0.2s ease;
}
.product--thumbnail .thumbnail-slider .slider-button:hover {
  color: rgb(253, 75, 146);
}
.product--thumbnail .thumbnail-slider .slider-button .icon { width: 1.3rem; height: 1.3rem; }
.product--thumbnail .thumbnail-slider .slider-button--prev .icon { transform: rotate(180deg); }
.product--thumbnail .thumbnail-slider .slider-button--next .icon { transform: rotate(0deg); }
.product--thumbnail .thumbnail-slider .slider-button[disabled] { opacity: 0.3; }

/* Kill the main viewer's arrow + counter row entirely */
.product__media-wrapper [id^="GalleryViewer"] .slider-buttons { display: none !important; }
}

/* Main viewer is NOT a carousel: only the active media shows, switch via thumbnails */
.product--thumbnail [id^="Slider-Gallery"] {
  display: block !important;
  overflow: hidden !important;
}
.product--thumbnail [id^="Slider-Gallery"] > .product__media-item { display: none !important; width: 100% !important; }
.product--thumbnail [id^="Slider-Gallery"] > .product__media-item.is-active { display: block !important; }

/* Benefit badge above title */
.neu-benefit-badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  background: rgba(253, 75, 146, 0.1);
  color: rgb(214, 47, 116);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}

/* Hide sale/sold-out chips next to the price (state shows via strikethrough/button) */
.price__badge-sale,
.price__badge-sold-out { display: none !important; }

/* Balance the PDP gallery: kill Dawn's mobile edge-bleed margins on the viewer */
.product--thumbnail [id^="Slider-Gallery"].slider--mobile,
.product--thumbnail [id^="Slider-Gallery"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
.product--thumbnail [id^="Slider-Gallery"] > .product__media-item {
  padding: 0 !important;
  margin: 0 !important;
}
@media screen and (max-width: 749px) {
  .product--thumbnail media-gallery { width: 100%; }
}

/* 8px breathing room on both sides of the thumbnail column */
.product--thumbnail media-gallery > [id^="GalleryThumbnails"] {
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
}

/* exact snap so no half-cut thumbs */
.product--thumbnail .thumbnail-list.slider { scroll-padding-top: 0; }
.product--thumbnail .thumbnail-list__item.slider__slide { scroll-snap-align: start; }

/* Kill Dawn's slider-mobile-gutter negative margins inside the PDP gallery grid */
.product--thumbnail media-gallery > [id^="GalleryViewer"],
.product--thumbnail media-gallery > [id^="GalleryThumbnails"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Quantity + CTA on one row (inline-block keeps normal flow/margins intact) */
.product__info-container > .product-form__quantity {
  display: inline-block;
  vertical-align: bottom;
  width: 11rem;
  margin: 0 1rem 1.6rem 0;
}
.product__info-container > .product-form__quantity + div {
  display: inline-block;
  vertical-align: bottom;
  width: calc(100% - 12.6rem);
  margin: 0 0 1.6rem;
}
.product__info-container > .product-form__quantity .quantity__label { display: none; }
.product__info-container > .product-form__quantity .quantity { width: 100%; min-height: 4.6rem; }
.product__info-container .product-form { margin: 0 !important; }
.product-form__submit { margin: 0 !important; min-height: 4.6rem; }
.product-form__buttons { margin: 0; }

/* Compact stepper: 36 + 38 + 36 = 110px, CTA takes the rest */
.product__info-container > .product-form__quantity { width: 11rem !important; min-width: 0 !important; }
.product__info-container > .product-form__quantity .quantity { width: 11rem !important; min-width: 0 !important; }
.product__info-container .quantity__input { width: 3.8rem !important; flex: 0 0 3.8rem !important; padding: 0 !important; text-align: center; }
.product__info-container .quantity__button { width: 3.6rem !important; flex: 0 0 3.6rem !important; }
.product__info-container > .product-form__quantity + div { width: calc(100% - 12.6rem) !important; }

/* Align stepper + CTA baselines: hide Dawn's empty helper rows under the input */
.product__info-container .quantity__rules { display: none !important; }
.product__info-container .price-per-item__container { margin: 0 !important; }

/* ===== Desktop gallery: 1x1 hero + 2x2 grid (replaces thumbnails >=750px) ===== */
@media screen and (min-width: 750px) {
  .product--thumbnail media-gallery { display: block; }
  .product--thumbnail media-gallery > [id^="GalleryThumbnails"] { display: none !important; }
  .product--thumbnail [id^="Slider-Gallery"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem;
    overflow: visible !important;
  }
  .product--thumbnail [id^="Slider-Gallery"] > .product__media-item { display: block !important; width: 100% !important; }
  .product--thumbnail [id^="Slider-Gallery"] > .product__media-item:first-child { grid-column: 1 / -1; }
  /* max 5 bilder per PDP (policy) */
  .product--thumbnail [id^="Slider-Gallery"] > .product__media-item:nth-child(n+6) { display: none !important; }
}
