/*
 * Page shells use one 90% wrapper only. Full-width backgrounds remain outside
 * this shell, while page content keeps vertical spacing without side padding.
 */
main.section,
.woocommerce main,
.woocommerce-page main {
  width: 90%;
  max-width: none;
  margin-inline: auto;
  padding: 3rem 0;
}

/* Reference-style mini cart drawer */
.cart-drawer {
  display: flex;
  flex-direction: column;
  width: min(430px, 92vw);
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  background: #fffdf8;
}

.cart-drawer-head {
  flex: 0 0 auto;
  padding: 1.5rem;
  border-bottom: 1px solid var(--line);
}

.cart-drawer-head h2 {
  color: #25212f;
  font: 800 1.45rem/1.2 "Jost", sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cart-drawer-head h2 span {
  color: #592c8d;
}

.cart-drawer .cart-close {
  width: 42px;
  height: 42px;
  background: #fbe3da;
  color: #3d3158;
  box-shadow: none;
}

.cart-drawer-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
}

.cart-drawer .widget_shopping_cart_content {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.cart-drawer .woocommerce-mini-cart__empty-message,
.cart-drawer .woocommerce-mini-cart__empty-message:last-child {
  width:100%;
  margin:0;
  padding:1.5rem;
  color:#6d6479;
  text-align:left!important;
  line-height:1.6;
}

.woocommerce .cart-drawer .woocommerce-mini-cart,
.cart-drawer .woocommerce-mini-cart {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 1.5rem 1.5rem 0 !important;
  overflow-y: auto;
  scrollbar-color: #3d3158 #eee8df;
  scrollbar-width: thin;
}

.woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item,
.cart-drawer .woocommerce-mini-cart-item {
  position: relative;
  min-height: 150px;
  margin: 0 !important;
  padding: 0 0 1.5rem !important;
  border-bottom: 1px solid var(--line);
}

.cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item {
  padding-top: 1.5rem;
}

.cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item img {
  top: 1.5rem;
}

.woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item > a:not(.remove),
.cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
  display: block;
  min-height: 128px;
  padding-left: 128px;
  color: #25212f;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item img,
.cart-drawer .woocommerce-mini-cart-item img {
  position: absolute;
  left: 0;
  top: 0;
  width: 112px !important;
  height: 128px !important;
  max-width: none;
  margin: 0 !important;
  border-radius: 8px;
  object-fit: cover;
}

.cart-drawer .remove {
  right: 0;
  top: auto;
  bottom: 1.55rem;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: #3d3158 !important;
  font-size: 1.25rem;
}

.cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item .remove {
  bottom: 1.55rem;
}

.dawn-mini-item-meta {
  margin: .85rem 2.5rem 0 128px;
}

.dawn-mini-size {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 34px;
  padding: 0 .75rem;
  border: 1px solid var(--line);
  color: #746d7c;
  font-size: .75rem;
}

.dawn-mini-size strong {
  color: #25212f;
}

.dawn-mini-saving {
  display: table;
  margin-top: .65rem;
  padding: .4rem .65rem;
  border-radius: 4px;
  background: #dff4df;
  color: #287a45;
  font-size: .72rem;
  font-weight: 750;
}

.dawn-mini-item-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .8rem;
}

.dawn-mini-quantity {
  display: grid;
  grid-template-columns: 34px 38px 34px;
  min-height: 36px;
  border: 1px solid var(--line);
}

.dawn-mini-qty-btn {
  padding: 0;
  border: 0;
  background: #fff;
  color: #3d3158;
  font-size: 1.15rem;
  cursor: pointer;
}

.dawn-mini-qty-btn:hover {
  background: #fbe3da;
}

.dawn-mini-quantity span {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  font-size: .8rem;
  font-weight: 800;
}

.dawn-mini-line-price {
  color: #25212f;
  font-size: .9rem;
  white-space: nowrap;
}

.cart-drawer .dawn-mini-discount,
.cart-drawer .woocommerce-mini-cart__total {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--line);
  border-bottom: 0;
  background: #fffdf8;
}

.cart-drawer .woocommerce-mini-cart__total {
  font-size: 1rem;
}

.cart-drawer .woocommerce-mini-cart__buttons {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0 1.5rem 1rem;
  background: #fffdf8;
}

.cart-drawer .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
  display: none;
}

.cart-drawer .woocommerce-mini-cart__buttons .checkout {
  display: flex;
  width: 100%;
  min-height: 56px;
  border-radius: 6px;
  background: #592c8d;
  color: #fff;
  font-size: .84rem;
}

.cart-drawer .woocommerce-mini-cart__buttons .checkout:hover {
  background: #3d3158;
}

.cart-drawer .dawn-continue-shopping {
  display: block;
  flex: 0 0 auto;
  padding: 0 1.5rem 1.5rem;
  background: #fffdf8;
  color: #3d3158;
  font-size: .78rem;
  font-weight: 700;
  text-align: center;
  text-decoration: underline;
}

.cart-drawer.is-updating .cart-drawer-body {
  opacity: .55;
  pointer-events: none;
}

@media (max-width: 600px) {
  .cart-drawer-head {
    padding: 1.25rem;
  }

  .woocommerce .cart-drawer .woocommerce-mini-cart,
  .cart-drawer .woocommerce-mini-cart {
    padding: 1.25rem 1.25rem 0 !important;
  }

  .woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item,
  .cart-drawer .woocommerce-mini-cart-item {
    min-height: 132px;
  }

  .woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item img,
  .cart-drawer .woocommerce-mini-cart-item img {
    width: 92px !important;
    height: 108px !important;
  }

  .woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item > a:not(.remove),
  .cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    min-height: 108px;
    padding-left: 106px;
  }

  .dawn-mini-item-meta {
    margin-left: 106px;
  }

  .cart-drawer .dawn-mini-discount,
  .cart-drawer .woocommerce-mini-cart__total,
  .cart-drawer .woocommerce-mini-cart__buttons,
  .cart-drawer .dawn-continue-shopping {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}

main.section > .container {
  width: 100%;
  max-width: none;
}

.inner-hero {
  background: #fbe3da;
  padding: 3rem 0;
}

.site-header {
  z-index: 1000;
}

body.home .section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

body.home main#main section h2 {
  text-align: center;
}

body.home main#main .section-head {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

body.home main#main .feature-copy h2,
body.home main#main .story-grid h2,
body.home main#main .ingredients-grid h2,
body.home main#main .dawn-home-journal h2 {
  text-align: left;
}

body.home main#main .dawn-home-journal .section-head {
  flex-direction: row;
  align-items: end;
  justify-content: space-between;
  text-align: left;
}

.dawn-parallax-statement {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 350px;
  display: grid;
  place-items: center;
  padding: 3rem 0;
  background-color: #3d3158;
  background-image: url("https://dawnskincare.shop/cdn/shop/files/spa-facial-treatment.jpg?v=1770791027&width=1800");
  background-attachment: fixed;
  background-position: center 35%;
  background-size: cover;
  color: #fff;
}

.dawn-parallax-statement::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(61,49,88,.84);
}

.dawn-parallax-statement__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}

body.home main#main .dawn-parallax-statement h2 {
  max-width: 1200px;
  margin: 0 auto;
  color: #fff;
  font-size: clamp(2rem, 3.35vw, 3.5rem);
  line-height: 1.08;
  text-align: center;
}

.dawn-parallax-statement p {
  margin: 3rem 0 0;
  color: #d9ba82;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.dawn-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.dawn-blog-title {
  padding: 3rem 0;
  background: #fbe3da;
  text-align: center;
}

.dawn-blog-title h1 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.04em;
}

.dawn-blog-card {
  overflow: hidden;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.dawn-blog-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 8px;
}

.dawn-blog-card__image img,
.dawn-related-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.dawn-blog-card:hover img,
.dawn-related-card:hover img {
  transform: scale(1.035);
}

.dawn-blog-card__body {
  padding: 1.25rem 0 0;
}

.dawn-blog-card__body h2 {
  margin: .55rem 0 .8rem;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem);
}

.dawn-blog-card__body h2 a,
.dawn-related-card h3 a {
  color: inherit;
}

.dawn-article-hero {
  padding: 3rem 0;
  background: #fbe3da;
  text-align: center;
}

.dawn-article-hero h1 {
  max-width: 980px;
  margin: .6rem auto 1rem;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 1.02;
}

.dawn-article-shell {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.dawn-article-heading {
  max-width: 1000px;
  margin: 0 auto 3rem;
  text-align: center;
}

.dawn-article-title,
body:not(.home) .inner-hero h1,
body:not(.home) main h1 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.04em;
}

.dawn-article-title {
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  line-height: 1.02;
}

