:root {
  --luv-paper: #F6F1EC;
  --luv-charcoal: #24201F;
  --luv-line: #E1D7D0;
  --luv-muted: #4D4542;
  --luv-burgundy: #712F39;
  --luv-dusty-rose: #C98E8A;
  --luv-clay: #B66C52;
  --luv-matte-gold: #B5905A;
  --luv-white: #fff;
  --luv-shell: min(1360px, calc(100% - 40px));
}

/* Blocksy stays the parent engine. This replaces only its public header. */
.luv-body #header.ct-header,
.luv-body header#header {
  display: none !important;
}

html,
body.luv-body {
  background: var(--luv-paper);
}

.luv-body {
  color: var(--luv-muted);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --wc-primary: var(--luv-burgundy);
  --wc-secondary: var(--luv-charcoal);
  --wc-border: var(--luv-line);
}

.luv-body :is(button, input, select, textarea) {
  font-family: inherit;
}

.luv-body a {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, opacity .18s ease, transform .18s ease;
}

.luv-body :focus-visible {
  outline: 2px solid var(--luv-burgundy);
  outline-offset: 3px;
}

/* ── Trust bar ─────────────────────────────────────────────────────────── */
.luv-utility {
  position: relative;
  z-index: 9999;
  min-height: 34px;
  display: flex;
  align-items: center;
  background: var(--luv-burgundy);
  color: var(--luv-white);
}

.luv-utility__inner {
  width: min(1360px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.luv-utility__item {
  padding: 8px 12px;
  border-right: 1px solid rgba(255, 255, 255, .24);
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 10px;
  line-height: 1.25;
  letter-spacing: .13em;
}

.luv-utility__item:last-child {
  border-right: 0;
}

/* ── Header ────────────────────────────────────────────────────────────── */
.luv-site-header {
  position: relative;
  top: auto;
  z-index: 9998;
  border-bottom: 1px solid var(--luv-line);
  background: var(--luv-paper);
}

.admin-bar .luv-site-header {
  top: auto;
}

.luv-header-main {
  width: var(--luv-shell);
  min-height: 124px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}

.luv-header-left,
.luv-header-actions {
  display: flex;
  align-items: center;
}

.luv-header-left {
  position: relative;
}

.luv-header-actions {
  justify-content: flex-end;
  gap: 8px;
}

.luv-brand {
  display: grid;
  justify-items: center;
  gap: 7px;
  color: var(--luv-muted);
  text-decoration: none;
  line-height: 1;
}

.luv-brand__wordmark {
  display: block;
  color: var(--luv-muted);
  line-height: 0;
  white-space: nowrap;
}

.luv-brand__wordmark img {
  display: block;
  width: min(238px, 30vw);
  height: auto;
}

.luv-brand__descriptor {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--luv-burgundy);
  font-family: Inter, system-ui, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .48em;
  line-height: 1;
  text-transform: uppercase;
  transform: none;
}

.luv-brand__descriptor span {
  width: 42px;
  height: 1px;
  background: var(--luv-burgundy);
}

.luv-icon-btn,
.luv-search__submit {
  position: relative;
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--luv-muted);
  text-decoration: none;
  cursor: pointer;
}

.luv-icon-btn:hover,
.luv-icon-btn:focus-visible,
.luv-search__submit:hover,
.luv-search__submit:focus-visible {
  color: var(--luv-white);
  background: var(--luv-charcoal);
  box-shadow: 0 0 0 1px var(--luv-burgundy) inset;
}

.luv-icon-btn svg,
.luv-search__submit svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
}

.luv-search {
  width: 245px;
  display: flex;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid var(--luv-line);
  color: var(--luv-muted);
}

.luv-search__submit {
  width: 30px;
  height: 36px;
  flex: 0 0 30px;
}

.luv-search__submit svg {
  width: 19px;
  height: 19px;
}

.luv-search input[type="search"] {
  width: 100%;
  min-width: 0;
  padding: 0 0 1px;
  border: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  color: var(--luv-muted);
  font-size: 12px;
  line-height: 1.2;
}

.luv-search input::placeholder {
  color: rgba(199, 204, 214, .6);
}

.luv-cart-count {
  position: absolute;
  top: 0;
  right: -1px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  border-radius: 99px;
  background: var(--luv-burgundy);
  color: var(--luv-white);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

/* ── Automatic catalogue navigation ───────────────────────────────────── */
.luv-nav-shell {
  border-top: 1px solid rgba(38, 47, 63, .64);
  background: var(--luv-paper);
}

.luv-nav {
  width: var(--luv-shell);
  min-height: 48px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: clamp(16px, 2vw, 32px);
}

.luv-nav a {
  position: relative;
  padding: 17px 0 15px;
  color: var(--luv-muted);
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .09em;
}

.luv-nav a::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 9px;
  left: 50%;
  height: 2px;
  background: var(--luv-burgundy);
  transition: left .18s ease, right .18s ease;
}

.luv-nav a:hover,
.luv-nav a:focus-visible {
  color: var(--luv-white);
}

.luv-nav a:hover::after,
.luv-nav a:focus-visible::after {
  right: 0;
  left: 0;
}

.luv-nav .luv-nav-accent {
  color: var(--luv-burgundy);
}

.luv-mobile-trigger,
.luv-mobile-drawer {
  display: none;
}

/* ── Editorial home ────────────────────────────────────────────────────── */
.luv-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--luv-line);
  background:
    radial-gradient(circle at 76% 42%, rgba(26, 61, 204, .3), transparent 17%),
    radial-gradient(circle at 84% 72%, rgba(26, 61, 204, .16), transparent 27%),
    linear-gradient(105deg, var(--luv-charcoal) 0%, var(--luv-paper) 58%, var(--luv-paper) 82%);
}

.luv-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(125deg, transparent 0 61%, rgba(199, 204, 214, .05) 61% 61.35%, transparent 61.35%),
    linear-gradient(145deg, transparent 0 70%, rgba(26, 61, 204, .1) 70% 70.45%, transparent 70.45%);
  pointer-events: none;
}

.luv-hero__inner {
  position: relative;
  width: var(--luv-shell);
  min-height: 500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr);
  align-items: center;
  gap: 48px;
}

.luv-hero__content {
  position: relative;
  z-index: 1;
  padding: 72px 0;
}

.luv-hero__kicker {
  margin: 0 0 15px;
  color: var(--luv-burgundy);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .24em;
}

.luv-hero h1 {
  max-width: 690px;
  margin: 0;
  color: var(--luv-white);
  font-family: "Manrope", Georgia, serif;
  font-size: clamp(54px, 6.2vw, 88px);
  font-weight: 500;
  line-height: .92;
  letter-spacing: .01em;
}

.luv-hero__text {
  max-width: 515px;
  margin: 23px 0 0;
  color: var(--luv-muted);
  font-size: 15px;
  line-height: 1.75;
}

.luv-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 31px;
}

.luv-button {
  min-height: 45px;
  padding: 0 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--luv-burgundy);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
}

.luv-button--primary {
  background: var(--luv-burgundy);
  color: var(--luv-white);
}

.luv-button--primary:hover,
.luv-button--primary:focus-visible {
  background: transparent;
  color: var(--luv-white);
}

.luv-button--secondary {
  border-color: var(--luv-line);
  background: transparent;
  color: var(--luv-muted);
}

.luv-button--secondary:hover,
.luv-button--secondary:focus-visible {
  border-color: var(--luv-burgundy);
  color: var(--luv-white);
}

.luv-hero__visual {
  position: relative;
  align-self: stretch;
  min-height: 390px;
  display: grid;
  place-items: center;
}

.luv-hero__visual::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(31vw, 430px);
  aspect-ratio: 1;
  border: 1px solid rgba(199, 204, 214, .8);
  border-radius: 50%;
  box-shadow: 0 0 0 13px rgba(26, 61, 204, .1), 0 0 55px rgba(26, 61, 204, .3);
  transform: translate(-50%, -50%);
}

.luv-hero__visual::after {
  content: "";
  position: absolute;
  inset: 12% 0 5%;
  background: linear-gradient(180deg, transparent 45%, var(--luv-paper) 100%);
  pointer-events: none;
}

.luv-hero__visual img {
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  max-height: 440px;
  object-fit: contain;
  filter: drop-shadow(0 24px 32px rgba(0, 0, 0, .38));
}

.luv-hero__visual.has-image img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  mix-blend-mode: screen;
}

.luv-hero__visual .luv-hero__monogram {
  width: min(52%, 220px);
  opacity: .92;
}

.luv-benefits {
  border-bottom: 1px solid var(--luv-line);
  background: var(--luv-paper);
}

.luv-benefits__inner {
  width: var(--luv-shell);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.luv-benefit {
  min-height: 94px;
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 13px;
  border-right: 1px solid var(--luv-line);
}

.luv-benefit:last-child {
  border-right: 0;
}

.luv-benefit__icon {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid var(--luv-burgundy);
  border-radius: 50%;
  color: var(--luv-burgundy);
  font-size: 12px;
  font-weight: 600;
}

.luv-benefit strong {
  display: block;
  margin-bottom: 5px;
  color: var(--luv-white);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .08em;
}

.luv-benefit span {
  display: block;
  color: rgba(199, 204, 214, .74);
  font-size: 11px;
  line-height: 1.42;
}

/* ── WooCommerce foundation ────────────────────────────────────────────── */
.luv-body .site-main,
.luv-body .entry-content {
  color: var(--luv-muted);
}

.luv-body .entry-content h1,
.luv-body .entry-content h2,
.luv-body .entry-content h3,
.luv-body .woocommerce h1,
.luv-body .woocommerce h2,
.luv-body .woocommerce h3,
.luv-body .woocommerce .product_title {
  color: var(--luv-white);
  font-family: "Manrope", Georgia, serif;
  font-weight: 500;
}

.luv-body .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 18px;
  margin: 32px 0 0;
}

