/** Shopify CDN: Minification failed

Line 49:3 Unexpected "01."
Line 157:3 Unexpected "04."
Line 231:3 Unexpected "05."
Line 385:3 Unexpected "06."
Line 565:3 Unexpected "07."
Line 1045:3 Unexpected "08."
Line 1051:63 Expected "}" to go with "{"

**/
/* =========================================================
   THE ROOT OF POSITIVITY
   CUSTOM BOUTIQUE STYLESHEET
   /* ========================================================= THE ROOT OF POSITIVITY Global Boutique Foundation ========================================================= */ /* Smoother site-wide movement */
html {
  scroll-behavior: smooth;
} /* Improve body-copy readability */
body {
  letter-spacing: 0.01em;
} /* Refined heading rhythm */
h1,
h2,
h3,
.h0,
.h1,
.h2,
.h3 {
  letter-spacing: 0.015em;
  line-height: 1.12;
} /* Comfortable paragraph reading width */
.rte p {
  line-height: 1.75;
} /* Elegant text-link treatment */
a:not(.button):not(.full-unstyled-link) {
  text-underline-offset: 0.25rem;
  text-decoration-thickness: 0.08rem;
  transition: color 180ms ease, text-decoration-color 180ms ease;
} /* Preserve visible keyboard focus for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

   01. Global Foundation
   02. Buttons
   03. Header & Announcement Bar
   /* =========================================================
   03. HEADER & ANNOUNCEMENT BAR
   ========================================================= */

.header {
  transition:
    background-color 220ms ease,
    box-shadow 220ms ease;
}