.dawn-article-meta {
  margin: 1.25rem 0 0;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.dawn-article-meta span {
  margin: 0 .55rem;
  color: #592c8d;
}

.dawn-article-image {
  display: block;
  width: 100%;
  max-height: 680px;
  object-fit: cover;
  border-radius: 8px;
}

.dawn-article-layout {
  display: grid;
  grid-template-columns: 70px minmax(0, 760px);
  justify-content: center;
  gap: 2.5rem;
  padding-top: 3rem;
}

.dawn-article-content {
  font-size: 1.08rem;
  line-height: 1.85;
}

.dawn-article-content p {
  margin: 0 0 1.5rem;
}

.dawn-share {
  position: sticky;
  top: 110px;
  align-self: start;
  display: grid;
  justify-items: center;
  gap: .7rem;
}

.dawn-share span {
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.dawn-share a {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #592c8d;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease;
}

.dawn-share a:hover {
  transform: translateY(-3px);
  background: #3d3158;
}

.dawn-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.dawn-related {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.dawn-related-card {
  padding: 1rem;
  border-radius: 8px;
  background: #fff;
}

.dawn-related-card > a {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
}

.dawn-related-card .eyebrow {
  margin-top: 1rem;
}

.dawn-related-card h3 {
  margin: .45rem 0 0;
  font-size: 1.55rem;
}

.dawn-home-blog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.dawn-home-blog-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin-bottom: 1rem;
  border-radius: 8px;
}

.dawn-home-blog-card {
  padding: 1rem;
  border-radius: 8px;
  background: #fff;
}

.dawn-home-blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.dawn-home-blog-card:hover img {
  transform: scale(1.04);
}

.dawn-home-blog-card h3 {
  min-height: 4.3em;
  margin: .5rem 0 1rem;
  font-size: clamp(1.25rem, 1.8vw, 1.75rem);
  line-height: 1.18;
}

.dawn-home-blog-card h3 a {
  color: inherit;
}

.dawn-category-directory {
  margin-bottom: 3rem;
}

.dawn-category-directory__head {
  margin-bottom: 2rem;
  text-align: center;
}

.dawn-category-directory__head h2 {
  font-size: clamp(2.4rem, 4vw, 4rem);
}

.dawn-category-directory .dawn-category-tile {
  min-height: 300px;
}

.dawn-category-directory .dawn-category-tile.is-current {
  outline: 3px solid #592c8d;
  outline-offset: -3px;
}

.dawn-categories-page .dawn-category-tile {
  min-height: 460px;
}

.single-product main {
  padding-top: 3rem;
  padding-bottom: 0;
}

.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 4%;
  align-items: start;
}

.single-product div.product::before,
.single-product div.product::after {
  display: none;
}

.single-product div.product div.images,
.single-product div.product div.summary {
  float: none;
  width: 100%;
  margin: 0;
}

.single-product div.product .product_title {
  margin-bottom: 1.25rem;
  font-size: 35px;
  line-height: 1.12;
}

.single-product .dawn-product-size {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  background: #fff;
  color: #3d3158;
}

.single-product .dawn-product-size span {
  position: absolute;
  z-index: 1;
  left: .75rem;
  top: .35rem;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  pointer-events: none;
}

.single-product .dawn-product-size select {
  width: 100%;
  height: 52px;
  padding: 1rem 1.8rem 0 .75rem;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  color: #3d3158;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
}

.woocommerce.single-product div.product form.cart {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  width: 100%;
  margin-top: 1.75rem;
}

.woocommerce.single-product div.product form.cart .dawn-product-size {
  grid-column: 1;
}

.woocommerce.single-product div.product form.cart .quantity {
  grid-column: 2;
  display: grid;
  grid-template-columns: 44px minmax(52px, 1fr) 44px;
  align-items: stretch;
  width: 100%;
  min-height: 54px;
  margin: 0;
  border: 1px solid var(--line);
  background: #fff;
}

.woocommerce.single-product div.product form.cart .quantity .qty {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: transparent;
  color: #3d3158;
  font-weight: 800;
  text-align: center;
  appearance: textfield;
}

.woocommerce.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce.single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.single-product .dawn-qty-btn {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: #fbe3da;
  color: #3d3158;
  font-size: 1.35rem;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.single-product .dawn-qty-btn:hover {
  background: #3d3158;
  color: #fff;
}

.woocommerce.single-product div.product form.cart .single_add_to_cart_button,
.woocommerce.single-product div.product form.cart .dawn-buy-now {
  min-height: 54px;
  margin: 0;
  border: 2px solid #592c8d;
  border-radius: 0;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.woocommerce.single-product div.product form.cart .single_add_to_cart_button {
  grid-column: 3;
  position: relative;
  padding-left: 3.2rem;
  background: #592c8d;
  color: #fff;
}

.woocommerce.single-product div.product form.cart .single_add_to_cart_button::before {
  content: "";
  position: absolute;
  left: 1.25rem;
  top: 50%;
  width: 18px;
  height: 18px;
  background: currentColor;
  transform: translateY(-50%);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' d='M5 8h14l-1 13H6L5 8Zm4 0V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' d='M5 8h14l-1 13H6L5 8Zm4 0V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center/contain no-repeat;
}

.woocommerce.single-product div.product form.cart .single_add_to_cart_button:hover {
  background: #3d3158;
  border-color: #3d3158;
}

.woocommerce.single-product div.product form.cart .dawn-buy-now {
  grid-column: 1 / -1;
  width: 100%;
  background: transparent;
  color: #592c8d;
}

.woocommerce.single-product div.product form.cart .dawn-buy-now:hover {
  background: #592c8d;
  color: #fff;
}

/* Product cards confirm through the toast/cart drawer, not a wrapped View cart link. */
.woocommerce ul.products li.product a.added_to_cart.wc-forward {
  display: none !important;
}

.dawn-card-size {
  order: 2;
  margin: 0 0 0 auto;
  color: #6d6479;
  font-size: .75rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dawn-card-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  margin: .5rem 0 .75rem;
}

.entry-content ul > li,
.page-content ul > li,
.dawn-product-tab-copy ul > li,
.woocommerce-Tabs-panel ul:not(.products):not(.flex-control-thumbs):not(.faq-list) > li,
.single-product .summary ul > li,
.blog-content ul > li,
.post-content ul > li {
  list-style-type: square;
}

.entry-content ul > li::marker,
.page-content ul > li::marker,
.dawn-product-tab-copy ul > li::marker,
.woocommerce-Tabs-panel ul:not(.products):not(.flex-control-thumbs):not(.faq-list) > li::marker,
.single-product .summary ul > li::marker,
.blog-content ul > li::marker,
.post-content ul > li::marker {
  color: #592c8d;
}

.woocommerce ul.products li.product .dawn-card-price-row .price {
  order: 1;
  margin: 0;
}

.single-product div.product .woocommerce-product-gallery {
  display: block;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  transform: none !important;
  min-width: 0;
  overflow: hidden;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  grid-column: 2;
  grid-row: 1;
  overflow: hidden;
  float: none !important;
  width: 100% !important;
  min-width: 0;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
  display: none !important;
}

.single-product div.product .woocommerce-product-gallery > .flex-control-nav.flex-control-thumbs {
  display: none !important;
}

.single-product .dawn-thumb-carousel {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-rows: 34px minmax(0, 1fr) 34px;
  gap: .5rem;
  min-height: 0;
  max-height: 100%;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: 0;
  width: 100%;
  min-width: 104px;
  min-height: 0;
  overflow: hidden auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  scroll-snap-type: y mandatory;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
  display: none;
}

.woocommerce.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  float: none;
  width: 100% !important;
  margin: 0;
  scroll-snap-align: start;
}

.woocommerce.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li button,
.woocommerce.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100% !important;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img {
  border: 1px solid var(--line);
  border-radius: 8px;
}

.single-product .dawn-source-thumbs button {
  display: block;
  width: 100%;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
}

.single-product .dawn-source-thumbs button.is-active {
  border-color: #592c8d;
}

.single-product .dawn-source-thumbs img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.single-product .dawn-thumb-carousel-arrow {
  display: grid;
  place-items: center;
  width: 100%;
  height: 34px;
  padding: 0;
  border: 0;
  background: #fbe3da;
  color: #3d3158;
  cursor: pointer;
}

.single-product .dawn-thumb-carousel-arrow:hover {
  background: #592c8d;
  color: #fff;
}

.single-product .dawn-thumb-carousel-arrow:disabled {
  opacity: .35;
  cursor: default;
}

.single-product .dawn-thumb-carousel-arrow svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.single-product .woocommerce-tabs {
  position: relative;
  grid-column: 1 / -1;
  padding: 3rem 0;
}

.single-product .dawn-product-assurances {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 3rem;
  padding: 3rem 5%;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #2a2438 0%, #3d3158 58%, #592c8d 130%);
  overflow: hidden;
}

.single-product .dawn-product-parallax {
  grid-column: 1 / -1;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0;
  overflow: hidden;
  background: transparent;
}

.single-product .dawn-product-parallax-track {
  display: block;
  width: 100%;
  margin: 0;
}

.single-product .dawn-product-parallax.is-single .dawn-product-parallax-track {
  width: 100%;
}

.single-product .dawn-product-parallax-image {
  position: relative;
  width: 100%;
  height: clamp(360px, 42vw, 680px);
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: #faf6ed;
  background-position: center calc(50% + var(--dawn-product-image-shift, 0px));
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: scroll;
  will-change: background-position;
  box-shadow: none;
}

@media (max-width: 782px), (prefers-reduced-motion: reduce) {
  .single-product .dawn-product-parallax-image {
    height: clamp(260px, 62vw, 420px);
    background-position: center;
    will-change: auto;
  }
}

.single-product .dawn-certification-strip {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0 0 3rem;
  padding: 3rem 0;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(135deg, #2a2438 0%, #3d3158 58%, #592c8d 130%);
  color: #fff;
}

.single-product .dawn-certification-track {
  width: 90%;
  margin: 0 auto;
}

.single-product .dawn-certification-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 1rem;
  width: 100%;
  padding: 0;
}

.single-product .dawn-certification-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .9rem;
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055));
  box-shadow: 0 12px 28px rgba(20,13,32,.18);
}

.single-product .dawn-certification-icon {
  display: grid;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: #fbe3da;
  color: #592c8d;
}

.single-product .dawn-certification-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.single-product .dawn-certification-item strong {
  display: block;
  margin-bottom: .22rem;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .02em;
}

.single-product .dawn-certification-item small {
  display: block;
  color: rgba(255,255,255,.75);
  font-size: .72rem;
  line-height: 1.4;
}

@media (max-width: 980px) {
  .single-product .dawn-certification-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .single-product .dawn-certification-group {
    grid-template-columns: 1fr;
  }

  .single-product .dawn-certification-item {
    text-align: left;
  }
}

.single-product .dawn-assurance-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .9rem;
  min-height: 92px;
  padding: 1.15rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055));
  color: #fff;
  text-align: left;
  box-shadow: 0 12px 28px rgba(20,13,32,.18);
}

.single-product .dawn-assurance-icon {
  display: grid;
  flex: 0 0 46px;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #fbe3da;
  color: #592c8d;
}

.single-product .dawn-assurance-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.single-product .dawn-assurance-copy {
  min-width: 0;
}

.single-product .dawn-assurance-item strong {
  display: block;
  margin-bottom: .22rem;
  font-size: .9rem;
  line-height: 1.25;
  letter-spacing: .02em;
}

.single-product .dawn-assurance-item small {
  display: block;
  color: rgba(255,255,255,.75);
  font-size: .72rem;
  line-height: 1.4;
}

.single-product .dawn-sticky-product-bar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  padding: .7rem 0;
  border-top: 1px solid rgba(61,49,88,.14);
  background: rgba(255,253,248,.96);
  box-shadow: 0 -14px 35px rgba(42,36,56,.14);
  opacity: 1;
  transform: translateY(110%);
  visibility: hidden;
  backdrop-filter: blur(14px);
  transition: transform .32s ease, opacity .25s ease, visibility .32s;
}

.single-product .dawn-sticky-product-bar.is-visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.single-product .dawn-sticky-product-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 90%;
  margin: 0 auto;
}

.single-product .dawn-sticky-product-summary {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-width: 0;
}

.single-product .dawn-sticky-product-summary img {
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  border: 1px solid rgba(61,49,88,.12);
  border-radius: 4px;
  object-fit: cover;
  background: #fff;
}

.single-product .dawn-sticky-product-copy {
  display: grid;
  gap: .2rem;
  min-width: 0;
}

.single-product .dawn-sticky-product-copy strong {
  max-width: min(620px, 50vw);
  overflow: hidden;
  color: #2a2438;
  font-size: .86rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.single-product .dawn-sticky-product-price,
.single-product .dawn-sticky-product-price .amount {
  color: #2a2438;
  font-size: 1.05rem;
  font-weight: 700;
}

.single-product .dawn-sticky-product-form {
  display: flex !important;
  align-items: stretch;
  gap: 1rem;
  margin: 0 !important;
}

.single-product .dawn-sticky-quantity {
  display: grid;
  grid-template-columns: 38px 48px 38px;
  min-height: 48px;
  border: 1px solid rgba(61,49,88,.14);
  background: #fff;
}

.single-product .dawn-sticky-qty-btn,
.single-product .dawn-sticky-qty-input {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #2a2438;
  text-align: center;
}

.single-product .dawn-sticky-qty-input {
  appearance: textfield;
  font-weight: 700;
}

.single-product .dawn-sticky-qty-input::-webkit-inner-spin-button,
.single-product .dawn-sticky-qty-input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.single-product .dawn-sticky-qty-btn {
  cursor: pointer;
  font-size: 1rem;
}

.single-product .dawn-sticky-add-to-cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-width: 158px;
  min-height: 48px;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #592c8d !important;
  color: #fff !important;
  font-size: .78rem !important;
  text-transform: uppercase;
}

.single-product .dawn-sticky-add-to-cart svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

@media (max-width: 760px) {
  .single-product .dawn-sticky-product-inner {
    gap: .75rem;
  }

  .single-product .dawn-sticky-product-summary img {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
  }

  .single-product .dawn-sticky-product-copy strong {
    max-width: 34vw;
    font-size: .7rem;
  }

  .single-product .dawn-sticky-product-price,
  .single-product .dawn-sticky-product-price .amount {
    font-size: .9rem;
  }

  .single-product .dawn-sticky-quantity {
    grid-template-columns: 32px 36px 32px;
  }

  .single-product .dawn-sticky-add-to-cart {
    min-width: 52px;
    padding: 0 .9rem !important;
  }

  .single-product .dawn-sticky-add-to-cart span {
    display: none;
  }
}

.single-product .woocommerce-tabs::before,
.single-product .woocommerce-tabs::after {
  display: none;
}

.single-product .woocommerce-tabs::before {
  top: 0;
}

.single-product .woocommerce-tabs::after {
  bottom: 0;
}

.single-product div.product > .related,
.single-product div.product > .upsells {
  position: relative;
  grid-column: 1 / -1;
  padding: 3rem 0;
  background: #faf6ed;
  box-shadow: 0 0 0 100vmax #faf6ed;
  clip-path: inset(0 -100vmax);
}