.luv-body .woocommerce ul.products::before,
.luv-body .woocommerce ul.products::after {
  display: none;
}

.luv-body .woocommerce ul.products li.product {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 12px;
  border: 1px solid rgba(38, 47, 63, .85);
  background: var(--luv-charcoal);
}

.luv-body .woocommerce ul.products li.product:hover {
  border-color: rgba(26, 61, 204, .85);
}

.luv-body .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  color: var(--luv-muted);
  text-decoration: none;
}

.luv-body .woocommerce ul.products li.product a img {
  width: 100%;
  margin: 0 0 14px;
  background: var(--luv-paper);
}

.luv-body .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.9em;
  margin: 0 0 8px;
  color: var(--luv-white);
  font-family: "Manrope", Georgia, serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.04;
}

.luv-body .woocommerce ul.products li.product .price,
.luv-body .woocommerce div.product p.price,
.luv-body .woocommerce div.product span.price {
  color: var(--luv-muted);
  font-size: 14px;
  font-weight: 600;
}

.luv-body .woocommerce .price del {
  color: rgba(199, 204, 214, .55);
}

.luv-body .woocommerce .price ins {
  color: var(--luv-white);
  text-decoration: none;
}

.luv-body .woocommerce a.button,
.luv-body .woocommerce button.button,
.luv-body .woocommerce input.button,
.luv-body .woocommerce #respond input#submit,
.luv-body .wp-element-button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid var(--luv-burgundy);
  border-radius: 0;
  background: var(--luv-burgundy);
  color: var(--luv-white);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
}

.luv-body .woocommerce a.button:hover,
.luv-body .woocommerce button.button:hover,
.luv-body .woocommerce input.button:hover,
.luv-body .woocommerce #respond input#submit:hover,
.luv-body .wp-element-button:hover {
  border-color: var(--luv-burgundy);
  background: var(--luv-charcoal);
  color: var(--luv-white);
}

.luv-body .woocommerce span.onsale {
  top: 10px;
  left: 10px;
  min-width: auto;
  min-height: auto;
  padding: 7px 9px;
  border-radius: 0;
  background: var(--luv-burgundy);
  color: var(--luv-white);
  text-transform: uppercase;
  font-size: 9px;
  line-height: 1;
  letter-spacing: .08em;
}

.luv-body .woocommerce .woocommerce-result-count,
.luv-body .woocommerce .woocommerce-ordering select {
  color: var(--luv-muted);
  font-size: 12px;
}

.luv-body .woocommerce .woocommerce-ordering select {
  border: 1px solid var(--luv-line);
  border-radius: 0;
  background: var(--luv-paper);
}

.luv-body .woocommerce nav.woocommerce-pagination ul {
  border: 0;
}

.luv-body .woocommerce nav.woocommerce-pagination ul li {
  border-right: 1px solid var(--luv-line);
}

.luv-body .woocommerce nav.woocommerce-pagination ul li span,
.luv-body .woocommerce nav.woocommerce-pagination ul li a {
  color: var(--luv-muted);
  background: var(--luv-charcoal);
}

.luv-body .woocommerce nav.woocommerce-pagination ul li span.current,
.luv-body .woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--luv-burgundy);
  color: var(--luv-white);
}

.luv-body .woocommerce div.product .product_title {
  font-size: clamp(36px, 4vw, 54px);
  line-height: .95;
}

.luv-body .woocommerce div.product .woocommerce-product-gallery__wrapper {
  border: 1px solid var(--luv-line);
  background: var(--luv-charcoal);
}

.luv-body .woocommerce div.product .woocommerce-product-gallery__image {
  background: var(--luv-paper);
}

.luv-body .woocommerce div.product form.cart {
  padding: 22px 0;
  border-top: 1px solid var(--luv-line);
  border-bottom: 1px solid var(--luv-line);
}

.luv-body .woocommerce .quantity .qty,
.luv-body .woocommerce input.input-text,
.luv-body .woocommerce textarea,
.luv-body .woocommerce select,
.luv-body .woocommerce form .form-row input.input-text,
.luv-body .woocommerce form .form-row textarea {
  border: 1px solid var(--luv-line);
  border-radius: 0;
  background: var(--luv-paper);
  color: var(--luv-white);
}

.luv-body .woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--luv-line);
}

.luv-body .woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom-color: var(--luv-line);
}

.luv-body .woocommerce div.product .woocommerce-tabs ul.tabs li,
.luv-body .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.luv-body .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  border-color: var(--luv-line);
  background: var(--luv-charcoal);
}

.luv-body .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--luv-muted);
}

.luv-body .woocommerce table.shop_table,
.luv-body .woocommerce .cart-collaterals .cart_totals,
.luv-body .woocommerce form.checkout_coupon,
.luv-body .woocommerce form.login,
.luv-body .woocommerce form.register,
.luv-body .woocommerce form.woocommerce-EditAccountForm,
.luv-body .woocommerce .woocommerce-MyAccount-navigation,
.luv-body .woocommerce .woocommerce-MyAccount-content {
  border: 1px solid var(--luv-line);
  border-radius: 0;
  background: var(--luv-charcoal);
}

.luv-body .woocommerce table.shop_table th,
.luv-body .woocommerce table.shop_table td {
  border-color: var(--luv-line);
  color: var(--luv-muted);
}

.luv-body .woocommerce table.shop_table a,
.luv-body .woocommerce .woocommerce-MyAccount-navigation a {
  color: var(--luv-white);
}

.luv-body .woocommerce .woocommerce-MyAccount-navigation {
  overflow: hidden;
}

.luv-body .woocommerce .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.luv-body .woocommerce .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--luv-line);
}

.luv-body .woocommerce .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 13px 16px;
  text-decoration: none;
}

.luv-body .woocommerce .woocommerce-MyAccount-navigation li.is-active a,
.luv-body .woocommerce .woocommerce-MyAccount-navigation li a:hover {
  background: var(--luv-burgundy);
}

.luv-body .woocommerce .woocommerce-MyAccount-content {
  padding: 24px;
}

.luv-body .woocommerce .woocommerce-info,
.luv-body .woocommerce .woocommerce-message,
.luv-body .woocommerce .woocommerce-error {
  border-top-color: var(--luv-burgundy);
  background: var(--luv-charcoal);
  color: var(--luv-muted);
}

.luv-body .woocommerce .woocommerce-info::before,
.luv-body .woocommerce .woocommerce-message::before,
.luv-body .woocommerce .woocommerce-error::before {
  color: var(--luv-burgundy);
}

.luv-body .woocommerce-checkout #payment,
.luv-body .woocommerce-checkout #payment div.payment_box {
  background: var(--luv-charcoal);
  color: var(--luv-muted);
}

.luv-body .woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--luv-charcoal);
}

/* ── Clear commerce canvas: dark header, uninterrupted light shopping area ─ */
body.woocommerce-page #main-container,
body.post-type-archive-product #main-container,
body.tax-product_cat #main-container,
body.tax-product_tag #main-container {
  background: var(--luv-white);
}

body.woocommerce-page .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main,
body.woocommerce-page .ct-container,
body.post-type-archive-product .ct-container,
body.tax-product_cat .ct-container,
body.tax-product_tag .ct-container,
body.woocommerce-page .entry-content,
body.post-type-archive-product .entry-content,
body.tax-product_cat .entry-content,
body.tax-product_tag .entry-content {
  color: var(--luv-charcoal);
}

body.woocommerce-page .entry-content > *,
body.post-type-archive-product .entry-content > *,
body.tax-product_cat .entry-content > *,
body.tax-product_tag .entry-content > * {
  color: inherit;
}

/* Blocksy's page title becomes a compact part of the white catalogue canvas. */
body.woocommerce-page .hero-section,
body.post-type-archive-product .hero-section,
body.tax-product_cat .hero-section,
body.tax-product_tag .hero-section {
  margin-bottom: 0 !important;
  border: 0;
  background: var(--luv-white) !important;
}

body.woocommerce-page .hero-section[data-type="type-2"] > [class*="ct-container"],
body.post-type-archive-product .hero-section[data-type="type-2"] > [class*="ct-container"],
body.tax-product_cat .hero-section[data-type="type-2"] > [class*="ct-container"],
body.tax-product_tag .hero-section[data-type="type-2"] > [class*="ct-container"] {
  min-height: 0 !important;
  padding-top: 34px !important;
  padding-bottom: 24px !important;
}

body.woocommerce-page .hero-section .page-title,
body.post-type-archive-product .hero-section .page-title,
body.tax-product_cat .hero-section .page-title,
body.tax-product_tag .hero-section .page-title {
  color: var(--luv-charcoal) !important;
  font-family: "Manrope", Georgia, serif;
  font-size: clamp(38px, 4vw, 56px);
  font-weight: 500;
  line-height: .95;
  width: 100%;
  text-align: center;
}