/* Desktop navigation */
.header__inline-menu .list-menu__item {
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.header__menu-item span {
  text-underline-offset: 0.4rem;
  text-decoration-thickness: 0.08rem;
  transition:
    color 180ms ease,
    text-decoration-color 180ms ease;
}

.header__menu-item:hover span {
  text-decoration: underline;
}

/* Refined sticky-header separation */
.shopify-section-header-sticky .header-wrapper {
  box-shadow: 0 1px 0 rgba(18, 18, 18, 0.08);
}

/* Announcement bar */
.announcement-bar__message {
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

/* Keep mobile navigation comfortable and readable */
@media screen and (max-width: 989px) {
  .menu-drawer__menu-item {
    letter-spacing: 0.04em;
  }
}/* =========================================================
   HEADER HEIGHT REFINEMENT
   ========================================================= */

.header-wrapper .header {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}

@media screen and (min-width: 990px) {
  .header-wrapper .header {
    min-height: auto;
  }
}

@media screen and (max-width: 989px) {
  .header-wrapper .header {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
  }
/* =========================================================
   ALWAYS-VISIBLE STICKY HEADER
   Announcement bar scrolls away; main header remains visible
   ========================================================= */

.shopify-section-header {
  z-index: 10;
}

.shopify-section-header-sticky {
  position: sticky !important;
  top: 0 !important;
  width: 100%;
  box-shadow: 0 4px 18px rgba(35, 45, 38, 0.08);
  border-bottom: 1px solid rgba(35, 45, 38, 0.08);
}

/* Prevent Dawn from hiding the header while scrolling down */
.shopify-section-header-hidden,
.shopify-section-header-hidden .header-wrapper {
  transform: translateY(0) !important;
}

/* Keep the header settled at the top */
.shopify-section-header.animate {
  transition:
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

.shopify-section-header-sticky .header-wrapper {
  background: rgb(var(--color-background));
}
   04. Image Banners
   /* =========================================================
   04. IMAGE BANNERS
   ========================================================= */

/* Keep banner text comfortably readable */
.banner__box {
  max-width: 58rem;
}

/* Refined heading spacing */
.banner__heading {
  margin-bottom: 1.2rem;
}

/* Calm, readable supporting copy */
.banner__text {
  max-width: 48rem;
}

.banner__text p {
  line-height: 1.65;
}

/* Balanced space between text and buttons */
.banner__buttons {
  margin-top: 2.2rem;
  gap: 1.2rem;
}

/* Slightly soften text panels when an overlay box is enabled */
.banner__box.content-container {
  padding: 3.2rem;
}

/* Preserve clear image focus on larger screens */
@media screen and (min-width: 750px) {
  .banner--large:not(.banner--adapt) {
    min-height: 64rem;
  }

  .banner--medium:not(.banner--adapt) {
    min-height: 52rem;
  }

  .banner__content {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

/* Mobile banner refinement */
@media screen and (max-width: 749px) {
  .banner__box,
  .banner__box.content-container {
    padding: 2.4rem 2rem;
  }

  .banner__heading {
    margin-bottom: 1rem;
  }

  .banner__text p {
    line-height: 1.6;
  }

  .banner__buttons {
    margin-top: 1.8rem;
  }

  .banner__buttons .button {
    width: 100%;
  }
}
   05. Product Cards
   /* =========================================================
   05. PRODUCT CARDS
   ========================================================= */

/* Give each product card a calm, editorial rhythm */
.card-wrapper {
  height: 100%;
}

.card {
  height: 100%;
}

/* Refined image movement */
.card__media .media img {
  transition:
    transform 420ms ease,
    opacity 300ms ease;
}

@media (hover: hover) {
  .card-wrapper:hover .card__media .media img {
    transform: scale(1.025);
  }
}

/* Keep product information comfortably spaced */
.card__information {
  padding-top: 1.6rem;
  padding-bottom: 0.8rem;
}

/* Product title */
.card__heading {
  margin-bottom: 0.7rem;
  line-height: 1.3;
}

.card__heading a {
  text-decoration: none;
  transition: opacity 180ms ease;
}

@media (hover: hover) {
  .card__heading a:hover {
    opacity: 0.72;
  }
}

/* Product price */
.card-information > .price {
  margin-top: 0.5rem;
}

.card-information .price {
  font-size: 1.5rem;
  line-height: 1.4;
}

/* Sale and sold-out badges */
.card__badge .badge {
  padding: 0.7rem 1rem;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Prevent the card from feeling crowded */
.card--standard > .card__content .card__information {
  padding-left: 0;
  padding-right: 0;
}

/* Mobile product-card refinement */
@media screen and (max-width: 749px) {
  .card__information {
    padding-top: 1.2rem;
  }

  .card__heading {
    font-size: 1.5rem;
  }

  .card-information .price {
    font-size: 1.4rem;
  }

  .card__badge .badge {
    padding: 0.6rem 0.8rem;
    font-size: 0.9rem;
  }
}/* =========================================================
   PRODUCT CARD TYPOGRAPHY REFINEMENT
   ========================================================= */

/* Create consistent spacing beneath product images */
.card--standard > .card__content .card__information {
  padding-top: 1.8rem;
}

/* Give titles a refined, readable hierarchy */
.card__heading {
  margin-top: 0;
  margin-bottom: 0.7rem;
  line-height: 1.35;
}

.card__heading a {
  font-weight: 500;
  letter-spacing: 0.012em;
}

/* Keep product titles visually aligned across desktop rows */
@media screen and (min-width: 750px) {
  .product-grid .card__heading {
    min-height: 2.7em;
  }
}

/* Refine the price without making it feel aggressive */
.card-information .price {
  margin-top: 0.3rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.035em;
}

/* Keep compare-at prices secondary */
.card-information .price--on-sale .price-item--regular {
  opacity: 0.62;
}

/* Gentle spacing for vendor or supporting information */
.card-information > *:not(.visually-hidden:first-child) + * {
  margin-top: 0.5rem;
}

/* Mobile cards need less forced alignment */
@media screen and (max-width: 749px) {
  .card--standard > .card__content .card__information {
    padding-top: 1.3rem;
  }

  .product-grid .card__heading {
    min-height: 0;
  }

  .card-information .price {
    font-size: 1.4rem;
  }
}
   06. Collection Pages
   /* =========================================================
   06. COLLECTION PAGES
   ========================================================= */

/* Refine collection title area */
.template-collection .collection-hero__inner {
  padding-top: 5rem;
  padding-bottom: 2.5rem;
}

.template-collection .collection-hero__title {
  margin-bottom: 1.4rem;
}

/* Keep collection descriptions comfortably readable */
.template-collection .collection-hero__description {
  max-width: 72rem;
  line-height: 1.7;
}

/* Reduce excess space above filtering controls */
.template-collection .facets-container {
  padding-top: 1rem;
  padding-bottom: 2.5rem;
}

/* Give the product grid a balanced editorial rhythm */
.template-collection .product-grid {
  row-gap: 4.2rem;
}

/* Keep titles and prices visually connected */
.template-collection .card__information {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.template-collection .card__heading {
  margin-bottom: 0.8rem;
  line-height: 1.35;
}

/* Prevent short titles from making price rows feel uneven */
@media screen and (min-width: 750px) {
  .template-collection .card__heading {
    min-height: 2.7em;
  }
}

/* Refined collection price spacing */
.template-collection .card-information > .price {
  margin-top: auto;
  padding-top: 0.2rem;
}

/* Tighten the space before pagination */
.template-collection .pagination-wrapper {
  margin-top: 5rem;
  margin-bottom: 3rem;
}

/* Quiet pagination styling */
.template-collection .pagination__item {
  text-decoration: none;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

@media (hover: hover) {
  .template-collection .pagination__item:hover {
    opacity: 0.65;
    transform: translateY(-1px);
  }
}

/* Mobile collection refinement */
@media screen and (max-width: 749px) {
  .template-collection .collection-hero__inner {
    padding-top: 3.2rem;
    padding-bottom: 1.8rem;
  }

  .template-collection .facets-container {
    padding-top: 0.5rem;
    padding-bottom: 2rem;
  }

  .template-collection .product-grid {
    row-gap: 3rem;
  }

  .template-collection .card__heading {
    min-height: 0;
    font-size: 1.45rem;
  }

  .template-collection .pagination-wrapper {
    margin-top: 3.5rem;
    margin-bottom: 2rem;
  }
}/* =========================================================
   COLLECTION PAGE EDITORIAL REFINEMENT
   ========================================================= */

/* Collection title */
.collection-hero__title,
.collection-hero .title {
  margin-bottom: 0.8rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

/* Collection description */
.collection-hero__description,
.collection-hero .rte {
  max-width: 42rem;
  line-height: 1.8;
  margin-bottom: 3rem;
  opacity: 0.9;
}

/* Space before the product grid */
.product-grid-container {
  margin-top: 1.5rem;

}/* Mobile refinement */
@media screen and (max-width: 749px) {
  .collection-hero__description,
  .collection-hero .rte {
    margin-bottom: 2.2rem;
  }

  .product-grid-container {
    margin-top: 1rem;
  }
}
/* =========================================================
   COLLECTION PAGE — PRODUCT GRID RHYTHM
   ========================================================= */

/* More intentional spacing between product rows */
.collection .grid,
.product-grid {
  row-gap: 4rem;
}

/* Slightly calmer spacing inside each product card */
.collection .card__content,
.product-grid .card__content {
  padding-top: 1.4rem;
}

/* Product title spacing */
.collection .card__heading,
.product-grid .card__heading {
  margin-bottom: 0.5rem;
  line-height: 1.35;
}

/* Price spacing */
.collection .price,
.product-grid .price {
  margin-top: 0.35rem;
}

/* Keep grid spacing comfortable on mobile */
@media screen and (max-width: 749px) {
  .collection .grid,
  .product-grid {
    row-gap: 3rem;
  }

  .collection .card__content,
  .product-grid .card__content {
    padding-top: 1.1rem;
  }
}
   07. Product Pages
   /* =========================================================
   07. PRODUCT PAGES
   ========================================================= */

/* Balanced spacing between media and product information */
.template-product .product {
  align-items: flex-start;
  column-gap: 5rem;
}

/* Refined collection label */
.template-product .product__text.caption-with-letter-spacing {
  margin-bottom: 0.6rem;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

/* Product title */
.template-product .product__title {
  margin-bottom: 1.6rem;
}

.template-product .product__title h1 {
  line-height: 1.08;
  letter-spacing: 0.01em;
}

/* Subtitle and supporting product text */
.template-product .product__info-container > .product__text:not(.caption-with-letter-spacing) {
  max-width: 52rem;
  margin-top: 0;
  margin-bottom: 1.8rem;
  line-height: 1.65;
}

/* Price */
.template-product .price {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}

.template-product .price .price-item {
  letter-spacing: 0.035em;
}

/* Hide generic shipping and installment language */
.template-product .product__tax,
.template-product .shopify-installments {
  display: none;
}

/* Keep purchase controls visually grouped */
.template-product .product-form {
  margin-top: 2rem;
  margin-bottom: 2.6rem;
}

.template-product .product-form__buttons {
  max-width: 100%;
}

/* Product description */
.template-product .product__description {
  max-width: 56rem;
  margin-top: 3rem;
  line-height: 1.75;
}

.template-product .product__description p {
  margin-top: 0;
  margin-bottom: 1.7rem;
}

.template-product .product__description h2,
.template-product .product__description h3 {
  margin-top: 3rem;
  margin-bottom: 1.4rem;
  line-height: 1.2;
}

.template-product .product__description ul {
  margin-top: 1rem;
  margin-bottom: 2.6rem;
  padding-left: 2.2rem;
}

.template-product .product__description li {
  margin-bottom: 0.7rem;
  line-height: 1.6;
}

/* Accordions */
.template-product .product__accordion {
  margin-top: 0;
  border-top: 0.1rem solid rgba(var(--color-foreground), 0.12);
}

.template-product .product__accordion summary {
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
}

.template-product .product__accordion .accordion__title {
  font-size: 1.7rem;
  letter-spacing: 0.015em;
}

.template-product .product__accordion .accordion__content {
  padding-bottom: 2rem;
  line-height: 1.7;
}

/* Related products */
.template-product .related-products {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.template-product .related-products__heading {
  margin-bottom: 3rem;
}

/* Mobile product-page refinement */
@media screen and (max-width: 749px) {
  .template-product .product {
    column-gap: 0;
  }

  .template-product .product__info-wrapper {
    padding-top: 2.8rem;
  }

  .template-product .product__title {
    margin-bottom: 1.2rem;
  }

  .template-product .product__description {
    margin-top: 2.4rem;
    line-height: 1.7;
  }

  .template-product .product__description h2,
  .template-product .product__description h3 {
    margin-top: 2.4rem;
  }

  .template-product .product__accordion summary {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }

  .template-product .related-products {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}/* =========================================================
   PRODUCT PAGE PURCHASE AREA
   ========================================================= */

/* Quantity selector */
.template-product .product-form__quantity {
  margin-top: 1.8rem;
  margin-bottom: 1.8rem;
}

.template-product .quantity {
  min-height: 4.8rem;
}

.template-product .quantity__input {
  font-size: 1.5rem;
}

/* Primary Add to Cart button */
.template-product .product-form__submit {
  min-height: 5.2rem;
  margin-bottom: 0;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

/* Give purchase controls one cohesive footprint */
.template-product .product-form__buttons {
  width: 100%;
  max-width: 52rem;
}

/* Refine sold-out and unavailable states */
.template-product .product-form__submit[disabled] {
  opacity: 0.55;
}

/* Keep errors readable without feeling harsh */
.template-product .product-form__error-message-wrapper {
  margin-top: 1.2rem;
  line-height: 1.5;
}

/* Product media corners and subtle depth */
.template-product .product__media {
  overflow: hidden;
}

.template-product .product__media img {
  transition: transform 420ms ease;
}

@media (hover: hover) {
  .template-product .product__media-toggle:hover + .product__media img,
  .template-product .product__media:hover img {
    transform: scale(1.012);
  }
}

/* Mobile purchase controls */
@media screen and (max-width: 749px) {
  .template-product .product-form__buttons {
    max-width: 100%;
  }

  .template-product .product-form__submit {
    min-height: 5rem;
    font-size: 1.1rem;
    letter-spacing: 0.09em;
  }
}/* =========================================================
   ROOT REFLECTION
   ========================================================= */

.template-product .root-reflection {
  position: relative;
  margin: 3.2rem 0 2.4rem;
  padding: 2.6rem 2.8rem;
  border-top: 1px solid rgba(var(--color-foreground), 0.16);
  border-bottom: 1px solid rgba(var(--color-foreground), 0.16);
  background: rgba(var(--color-foreground), 0.025);
}

.template-product .root-reflection__label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
  font-family: var(--font-heading-family);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.template-product .root-reflection__label span {
  font-size: 1.1rem;
  opacity: 0.72;
}

.template-product .root-reflection p {
  max-width: 58rem;
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: 0.01em;
  opacity: 0.84;
}

@media screen and (max-width: 749px) {
  .template-product .root-reflection {
    margin-top: 2.6rem;
    padding: 2.2rem 1.8rem;
  }

  .template-product .root-reflection__label {
    font-size: 1.35rem;
  }

  .template-product .root-reflection p {
    font-size: 1.4rem;
  }
}/* =========================================================
   EDITORIAL PRODUCT ACCORDIONS
   ========================================================= */

.template-product .product__accordion {
  margin-top: 0;
  margin-bottom: 0;
  border-top: 1px solid rgba(var(--color-foreground), 0.16);
  border-bottom: 0;
}

.template-product .product__accordion:last-of-type {
  border-bottom: 1px solid rgba(var(--color-foreground), 0.16);
}

.template-product .product__accordion summary {
  min-height: 6.2rem;
  padding: 1.8rem 0.4rem;
}

.template-product .product__accordion summary:hover {
  background: transparent;
}

.template-product .product__accordion .summary__title {
  align-items: center;
  gap: 1rem;
}

.template-product .product__accordion .summary__title::before {
  content: "✦";
  flex: 0 0 auto;
  font-size: 1rem;
  opacity: 0.62;
}

.template-product .product__accordion .accordion__title {
  font-family: var(--font-heading-family);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.template-product .product__accordion summary .icon-caret {
  width: 1.1rem;
  height: 1.1rem;
  transition: transform 260ms ease;
}

.template-product
  .product__accordion
  details[open]
  > summary
  .icon-caret {
  transform: rotate(180deg);
}

.template-product .product__accordion .accordion__content {
  padding: 0.2rem 0.4rem 2.5rem 2.4rem;
  font-size: 1.5rem;
  line-height: 1.75;
}

.template-product .product__accordion .accordion__content p:first-child {
  margin-top: 0;
}

.template-product .product__accordion .accordion__content p:last-child {
  margin-bottom: 0;
}

.template-product .product__accordion .accordion__content ul {
  margin: 0.8rem 0 0;
  padding-left: 1.8rem;
}

.template-product .product__accordion .accordion__content li {
  margin-bottom: 0.65rem;
  padding-left: 0.3rem;
}

@media screen and (max-width: 749px) {
  .template-product .product__accordion summary {
    min-height: 5.6rem;
    padding: 1.6rem 0.2rem;
  }

  .template-product .product__accordion .accordion__title {
    font-size: 1.35rem;
    letter-spacing: 0.05em;
  }

  .template-product .product__accordion .accordion__content {
    padding: 0 0.2rem 2.2rem 1.9rem;
    font-size: 1.4rem;
  }
}
/* =========================================================
   WHY WE CHOSE THIS — EDITORIAL REFINEMENT
   ========================================================= */

/* Targets the product block containing the heading */
.product__info-container
  .product__text:has(+ .rte),
.product__info-container
  .product__text + .rte {
  position: relative;
}

/* Editorial wrapper effect */
.product__info-container
  .product__text:has(+ .rte) {
  margin-top: 3rem;
  padding-top: 2.2rem;
  border-top: 1px solid rgba(35, 45, 38, 0.14);
}

/* Heading treatment */
.product__info-container
  .product__text:has(+ .rte) {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

/* Body copy */
.product__info-container
  .product__text:has(+ .rte) + .rte {
  padding-bottom: 2.2rem;
  border-bottom: 1px solid rgba(35, 45, 38, 0.14);
  line-height: 1.8;
}

/* Clean first and last paragraph spacing */
.product__info-container
  .product__text:has(+ .rte) + .rte > *:first-child {
  margin-top: 0;
}

.product__info-container
  .product__text:has(+ .rte) + .rte > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 749px) {
  .product__info-container
    .product__text:has(+ .rte) {
    margin-top: 2.5rem;
    padding-top: 1.8rem;
    font-size: 1rem;
  }

  .product__info-container
    .product__text:has(+ .rte) + .rte {
    padding-bottom: 1.8rem;
  }
}/* =========================================================
   PRODUCT PURCHASE AREA HIERARCHY
   ========================================================= */

/* Price */
.product__info-container .price {
  margin-top: 1.2rem;
  margin-bottom: 0.35rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Price numbers */
.product__info-container .price-item {
  letter-spacing: 0.015em;
}

/* Free shipping / tax text */
.product__info-container .product__tax {
  margin-top: 0;
  margin-bottom: 1.8rem;
  opacity: 0.82;
}

/* Quantity selector spacing */
.product__info-container .product-form__quantity {
  margin-bottom: 1rem;
}

/* Add to Cart area */
.product__info-container .product-form__buttons {
  margin-top: 0.5rem;
}

/* Shop Pay / dynamic checkout spacing */
.product__info-container .shopify-payment-button {
  margin-top: 1rem;
}
   08. Accordions
   09. Image with Text
   10. Footer & Newsletter
   11. Motion
   12. Mobile

   ========================================================= */