.single-product div.product > .related {
  margin-bottom: 0;
}

.single-product div.product > .related > h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 0 0 1rem;
  font-size: 35px;
}

.single-product div.product > .related .dawn-related-count {
  flex: 0 0 auto;
  color: #6d6479;
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.single-product div.product > .related ul.products {
  margin-bottom: 0 !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 0;
  margin: 0 0 1.618em;
  padding: 1em;
  overflow: hidden;
  list-style: none;
  border: 0;
  border-radius: 8px;
  background: #fbe3da;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs::before {
  position: absolute;
  content: " ";
  width: 100%;
  bottom: 0;
  left: 0;
  display: block;
  border-bottom: 0 !important;
  z-index: 1;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0 !important;
  background: #fff;
  text-align: center;
  overflow: hidden;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 58px;
  padding: 1rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active {
  background: #592c8d;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff;
}

/* Every tab shares the available row width; separators stop at the last tab. */
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
  display: flex;
  padding: 0;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
  flex: 1 1 0;
  min-width: 0;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:not(:last-child) {
  border-right: 1px solid var(--line);
}

@media (max-width: 700px) {
  .woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:nth-child(odd) {
    border-right: 1px solid var(--line);
  }

  .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li:nth-child(even) {
    border-right: 0;
  }
}

.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  margin: 0 !important;
  padding: 3rem !important;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(61,49,88,.07);
}

.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel > :first-child {
  margin-top: 0;
}

.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel > :last-child {
  margin-bottom: 0;
}

.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table,
.woocommerce.single-product div.product .woocommerce-tabs table.shop_attributes {
  width: 100% !important;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-collapse: collapse;
  border-right: 1px solid var(--line);
  table-layout: auto;
}

.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table th,
.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel table td,
.woocommerce.single-product div.product .woocommerce-tabs table.shop_attributes th,
.woocommerce.single-product div.product .woocommerce-tabs table.shop_attributes td {
  padding: .9rem 1rem;
  border-right: 1px solid var(--line);
}

.woocommerce span.onsale.dawn-save-badge,
.dawn-home-product-grid span.onsale.dawn-save-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 0;
  padding: .48rem .7rem;
  border: 1px solid rgba(21,157,87,.16);
  border-radius: 4px;
  background: linear-gradient(135deg, #e6f8eb, #d6f3df);
  color: #119451;
  box-shadow: 0 8px 20px rgba(17,148,81,.12);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .onsale.dawn-save-badge {
  top: 12px;
  right: auto;
  left: 12px;
  margin: 0;
  z-index: 4;
}

.dawn-home-product-grid li.product {
  position: relative;
}

.dawn-home-product-grid li.product .onsale.dawn-save-badge {
  position: absolute;
  top: 24px;
  right: auto;
  left: 24px;
  margin: 0;
  z-index: 4;
}

.main-nav {
  gap: 18px;
}

.main-nav a {
  font-size: 11px;
}

.dawn-combo-product-grid span.onsale.dawn-save-badge {
  display: inline-flex;
  position: absolute;
  top: 24px;
  right: auto;
  left: 24px;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: .48rem .7rem;
  border: 1px solid rgba(21,157,87,.16);
  border-radius: 4px;
  background: linear-gradient(135deg, #e6f8eb, #d6f3df);
  color: #119451;
  box-shadow: 0 8px 20px rgba(17,148,81,.12);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
  z-index: 4;
}

.woocommerce.single-product div.product > .onsale.dawn-save-badge {
  top: 12px;
  right: auto;
  left: 12px;
  margin: 0;
  z-index: 8;
}

/* Product metadata labels and sale saving badge on the detail page. */
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in {
  font-weight: 800;
}

.single-product .product_meta .sku_wrapper .sku,
.single-product .product_meta .posted_in a {
  font-weight: 500;
}

.woocommerce.single-product div.product > .onsale.dawn-save-badge {
  display: none;
}

.woocommerce.single-product div.product .summary > .price {
  display: inline-flex;
  align-items: center;
  margin: 0 .7rem 1.35rem 0;
  vertical-align: middle;
}

.woocommerce.single-product div.product .summary > .onsale.dawn-save-badge {
  display: inline-flex;
  position: static;
  margin: 0 0 1.35rem;
  vertical-align: middle;
}

.single-product div.product .product_title {
  margin-bottom: 1.25rem;
  font-size: 30px;
  line-height: 1.12;
}

.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a,
.main-nav .current_page_item > a {
  color: #592c8d;
}

@media (max-width: 520px) {
  .woocommerce.single-product div.product .summary > .price,
  .woocommerce.single-product div.product .summary > .onsale.dawn-save-badge {
    margin-bottom: 1rem;
  }
}

.dawn-combos-page {
  padding: 0;
  margin-bottom: 0;
}

.page .site-main:has(.dawn-combos-page) {
  padding-bottom: 3rem !important;
}

.dawn-combos-intro {
  max-width: 760px;
  margin: 0 auto 3rem;
  text-align: center;
}

.dawn-combos-intro h2,
.dawn-special-combo h2 {
  color: #2a2438;
}

.dawn-combos-intro > p:last-child {
  color: #6d6479;
  font-size: 1.02rem;
  line-height: 1.75;
}

.woocommerce .dawn-combo-product-grid,
.dawn-combo-product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce .dawn-combo-product-grid > li,
.dawn-combo-product-grid > li {
  list-style: none !important;
}

.woocommerce .dawn-combo-product-grid > li::marker,
.dawn-combo-product-grid > li::marker {
  content: "" !important;
  display: none !important;
}

.dawn-combo-product-grid::before,
.dawn-combo-product-grid::after {
  display: none !important;
}

.woocommerce .dawn-combo-product-grid li.product,
.dawn-combo-product-grid li.product {
  position: relative;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 1rem 1rem 1.25rem !important;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(61,49,88,.08);
}

.dawn-special-combo {
  display: grid;
  gap: 3rem;
  padding-bottom: 0;
  margin-bottom: 0;
  list-style: none;
}

.dawn-special-combo ul,
.dawn-special-combo ol {
  list-style: none;
}

.dawn-special-combo li::marker {
  content: "";
}

.dawn-combo-product-grid li.product a img {
  width: 100%;
  aspect-ratio: 1;
  margin: 0 0 18px !important;
  border-radius: 8px;
  object-fit: cover;
}

.dawn-combo-product-grid li.product .woocommerce-loop-product__title {
  min-height: 54px;
  padding: 0 !important;
  color: #2a2438;
  font-family: var(--serif);
  font-size: 19px !important;
  line-height: 1.25;
}

.dawn-combo-product-grid li.product .price {
  display: block;
  min-height: 30px;
  color: #3d3158;
  font-size: 15px;
  font-weight: 800;
}

.dawn-combo-product-grid .dawn-card-actions {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 8px;
  margin-top: 14px;
}

.dawn-combo-product-grid .dawn-card-actions .button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-height: 48px;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: #592c8d !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.dawn-combo-product-grid .dawn-card-actions .button:hover {
  background: #3f1f65 !important;
}

.dawn-special-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 610px;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(135deg, #fbe3da 0%, #faf6ed 52%, #e7dbf2 100%);
}

.dawn-special-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem);
}

.dawn-special-hero-copy h2 {
  max-width: 620px;
  margin-bottom: 1rem;
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: .95;
}

.dawn-special-lead {
  max-width: 580px;
  color: #5f5569;
  font-size: 1.08rem;
  line-height: 1.75;
}

.dawn-special-offers {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 1rem 0;
}

.dawn-special-offers span {
  padding: .48rem .7rem;
  border-radius: 4px;
  background: #fff;
  color: #592c8d;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.dawn-special-price {
  margin: .4rem 0 1rem;
  color: #2a2438;
  font-family: var(--serif);
  font-size: 1.65rem;
  font-weight: 700;
}

.dawn-special-price del {
  margin-right: .5rem;
  color: #8a818f;
  font-size: .8em;
}

.dawn-special-price ins {
  color: #592c8d;
  text-decoration: none;
}

.dawn-special-price del {
  color: #6d6479;
  opacity: 1;
}

.dawn-special-cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  min-height: 52px;
  padding: 0 1.5rem !important;
  border-radius: 8px !important;
  background: #592c8d !important;
  color: #fff !important;
  text-transform: uppercase;
}

.dawn-special-purchase-form {
  width: min(100%, 430px);
}

.dawn-special-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}