body.woocommerce-page .woocommerce ul.products li.product,
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
  border-color: var(--luv-muted);
  background: var(--luv-white);
}

body.woocommerce-page .woocommerce ul.products li.product:hover,
body.post-type-archive-product .woocommerce ul.products li.product:hover,
body.tax-product_cat .woocommerce ul.products li.product:hover,
body.tax-product_tag .woocommerce ul.products li.product:hover {
  border-color: var(--luv-burgundy);
}

body.woocommerce-page .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  color: var(--luv-charcoal);
}

body.woocommerce-page .woocommerce ul.products li.product a img,
body.post-type-archive-product .woocommerce ul.products li.product a img,
body.tax-product_cat .woocommerce ul.products li.product a img,
body.tax-product_tag .woocommerce ul.products li.product a img {
  background: var(--luv-white);
}

body.woocommerce-page .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page .woocommerce ul.products li.product .price,
body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .price {
  color: var(--luv-charcoal);
}

body.woocommerce-page .woocommerce .price ins,
body.post-type-archive-product .woocommerce .price ins,
body.tax-product_cat .woocommerce .price ins,
body.tax-product_tag .woocommerce .price ins {
  color: var(--luv-burgundy);
}

body.woocommerce-page .woocommerce .price del,
body.post-type-archive-product .woocommerce .price del,
body.tax-product_cat .woocommerce .price del,
body.tax-product_tag .woocommerce .price del {
  color: var(--luv-muted);
}

body.woocommerce-page .woocommerce .woocommerce-result-count,
body.post-type-archive-product .woocommerce .woocommerce-result-count,
body.tax-product_cat .woocommerce .woocommerce-result-count,
body.tax-product_tag .woocommerce .woocommerce-result-count,
body.woocommerce-page .woocommerce .woocommerce-ordering select,
body.post-type-archive-product .woocommerce .woocommerce-ordering select,
body.tax-product_cat .woocommerce .woocommerce-ordering select,
body.tax-product_tag .woocommerce .woocommerce-ordering select {
  color: var(--luv-charcoal);
}

body.woocommerce-page .woocommerce .woocommerce-ordering select,
body.post-type-archive-product .woocommerce .woocommerce-ordering select,
body.tax-product_cat .woocommerce .woocommerce-ordering select,
body.tax-product_tag .woocommerce .woocommerce-ordering select {
  background: var(--luv-white);
  border-color: var(--luv-muted);
}

/* On the light commerce canvas, every interaction keeps a dark, legible label. */
body.woocommerce-page .woocommerce a.button:hover,
body.woocommerce-page .woocommerce button.button:hover,
body.woocommerce-page .woocommerce input.button:hover,
body.woocommerce-page .woocommerce #respond input#submit:hover,
body.woocommerce-page .wp-element-button:hover,
body.post-type-archive-product .woocommerce a.button:hover,
body.tax-product_cat .woocommerce a.button:hover,
body.tax-product_tag .woocommerce a.button:hover {
  border-color: var(--luv-charcoal);
  background: var(--luv-charcoal);
  color: var(--luv-white);
}

body.woocommerce-page .woocommerce-checkout #payment #place_order,
body.woocommerce-page .woocommerce-checkout #payment #place_order:hover,
body.woocommerce-page .woocommerce-checkout #payment #place_order:focus-visible {
  border-color: var(--luv-burgundy);
  background: var(--luv-burgundy);
  color: var(--luv-white);
}

body.woocommerce-page .woocommerce-checkout #payment #place_order:hover,
body.woocommerce-page .woocommerce-checkout #payment #place_order:focus-visible {
  border-color: var(--luv-charcoal);
  background: var(--luv-charcoal);
}

/* Keep the cart, checkout, account and product detail surfaces consistently light. */
body.woocommerce-page .woocommerce table.shop_table,
body.woocommerce-page .woocommerce .cart-collaterals .cart_totals,
body.woocommerce-page .woocommerce form.checkout_coupon,
body.woocommerce-page .woocommerce form.login,
body.woocommerce-page .woocommerce form.register,
body.woocommerce-page .woocommerce form.woocommerce-EditAccountForm,
body.woocommerce-page .woocommerce .woocommerce-MyAccount-navigation,
body.woocommerce-page .woocommerce .woocommerce-MyAccount-content,
body.woocommerce-page .woocommerce-checkout #payment,
body.woocommerce-page .woocommerce-checkout #payment div.payment_box {
  border-color: var(--luv-muted);
  background: var(--luv-white);
  color: var(--luv-charcoal);
}

body.woocommerce-page .woocommerce-checkout #payment div.payment_box {
  margin-top: 14px;
  background: #F6F1EC;
}

body.woocommerce-page .woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #F6F1EC;
}

body.woocommerce-page .woocommerce table.shop_table th,
body.woocommerce-page .woocommerce table.shop_table td,
body.woocommerce-page .woocommerce table.shop_table a,
body.woocommerce-page .woocommerce .woocommerce-MyAccount-navigation a,
body.woocommerce-page .woocommerce .woocommerce-info,
body.woocommerce-page .woocommerce .woocommerce-message,
body.woocommerce-page .woocommerce .woocommerce-error {
  color: var(--luv-charcoal);
}

body.woocommerce-page .woocommerce .woocommerce-info,
body.woocommerce-page .woocommerce .woocommerce-message,
body.woocommerce-page .woocommerce .woocommerce-error {
  border-top-color: var(--luv-burgundy);
  background: #F6F1EC;
}

body.woocommerce-page .woocommerce .quantity .qty,
body.woocommerce-page .woocommerce input.input-text,
body.woocommerce-page .woocommerce textarea,
body.woocommerce-page .woocommerce select,
body.woocommerce-page .woocommerce form .form-row input.input-text,
body.woocommerce-page .woocommerce form .form-row textarea {
  border-color: var(--luv-muted);
  background: var(--luv-white);
  color: var(--luv-charcoal);
}

body.woocommerce-page .woocommerce div.product .woocommerce-product-gallery__wrapper,
body.woocommerce-page .woocommerce div.product .woocommerce-product-gallery__image,
body.woocommerce-page .woocommerce div.product .woocommerce-tabs ul.tabs li,
body.woocommerce-page .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.woocommerce-page .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  border-color: var(--luv-muted);
  background: var(--luv-white);
}

body.woocommerce-page .woocommerce div.product .woocommerce-tabs ul.tabs,
body.woocommerce-page .woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom-color: var(--luv-muted);
}

body.woocommerce-page .woocommerce div.product .woocommerce-tabs ul.tabs li a,
body.woocommerce-page .woocommerce div.product .product_title,
body.woocommerce-page .woocommerce h1,
body.woocommerce-page .woocommerce h2,
body.woocommerce-page .woocommerce h3 {
  color: var(--luv-charcoal);
}

body.woocommerce-page .woocommerce .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-page .woocommerce .woocommerce-MyAccount-navigation li a:hover {
  background: var(--luv-burgundy);
  color: var(--luv-white);
}

/* Institutional pages are editorial, light reading surfaces — never a washed
 * grey carry-over from the dark navigation and product presentation. */
body.page:not(.woocommerce-page) #main-container {
  background: var(--luv-white);
}

body.page:not(.woocommerce-page) .site-main,
body.page:not(.woocommerce-page) .ct-container,
body.page:not(.woocommerce-page) .entry-content,
body.page:not(.woocommerce-page) .entry-content > * {
  color: var(--luv-charcoal);
}

body.page:not(.woocommerce-page) .entry-content :is(h1, h2, h3, h4, h5, h6) {
  color: var(--luv-charcoal);
}

/* ── Home product edit ───────────────────────────────────────────────── */
body.home #main-container {
  background: var(--luv-white);
}

body.home .hero-section:not(.luv-hero) {
  display: none;
}

.luv-home-products {
  padding: clamp(56px, 7vw, 96px) 0 clamp(64px, 8vw, 112px);
  border-bottom: 1px solid var(--luv-muted);
  background: var(--luv-white);
  color: var(--luv-charcoal);
}

.luv-home-products__inner {
  width: var(--luv-shell);
  margin: 0 auto;
}

.luv-home-products__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.luv-home-products__eyebrow {
  margin: 0 0 10px;
  color: var(--luv-burgundy);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
}

.luv-home-products__title {
  margin: 0;
  color: var(--luv-charcoal);
  font-family: "Manrope", Georgia, serif;
  font-size: clamp(40px, 5vw, 62px);
  font-weight: 500;
  line-height: .92;
}

.luv-home-products__link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  border-bottom: 1px solid var(--luv-burgundy);
  color: var(--luv-charcoal);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

.luv-home-products__link:hover,
.luv-home-products__link:focus-visible {
  border-color: var(--luv-charcoal);
  color: var(--luv-burgundy);
}

.luv-home-products__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.luv-home-product {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--luv-muted);
  background: var(--luv-white);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.luv-home-product:hover {
  border-color: var(--luv-burgundy);
  box-shadow: 0 16px 30px rgba(11, 27, 52, .1);
  transform: translateY(-3px);
}

.luv-home-product__image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #F6F1EC;
}

.luv-home-product__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}

.luv-home-product:hover .luv-home-product__image img {
  transform: scale(1.025);
}

.luv-home-product__content {
  padding: 15px 3px 3px;
}

.luv-home-product__title {
  margin: 0 0 7px;
  color: var(--luv-charcoal);
  font-family: "Manrope", Georgia, serif;
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 500;
  line-height: 1;
}

.luv-home-product__title a {
  color: inherit;
  text-decoration: none;
}

.luv-home-product__price {
  color: var(--luv-charcoal);
  font-size: 13px;
  font-weight: 600;
}

.luv-home-products .woocommerce-Price-amount {
  color: inherit;
}

/* ── Luvoreli footer ───────────────────────────────────────────────────── */
.luv-body #footer.ct-footer,
.luv-body footer#footer {
  display: none !important;
}

.luv-footer {
  border-top: 1px solid rgba(246, 241, 236, .22);
  background: var(--luv-charcoal);
  color: rgba(246, 241, 236, .74);
}

.luv-footer__inner {
  width: var(--luv-shell);
  margin: 0 auto;
  padding: 58px 0 38px;
}

.luv-footer__grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(140px, 1fr));
  gap: 38px;
}

.luv-footer__brand {
  max-width: 320px;
}

.luv-footer__wordmark {
  display: block;
  margin-bottom: 13px;
  color: var(--luv-paper);
  font-family: Manrope, Arial, sans-serif;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1;
  text-transform: uppercase;
}

.luv-footer__brand p {
  margin: 0;
  color: rgba(246, 241, 236, .74);
  font-size: 13px;
  line-height: 1.65;
}

.luv-footer__social {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 20px;
}

.luv-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(246, 241, 236, .48);
  border-radius: 50%;
  color: var(--luv-paper);
}

.luv-social-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.luv-social-icon .luv-social-icon__fill {
  fill: currentColor;
  stroke: none;
}

a.luv-social-icon:hover {
  color: var(--luv-rose);
  background: rgba(246, 241, 236, .1);
}

a.luv-social-icon:focus-visible {
  outline: 2px solid var(--luv-rose);
  outline-offset: 3px;
}

.luv-footer__title {
  margin: 3px 0 14px;
  color: var(--luv-paper);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
}

.luv-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.luv-footer__links li + li {
  margin-top: 10px;
}

.luv-footer__links a {
  color: rgba(246, 241, 236, .74);
  text-decoration: none;
  font-size: 12px;
  line-height: 1.45;
}

.luv-footer__links a:hover,
.luv-footer__links a:focus-visible {
  color: var(--luv-matte-gold);
}

.luv-footer__bottom {
  width: var(--luv-shell);
  min-height: 57px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid rgba(246, 241, 236, .22);
  color: rgba(246, 241, 236, .66);
  font-size: 10px;
  letter-spacing: .04em;
}

.luv-footer__bottom a {
  color: rgba(246, 241, 236, .74);
  text-decoration: none;
}

.luv-footer__bottom a:hover,
.luv-footer__bottom a:focus-visible {
  color: var(--luv-matte-gold);
}

/* ── Responsive header, hero and catalogue ─────────────────────────────── */
@media (max-width: 999px) {
  .admin-bar .luv-site-header {
    top: auto;
  }

  .luv-utility__inner {
    display: flex;
    justify-content: center;
  }

  .luv-utility__item {
    display: none;
    border-right: 0;
  }

  .luv-utility__item:first-child {
    display: block;
  }

  .luv-header-main {
    width: calc(100% - 28px);
    min-height: 78px;
    grid-template-columns: 44px 1fr auto;
    gap: 8px;
  }

  .luv-mobile-trigger {
    display: grid;
  }

  .luv-search {
    width: 38px;
    border: 0;
  }

  .luv-search input[type="search"] {
    display: none;
  }

  .luv-search.is-open {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 0;
    width: min(330px, calc(100vw - 92px));
    height: 44px;
    padding: 0 7px;
    border: 1px solid var(--luv-burgundy);
    background: var(--luv-paper);
    transform: translateY(-50%);
  }

  .luv-search.is-open input[type="search"] {
    display: block;
  }

  .luv-brand {
    justify-self: center;
  }

  .luv-brand__wordmark {
    font-size: 35px;
  }

  .luv-brand__descriptor {
    font-size: 7px;
    gap: 6px;
  }

  .luv-brand__descriptor span {
    width: 24px;
  }

  .luv-hide-mobile,
  .luv-nav-shell {
    display: none !important;
  }

  .luv-mobile-drawer {
    display: block;
    max-height: 0;
    overflow: hidden;
    border-top: 1px solid var(--luv-line);
    background: var(--luv-paper);
    transition: max-height .25s ease;
  }

  .luv-mobile-drawer[hidden] {
    display: none;
  }

  .luv-mobile-drawer.is-open {
    max-height: 720px;
  }

  .luv-mobile-nav {
    width: calc(100% - 32px);
    margin: 0 auto;
    padding: 12px 0 18px;
  }

  .luv-mobile-nav a {
    display: block;
    padding: 13px 4px;
    border-bottom: 1px solid rgba(38, 47, 63, .75);
    color: var(--luv-muted);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .09em;
  }

  .luv-hero__inner {
    min-height: 440px;
    grid-template-columns: minmax(0, 1fr) minmax(210px, .6fr);
    gap: 20px;
  }

  .luv-hero__visual {
    min-height: 350px;
  }

  .luv-hero__visual::before {
    width: 310px;
  }

  .luv-benefits__inner {
    grid-template-columns: 1fr 1fr;
  }

  .luv-benefit:nth-child(2) {
    border-right: 0;
  }

  .luv-benefit:nth-child(-n + 2) {
    border-bottom: 1px solid var(--luv-line);
  }

  .luv-body .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .luv-home-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .luv-footer__grid {
    grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(140px, 1fr));
  }

  .luv-footer__brand {
    grid-row: span 2;
  }
}

@media (max-width: 600px) {
  :root {
    --luv-shell: calc(100% - 32px);
  }

  .luv-brand {
    gap: 5px;
  }

  .luv-brand__wordmark {
    font-size: 27px;
    letter-spacing: .15em;
  }

  .luv-brand__descriptor {
    font-size: 6px;
    gap: 5px;
  }

  .luv-brand__descriptor span {
    width: 19px;
  }

  .luv-utility__item {
    font-size: 9px;
    letter-spacing: .11em;
  }

  .luv-hero__inner {
    min-height: 485px;
    display: block;
  }

  .luv-hero__content {
    padding: 57px 0 45px;
  }

  .luv-hero h1 {
    max-width: 320px;
    font-size: 50px;
  }

  .luv-hero__text {
    max-width: 295px;
    font-size: 14px;
  }

  .luv-hero__actions {
    width: 190px;
    flex-direction: column;
  }

  .luv-hero__visual {
    position: absolute;
    right: -105px;
    bottom: -92px;
    width: 270px;
    min-height: 270px;
    opacity: .42;
  }

  .luv-hero__visual::before {
    width: 245px;
  }

  .luv-hero__visual .luv-hero__monogram {
    width: 170px;
  }

  .luv-benefits__inner {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .luv-benefit {
    min-height: 82px;
    padding: 17px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--luv-line) !important;
  }

  .luv-benefit:last-child {
    border-bottom: 0 !important;
  }

  .luv-body .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 10px;
  }

  .luv-body .woocommerce ul.products li.product {
    padding: 8px;
  }

  .luv-home-products {
    padding-top: 52px;
  }

  .luv-home-products__head {
    display: block;
    margin-bottom: 24px;
  }

  .luv-home-products__link {
    margin-top: 21px;
  }

  .luv-home-products__grid {
    gap: 10px;
  }

  .luv-home-product {
    padding: 8px;
  }

  .luv-home-product__content {
    padding: 11px 2px 2px;
  }

  .luv-home-product__title {
    min-height: 2em;
    font-size: 21px;
  }

  .luv-home-product__price {
    font-size: 12px;
  }

  .luv-footer__inner {
    padding: 46px 0 30px;
  }

  .luv-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 20px;
  }

  .luv-footer__brand {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .luv-footer__bottom {
    min-height: 0;
    padding: 17px 0 20px;
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}

/* ── WooCommerce Blocks: cart and checkout ────────────────────────────── */
/*
 * The Cart and Checkout pages use WooCommerce Blocks rather than the
 * classic WooCommerce templates. Keep their independently-rendered controls
 * on the same light commerce canvas as the product catalogue.
 */
body.woocommerce-page .wp-block-woocommerce-cart,
body.woocommerce-page .wp-block-woocommerce-checkout,
body.woocommerce-page .wc-block-cart,
body.woocommerce-page .wc-block-checkout {
  color: var(--luv-charcoal);
}

body.woocommerce-page .wc-block-components-main,
body.woocommerce-page .wc-block-cart__main,
body.woocommerce-page .wc-block-checkout__main,
body.woocommerce-page .wc-block-checkout__sidebar,
body.woocommerce-page .wc-block-cart__sidebar,
body.woocommerce-page .wc-block-components-sidebar,
body.woocommerce-page .wc-block-components-order-summary,
body.woocommerce-page .wc-block-components-totals-wrapper,
body.woocommerce-page .wc-block-components-totals-footer-item,
body.woocommerce-page .wc-block-components-checkout-step,
body.woocommerce-page .wc-block-checkout__payment-method {
  border-color: var(--luv-muted);
  background: var(--luv-white);
  color: var(--luv-charcoal);
}

body.woocommerce-page .wc-block-components-order-summary,
body.woocommerce-page .wc-block-components-totals-wrapper,
body.woocommerce-page .wc-block-checkout__sidebar,
body.woocommerce-page .wc-block-cart__sidebar {
  border: 1px solid var(--luv-muted);
}

body.woocommerce-page .wp-block-woocommerce-cart :is(h1, h2, h3, h4),
body.woocommerce-page .wp-block-woocommerce-checkout :is(h1, h2, h3, h4),
body.woocommerce-page .wc-block-components-title,
body.woocommerce-page .wc-block-components-order-summary-item__product,
body.woocommerce-page .wc-block-components-product-name,
body.woocommerce-page .wc-block-components-totals-item__label,
body.woocommerce-page .wc-block-components-totals-item__value,
body.woocommerce-page .wc-block-components-form .wc-block-components-text-input label,
body.woocommerce-page .wc-block-components-radio-control__label,
body.woocommerce-page .wc-block-components-checkbox__label,
body.woocommerce-page .wc-block-components-checkout-step__description,
body.woocommerce-page .wc-block-components-notice-banner {
  color: var(--luv-charcoal);
}

body.woocommerce-page .wp-block-woocommerce-cart a:not(.luv-icon-btn),
body.woocommerce-page .wp-block-woocommerce-checkout a:not(.luv-icon-btn) {
  color: var(--luv-charcoal);
}

body.woocommerce-page .wc-block-components-text-input input,
body.woocommerce-page .wc-block-components-combobox .components-combobox-control__input,
body.woocommerce-page .wc-block-components-combobox .wc-block-components-combobox-control__input,
body.woocommerce-page .wc-block-components-select .wc-block-components-select__select,
body.woocommerce-page .wc-block-components-textarea textarea,
body.woocommerce-page .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  border-color: var(--luv-muted);
  border-radius: 0;
  background: var(--luv-white);
  color: var(--luv-charcoal);
  box-shadow: none;
}