.dawn-special-actions .button {
  width: 100%;
  min-height: 52px;
  margin: 0 !important;
  border-radius: 8px !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.dawn-special-actions .button:disabled { cursor: wait; opacity: .72; }

.dawn-special-buy-now {
  border: 1px solid #592c8d !important;
  background: transparent !important;
  color: #592c8d !important;
}

.dawn-special-buy-now:hover {
  background: #592c8d !important;
  color: #fff !important;
}

.dawn-special-cart svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.dawn-special-hero-copy > small {
  margin-top: .85rem;
  color: #6d6479;
}

.dawn-special-hero-image {
  position: relative;
  min-height: 500px;
}

.dawn-special-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dawn-special-seal {
  position: absolute;
  top: 2rem;
  right: 2rem;
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(61,49,88,.9);
  color: #fff;
  font-family: var(--serif);
  font-size: 1.55rem;
  line-height: 1;
  text-align: center;
  box-shadow: 0 16px 38px rgba(42,36,56,.24);
}

.dawn-special-seal small {
  font-family: var(--sans);
  font-size: .55rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dawn-special-included,
.dawn-special-benefits {
  padding: 3rem;
  border-radius: 8px;
  background: #faf6ed;
}

.dawn-special-included > header,
.dawn-special-benefits > header {
  max-width: 760px;
  margin: 0 auto 2rem;
  text-align: center;
}

.dawn-special-included-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.dawn-special-product {
  display: grid;
  gap: .8rem;
  align-content: start;
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: #2a2438;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.35;
}

.dawn-special-product img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 6px;
  object-fit: cover;
}

.dawn-special-product small {
  color: #592c8d;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dawn-special-product.is-gift small {
  color: #fbe3da;
}

.dawn-special-product.is-gift {
  min-height: 220px;
  place-content: center;
  place-items: center;
  background: linear-gradient(135deg, #3d3158, #592c8d);
  color: #fff;
  text-align: center;
}

.dawn-special-gift-mark {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  background: #fbe3da;
  color: #592c8d;
  font-family: var(--serif);
  font-size: 1.05rem;
}

.dawn-special-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.dawn-special-benefit-grid article {
  min-height: 200px;
  padding: 1.5rem;
  border-radius: 8px;
  background: linear-gradient(145deg, #2a2438, #3d3158);
  color: #fff;
}

.dawn-special-benefit-grid article > span {
  display: block;
  margin-bottom: 2rem;
  color: #d9ba82;
  font-family: var(--serif);
  font-size: 1.2rem;
}

.dawn-special-benefit-grid h3 {
  color: #fff;
}

.dawn-special-benefit-grid p {
  color: rgba(255,255,255,.72);
  font-size: .85rem;
  line-height: 1.6;
}

.dawn-special-softness {
  padding: 3rem;
  border-radius: 8px;
  background: linear-gradient(145deg, #fbe3da 0%, #eee5f5 100%);
}

.dawn-special-softness > header {
  max-width: 780px;
  margin: 0 auto 2rem;
  text-align: center;
}

.dawn-special-softness h2 {
  margin-bottom: .8rem;
  color: #2a2438;
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  white-space: nowrap;
}

.dawn-special-softness h2 em {
  display: inline;
  margin-left: .16em;
  color: #592c8d;
  font-weight: 400;
}

.dawn-special-softness > header > p:last-child {
  max-width: 620px;
  margin: 0 auto;
  color: #6d6479;
  line-height: 1.7;
}

.dawn-softness-media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.dawn-softness-item {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #ded2e6;
}

.dawn-softness-item.is-wide {
  grid-column: 1 / -1;
}

.dawn-softness-item img,
.dawn-softness-item video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform .55s ease;
}

.dawn-softness-item.is-video video {
  pointer-events: none;
}

.products li.product .woocommerce-LoopProduct-link {
  position: relative;
  display: block;
}

.dawn-card-hover-gallery {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 8px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease;
}

.products li.product:hover .dawn-card-hover-gallery,
.products li.product:focus-within .dawn-card-hover-gallery {
  opacity: 1;
}

.products li.product .dawn-card-hover-gallery img.dawn-card-hover-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  opacity: 0;
  transform: none;
  transition: opacity .35s ease;
}

.products li.product .dawn-card-hover-gallery img.dawn-card-hover-image.is-active {
  opacity: 1;
}

.dawn-card-gallery-dots {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 18px;
}

.dawn-card-gallery-dot {
  display: block;
  width: 10px;
  height: 10px;
  border: 1px solid #211d25;
  border-radius: 50%;
  background: rgba(255,255,255,.6);
  box-shadow: 0 1px 4px rgba(255,255,255,.7);
  transition: width .25s ease, border-radius .25s ease, background .25s ease;
}

.dawn-card-gallery-dot.is-active {
  width: 34px;
  border-color: #211d25;
  border-radius: 999px;
  background: #211d25;
}

.dawn-softness-item.is-wide img,
.dawn-softness-item.is-wide video {
  aspect-ratio: 16 / 7;
}

.dawn-softness-item:hover img,
.dawn-softness-item:hover video {
  transform: scale(1.025);
}

.dawn-special-final {
  padding: 3rem;
  border-radius: 8px;
  background: linear-gradient(135deg, #2a2438, #592c8d);
  color: #fff;
  text-align: center;
}

.dawn-special-final h2 {
  color: #fff;
  font-size: clamp(2.6rem, 5vw, 5rem);
}

.dawn-special-final .eyebrow,
.dawn-special-final .dawn-special-price {
  color: #d9ba82;
}

.dawn-special-final .dawn-special-price del {
  color: rgba(255,255,255,.7);
}

.dawn-special-final .dawn-special-price ins {
  color: #fbe3da;
}

.dawn-special-final .btn {
  margin-top: .5rem;
  background: #fbe3da;
  color: #592c8d;
}

@media (max-width: 980px) {
  .woocommerce .dawn-combo-product-grid,
  .dawn-combo-product-grid,
  .dawn-special-included-grid,
  .dawn-special-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dawn-special-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .woocommerce .dawn-combo-product-grid,
  .dawn-combo-product-grid,
  .dawn-special-included-grid,
  .dawn-special-benefit-grid {
    grid-template-columns: 1fr;
  }

  .dawn-special-included,
  .dawn-special-benefits,
  .dawn-special-softness {
    padding: 2rem 1rem;
  }

  .dawn-softness-media {
    grid-template-columns: 1fr;
  }

  .dawn-softness-item.is-wide {
    grid-column: auto;
  }

  .dawn-softness-item img,
  .dawn-softness-item video,
  .dawn-softness-item.is-wide img,
  .dawn-softness-item.is-wide video {
    aspect-ratio: 4 / 5;
  }

  .dawn-special-softness h2 {
    font-size: clamp(1.85rem, 9vw, 2.7rem);
  }

  .dawn-special-hero-copy {
    padding: 2rem 1.25rem;
  }

  .dawn-special-hero-image {
    min-height: 380px;
  }

  .dawn-special-actions {
    grid-template-columns: 1fr;
  }
}

.dawn-toast-region {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 10050;
  display: grid;
  width: min(390px, calc(100vw - 2rem));
  gap: .75rem;
  pointer-events: none;
}

.dawn-toast {
  position: relative;
  display: grid;
  grid-template-columns: 32px 1fr 28px;
  align-items: center;
  gap: .75rem;
  min-height: 68px;
  overflow: hidden;
  padding: .85rem .8rem .85rem 1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: #2a2438;
  color: #fff;
  box-shadow: 0 18px 48px rgba(42,36,56,.28);
  pointer-events: auto;
  animation: dawn-toast-in .32s ease both;
}

.dawn-toast::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #d9ba82;
}

.dawn-toast.is-error::before { background: #e66b78; }
.dawn-toast.is-info::before { background: #f0cdbc; }

.dawn-toast-icon {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: rgba(217,186,130,.16);
  color: #d9ba82;
  font-weight: 900;
}

.dawn-toast-message {
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.45;
}

.dawn-toast-close {
  display: grid;
  width: 28px;
  height: 28px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: #fff;
  cursor: pointer;
}

.dawn-toast.is-leaving { animation: dawn-toast-out .25s ease both; }
.dawn-notice-consumed { display: none !important; }

@keyframes dawn-toast-in {
  from { opacity: 0; transform: translate3d(24px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes dawn-toast-out {
  to { opacity: 0; transform: translate3d(24px, 0, 0); }
}

@media (max-width: 600px) {
  .dawn-toast-region {
    right: 1rem;
    bottom: 1rem;
  }
}

.dawn-review-summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--line);
}

.dawn-review-summary > strong {
  color: #3d3158;
  font: 700 2.2rem/1 var(--serif);
}

.dawn-review-stars {
  color: #d9ba82;
  letter-spacing: .12em;
}

.dawn-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.dawn-review-card {
  padding: 1.5rem;
  border: 1px solid var(--line);
  background: #fff;
}

.dawn-review-card p {
  margin: 1rem 0 1.5rem;
  line-height: 1.75;
}

.dawn-review-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #6d6479;
  font-size: .78rem;
}

.dawn-review-card footer strong {
  color: #3d3158;
}

.dawn-product-tab-copy {
  max-width: 900px;
  line-height: 1.8;
}

#tab-details .dawn-product-tab-copy {
  width: 100%;
  max-width: none;
}

.dawn-kit-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
}

.dawn-kit-detail-card {
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid #e7ddd4;
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #faf6ed);
}

.dawn-kit-detail-card.is-wide { grid-column: 1 / -1; }
.dawn-kit-detail-card h2 { margin: 0 0 1.25rem; font-size: clamp(26px, 3vw, 35px); }
.dawn-kit-detail-card ul { columns: 1; margin: 0; padding-left: 1.2rem; }
.dawn-kit-product-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 1.25rem; list-style: none; padding: 0 !important; }
.dawn-kit-product-list li { display: flex; flex-direction: column; gap: .25rem; margin: 0; padding: 1rem; border-radius: 8px; background: #fbe3da; }
.dawn-kit-product-list li strong { color: #3d3158; }
.dawn-kit-product-list li span { color: #61596a; line-height: 1.55; }
.dawn-kit-offer-card { background: linear-gradient(135deg, #3d3158, #592c8d); color: #fff; }
.dawn-kit-offer-card .eyebrow, .dawn-kit-offer-card h2 { color: #fff; }
.dawn-kit-offer-card .button { margin-top: 1rem; background: #fff; color: #592c8d; }

.dawn-key-features {
  width: 100%;
  max-width: none;
}

.dawn-key-features .dawn-key-features-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  columns: initial;
  list-style: none;
}

.dawn-key-features .dawn-key-features-list li {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 58px;
  margin: 0;
  padding: 1rem 1rem 1rem 2.65rem;
  border-radius: 8px;
  background: linear-gradient(135deg, #fbe3da, #faf6ed);
  color: #3d3158;
  font-weight: 700;
  list-style: none !important;
}

.dawn-key-features .dawn-key-features-list li::marker {
  content: "";
}

.dawn-key-features .dawn-key-features-list li::before {
  position: absolute;
  top: 50%;
  left: 1.15rem;
  width: 10px;
  height: 10px;
  content: "";
  background: #592c8d;
  transform: translateY(-50%);
}

@media (max-width: 760px) {
  .dawn-key-features .dawn-key-features-list {
    grid-template-columns: 1fr;
  }
}

.dawn-product-tab-copy ul,
.dawn-ingredients-list {
  columns: 2;
  column-gap: 3rem;
  padding-left: 1.2rem;
}

.dawn-product-tab-copy li {
  break-inside: avoid;
  margin-bottom: .65rem;
}

#tab-how_to_use .dawn-product-tab-copy ul {
  columns: 1;
  padding-left: 1.5rem;
  list-style-type: decimal;
}

#tab-how_to_use .dawn-product-tab-copy ul > li {
  margin-bottom: .85rem;
  break-inside: avoid;
  list-style-type: decimal;
}

#tab-how_to_use .dawn-product-tab-copy ul > li::marker {
  color: #592c8d;
  font-weight: 800;
}

@media (max-width: 700px) {
  .dawn-kit-details,
  .dawn-kit-product-list { grid-template-columns: 1fr; }
  .single-product div.product {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }

  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    grid-template-columns: 1fr;
  }

  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    grid-column: 1;
  }

  .single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    flex-direction: row;
    min-width: 0;
    overflow: hidden auto;
    scroll-snap-type: x mandatory;
  }

  .single-product .dawn-thumb-carousel {
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    grid-template-rows: 82px;
  }

  .single-product .dawn-thumb-carousel-arrow {
    width: 34px;
    height: 82px;
  }

  .single-product .dawn-thumb-carousel-prev svg,
  .single-product .dawn-thumb-carousel-next svg {
    transform: rotate(-90deg);
  }

  .woocommerce.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 82px;
    width: 82px !important;
  }

  .single-product .woocommerce-tabs ul.tabs {
    grid-template-columns: 1fr 1fr;
  }

  .single-product .dawn-product-assurances {
    grid-template-columns: 1fr 1fr;
  }

  .woocommerce.single-product div.product form.cart {
    grid-template-columns: 1fr;
  }

  .woocommerce.single-product div.product form.cart .dawn-product-size,
  .woocommerce.single-product div.product form.cart .dawn-buy-now {
    grid-column: 1;
  }

  .woocommerce.single-product div.product form.cart .quantity,
  .woocommerce.single-product div.product form.cart .single_add_to_cart_button {
    grid-column: 1;
  }

  .dawn-product-tab-copy ul,
  .dawn-ingredients-list {
    columns: 1;
  }
}

@media (max-width: 1000px) {
  .dawn-home-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dawn-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .dawn-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .dawn-review-grid {
    grid-template-columns: 1fr;
  }

  .dawn-review-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .single-product .dawn-product-assurances {
    grid-template-columns: 1fr;
  }

  .single-product .dawn-assurance-item {
    justify-content: flex-start;
  }
}

.inner-hero-grid {
  gap: 1.5rem;
}

.inner-hero-grid > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.inner-kicker,
.inner-intro {
  margin: 0;
}

.btn,
.dawn-filter-submit,
.cart-close,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
button[type="submit"],
input[type="submit"] {
  background-color: #592c8d !important;
  border-color: #592c8d !important;
  color: #fff !important;
}

.btn:hover,
.dawn-filter-submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: #3f1f65 !important;
  border-color: #3f1f65 !important;
  color: #fff !important;
}

.dawn-back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 120;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #592c8d;
  color: #fff;
  box-shadow: 0 12px 30px rgba(89, 44, 141, .28);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
}

.dawn-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dawn-back-to-top:hover {
  background: #3f1f65;
  transform: translateY(-3px);
}

.dawn-back-to-top svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dawn-wishlist-btn {
  background: #592c8d !important;
  border-color: #592c8d !important;
  color: #fff !important;
}

.site-footer {
  background: #2a2438;
  color: #d9ba82;
}

.site-footer .footer-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3.5rem);
}

.site-footer .footer-grid h3,
.site-footer .footer-bottom {
  color: #d9ba82;
}

.site-footer .footer-grid a {
  color: #fff;
}

.site-footer .footer-grid a:hover {
  color: #d9ba82;
}

.site-footer .footer-contact a {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  gap: .8rem;
  margin-bottom: 1.1rem;
  overflow-wrap: anywhere;
}