body.woocommerce-page .wc-block-components-text-input.is-active input,
body.woocommerce-page .wc-block-components-text-input input:focus,
body.woocommerce-page .wc-block-components-combobox .components-combobox-control__input:focus,
body.woocommerce-page .wc-block-components-select .wc-block-components-select__select:focus,
body.woocommerce-page .wc-block-components-textarea textarea:focus {
  border-color: var(--luv-burgundy);
  box-shadow: 0 0 0 1px var(--luv-burgundy);
}

body.woocommerce-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
body.woocommerce-page .wc-block-components-radio-control__input[type="radio"] {
  accent-color: var(--luv-burgundy);
}

body.woocommerce-page .wc-block-components-notice-banner {
  border-color: var(--luv-burgundy);
  background: #F4E7E5;
}

body.woocommerce-page .wc-block-components-notice-banner > svg {
  fill: var(--luv-burgundy);
}

/* The purchase actions need their own hard override: Woo Blocks supplies
 * button styles independently of the classic `#place_order` selector. */
body.woocommerce-page .wc-block-cart__submit-button,
body.woocommerce-page .wc-block-components-checkout-place-order-button,
body.woocommerce-page .wc-block-checkout__actions .wc-block-components-button,
body.woocommerce-page .wc-block-components-totals-coupon__button,
body.woocommerce-page .wc-block-components-button:not(.wc-block-components-express-payment-button) {
  border: 1px solid var(--luv-burgundy) !important;
  border-radius: 0 !important;
  background: var(--luv-burgundy) !important;
  color: var(--luv-white) !important;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
}

body.woocommerce-page .wc-block-cart__submit-button:hover,
body.woocommerce-page .wc-block-cart__submit-button:focus-visible,
body.woocommerce-page .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-page .wc-block-components-checkout-place-order-button:focus-visible,
body.woocommerce-page .wc-block-checkout__actions .wc-block-components-button:hover,
body.woocommerce-page .wc-block-checkout__actions .wc-block-components-button:focus-visible,
body.woocommerce-page .wc-block-components-totals-coupon__button:hover,
body.woocommerce-page .wc-block-components-totals-coupon__button:focus-visible,
body.woocommerce-page .wc-block-components-button:not(.wc-block-components-express-payment-button):hover,
body.woocommerce-page .wc-block-components-button:not(.wc-block-components-express-payment-button):focus-visible {
  border-color: var(--luv-charcoal) !important;
  background: var(--luv-charcoal) !important;
  color: var(--luv-white) !important;
}

body.woocommerce-page .wc-block-cart__submit-button :is(span, svg),
body.woocommerce-page .wc-block-components-checkout-place-order-button :is(span, svg),
body.woocommerce-page .wc-block-checkout__actions .wc-block-components-button :is(span, svg),
body.woocommerce-page .wc-block-components-button:not(.wc-block-components-express-payment-button) :is(span, svg) {
  color: currentColor;
  fill: currentColor;
}

/* The mobile hero intentionally lets its decorative monogram sit past its
 * right edge. Contain only page-level horizontal scrolling; the drawer stays
 * in the normal document flow and remains unaffected. */
html {
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html {
    overflow-x: clip;
  }
}

/* ── Product purchase flow ────────────────────────────────────────────── */
/* The product page is deliberately clearer: price first, choices, purchase,
 * then the native Melhor Envio lookup. Woo Better is intentionally hidden. */
.single-product .woo-better-parent-container,
.single-product .luv-product-shipping--duplicate {
  display: none !important;
}

/* Blocksy renders separators around the purchase block while the child theme
 * already controls this spacing. They became two unexplained lines in the UI. */
.luv-body.woocommerce-page.single-product .ct-product-divider {
  display: none !important;
}

/* A portrait crop was being imposed on square product photos, creating a
 * large empty area under pieces photographed on a white background. */
.luv-body.woocommerce-page.single-product .woocommerce-product-gallery .ct-media-container > img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover;
}

.luv-body.woocommerce-page.single-product div.product .summary > .price,
.luv-body.woocommerce-page.single-product div.product .summary > p.price,
.luv-body.woocommerce-page.single-product div.product .summary > span.price {
  margin: 14px 0 20px;
  color: var(--luv-charcoal) !important;
  font-family: Inter, sans-serif;
  font-size: clamp(34px, 2.9vw, 42px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.06;
  font-variant-numeric: tabular-nums;
}

.luv-body.woocommerce-page.single-product div.product .summary > .price .sale-price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}

.luv-body.woocommerce-page.single-product div.product .summary > .price del {
  display: block;
  order: 1;
  margin: 0;
  color: #6A605C !important;
  font-family: Inter, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.2;
  text-decoration: none !important;
}

/* Blocksy clears the native <del> decoration inside the nested price spans.
 * Draw the line on the exact amount so it is always visible. */
.luv-body.woocommerce-page.single-product div.product .summary > .price del .woocommerce-Price-amount {
  display: inline-block !important;
  position: relative;
  text-decoration: none !important;
}

.luv-body.woocommerce-page.single-product div.product .summary > .price del .woocommerce-Price-amount::after {
  content: '';
  position: absolute;
  top: 52%;
  right: 0;
  left: 0;
  height: 1px;
  background: #6A605C;
  transform: translateY(-50%);
  pointer-events: none;
}

.luv-body.woocommerce-page.single-product div.product .summary > .price ins {
  display: block;
  order: 2;
  font-family: Inter, sans-serif;
  font-size: inherit;
  font-weight: 700;
  color: var(--luv-charcoal) !important;
  text-decoration: none;
}

.luv-body.woocommerce-page.single-product div.product .summary > .price .woocommerce-Price-currencySymbol {
  margin-right: 5px;
  font-size: .82em;
  font-weight: 600;
  letter-spacing: 0;
  vertical-align: baseline;
}

/* The former price is a single, compact unit: “R$” and the amount use the
 * same size and baseline, instead of the smaller currency treatment used by
 * the current price. */
.luv-body.woocommerce-page.single-product div.product .summary > .price del .woocommerce-Price-amount bdi {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
}

.luv-body.woocommerce-page.single-product div.product .summary > .price del .woocommerce-Price-currencySymbol {
  margin-right: 0;
  font-size: 1em;
  font-weight: inherit;
}

.luv-price-sale {
  display: inline-block;
}

.luv-sale-discount {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  margin: 0 0 4px 10px;
  padding: 0 8px;
  border-radius: 2px;
  background: var(--luv-burgundy);
  color: var(--luv-white);
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  vertical-align: bottom;
}

.luv-free-shipping-badge {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  margin: 0 0 4px 7px;
  padding: 0 8px;
  border-radius: 2px;
  background: #e7ebef;
  color: #465364;
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1;
  text-transform: uppercase;
  vertical-align: bottom;
}

.luv-home-products .luv-sale-discount,
.luv-body.woocommerce-page .woocommerce ul.products .luv-sale-discount {
  margin: 7px 0 0;
}

.luv-home-products .luv-free-shipping-badge,
.luv-body.woocommerce-page .woocommerce ul.products .luv-free-shipping-badge {
  margin: 7px 0 0;
}

/* On catalogue cards, separate the former price from the discount badge. */
.luv-body.woocommerce-page .woocommerce ul.products li.product .luv-sale-discount {
  margin: 0 0 0 8px;
}

.luv-body.woocommerce-page .woocommerce ul.products li.product .luv-free-shipping-badge {
  margin: 0 0 0 7px;
}

.luv-body.woocommerce-page.single-product div.product .stock.luv-low-stock {
  margin: 13px 0 0;
  color: #B66C52;
  font-family: Inter, sans-serif;
  font-size: 13px;
  font-weight: 600;
}

.luv-body.woocommerce-page.single-product div.product form.cart {
  margin: 22px 0 0;
  padding: 0;
  border-top: 0;
  border-bottom: 0;
}

.luv-body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button {
  min-height: 52px;
  padding: 0 28px;
  border-color: var(--luv-burgundy) !important;
  border-radius: 0;
  background: var(--luv-burgundy) !important;
  color: var(--luv-white) !important;
  box-shadow: none;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
}

.luv-body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button:hover,
.luv-body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button:focus-visible {
  border-color: var(--luv-charcoal) !important;
  background: var(--luv-charcoal) !important;
  color: var(--luv-white) !important;
}

.luv-body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button.luv-buy-now {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  margin: 10px 0 0;
  border: 1px solid var(--luv-burgundy) !important;
  background: var(--luv-white) !important;
  color: var(--luv-burgundy) !important;
}

.luv-body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button.luv-buy-now:hover,
.luv-body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button.luv-buy-now:focus-visible {
  border-color: var(--luv-charcoal) !important;
  background: var(--luv-charcoal) !important;
  color: var(--luv-white) !important;
}

.luv-body.woocommerce-page.single-product div.product form.cart .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

.luv-body.woocommerce-page.single-product div.product form.cart .quantity .qty {
  min-height: 52px;
  border-color: var(--luv-muted);
  background: var(--luv-white);
  color: var(--luv-charcoal);
}

.single-product #woocommerce-correios-calculo-de-frete-na-pagina-do-produto.luv-product-shipping {
  box-sizing: border-box !important;
  max-width: 360px;
  width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--luv-charcoal);
}

.luv-product-shipping__label {
  margin: 0 0 10px;
  color: var(--luv-charcoal);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
}

.luv-product-shipping__field {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #E1D7D0;
  border-radius: 5px;
  background: var(--luv-white);
}

.luv-product-shipping .calculatorRow {
  margin: 0;
  padding: 0;
}

.luv-product-shipping .col-75 {
  display: none;
}

.luv-product-shipping__field {
  min-width: 0;
}

.luv-product-shipping #inputCep {
  min-width: 0;
  flex: 1 1 auto;
  width: 100% !important;
  min-height: 52px;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--luv-white) !important;
  color: var(--luv-charcoal) !important;
  box-shadow: none !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px;
}

.luv-product-shipping #inputCep::placeholder {
  color: #6A605C;
  opacity: 1;
}

.luv-product-shipping__submit {
  flex: 0 0 76px;
  width: 76px;
  min-height: 52px;
  border: 0 !important;
  border-left: 1px solid #E1D7D0 !important;
  border-radius: 0 !important;
  background: var(--luv-paper) !important;
  color: var(--luv-white) !important;
  font-family: Inter, sans-serif !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

.luv-product-shipping__submit:hover,
.luv-product-shipping__submit:focus-visible {
  background: var(--luv-charcoal) !important;
}

.luv-product-shipping #calcular-frete-loader {
  min-height: 34px;
  margin: 10px 0 0;
  align-items: center;
}

.luv-product-shipping #calcular-frete-loader img {
  width: 22px;
  height: 22px;
}

.luv-product-shipping .resultado-frete {
  margin-top: 12px;
  border: 1px solid var(--luv-muted);
  background: #F6F1EC;
  color: var(--luv-charcoal);
}

.luv-product-shipping .resultado-frete table {
  width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
}

.luv-product-shipping .resultado-frete td {
  padding: 11px 14px;
  border: 0;
  color: var(--luv-charcoal);
  font-size: 13px;
}

/* Product details follow the clean, editorial tab rhythm of the reference
 * without borrowing its branding or visual assets. */
.luv-body.woocommerce-page.single-product .woocommerce-tabs {
  margin-top: 54px;
}

.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0 26px;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--luv-muted) !important;
}

.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}

.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li,
.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::before,
.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li::after {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0 0 12px !important;
  color: #6A605C !important;
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: none;
}

.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a:hover,
.luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a:focus-visible {
  box-shadow: inset 0 -2px 0 var(--luv-burgundy);
  color: var(--luv-charcoal) !important;
}

.luv-body.woocommerce-page.single-product .woocommerce-tabs .panel {
  width: min(calc(100% - 48px), 820px);
  max-width: 820px;
  margin: 0 auto !important;
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 15px;
  line-height: 1.7;
}

.luv-body.woocommerce-page.single-product .woocommerce-tabs .panel > h2:first-child {
  display: none;
}

.luv-product-tab p {
  margin: 0 0 14px;
}

.luv-product-tab p:last-child {
  margin-bottom: 0;
}

/* Product reviews identify the customer without displaying profile photos. */
.luv-body.woocommerce-page.single-product #reviews #comments ol.commentlist li img.avatar {
  display: none !important;
}

.luv-body.woocommerce-page.single-product #reviews #comments ol.commentlist li .comment_container {
  display: block !important;
  padding-top: 30px;
}

.luv-body.woocommerce-page.single-product #reviews #comments ol.commentlist li .comment-text {
  width: 100% !important;
  margin-left: 0 !important;
}

.luv-body.woocommerce-page.single-product #reviews #comments ol.commentlist li .star-rating {
  float: right;
  margin: 2px 0 0 18px;
}

.luv-body.woocommerce-page.single-product #reviews #comments ol.commentlist li p.meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 7px;
  margin: 0 0 14px;
}

.luv-body.woocommerce-page.single-product #reviews #comments ol.commentlist li .woocommerce-review__published-date {
  display: inline !important;
  margin: 0 !important;
}

.luv-body.woocommerce-page.single-product #reviews #comments ol.commentlist li .description {
  clear: both;
}

@media (max-width: 600px) {
  .luv-body.woocommerce-page.single-product div.product form.cart .woocommerce-variation-add-to-cart {
    flex-wrap: wrap;
  }

  .luv-body.woocommerce-page.single-product div.product form.cart .single_add_to_cart_button {
    width: 100%;
  }

  .luv-product-shipping {
    max-width: none;
  }

  .luv-body.woocommerce-page.single-product .woocommerce-tabs ul.tabs {
    gap: 0 18px;
  }
}