.site-footer .footer-contact-copy strong,
.site-footer .footer-contact-copy > span {
  display: block;
}

.site-footer .footer-contact-copy strong {
  margin-bottom: .25rem;
  color: #d9ba82;
  font-size: .68rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.site-footer .footer-contact-copy > span {
  color: #fff;
  line-height: 1.5;
}

.site-footer .footer-contact-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(217,186,130,.45);
  border-radius: 50%;
  background: rgba(217,186,130,.1);
  color: #d9ba82;
}

.site-footer .footer-contact-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-footer .footer-bottom {
  border-top-color: rgba(217, 186, 130, .28);
}

@media (max-width: 1100px) {
  .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .site-footer .footer-grid {
    grid-template-columns: 1fr;
  }
}

.newsletter {
  background: linear-gradient(135deg, #fbe3da 0%, #faf6ed 48%, #eadcf4 100%);
  color: var(--ink);
}

/* Complete ritual cards */
body.home .ritual-steps {
  gap: 1.5rem;
  border: 0;
  background: transparent;
}

body.home .ritual-step {
  border: 1px solid rgba(89, 44, 141, .12);
  background: linear-gradient(145deg, #fffaf7 0%, #fbe3da 55%, #eadcf4 100%);
  box-shadow: 0 14px 34px rgba(61, 49, 88, .08);
}

body.home .ritual-step span {
  color: #592c8d;
}

.newsletter h2 {
  font-size: clamp(34px, 4vw, 54px);
  white-space: nowrap;
}

.newsletter input {
  border-color: var(--ink);
  border-radius: 8px 0 0 8px;
  color: var(--ink);
}

.newsletter .btn {
  border-radius: 0 8px 8px 0;
}

.newsletter input::placeholder {
  color: rgba(32, 48, 41, .68);
}

.dawn-breadcrumb {
  padding: 0;
  border-top: 0;
}

.dawn-policy-content {
  width: min(980px, 100%);
  margin: 0 auto;
  color: #3d3158;
  line-height: 1.75;
}

.dawn-policy-intro {
  margin: 0 0 2rem;
  padding: 1.5rem;
  border-radius: 8px;
  background: linear-gradient(135deg, #fbe3da, #faf6ed);
  font-size: 1.08rem;
}

.dawn-policy-date {
  margin: 0 0 1rem;
  color: #6d6479;
  font-size: .85rem;
  letter-spacing: .04em;
}

.dawn-privacy-policy > p:not(.dawn-policy-intro):not(.dawn-policy-date) {
  margin-bottom: 1.25rem;
}

.dawn-policy-content section {
  padding: 2rem 0;
  border-top: 1px solid rgba(61,49,88,.18);
}

.dawn-policy-content h2 {
  margin: 0 0 1rem;
  color: #3d3158;
  font-size: clamp(1.65rem, 2.5vw, 2.15rem);
}

.dawn-policy-content ul {
  margin: 0;
  padding-left: 1.25rem;
}

.dawn-policy-content li {
  margin-bottom: .65rem;
}

.dawn-terms-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: dawn-terms;
}

.dawn-terms-list li {
  position: relative;
  min-height: 112px;
  margin: 0;
  padding: 1.4rem 1.4rem 1.4rem 4.25rem;
  border: 1px solid rgba(89,44,141,.14);
  border-radius: 8px;
  background: linear-gradient(145deg, #fff 0%, #faf6ed 52%, #fbe3da 100%);
  counter-increment: dawn-terms;
}

.dawn-terms-list li::before {
  content: counter(dawn-terms, decimal-leading-zero);
  position: absolute;
  left: 1.2rem;
  top: 1.2rem;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: #592c8d;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
}

.dawn-policy-content a {
  color: #592c8d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dawn-return-address {
  display: flex;
  flex-direction: column;
  width: min(420px, 100%);
  margin: 1.25rem 0;
  padding: 1.4rem 1.5rem;
  border-left: 4px solid #592c8d;
  border-radius: 0 8px 8px 0;
  background: linear-gradient(135deg, #faf6ed, #fbe3da);
  color: #3d3158;
  font-style: normal;
}

.dawn-return-address strong {
  margin-bottom: .45rem;
  color: #592c8d;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dawn-policy-content .dawn-policy-contact {
  margin-top: 1rem;
  padding: 2rem;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #3d3158, #592c8d);
  color: #fff;
}

.dawn-policy-contact h2,
.dawn-policy-contact a {
  color: #fff;
}

@media (max-width: 700px) {
  .dawn-terms-list {
    grid-template-columns: 1fr;
  }

  .newsletter h2 {
    white-space: normal;
  }

  body.home main#main .dawn-home-journal .section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .dawn-parallax-statement {
    min-height: 310px;
  }

  .dawn-blog-grid,
  .dawn-related-grid,
  .dawn-home-blog-grid {
    grid-template-columns: 1fr;
  }

  .dawn-home-blog-card h3 {
    min-height: 0;
  }

  .dawn-article-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .dawn-share {
    position: static;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
.main-nav a { font-size: 13px; }
.site-header .main-nav { justify-content:flex-end; gap:38px; padding-right:12px; }

.site-header .header-tools .search-icon {
  width: auto;
  min-width: 126px;
  height: 42px;
  padding: 0 7px 0 12px;
  gap: 8px;
  border: 1px solid #4a4556;
  border-radius: 8px;
  background: #171423;
  color: #f8f5ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 5px 14px rgba(23,20,35,.16);
}
.site-header .header-tools .search-icon:hover,
.site-header .header-tools .search-icon[aria-expanded="true"] { background:#242033; color:#fff; border-color:#655d73; }
.site-header .header-tools .search-icon svg { width:17px; height:17px; flex:0 0 17px; stroke:#c8c2d2; }
.search-icon-label { font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; }
.search-icon-shortcut { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:27px; margin-left:auto; padding:0 6px; border:1px solid #514b5e; border-radius:7px; background:#24202f; color:#aaa4b6; font-size:11px; line-height:1; }

@media(max-width:900px){
  .site-header .header-tools .search-icon { min-width:42px; width:42px; padding:0; }
  .search-icon-label,.search-icon-shortcut { display:none; }
}

/* Mobile header: an always-visible three-line trigger and single-line announcement. */
@media(max-width:900px){
  .announcement{padding:8px 10px;overflow:hidden;font-size:10px;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis}
  .site-header .menu-toggle{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;visibility:visible!important;opacity:1!important}
  .site-header .menu-toggle:before{display:none!important}
  .site-header .menu-toggle span{display:block;width:23px;height:2px;border-radius:1px;background:#3d3158}
}

/* Skincare routine: same product-card system and measured spacing as the rest of the site. */
.dawn-routine-new{padding:3rem 0!important;background:#f3ebe4}
.dawn-routine-new .dawn-routine-heading{margin-bottom:2rem}
.dawn-routine-new .products{margin:0}
.dawn-routine-new .dawn-section-action{margin-top:2rem;text-align:center}
@media(max-width:700px){.dawn-routine-new .products{grid-template-columns:repeat(2,minmax(0,1fr))}}

.dawn-search-modal { position: fixed; inset: 0; z-index: 10020; visibility: hidden; opacity: 0; transition: opacity .25s ease, visibility .25s ease; }
.dawn-search-modal.is-open { visibility: visible; opacity: 1; }
.dawn-search-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(42,36,56,.64); backdrop-filter: blur(6px); }
.dawn-search-panel { position: relative; width: min(920px, 90%); max-height: min(760px, calc(100vh - 6rem)); margin: 3rem auto; padding: clamp(1.5rem, 4vw, 3rem); overflow: auto; border-radius: 8px; background: #fffdf8; box-shadow: 0 28px 90px rgba(42,36,56,.3); transform: translateY(-18px); transition: transform .3s ease; }
.dawn-search-modal.is-open .dawn-search-panel { transform: translateY(0); }
.dawn-search-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.dawn-search-head h2 { color: #2a2438; font-size: clamp(30px, 4vw, 48px); }
.dawn-search-close { position: relative; flex: 0 0 46px; width: 46px; height: 46px; border: 0; border-radius: 50%; background: #592c8d; color: #fff; cursor: pointer; transition: transform .25s ease; }
.dawn-search-close:hover { transform: rotate(90deg); }
.dawn-search-close::before,.dawn-search-close::after { position:absolute; top:50%; left:50%; width:18px; height:2px; content:""; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); }
.dawn-search-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
.dawn-search-form { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .55rem .55rem .55rem 1rem; border: 1px solid #d9cfca; border-radius: 8px; background: #fff; }
.dawn-search-form:focus-within { border-color:#d9cfca; box-shadow:none; outline:0; }
.dawn-search-form svg { width: 22px; fill:none; stroke:#592c8d; stroke-width:1.7; }
.dawn-search-form input { min-width:0; height:48px; border:0; outline:0; background:transparent; color:#2a2438; font-size:16px; }
.dawn-search-form input:focus,.dawn-search-form input:focus-visible { border:0!important; outline:0!important; box-shadow:none!important; }
.dawn-search-form button { min-height:48px; padding:0 1.5rem; border:0; border-radius:8px; background:#592c8d; color:#fff; font-weight:800; cursor:pointer; }
.dawn-search-status { padding: 1.1rem 0 .75rem; color:#6d6479; font-size:14px; }
.dawn-search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.dawn-search-result { display:grid; grid-template-columns:82px minmax(0,1fr); gap:1rem; align-items:center; padding:.75rem; border:1px solid #e7ddd4; border-radius:8px; background:#fff; transition:transform .2s ease,border-color .2s ease; }
.dawn-search-result:hover { transform:translateY(-2px); border-color:#592c8d; }
.dawn-search-result img { width:82px; height:82px; border-radius:8px; object-fit:cover; background:#faf6ed; }
.dawn-search-result strong { display:block; color:#2a2438; line-height:1.35; }
.dawn-search-result span { display:block; margin-top:.3rem; color:#592c8d; font-weight:800; }
.dawn-search-result small { color:#7b7182; }
body.dawn-search-open { overflow:hidden; }

.header-tools .search-icon { order:1; }
.header-tools .wishlist-icon { order:2; }
.header-tools .cart-trigger { order:3; }
.header-tools .account-trigger { order:4; }
.header-tools .account-menu { order:5; right:0; top:calc(100% + 10px); width:260px; padding:.65rem; border-radius:8px; box-shadow:0 20px 55px rgba(42,36,56,.2); }
.site-header .account-trigger { width:auto; min-width:118px; height:42px; padding:0 12px; gap:8px; border:1px solid #ded4cf; border-radius:8px; background:#fff; color:#3d3158; }
.site-header .account-trigger { padding-right:32px; background-color:#fff; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%23592c8d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 11px center; }
.site-header .account-trigger::after { content:attr(data-account-label); font-size:12px; font-weight:800; white-space:nowrap; }
.site-header .account-trigger > svg { position:relative; z-index:2; display:block!important; flex:0 0 19px; opacity:1!important; visibility:visible!important; stroke:#3d3158!important; }
.site-header .account-trigger:hover > svg,.site-header .account-trigger[aria-expanded="true"] > svg { opacity:1!important; stroke:#592c8d!important; transform:scale(1.05); }
.site-header .account-trigger:hover,.site-header .account-trigger[aria-expanded="true"] { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 7l5-5 5 5' fill='none' stroke='%23592c8d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.site-header .account-trigger:hover,.site-header .account-trigger[aria-expanded="true"] { border-color:#592c8d; background:#fbe3da; }
.site-header .account-trigger svg { width:19px; height:19px; }
.account-trigger:hover + .account-menu,.account-trigger:focus-visible + .account-menu,.account-menu:hover,.account-menu:focus-within { opacity:1; visibility:visible; transform:translateY(0); }
.header-tools .account-menu::before { position:absolute; top:-12px; right:0; left:0; height:14px; content:""; }
.header-tools .account-menu a { position:relative; display:grid; grid-template-columns:25px minmax(0,1fr) 16px; gap:.65rem; align-items:center; min-height:44px; padding:.65rem .75rem; border-radius:8px; color:#3d3158; }
.header-tools .account-menu a::before { display:grid; place-items:center; width:24px; height:24px; border-radius:6px; background:#fbe3da; color:#592c8d; font-size:14px; font-weight:900; }
.header-tools .account-menu a:nth-of-type(1)::before { content:"⌂"; }
.header-tools .account-menu a:nth-of-type(2)::before { content:"▣"; }
.header-tools .account-menu a:nth-of-type(3)::before { content:"⇩"; }
.header-tools .account-menu a:nth-of-type(4)::before { content:"⌖"; }
.header-tools .account-menu a:nth-of-type(5)::before { content:"↪"; }
.header-tools .account-menu a:hover { background:#faf6ed; color:#592c8d; }

@media(max-width:1050px){.site-header .account-trigger{min-width:42px;width:42px;padding:0;background-image:none!important}.site-header .account-trigger::after{display:none}}

.cart-close,.dawn-search-close,.dawn-auth-close,.cart-drawer .remove { cursor:pointer!important; transform-origin:center; transition:transform .3s cubic-bezier(.22,1,.36,1),background-color .2s ease,box-shadow .2s ease!important; }
.cart-close:hover,.dawn-search-close:hover,.dawn-auth-close:hover,.cart-drawer .remove:hover { transform:rotate(90deg) scale(1.08); box-shadow:0 8px 22px rgba(61,49,88,.2); }
.cart-close:active,.dawn-search-close:active,.dawn-auth-close:active,.cart-drawer .remove:active { transform:rotate(90deg) scale(.94); }

/* Cart drawer close icon: keep the two strokes optically centered before and during rotation. */
.cart-drawer-head .cart-close {
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  line-height:1!important;
  font-size:0!important;
  transform-origin:50% 50%!important;
}
.cart-drawer-head .cart-close::before,
.cart-drawer-head .cart-close::after {
  top:50%!important;
  left:50%!important;
  margin:0!important;
  transform-origin:50% 50%!important;
}
.cart-drawer-head .cart-close:hover::before { transform:translate(-50%,-50%) rotate(45deg)!important; }
.cart-drawer-head .cart-close:hover::after { transform:translate(-50%,-50%) rotate(-45deg)!important; }

/* Each mini-cart remove control uses drawn strokes instead of the text glyph,
   so the X remains perfectly centered while its circular button rotates. */
.cart-drawer .woocommerce-mini-cart-item > .remove {
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
  text-indent:0!important;
  transform-origin:50% 50%!important;
}
.cart-drawer .woocommerce-mini-cart-item > .remove::before,
.cart-drawer .woocommerce-mini-cart-item > .remove::after {
  position:absolute;
  top:50%;
  left:50%;
  width:13px;
  height:1.5px;
  margin:0;
  content:"";
  background:currentColor;
  border-radius:2px;
  transform-origin:50% 50%;
}
.cart-drawer .woocommerce-mini-cart-item > .remove::before { transform:translate(-50%,-50%) rotate(45deg); }
.cart-drawer .woocommerce-mini-cart-item > .remove::after { transform:translate(-50%,-50%) rotate(-45deg); }

.woocommerce .cart-drawer .woocommerce-mini-cart,.cart-drawer .woocommerce-mini-cart { padding:1.1rem 1.25rem 0!important; }
.woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item,.cart-drawer .woocommerce-mini-cart-item { min-height:126px; padding-bottom:1.1rem!important; }
.cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item { padding-top:1.1rem; }
.cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item img { top:1.1rem; }
.woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item > a:not(.remove),.cart-drawer .woocommerce-mini-cart-item > a:not(.remove) { min-height:104px; padding-left:104px; }
.woocommerce .cart-drawer ul.cart_list li.woocommerce-mini-cart-item img,.cart-drawer .woocommerce-mini-cart-item img { width:90px!important; height:104px!important; }
.dawn-mini-item-meta { margin:.65rem 2.35rem 0 104px; }
.cart-drawer .remove,.cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item .remove { bottom:1.1rem; }

.header-tools .wishlist-icon,.header-tools .cart-trigger { margin-inline:3px; }
.header-tools { column-gap:10px; }

.page .site-main:has(.faq-list) { padding-top:3rem !important; }
.page .site-main:has(.faq-list) article { margin-top:0 !important; }
.page .site-main:has(.faq-list) > article > .faq-list { margin-top:0 !important; }
.page main.section .container > article > .faq-list { margin-top:0 !important; }

.dawn-contact-page { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:2rem; align-items:stretch; }
.dawn-contact-info,.dawn-contact-form-card { padding:clamp(1.5rem,4vw,3rem); border-radius:8px; }
.dawn-contact-info { background:linear-gradient(145deg,#2a2438,#592c8d); color:#fff; }
.dawn-contact-info .eyebrow { color:#d9ba82; }.dawn-contact-info h2 { color:#fff; font-size:clamp(38px,5vw,58px); }.dawn-contact-info>p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.82)}
.dawn-contact-methods { display:grid; gap:.75rem; margin:2rem 0; }.dawn-contact-methods a { display:grid; grid-template-columns:44px minmax(0,1fr); gap:.85rem; align-items:center; padding:1rem; border:1px solid rgba(255,255,255,.18); border-radius:8px; background:rgba(255,255,255,.08); }.dawn-contact-methods a:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}.dawn-contact-methods>a>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fbe3da;color:#592c8d;font-size:20px}.dawn-contact-methods small,.dawn-contact-methods strong{display:block}.dawn-contact-methods small{color:#d9ba82;text-transform:uppercase;letter-spacing:.08em}.dawn-contact-methods strong{color:#fff;word-break:break-word}.dawn-contact-hours{display:grid;gap:.3rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.2)}.dawn-contact-hours span{color:rgba(255,255,255,.76);font-size:14px}
.dawn-contact-form-card { border:1px solid #e7ddd4; background:#fff; box-shadow:0 18px 50px rgba(61,49,88,.08); }.dawn-contact-form-card h2{margin-bottom:1.5rem;color:#2a2438;font-size:clamp(34px,4vw,48px)}
.dawn-contact-form-card .wpcf7-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.dawn-contact-form-card .dawn-form-field{margin:0}.dawn-contact-form-card .dawn-form-field.is-wide,.dawn-contact-form-card .wpcf7-response-output{grid-column:1/-1}.dawn-contact-form-card label{display:block;margin-bottom:.4rem;color:#3d3158;font-size:13px;font-weight:800}.dawn-contact-form-card input,.dawn-contact-form-card select,.dawn-contact-form-card textarea{width:100%;min-height:50px;padding:.75rem 1rem;border:1px solid #d9cfca;border-radius:8px;background:#fff;color:#2a2438}.dawn-contact-form-card textarea{min-height:150px;resize:vertical}.dawn-contact-form-card input:focus,.dawn-contact-form-card select:focus,.dawn-contact-form-card textarea:focus{border-color:#592c8d;outline:3px solid rgba(89,44,141,.1)}.dawn-contact-form-card .wpcf7-submit{grid-column:1/-1;border:0;background:#592c8d;color:#fff;font-weight:800;cursor:pointer}.dawn-contact-form-card .wpcf7-submit:hover{background:#3d3158}.dawn-contact-form-card .wpcf7-not-valid{border-color:#b42318!important;background:#fff7f6}.dawn-contact-form-card .wpcf7-not-valid-tip{margin-top:.35rem;color:#b42318;font-size:12px;font-weight:700}.dawn-contact-form-card .wpcf7-response-output{margin:0!important;padding:.8rem 1rem!important;border-width:1px!important;border-radius:8px}.dawn-contact-form-card .wpcf7-spinner{position:absolute}
@media(max-width:850px){.dawn-contact-page{grid-template-columns:1fr}.dawn-contact-form-card .wpcf7-form{grid-template-columns:1fr}.dawn-contact-form-card .dawn-form-field.is-wide,.dawn-contact-form-card .wpcf7-response-output{grid-column:1}}

/* Complete WooCommerce account system */
.woocommerce-account main,
.woocommerce-account main.section { width:90% !important; max-width:none !important; margin-inline:auto !important; padding:3rem 0 !important; }
.woocommerce-account main > article,
.woocommerce-account main > article > .woocommerce,
.woocommerce-account main .woocommerce { width:100% !important; max-width:none !important; margin:0 !important; }
.woocommerce-account .woocommerce { display:grid; grid-template-columns:minmax(250px, .28fr) minmax(0, .72fr); gap:2rem; align-items:start; }
.woocommerce-account .woocommerce-notices-wrapper,.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register,.woocommerce-account #customer_login { grid-column:1/-1; }
.woocommerce-account #customer_login { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.woocommerce-account #customer_login > div,.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register { padding:clamp(1.5rem,3vw,2rem); border:1px solid #e4d9d2; border-radius:8px; background:#fff; box-shadow:0 14px 40px rgba(61,49,88,.07); }
.woocommerce-account #customer_login h2 { margin-bottom:1.25rem; color:#2a2438; font-size:35px; }
.woocommerce-account .woocommerce-MyAccount-navigation { float:none !important; width:100% !important; overflow:hidden; border-radius:8px; background:linear-gradient(150deg,#3d3158,#592c8d); }
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column:1; grid-row:1; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:.75rem; list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0 0 .45rem; list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { margin-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li::marker { content:""; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:.9rem 1rem; border-radius:8px; color:#fff; font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:rgba(255,255,255,.16); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a:hover { background:rgba(255,255,255,.24); transform:translateX(3px); }
.woocommerce-account .woocommerce-MyAccount-content { float:none !important; width:100% !important; min-width:0; min-height:0; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column:2; grid-row:1; }
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3 { margin-bottom:1rem; color:#2a2438; font-size:30px; }
.woocommerce-account form .form-row { margin:0 0 1rem; }
.woocommerce-account form label { display:block; margin-bottom:.4rem; color:#3d3158; font-size:13px; font-weight:800; }
.woocommerce-account form input.input-text,.woocommerce-account form select,.woocommerce-account form textarea { width:100%; min-height:48px; padding:.75rem 1rem; border:1px solid #d9cfca; border-radius:8px; background:#fff; }
.woocommerce-account form input:focus,.woocommerce-account form select:focus,.woocommerce-account form textarea:focus { border-color:#592c8d; outline:3px solid rgba(89,44,141,.1); }
.woocommerce-account .button { min-height:46px; padding:.75rem 1.35rem!important; border-radius:8px!important; background:#592c8d!important; color:#fff!important; }
.woocommerce-account table.shop_table { width:100%; border-collapse:collapse; border:0; }
.woocommerce-account table.shop_table th,.woocommerce-account table.shop_table td { padding:1rem; border:0; border-bottom:1px solid #e7ddd4; text-align:left; }
.woocommerce-account .woocommerce-Address { padding:1.25rem; border-radius:8px; background:#faf6ed; }
.woocommerce-account .woocommerce-Addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.woocommerce-account .woocommerce-Addresses::before,.woocommerce-account .woocommerce-Addresses::after { display:none; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float:none; width:100%; margin:0; }
.woocommerce-account fieldset { margin:1.5rem 0; padding:1.25rem; border:1px solid #e4d9d2; border-radius:8px; }
.woocommerce-account fieldset legend { padding:0 .5rem; color:#3d3158; font-family:var(--serif); font-size:24px; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { margin:0 !important; }
.dawn-account-dashboard .woocommerce-MyAccount-content > p { display:none; }
.dawn-account-welcome { padding:clamp(1.25rem,3vw,2rem); border-radius:8px; background:linear-gradient(135deg,#fbe3da,#faf6ed); }
.dawn-account-welcome h2 { margin:0 0 .65rem!important; color:#2a2438; font-size:clamp(32px,4vw,46px)!important; }
.dawn-account-welcome p:last-child { margin:0; color:#6d6479; }
.dawn-account-dashboard main,.dawn-account-dashboard main.section { padding-bottom:3rem!important; }

/* Keep account notices in the same right-hand column as the account content. */
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { grid-column:2!important; grid-row:1!important; width:100%!important; margin:0!important; min-width:0!important; }
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation { grid-column:1!important; grid-row:1 / span 2!important; }
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content { grid-column:2!important; grid-row:2!important; }
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper:empty { display:block!important; min-height:66px; padding:0!important; border:1px solid #e4d9d2; border-radius:8px; background:#fff; box-shadow:0 14px 40px rgba(61,49,88,.07); }

.site-footer .footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.dawn-payment-icons { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.45rem; }
.dawn-payment-icons > span { display:inline-flex; align-items:center; justify-content:center; min-width:48px; height:29px; padding:0 .5rem; border:1px solid rgba(217,186,130,.34); border-radius:5px; background:#fff; color:#27222f; font:800 11px/1 Arial,sans-serif; letter-spacing:-.02em; }
.dawn-payment-icons .is-visa { color:#172b85; font-style:italic; font-size:13px; }
.dawn-payment-icons .is-amex { background:#2877b5; color:#fff; }
.dawn-payment-icons .is-paypal { color:#163c75; font-size:12px; }
.dawn-payment-icons .is-apple { color:#111; }
.dawn-payment-icons .is-google { color:#3566b8; }
.dawn-payment-icons .is-mastercard { position:relative; min-width:48px; }
.dawn-payment-icons .is-mastercard i { width:15px; height:15px; margin:0 -2px; border-radius:50%; background:#eb001b; }
.dawn-payment-icons .is-mastercard i + i { background:#f79e1b; opacity:.9; }
@media(max-width:700px){.site-footer .footer-bottom{align-items:flex-start;flex-direction:column}.dawn-payment-icons{justify-content:flex-start}}

@media(max-width:800px){.dawn-search-results{grid-template-columns:1fr}.woocommerce-account .woocommerce,.woocommerce-account #customer_login,.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}.woocommerce-account .woocommerce-MyAccount-navigation{grid-column:1}.woocommerce-account .woocommerce-MyAccount-content{grid-column:1}.dawn-search-panel{margin:1rem auto;max-height:calc(100vh - 2rem)} }

.dawn-return-orders { display:grid; gap:1rem; margin-top:1.5rem; }
.dawn-return-order { padding:1.25rem; border:1px solid #e4d9d2; border-radius:8px; background:#fff; }
.dawn-return-order-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.dawn-return-order-head small { color:#766d7e; text-transform:uppercase; letter-spacing:.08em; }
.dawn-return-order-head h3 { margin:.15rem 0 0!important; font-size:26px!important; }
.dawn-return-status { padding:.45rem .75rem; border-radius:999px; font-size:12px; font-weight:800; }
.dawn-return-status.is-eligible { background:#e5f6eb; color:#21613a; }.dawn-return-status.is-pending{background:#fff1c9;color:#795600}.dawn-return-status.is-complete{background:#e7ddf3;color:#592c8d}.dawn-return-status.is-closed{background:#eee9e6;color:#70676d}
.dawn-return-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1rem; padding:1rem; border-radius:8px; background:#faf6ed; }
.dawn-return-meta span,.dawn-return-meta strong { display:block; }.dawn-return-meta strong{color:#3d3158;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.dawn-return-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; margin-top:1rem; }.dawn-return-form textarea{width:100%;padding:.8rem;border:1px solid #d9cfca;border-radius:8px;resize:vertical}.dawn-return-note{margin:1rem 0 0;padding:.8rem;border-radius:8px;background:#fff8df}

.dawn-auth-modal{position:fixed;inset:0;z-index:10030;visibility:hidden;opacity:0;transition:.25s}.dawn-auth-modal.is-open{visibility:visible;opacity:1}.dawn-auth-backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(42,36,56,.68);backdrop-filter:blur(6px)}.dawn-auth-panel{position:relative;width:min(540px,90%);max-height:calc(100vh - 4rem);margin:2rem auto;padding:clamp(1.5rem,4vw,2.5rem);overflow:auto;border-radius:8px;background:#fff;box-shadow:0 28px 90px rgba(42,36,56,.3);transform:translateY(-15px);transition:.25s}.dawn-auth-modal.is-open .dawn-auth-panel{transform:none}.dawn-auth-panel h2{color:#2a2438;font-size:40px}.dawn-auth-close{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border:0;border-radius:50%;background:#592c8d;color:#fff}.dawn-auth-close::before,.dawn-auth-close::after{position:absolute;top:50%;left:50%;width:17px;height:2px;content:"";background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}.dawn-auth-close::after{transform:translate(-50%,-50%) rotate(-45deg)}.dawn-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1.5rem 0}.dawn-auth-tabs button{min-height:44px;border:1px solid #dfd5cf;border-radius:8px;background:#faf6ed;color:#3d3158;font-weight:800}.dawn-auth-tabs button.is-active{border-color:#592c8d;background:#592c8d;color:#fff}.dawn-auth-view{display:none}.dawn-auth-view.is-active{display:block}.dawn-auth-view form{display:grid;gap:1rem}.dawn-auth-view form p{margin:0}.dawn-auth-view label{display:block;margin-bottom:.4rem;color:#3d3158;font-size:13px;font-weight:800}.dawn-auth-view input[type=text],.dawn-auth-view input[type=email],.dawn-auth-view input[type=password]{width:100%;height:48px;padding:0 .9rem;border:1px solid #d9cfca;border-radius:8px}.dawn-auth-view .button{min-height:48px;border:0;border-radius:8px;background:#592c8d;color:#fff;font-weight:800}.dawn-auth-check{display:flex!important;align-items:center;gap:.5rem}.dawn-auth-lost{color:#592c8d;text-align:center;text-decoration:underline}.dawn-auth-privacy{color:#756d78;font-size:13px}body.dawn-auth-open{overflow:hidden}
@media(max-width:650px){.dawn-return-meta,.dawn-return-form{grid-template-columns:1fr}}
.dawn-auth-tabs button,.dawn-auth-view .button,.dawn-auth-lost { cursor:pointer!important; }
.dawn-auth-tabs button { transition:background .2s ease,color .2s ease,transform .2s ease; }
.dawn-auth-tabs button:hover { border-color:#592c8d; background:#fbe3da; transform:translateY(-1px); }

/* Logged-out account page: show one centred account panel, never the native form too. */
body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
body.woocommerce-account:not(.logged-in) .woocommerce > .col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce > form.login { display:none!important; }
body.woocommerce-account:not(.logged-in) .dawn-auth-modal { position:fixed; inset:0; z-index:10030; display:block!important; visibility:visible; opacity:1; min-height:100vh; padding:3rem 1.25rem; overflow:hidden; background:rgba(42,36,56,.68); backdrop-filter:blur(6px); }
body.woocommerce-account:not(.logged-in) .dawn-auth-backdrop { display:none!important; }
body.woocommerce-account:not(.logged-in) .dawn-auth-close { display:grid!important; place-items:center; cursor:pointer; }
body.woocommerce-account:not(.logged-in) .dawn-auth-panel { width:min(540px,100%); max-height:none; margin:0 auto; overflow:visible; transform:none; }

.cart-drawer-head h2,
.cart-drawer-head h2 span { font-size:25px!important; }
.dawn-auth-view .button:hover { background:#3d3158; transform:translateY(-1px); }

/* Footer social profiles configured in Appearance > Customize. */
.site-footer .footer-social { margin-top:1.35rem; }
.site-footer .footer-social > strong { display:block; margin-bottom:.65rem; color:#d9ba82; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.site-footer .footer-social-links { display:flex; flex-wrap:wrap; gap:.55rem; }
.site-footer .footer-social-links a { display:grid; place-items:center; width:36px; height:36px; margin:0; border:1px solid rgba(217,186,130,.52); border-radius:50%; color:#fff; transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease; }
.site-footer .footer-social-links a:hover { border-color:#d9ba82; background:#d9ba82; color:#2a2438; transform:translateY(-2px); }
.site-footer .footer-social-links svg { width:17px; height:17px; fill:currentColor; stroke:currentColor; stroke-width:1.55; }
.site-footer .footer-social-links .dawn-social-play { fill:#2a2438; stroke:none; }
.site-footer .footer-social-links a:not(:hover) .dawn-social-play { fill:currentColor; }

.site-footer .footer-social-band{width:100vw;margin:3rem calc(50% - 50vw) 0;padding:1.2rem 0;background:#3d3158}
.site-footer .footer-social-band-inner{display:flex;align-items:center;justify-content:center;gap:1.25rem;width:90%;margin:auto}
.site-footer .footer-social-band strong{color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.site-footer .footer-social-band .footer-social-links{display:flex;gap:.6rem}
.site-footer .footer-social-band .footer-social-links a{display:grid;place-items:center;width:40px;height:40px;margin:0;border:1px solid #d9ba82;border-radius:50%;background:#fff;color:#3d3158;transition:.2s}
.site-footer .footer-social-band .footer-social-links a:hover{background:#d9ba82;color:#2a2438;transform:translateY(-2px)}
.site-footer .footer-social-band + .footer-bottom{margin-top:0!important}
@media(max-width:600px){.site-footer .footer-social-band-inner{gap:.8rem}.site-footer .footer-social-band strong{font-size:10px}.site-footer .footer-social-band .footer-social-links{gap:.38rem}.site-footer .footer-social-band .footer-social-links a{width:32px;height:32px}}

/* Final social-footer rhythm and high-contrast icon treatment. */
.site-footer .footer-social-band{padding:2rem 0!important}
.site-footer .footer-social-band-inner{flex-direction:column!important;gap:1rem!important}
.site-footer .footer-social-band .footer-social-links{justify-content:center!important;gap:.75rem!important}
.site-footer .footer-social-band .footer-social-links a{width:44px!important;height:44px!important;background:#fff!important;color:#3d3158!important;border:2px solid #d9ba82!important}
.site-footer .footer-social-band .footer-social-links a:hover{background:#d9ba82!important;color:#2a2438!important}
.site-footer .footer-social-band .footer-social-links svg{width:21px!important;height:21px!important;fill:currentColor!important;stroke:currentColor!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.site-footer .footer-social-band a[aria-label*="Instagram"] svg{fill:none!important;stroke:currentColor!important;stroke-width:1.9!important}
.site-footer .footer-social-band a[aria-label*="WhatsApp"] svg{fill:currentColor!important;stroke:none!important}
.site-footer .footer-bottom{margin-top:0!important;padding-top:1.25rem!important;border-top:0!important}
.site-footer{padding-bottom:0!important}
.site-footer .footer-bottom{display:flex!important;align-items:center!important;padding-bottom:1.25rem!important}
.site-footer .footer-social-band strong{font-size:clamp(16px,1.5vw,20px)!important}
.site-footer .footer-social-band strong{font-family:var(--serif)!important;font-size:clamp(20px,2vw,28px)!important;font-weight:700!important;letter-spacing:-.02em!important;text-transform:none!important;line-height:1.1}
@media(max-width:600px){.site-footer .footer-social-band{padding:1.6rem 0!important}.site-footer .footer-social-band .footer-social-links a{width:40px!important;height:40px!important}.site-footer .footer-social-band .footer-social-links svg{width:19px!important;height:19px!important}}

/* Product pages use the Dawn purchase controls only; hide gateway express widgets. */
.single-product .wc-stripe-payment-request-wrapper,
.single-product .wc-stripe-payment-request-button-separator,
.single-product .wc-block-components-express-payment,
.single-product .wc-payments-express-checkout,
.single-product .ppc-button-wrapper,
.single-product #ppc-button-ppcp-gateway,
.single-product .woocommerce-ppcp-messages,
.single-product .paypal-button-container,
.single-product .payment_method_ppcp-gateway,
.single-product .payment_method_paypal,
.single-product form.cart > iframe,
.single-product form.cart .paypal-buttons,
.single-product form.cart .paypal-messages { display:none!important; }

/* Consistent checkout rhythm. */
body.woocommerce-checkout main,
body.woocommerce-checkout .site-main { padding-top:3rem!important; padding-bottom:0!important; }

/* Checkout choices: keep shipping and payment options clearly separated. */
.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.woocommerce-checkout .wc-block-checkout__payment-method {
  display:block!important;
  width:calc(100% - 1rem)!important;
  margin:0 .5rem 1rem!important;
  border-radius:8px;
}
.woocommerce-checkout .wc-block-components-radio-control__option + .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option,
.woocommerce-checkout .wc-block-checkout__payment-method + .wc-block-checkout__payment-method {
  margin-top:1rem!important;
}
.woocommerce-checkout .wc-block-components-radio-control__option:last-child,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:last-child,
.woocommerce-checkout .wc-block-checkout__payment-method:last-child { margin-bottom:0!important; }

/* Separate choice cards instead of a single joined list. */
.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  border:1px solid #d7d1c6!important;
  border-radius:4px!important;
  overflow:hidden;
}
.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked),
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color:#203029!important;
  box-shadow:0 0 0 1px #203029!important;
}

/* Shipping rates are individual inset cards. Payment methods stay border-free. */
.woocommerce-checkout .wc-block-components-shipping-rates-control,
.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  overflow:visible!important;
  padding:2px 0!important;
}

/* Individual checkout tabs: every choice is bordered, spaced and selectable. */
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option {
  display:block!important;
  width:calc(100% - 1.5rem)!important;
  margin:0 .75rem 1rem!important;
  border:1px solid #d7d1c6!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control {
  overflow:visible!important;
  padding:2px 0!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked),
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color:#592c8d!important;
  background:#fbe3da!important;
  box-shadow:0 0 0 1px #592c8d!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
  display:flex!important;
  width:calc(100% - 1.5rem)!important;
  margin:0 .75rem 1rem!important;
  border:1px solid #d7d1c6!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
  margin-top:0!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked) {
  border-color:#203029!important;
  box-shadow:0 0 0 1px #203029!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option:has(input:checked) {
  background:#fbe3da!important;
  box-shadow:inset 4px 0 0 #592c8d!important;
}

/* No outer outlines around either checkout section or shipping-rate rows. */
.woocommerce-checkout .wc-block-checkout__shipping-option,
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked) {
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked),
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option:has(input:checked) {
  background:transparent!important;
  border:1px solid #592c8d!important;
  border-radius:8px!important;
  box-shadow:none!important;
}

/* Compact mobile navigation: header for identity, bottom bar for actions. */
.dawn-mobile-nav{display:none}
.dawn-mobile-menu-head{display:none}

/* Requested home-section backgrounds. */
body.home .dawn-home-complete-ritual{background:#f3ebe4}
body.home .concern-grid .concern{background:#f3ebe4}
body.home .concern-grid .concern:hover{background:var(--sage-dark);color:#fff}

/* Final checkout card rules — must follow legacy checkout declarations. */
.woocommerce-checkout .wc-block-checkout__shipping-option,
.woocommerce-checkout .wc-block-checkout__payment-method {
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control {
  overflow:visible!important;
  padding:5px 0!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
.woocommerce-checkout .wc-block-components-checkout-step__content {
  overflow:visible!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control::before,
.woocommerce-checkout .wc-block-components-shipping-rates-control::after,
.woocommerce-checkout .wc-block-components-shipping-rates-control__package::before,
.woocommerce-checkout .wc-block-components-shipping-rates-control__package::after,
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control::before,
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control::after {
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Framed choice groups with protected inner padding for every tab. */
.woocommerce-checkout .wc-block-components-shipping-rates-control,
.woocommerce-checkout .wc-block-components-checkout-step__content {
  border:1px solid #d7d1c6!important;
  border-radius:8px!important;
  padding:10px!important;
  overflow:visible!important;
  background:transparent!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control {
  padding:0!important;
  overflow:visible!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option {
  width:100%!important;
  margin:0 0 12px!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:last-child,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option:last-child {
  margin-bottom:0!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option {
  display:block!important;
  width:calc(100% - 1.5rem)!important;
  margin:0 .75rem 1rem!important;
  border:1px solid #d7d1c6!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked),
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color:#592c8d!important;
  background:#fbe3da!important;
  box-shadow:0 0 0 1px #592c8d!important;
}
@media(max-width:900px){
  body{padding-bottom:74px}.site-header .header-inner{grid-template-columns:1fr auto}.site-header .brand{grid-column:1;grid-row:1;justify-self:start}.site-header .menu-toggle{display:grid;grid-column:2;grid-row:1;place-items:center;width:42px;height:42px;padding:0;border:0;background:transparent;color:#3d3158;font-size:0;cursor:pointer}.site-header .menu-toggle:before{width:22px;height:2px;content:"";background:currentColor;box-shadow:0 7px 0 currentColor,0 14px 0 currentColor}.site-header .header-tools{display:none}.site-header .main-nav{position:fixed;top:0;bottom:0;left:0;z-index:1100;display:flex;flex-direction:column;align-items:stretch;width:min(330px,86vw);padding:1.1rem;background:#fffdf8;border:0;border-radius:0;box-shadow:18px 0 45px rgba(42,36,56,.2);opacity:0;visibility:hidden;transform:translateX(-105%);transition:transform .28s ease,opacity .2s ease}.site-header .main-nav.is-open{opacity:1;visibility:visible;transform:none}.site-header .main-nav a{position:relative;padding:1rem .65rem 1rem 2.3rem;color:#3d3158;font-size:13px;border-bottom:1px solid #eee4dc}.site-header .main-nav a:before{position:absolute;left:.7rem;color:#592c8d;content:"›";font-size:22px;line-height:.7}.dawn-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid #e7ddd4}.dawn-mobile-menu-head .brand{display:flex!important;width:72px;height:62px}.dawn-mobile-menu-head .brand-logo{max-width:72px!important;height:62px!important}.dawn-mobile-menu-close{position:relative;width:40px;height:40px;border:0;border-radius:50%;background:#592c8d;color:#fff;font-size:0;cursor:pointer}.dawn-mobile-menu-close:before,.dawn-mobile-menu-close:after{position:absolute;top:50%;left:50%;width:17px;height:2px;content:"";background:#fff;transform:translate(-50%,-50%) rotate(45deg)}.dawn-mobile-menu-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.dawn-mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-columns:repeat(5,1fr);min-height:68px;padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#fffdf8;border-top:1px solid #e7ddd4;box-shadow:0 -8px 28px rgba(42,36,56,.09)}.dawn-mobile-nav-item{position:relative;display:grid;place-items:center;gap:3px;min-width:0;padding:3px;border:0;background:transparent;color:#3d3158;font-family:Montserrat,sans-serif;font-size:9px;font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer}.dawn-mobile-nav-item svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.dawn-mobile-nav-item i{position:absolute;top:0;right:calc(50% - 17px);display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:#592c8d;color:#fff;font:800 9px/1 Montserrat,sans-serif;font-style:normal}.dawn-mobile-nav-item:hover,.dawn-mobile-nav-item:focus-visible{color:#592c8d}.dawn-mobile-cart{appearance:none}.dawn-mobile-cart .cart-count{display:grid}}
@media(max-width:600px){.site-header .header-inner{height:80px;min-height:80px}.site-header .brand{width:76px;height:70px}.site-header .brand-logo{max-width:76px!important;height:70px!important;max-height:70px!important}.dawn-mobile-nav-item span{max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.woocommerce main,.woocommerce-page main{width:90%;padding:3rem 0}.inner-hero{padding:3rem 0}.dawn-home-section-title h2,body.home h2{font-size:clamp(34px,10vw,45px)!important}}

/* Branded mobile drawer refinements. */
@media(max-width:900px){
  body.dawn-mobile-menu-open{overflow:hidden}
  .site-header .main-nav a:before{content:"";font-size:18px;line-height:1}
  .site-header .main-nav a:nth-of-type(1):before{content:"⌂"}
  .site-header .main-nav a:nth-of-type(2):before{content:"▣"}
  .site-header .main-nav a:nth-of-type(3):before{content:"▦"}
  .site-header .main-nav a:nth-of-type(4):before{content:"✦"}
  .site-header .main-nav a:nth-of-type(5):before{content:"★"}
}

/* Final mobile-header override: prevent grid overlap from hiding the three lines. */
@media(max-width:900px){
  /* Avoid the header's backdrop-filter becoming the fixed drawer's containing block. */
  .site-header{backdrop-filter:none}
  .site-header .menu-toggle{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important}
  .site-header .menu-toggle:before{display:none!important}
  .site-header .menu-toggle span{display:block!important;flex:0 0 2px;width:23px;height:2px;border-radius:2px;background:#3d3158}
  .site-header .main-nav{padding:.85rem 1rem!important}
  .dawn-mobile-menu-head{min-height:48px;margin:0 0 .55rem!important;padding:0 0 .7rem!important}
  .dawn-mobile-menu-label{color:#3d3158;font-family:var(--serif);font-size:26px;font-weight:700;letter-spacing:-.03em}
  .site-header .main-nav a{padding:.85rem .4rem .85rem 2.15rem!important}
  .dawn-mobile-menu-close{width:38px!important;height:38px!important}
}

/* Mobile typography, newsletter controls and rendering refinements. */
@media(max-width:600px){
  h1,.inner-hero h1,body:not(.home) main h1,.dawn-article-title{font-size:clamp(31px,8vw,38px)!important;line-height:1.06!important}
  h2,body.home h2,.dawn-home-section-title h2{font-size:clamp(25px,7vw,31px)!important;line-height:1.12!important}
  h3{font-size:clamp(18px,5vw,21px)!important;line-height:1.2!important}
  .newsletter form{display:grid!important;grid-template-columns:1fr;margin-top:1.25rem!important}
  .newsletter input{min-height:50px!important;border-radius:8px 8px 0 0!important}
  .newsletter .btn{min-height:50px;border-radius:0 0 8px 8px!important}
  .hero-slider,.dawn-home-products-section,.dawn-home-categories,.newsletter,.site-footer{content-visibility:auto;contain-intrinsic-size:auto 520px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* One frame only: the inner choices panel owns the even spacing. */
.woocommerce-checkout fieldset.wc-block-checkout__shipping-option,
.woocommerce-checkout fieldset.wc-block-checkout__payment-method {
  border:1px solid #d7d1c6!important;
  border-radius:8px!important;
  padding:10px!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-checkout-step__content {
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Final checkout treatment: option cards only, never an outer frame. */
.woocommerce-checkout fieldset.wc-block-checkout__shipping-option,
.woocommerce-checkout fieldset.wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-components-shipping-rates-control,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-checkout-step__content,
.woocommerce-checkout .wc-block-components-shipping-rates-control__package {
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control {
  padding:0!important;
  overflow:visible!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
  width:100%!important;
  margin:0 0 12px!important;
  border:1px solid #d7d1c6!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:last-child,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:last-child {
  margin-bottom:0!important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked),
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color:#592c8d!important;
  background:#fbe3da!important;
  box-shadow:0 0 0 1px #592c8d!important;
}

/* Match payment-section breathing room to the shipping section. */
.woocommerce-checkout fieldset.wc-block-checkout__payment-method {
  margin:1.5rem 0!important;
}
body.page-id-25 main,
body.page-id-25 .site-main { padding-bottom:3rem!important; }
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
  box-sizing:border-box!important;
  width:100%!important;
  padding:0!important;
}
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-checkout-step__content {
  box-sizing:border-box!important;
  width:100%!important;
  padding:12px!important;
  border:1px solid #ccc!important;
  border-radius:8px!important;
}
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control::before,
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control::after {
  border:0!important;
  box-shadow:none!important;
}
.woocommerce-checkout fieldset.wc-block-checkout__payment-method {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  align-self:stretch!important;
}