/* ── Cart blocks: a calm, editorial order summary ────────────────────── */
body.woocommerce-page.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
  align-items: flex-start;
  gap: 0;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__main {
  padding-right: clamp(28px, 4vw, 52px);
  background: transparent;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-items {
  overflow: hidden;
  border: 1px solid var(--luv-muted);
  border-collapse: separate;
  border-spacing: 0;
  background: var(--luv-white);
  box-shadow: 0 10px 30px rgba(11, 27, 52, .055);
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-items__header :is(th, td),
body.woocommerce-page.woocommerce-cart .wc-block-cart-items__header-image,
body.woocommerce-page.woocommerce-cart .wc-block-cart-items__header-product,
body.woocommerce-page.woocommerce-cart .wc-block-cart-items__header-total {
  padding: 14px 20px;
  border: 0;
  background: #F6F1EC;
  color: #6A605C;
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-items__row > td {
  padding: 28px 20px;
  border-top: 1px solid #E1D7D0;
  vertical-align: top;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-item__image img {
  width: 88px;
  height: 88px;
  max-width: none;
  border: 1px solid #E1D7D0;
  object-fit: cover;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-item__product {
  min-width: 250px;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  color: var(--luv-charcoal) !important;
  font-family: Inter, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-page.woocommerce-cart .wc-block-cart-item__total .price {
  margin-top: 7px;
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

body.woocommerce-page.woocommerce-cart .wc-block-components-product-details {
  margin-top: 5px;
  color: #6A605C;
  font-family: Inter, sans-serif;
  font-size: 12px;
}

body.woocommerce-page.woocommerce-cart .wc-block-components-quantity-selector {
  min-height: 40px;
  min-width: 132px;
  border-color: #E1D7D0;
  border-radius: 0;
  background: var(--luv-white);
}

body.woocommerce-page.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  width: 56px !important;
  min-width: 56px;
  max-width: 56px !important;
  padding: 0 !important;
  border: 0;
  background: transparent;
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

body.woocommerce-page.woocommerce-cart .wc-block-components-quantity-selector__button {
  width: 38px;
  border: 0;
  background: transparent;
  color: var(--luv-charcoal);
  font-size: 18px;
}

body.woocommerce-page.woocommerce-cart .wc-block-components-quantity-selector__button:not(:disabled):hover,
body.woocommerce-page.woocommerce-cart .wc-block-components-quantity-selector__button:not(:disabled):focus-visible {
  background: #F4E7E5;
  color: var(--luv-burgundy);
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-item__remove-link {
  margin-top: 10px;
  color: #6A605C !important;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-page.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible {
  color: var(--luv-burgundy) !important;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart-item__quantity {
  display: grid;
  grid-template-columns: max-content auto;
  gap: 10px 14px;
  align-items: center;
}

body.woocommerce-page.woocommerce-cart .luv-cart-stock-notice {
  grid-column: 1 / -1;
  margin: 0;
  color: #6A605C;
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
}

body.woocommerce-page.woocommerce-cart .luv-cart-stock-notice.is-limit {
  color: #B66C52;
}

body.woocommerce-page.woocommerce-cart .luv-cart-stock-notice.is-unavailable {
  color: #712F39;
  font-weight: 600;
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-row > td {
  padding: 0 20px 24px;
  border: 0;
  background: var(--luv-white);
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 52px;
  padding: 12px 15px;
  background: #F6F1EC;
  color: var(--luv-charcoal);
  cursor: pointer;
  font-family: Inter, sans-serif;
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option::before {
  content: none;
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option input {
  position: relative;
  z-index: 1;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--luv-burgundy);
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option__copy {
  padding-left: 0;
  font-size: 13px;
  font-weight: 600;
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option__price {
  color: var(--luv-burgundy);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-row.is-updating {
  opacity: .58;
  pointer-events: none;
}

body.woocommerce-page.woocommerce-cart .luv-gift-wrap-row.is-selected .luv-gift-wrap-option {
  border: 1px solid rgba(113, 47, 57, .32);
  background: #FCF8F5;
}

/* The cart asks WooCommerce for the available rates. Melhor Envio supplies
 * its quotations through that normal shipping pipeline, so this stays in
 * sync with checkout without duplicating its product-page calculator. */
body.woocommerce-page.woocommerce-cart .luv-cart-shipping {
  margin: 0;
  padding: 19px 0 21px;
  border-bottom: 1px solid #E1D7D0;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping h3 {
  margin: 0 0 12px;
  color: var(--luv-charcoal);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.05;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 106px;
  gap: 8px;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__postcode {
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 0 13px;
  border: 1px solid #E1D7D0;
  border-radius: 0;
  background: var(--luv-white);
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 13px;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__postcode::placeholder {
  color: #6A605C;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__form button {
  min-height: 44px;
  margin: 0;
  border: 1px solid var(--luv-burgundy);
  border-radius: 0;
  background: var(--luv-burgundy);
  color: var(--luv-white);
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__form button:hover,
body.woocommerce-page.woocommerce-cart .luv-cart-shipping__form button:focus-visible {
  border-color: var(--luv-charcoal);
  background: var(--luv-charcoal);
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__form button:disabled {
  cursor: wait;
  opacity: .7;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__status {
  min-height: 18px;
  margin: 9px 0 0;
  color: #4D4542;
  font-family: Inter, sans-serif;
  font-size: 12px;
  line-height: 1.45;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rates {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rate {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 45px;
  padding: 10px 12px;
  border: 1px solid #E1D7D0;
  background: var(--luv-white);
  cursor: pointer;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rate:has(input:checked) {
  border-color: rgba(113, 47, 57, .58);
  background: #F9EEEF;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rate input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--luv-burgundy);
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rate span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 12px;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rate strong,
body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rate em {
  font-style: normal;
  font-weight: 600;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rate em {
  white-space: nowrap;
}

body.woocommerce-page.woocommerce-cart .luv-cart-shipping__rates.is-updating {
  pointer-events: none;
  opacity: .58;
}

/* ── Catalogue discovery, conversion and accessible consistency ───────── */
body.woocommerce-page.single-product .entry-summary .product_title,
body.woocommerce-page.single-product .summary .product_title,
body.woocommerce-page .site-main .woocommerce-loop-product__title,
body.post-type-archive-product .site-main .woocommerce-loop-product__title,
body.tax-product_cat .site-main .woocommerce-loop-product__title,
body.page .entry-header .entry-title,
body.page .site-main > article > header h1,
body.page .entry-content > h1:first-child {
  color: var(--luv-charcoal) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 600 !important;
}

.luv-home-categories {
  padding: clamp(45px, 5vw, 72px) 0;
  border-bottom: 1px solid var(--luv-line);
  background: var(--luv-white);
}

.luv-home-categories__inner {
  width: var(--luv-shell);
  margin: 0 auto;
}

.luv-home-categories__eyebrow,
.luv-cart-cross-sell__head > p {
  margin: 0 0 8px;
  color: var(--luv-burgundy);
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.luv-home-categories h2,
.luv-cart-cross-sell h2 {
  margin: 0;
  color: var(--luv-charcoal);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(32px, 3.4vw, 46px);
  font-weight: 600;
  line-height: .98;
}

.luv-home-categories__list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 25px;
}

.luv-home-categories__list a {
  display: flex;
  min-height: 75px;
  padding: 15px;
  align-items: flex-end;
  justify-content: space-between;
  border: 1px solid #E1D7D0;
  background: var(--luv-white);
  color: var(--luv-charcoal);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.luv-home-categories__list a small {
  color: var(--luv-burgundy);
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 700;
}

.luv-home-categories__list a:hover,
.luv-home-categories__list a:focus-visible {
  border-color: var(--luv-burgundy);
  background: var(--luv-burgundy);
  color: var(--luv-white);
}

.luv-home-categories__list a:hover small,
.luv-home-categories__list a:focus-visible small {
  color: var(--luv-white);
}

.luv-shop-categories {
  display: flex;
  gap: 8px;
  margin: 0 0 19px;
  overflow-x: auto;
  padding: 0 0 2px;
  scrollbar-width: thin;
}

.luv-shop-categories a {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid #E1D7D0;
  background: var(--luv-white);
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.luv-shop-categories a:hover,
.luv-shop-categories a:focus-visible,
.luv-shop-categories a[aria-current="page"] {
  border-color: var(--luv-burgundy);
  background: var(--luv-burgundy);
  color: var(--luv-white);
}

.luv-purchase-assurance {
  display: grid;
  gap: 6px;
  width: 100%;
  margin: 15px 0 0;
  padding: 13px 0 0;
  border-top: 1px solid #E1D7D0;
  color: #4D4542;
  font-family: Inter, sans-serif;
  font-size: 11px;
  line-height: 1.4;
}

.luv-purchase-assurance span {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.luv-purchase-assurance span::before {
  content: '✓';
  color: var(--luv-burgundy);
  font-weight: 800;
}

/* Blocksy hides related products on small screens; keep a compact two-up
 * selection so the product page still provides a next step on mobile. */
body.woocommerce-page.single-product section.related.products.ct-hidden-sm.ct-hidden-md {
  display: block !important;
}

body.woocommerce-page.single-product .related.products {
  margin-top: clamp(52px, 7vw, 86px);
  padding-top: 28px;
  border-top: 1px solid #E1D7D0;
}

.luv-cart-cross-sell {
  display: none;
  margin-top: 32px;
  padding: 28px;
  border: 1px solid #E1D7D0;
  background: var(--luv-white);
}

.luv-cart-cross-sell:not([hidden]) {
  display: block;
}

.luv-cart-cross-sell__head {
  margin-bottom: 20px;
}

.luv-cart-cross-sell h2 {
  font-size: 31px;
}

.luv-cart-cross-sell__products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.luv-cart-cross-sell article {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}

.luv-cart-cross-sell article img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: cover;
  background: var(--luv-white);
}

.luv-cart-cross-sell h3,
.luv-cart-cross-sell p {
  margin: 0;
}

.luv-cart-cross-sell h3 a {
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.luv-cart-cross-sell article p {
  margin-top: 4px;
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 600;
}

@media (max-width: 999px) {
  .luv-home-categories__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.woocommerce-page.single-product .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .luv-cart-cross-sell__products {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .luv-home-categories {
    padding: 42px 0;
  }

  .luv-home-categories__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 20px;
  }

  .luv-home-categories__list a {
    min-height: 62px;
    padding: 11px;
    font-size: 20px;
  }

  body.woocommerce-page .woo-listing-top,
  body.post-type-archive-product .woo-listing-top,
  body.tax-product_cat .woo-listing-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
  }

  body.woocommerce-page .woocommerce-result-count.ct-hidden-sm,
  body.post-type-archive-product .woocommerce-result-count.ct-hidden-sm,
  body.tax-product_cat .woocommerce-result-count.ct-hidden-sm {
    display: block !important;
    margin: 0;
  color: #4D4542;
    font-family: Inter, sans-serif;
    font-size: 11px;
  }

  body.woocommerce-page .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-ordering {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
  }

  body.woocommerce-page .woocommerce-ordering::before,
  body.post-type-archive-product .woocommerce-ordering::before,
  body.tax-product_cat .woocommerce-ordering::before {
    content: 'Ordenar por';
  color: #4D4542;
    font-family: Inter, sans-serif;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
  }

  body.woocommerce-page .woocommerce-ordering select,
  body.post-type-archive-product .woocommerce-ordering select,
  body.tax-product_cat .woocommerce-ordering select {
    min-height: 34px;
    max-width: 115px;
    padding: 0 25px 0 8px;
    color: var(--luv-charcoal);
    font-family: Inter, sans-serif;
    font-size: 10px;
  }

  body.woocommerce-page.single-product .related.products {
    margin-top: 42px;
    padding-top: 23px;
  }

  .luv-cart-cross-sell {
    margin-top: 20px;
    padding: 20px;
  }

  .luv-cart-cross-sell h2 {
    font-size: 29px;
  }
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar {
  box-sizing: border-box;
  padding: 24px;
  border: 1px solid #E1D7D0;
  background: var(--luv-white);
  box-shadow: 0 12px 34px rgba(36, 32, 31, .07);
}

@media (min-width: 783px) {
  body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar {
    position: sticky;
    top: 24px;
  }
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
  padding: 15px 0;
  border: 0;
  background: transparent;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__totals-title {
  margin: 0;
  padding: 0 0 16px;
  color: var(--luv-charcoal);
  font-family: "Manrope", Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.05;
  text-transform: none;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  border-top: 1px solid #E1D7D0;
  border-bottom: 1px solid #E1D7D0;
}

body.woocommerce-page.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 13px;
  font-weight: 500;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 16px;
  padding: 20px 0 3px;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label {
  align-self: center;
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
  align-self: center;
  color: var(--luv-charcoal);
  font-family: Inter, sans-serif;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__description {
  grid-column: 1 / -1;
  color: #6A605C;
  font-family: Inter, sans-serif;
  font-size: 12px;
  line-height: 1.45;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item-shipping {
  margin: 0;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-page.woocommerce-cart .wc-block-cart__submit-button {
  width: 100%;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__submit-button {
  height: 52px !important;
  min-height: 52px;
  margin-top: 20px;
  font-family: Inter, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__payment-options:empty {
  display: block;
  padding-top: 15px;
  color: #6A605C;
  font-family: Inter, sans-serif;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

body.woocommerce-page.woocommerce-cart .wc-block-cart__payment-options:empty::after {
  content: 'Compra segura · Rastreio do pedido em todo o Brasil';
}

/* Keep catalogue cards aligned even when only some products have reviews. */
body.woocommerce-page .woocommerce ul.products li.product,
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body.woocommerce-page .woocommerce ul.products li.product .ct-woo-card-rating,
body.post-type-archive-product .woocommerce ul.products li.product .ct-woo-card-rating,
body.tax-product_cat .woocommerce ul.products li.product .ct-woo-card-rating,
body.tax-product_tag .woocommerce ul.products li.product .ct-woo-card-rating {
  display: flex;
  align-items: center;
  min-height: 25px;
  margin-top: 4px;
}

body.woocommerce-page .woocommerce ul.products li.product .entry-meta,
body.post-type-archive-product .woocommerce ul.products li.product .entry-meta,
body.tax-product_cat .woocommerce ul.products li.product .entry-meta,
body.tax-product_tag .woocommerce ul.products li.product .entry-meta {
  margin-top: auto !important;
  margin-bottom: 11px !important;
}

body.woocommerce-page .woocommerce ul.products li.product .ct-woo-card-actions,
body.post-type-archive-product .woocommerce ul.products li.product .ct-woo-card-actions,
body.tax-product_cat .woocommerce ul.products li.product .ct-woo-card-actions,
body.tax-product_tag .woocommerce ul.products li.product .ct-woo-card-actions {
  margin-top: 0 !important;
}

/* Blocksy's shop template does not place the product grid inside a
 * `.woocommerce` wrapper, so these are the effective catalogue selectors. */
body.woocommerce-page ul.products li.product .entry-meta,
body.post-type-archive-product ul.products li.product .entry-meta,
body.tax-product_cat ul.products li.product .entry-meta,
body.tax-product_tag ul.products li.product .entry-meta {
  margin-top: auto !important;
  margin-bottom: 11px !important;
}

body.woocommerce-page ul.products li.product .ct-woo-card-actions,
body.post-type-archive-product ul.products li.product .ct-woo-card-actions,
body.tax-product_cat ul.products li.product .ct-woo-card-actions,
body.tax-product_tag ul.products li.product .ct-woo-card-actions {
  margin-top: 0 !important;
}

@media (max-width: 782px) {
  body.woocommerce-page.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
    gap: 28px;
  }

  body.woocommerce-page.woocommerce-cart .wc-block-cart__main {
    padding-right: 0;
  }

  body.woocommerce-page.woocommerce-cart .wc-block-cart__sidebar {
    padding: 20px;
  }

  body.woocommerce-page.woocommerce-cart .wc-block-cart-items__row > td {
    padding: 18px 13px;
  }

  body.woocommerce-page.woocommerce-cart .luv-gift-wrap-row > td {
    padding: 0 13px 18px;
  }

  body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
  }

  body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option__copy {
    padding-left: 13px;
  }

  body.woocommerce-page.woocommerce-cart .luv-gift-wrap-option__price {
    grid-column: 2;
    padding-left: 13px;
  }

  body.woocommerce-page.woocommerce-cart .wc-block-cart-item__image img {
    width: 68px;
    height: 68px;
  }
}

/* Luvoreli readability refinement: the pale paper surfaces always receive
 * charcoal/burgundy text, while the warm dark surfaces keep light text. */
.luv-site-header .luv-search input[type="search"],
.luv-site-header .luv-icon-btn,
.luv-site-header .luv-search__submit {
  color: var(--luv-charcoal);
}

.luv-site-header .luv-search input::placeholder {
  color: var(--luv-muted);
  opacity: 1;
}

body.woocommerce-page .woocommerce .price ins,
body.post-type-archive-product .woocommerce .price ins,
body.tax-product_cat .woocommerce .price ins,
body.tax-product_tag .woocommerce .price ins {
  color: var(--luv-burgundy) !important;
}

body.woocommerce-page .woocommerce .price del,
body.post-type-archive-product .woocommerce .price del,
body.tax-product_cat .woocommerce .price del,
body.tax-product_tag .woocommerce .price del,
.luv-home-product__price {
  color: var(--luv-muted) !important;
}

@media (max-width: 900px) {
  .luv-header-main {
    min-height: 104px;
  }

  .luv-brand__wordmark img {
    width: min(205px, 52vw);
  }

  .luv-brand__descriptor {
    font-size: 7px;
    letter-spacing: .42em;
  }

  .luv-brand__descriptor span {
    width: 30px;
  }
}

/* Blocksy renders the shop grid outside `.woocommerce`; mirror the same
 * accessible Luvoreli treatment used by the native WooCommerce cards. */
body.woocommerce-page ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  border: 1px solid var(--luv-line);
  background: var(--luv-white);
}

body.woocommerce-page ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {
  border-color: var(--luv-burgundy);
}

body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
  color: var(--luv-charcoal) !important;
}

body.woocommerce-page ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price,
body.woocommerce-page ul.products li.product .price ins,
body.post-type-archive-product ul.products li.product .price ins,
body.tax-product_cat ul.products li.product .price ins,
body.tax-product_tag ul.products li.product .price ins {
  color: var(--luv-burgundy) !important;
}

body.woocommerce-page ul.products li.product .price del,
body.post-type-archive-product ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del,
body.tax-product_tag ul.products li.product .price del {
  color: var(--luv-muted) !important;
}

/* ── Luvoreli finishing pass: centred catalogue and palette-safe actions ─ */
.luv-body {
  --theme-palette-color-1: var(--luv-burgundy);
  --theme-palette-color-2: var(--luv-clay);
  --theme-button-background-initial-color: var(--luv-burgundy);
  --theme-button-text-initial-color: var(--luv-white);
  --theme-button-background-hover-color: var(--luv-charcoal);
  --theme-button-text-hover-color: var(--luv-white);
}

body.woocommerce-page .hero-section[data-type="type-2"] > [class*="ct-container"],
body.post-type-archive-product .hero-section[data-type="type-2"] > [class*="ct-container"] {
  text-align: center;
}

body.woocommerce-page ul.products li.product :is(a.button, button.button, .add_to_cart_button),
body.post-type-archive-product ul.products li.product :is(a.button, button.button, .add_to_cart_button),
body.tax-product_cat ul.products li.product :is(a.button, button.button, .add_to_cart_button),
body.tax-product_tag ul.products li.product :is(a.button, button.button, .add_to_cart_button) {
  border-color: var(--luv-burgundy) !important;
  background: var(--luv-burgundy) !important;
  color: var(--luv-white) !important;
  box-shadow: none !important;
}

body.woocommerce-page ul.products li.product :is(a.button, button.button, .add_to_cart_button):hover,
body.woocommerce-page ul.products li.product :is(a.button, button.button, .add_to_cart_button):focus-visible,
body.post-type-archive-product ul.products li.product :is(a.button, button.button, .add_to_cart_button):hover,
body.post-type-archive-product ul.products li.product :is(a.button, button.button, .add_to_cart_button):focus-visible,
body.tax-product_cat ul.products li.product :is(a.button, button.button, .add_to_cart_button):hover,
body.tax-product_cat ul.products li.product :is(a.button, button.button, .add_to_cart_button):focus-visible,
body.tax-product_tag ul.products li.product :is(a.button, button.button, .add_to_cart_button):hover,
body.tax-product_tag ul.products li.product :is(a.button, button.button, .add_to_cart_button):focus-visible {
  border-color: var(--luv-charcoal) !important;
  background: var(--luv-charcoal) !important;
  color: var(--luv-white) !important;
}

@media (max-width: 900px) {
  .luv-header-main {
    grid-template-columns: minmax(44px, 1fr) auto minmax(44px, 1fr);
  }

  .luv-header-left {
    justify-self: start;
  }

  .luv-brand {
    grid-column: 2;
    justify-self: center;
  }

  .luv-header-actions {
    grid-column: 3;
    justify-self: end;
  }
}
