/* CHAR3I Design System v2 — shared visual language.
   Enqueued last. Coherence only. Does not change commerce logic. */

/* —— TYPE LOCK —— */
html, body,
button, input, select, textarea,
.woocommerce, .woocommerce-page,
.c3i-article, .c3i-article h1, .c3i-article h2, .c3i-article h3,
.c3i-hero h1, .c3i-hero h2,
.c3-leave-review h2,
.c3-routine-steps__index,
.c3-need-compass__index,
.c3-account-quicklinks span,
.c3-product-card__wordmark,
.c3-coffret-wizard, .c3-rentree-wizard {
  font-family: var(--font-sans) !important;
}

body {
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  letter-spacing: -0.011em;
  color: var(--c3-text);
  background: var(--c3-white);
}

h1, h2, h3,
.c3-product-card__body h3,
.c3-rb-card__name,
.c3-shop-coffret__name,
.c3-hero--creative h1 {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-display);
}

h1 { font-size: var(--fs-h1); line-height: var(--lh-display); margin-bottom: var(--space-stack-copy); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: var(--space-stack-title); }
h3 { font-size: var(--fs-h3); line-height: var(--lh-heading); }

.c3-eyebrow,
.c3-need-label,
.c3-product-card__role,
.c3-product-card__promo,
.c3-rb-card__function {
  margin-bottom: var(--space-stack-title);
  color: var(--c3-text-muted);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-eyebrow);
  line-height: var(--lh-small);
  text-transform: uppercase;
}

/* —— RHYTHM —— */
.c3-section {
  padding-block: var(--space-section);
}
.c3-section-head {
  margin-bottom: var(--space-8);
}
.c3-section-head h2 + p,
.c3-hero--creative .c3-hero__lead {
  margin-top: var(--space-4);
  margin-bottom: var(--space-6);
}

.c3-creative-reset .c3-shop-by-need,
.c3-creative-reset .c3-creative-routines,
.c3-creative-reset .c3-tout-prendre-evergreen,
.c3-creative-reset .c3-home-products {
  padding-block: var(--space-section);
}

.c3-hero--creative {
  padding: clamp(24px, 4vw, 48px) 0 clamp(20px, 3vw, 36px);
}

.c3-hero--creative .c3-hero__actions {
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

/* —— BUTTONS: PRIMARY / SECONDARY / TEXT —— */
.c3-button,
.c3-small-button,
.c3-atc-button,
.c3-sticky-atc__button,
.c3-rb-card__toggle,
.c3-rb-summary__atc,
body.woocommerce-checkout #payment #place_order,
.woocommerce-cart .checkout-button,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  border: 1px solid var(--c3-black);
  border-radius: var(--radius-sm);
  padding: 0 var(--space-6);
  background: var(--c3-white);
  color: var(--c3-black);
  font-family: var(--font-sans);
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-button);
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none;
  transition: background var(--motion-fast) ease, color var(--motion-fast) ease, opacity var(--motion-fast) ease;
}

.c3-button--primary,
.c3-atc-button,
.c3-sticky-atc__button,
.c3-rb-summary__atc,
body.woocommerce-checkout #payment #place_order,
.woocommerce-cart .checkout-button,
.woocommerce button.button.alt {
  background: var(--c3-black);
  color: var(--c3-white);
  border-color: var(--c3-black);
}

.c3-button--primary:hover,
.c3-atc-button:hover,
.c3-sticky-atc__button:hover,
.c3-rb-summary__atc:hover,
body.woocommerce-checkout #payment #place_order:hover {
  background: var(--c3-black-hover);
  color: var(--c3-white);
}

.c3-button--secondary,
.c3-small-button,
.c3-rb-card__toggle {
  background: var(--c3-white);
  color: var(--c3-black);
}

.c3-button--secondary:hover,
.c3-small-button:hover,
.c3-rb-card__toggle:hover {
  background: var(--c3-surface);
}

.c3-text-link,
.c3-section-link,
.c3-cart-item__remove {
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.02em;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 4px;
  background: transparent;
  border: 0;
  min-height: var(--hit-min);
  padding: 0;
  box-shadow: none;
}

.c3-small-button {
  min-height: var(--hit-min);
  padding-inline: var(--space-4);
  font-size: var(--fs-micro);
}

/* —— FORM CONTROLS —— */
.c3-select,
.c3-rb-card__variant,
.c3-leave-review__field select,
.c3-leave-review__field input,
.c3-leave-review__field textarea,
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.c3-qty {
  appearance: none;
  -webkit-appearance: none;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: var(--fw-regular);
  color: var(--c3-black);
  background: var(--c3-white);
  border: 1px solid var(--c3-border-strong);
  border-radius: var(--radius-sm);
  min-height: var(--control-height);
  box-shadow: none;
}

.c3-control--select,
.c3-rb-card .c3-control--select {
  position: relative;
  display: block;
  width: 100%;
  margin-top: var(--space-4);
}

.c3-control--select::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1px solid var(--c3-black);
  border-bottom: 1px solid var(--c3-black);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}

.c3-rb-card__variant,
.c3-select {
  width: 100%;
  min-height: var(--control-height);
  height: var(--control-height);
  padding: 0 40px 0 14px;
  cursor: pointer;
  box-sizing: border-box;
}

.c3-rb-card__variant:focus,
.c3-select:focus,
.woocommerce-checkout form .form-row input:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout .select2-container--focus .select2-selection {
  border-color: var(--c3-black) !important;
  outline: 2px solid var(--c3-black);
  outline-offset: 2px;
  box-shadow: none !important;
}

/* Quantity */
.c3-qty {
  display: inline-grid;
  grid-template-columns: var(--hit-min) minmax(28px, auto) var(--hit-min);
  height: var(--hit-min);
  min-height: var(--hit-min);
  align-items: center;
  margin-top: 0;
  overflow: hidden;
}
.c3-qty button {
  width: var(--hit-min);
  height: var(--hit-min);
  padding: 0;
  background: transparent;
  font-size: 1rem;
  font-weight: 500;
}
.c3-qty span {
  min-width: 28px;
  text-align: center;
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
}

/* —— PRODUCT CARDS —— */
.c3-product-card,
.c3-creative-reset .c3-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}

.c3-product-card__media,
.c3-creative-reset .c3-product-card__media {
  aspect-ratio: var(--ratio-card);
  background: #0a0a0a;
  overflow: hidden;
}

.c3-product-card__media img,
.c3-product-card__media .c3-visual-photo,
.c3-creative-reset .c3-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  background: #0a0a0a;
}

.c3-product-card__body,
.c3-creative-reset .c3-product-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4) 0 var(--space-2);
}

.c3-product-card__body h3 {
  margin: 0;
  font-size: var(--fs-product);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-tight);
}

.c3-product-card__body > p,
.c3-product-card__benefit,
.c3-product-card__need,
.c3-product-card__olfactory {
  margin: 0;
  color: var(--c3-text-secondary);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}

.c3-product-card__promo {
  color: var(--c3-text-muted);
  border: 0;
  padding: 0;
  background: transparent;
}

.c3-product-card__footer,
.c3-creative-reset .c3-product-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: auto;
  padding-top: var(--space-4);
}

.c3-product-card__price-block strong {
  font-size: var(--fs-ui);
  font-weight: var(--fw-bold);
  letter-spacing: -0.02em;
}

.c3-promo-until {
  display: block;
  margin-top: 4px;
  color: var(--c3-text-muted);
  font-size: var(--fs-micro);
  font-weight: var(--fw-medium);
  letter-spacing: 0.02em;
}

/* —— TRUST / REASSURANCE —— */
.c3-buybox-assurances {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: var(--space-6);
  padding: 0;
  border: 0;
  border-top: 1px solid var(--c3-border);
  background: transparent;
  color: var(--c3-black);
  border-radius: 0;
  overflow: visible;
}

.c3-buybox-assurances__item {
  display: grid;
  gap: 6px;
  flex: none;
  justify-items: start;
  padding: var(--space-4) var(--space-4) var(--space-4) 0;
  border: 0;
  border-bottom: 1px solid var(--c3-border);
  color: inherit;
  text-align: left;
  text-decoration: none;
}

.c3-buybox-assurances__item:nth-child(odd) {
  padding-right: var(--space-4);
  border-right: 1px solid var(--c3-border);
}

.c3-buybox-assurances__item:nth-child(even) {
  padding-left: var(--space-4);
}

.c3-buybox-assurances .c3-icon {
  display: none;
}

.c3-buybox-assurances__kicker {
  display: block;
  color: var(--c3-text-muted);
  font-size: var(--fs-micro);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
}

.c3-buybox-assurances strong {
  color: var(--c3-black);
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.c3-buybox-assurances__item:hover,
.c3-buybox-assurances__item:focus-visible {
  background: transparent;
}

.c3-buybox-assurances__rule {
  display: block;
  width: 24px;
  height: 1px;
  background: var(--c3-black);
}

@media (max-width: 479px) {
  .c3-buybox-assurances {
    grid-template-columns: 1fr;
  }
  .c3-buybox-assurances__item,
  .c3-buybox-assurances__item:nth-child(odd),
  .c3-buybox-assurances__item:nth-child(even) {
    padding: var(--space-4) 0;
    border-right: 0;
  }
}

.c3-proof-bar {
  border-block: 1px solid var(--c3-border);
  background: var(--c3-white);
}
.c3-proof-bar__inner { padding-block: var(--space-4); }
.c3-proof-bar__list {
  gap: var(--space-2) var(--space-8);
  font-size: var(--fs-micro);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--c3-text-secondary);
}

/* —— CART DRAWER —— */
.c3-cart-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  min-height: 0;
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--c3-border);
}

.c3-cart-item__media {
  width: 72px;
  height: 72px;
  background: var(--c3-surface);
}

.c3-cart-item__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2) var(--space-3);
  min-width: 0;
}

.c3-cart-item h3 {
  grid-column: 1;
  margin: 0;
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  letter-spacing: -0.01em;
}

.c3-cart-item__body > strong {
  grid-column: 2;
  grid-row: 1;
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  white-space: nowrap;
}

.c3-cart-item__variation {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--c3-text-secondary);
  font-size: var(--fs-micro);
}

.c3-cart-item__controls {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-3);
}

.c3-cart-item__remove {
  margin-top: 0;
  color: var(--c3-text-muted);
  font-size: var(--fs-micro);
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  min-height: var(--hit-min);
  padding: 0 var(--space-2);
}

.c3-cart-item__remove:hover {
  color: var(--c3-black);
  text-decoration: underline;
}

.c3-cart-summary__row--shipping {
  align-items: flex-start;
  gap: var(--space-4);
}
.c3-cart-summary__row--shipping strong {
  max-width: 18ch;
  text-align: right;
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  line-height: 1.4;
  text-wrap: pretty;
}
.c3-cart-summary p,
.c3-cart-summary__pending {
  text-wrap: pretty;
  line-height: 1.45;
}

.c3-cart-upsell {
  align-items: start;
  padding: var(--space-4);
  background: var(--c3-surface);
  border-block: 0;
  border-top: 1px solid var(--c3-border);
}

/* —— BUILDER —— */
.c3-rb-step {
  padding-block: var(--space-6);
}
.c3-rb-step__head {
  margin-bottom: var(--space-4);
  gap: var(--space-3);
}
.c3-rb-card {
  gap: var(--space-3);
  padding-bottom: var(--space-4);
}
.c3-rb-card img {
  aspect-ratio: var(--ratio-editorial);
  max-height: min(72vw, 300px);
  object-fit: cover;
  object-position: center 42%;
  background: #0a0a0a;
}
@media (min-width: 640px) {
  .c3-rb-card img {
    max-height: 320px;
  }
}
.c3-rb-card__role {
  margin-top: var(--space-1);
}
.c3-rb-card__variant {
  margin-top: var(--space-3);
}
.c3-rb-card__toggle {
  width: 100%;
  margin-top: var(--space-3);
  min-height: var(--control-height);
}
.c3-rb-card.is-selected .c3-rb-card__toggle {
  background: var(--c3-white);
  color: var(--c3-black);
}
.c3-rb-card:not(.is-selected) .c3-rb-card__toggle {
  background: var(--c3-black);
  color: var(--c3-white);
}

/* —— CHECKOUT —— */
body.woocommerce-checkout,
body.woocommerce-cart {
  background: var(--c3-white);
  --c3-checkout-bg: #fff;
  --c3-checkout-card: #fff;
  --c3-checkout-line: var(--c3-border);
  --c3-checkout-muted: var(--c3-text-muted);
  --c3-checkout-accent: var(--c3-black);
  --c3-checkout-radius: 0;
  --c3-checkout-shadow: none;
}

.woocommerce-checkout .c3-header {
  border-bottom: 1px solid var(--c3-border);
  background: #fff;
}
.woocommerce-checkout .c3-header__inner {
  min-height: 64px;
  justify-content: flex-start;
  padding-inline: var(--c3-gutter);
}
.woocommerce-checkout .c3-header__logo img {
  width: 108px;
  max-height: 36px;
}
.woocommerce-checkout .c3-main > article > h1,
.woocommerce-checkout .entry-title {
  margin: var(--space-8) 0 var(--space-4);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-tight);
  text-align: left;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout #payment {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 0 0 var(--space-8);
}

.woocommerce-checkout #order_review_heading {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 0 var(--space-4) !important;
}

@media (min-width: 960px) {
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding-left: var(--space-8) !important;
  }
  body.woocommerce-checkout form.checkout #order_review {
    border-left: 1px solid var(--c3-border) !important;
  }
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: var(--control-height);
  border-radius: var(--radius-sm);
  border-color: var(--c3-border-strong);
  background: #fff;
}

.woocommerce-checkout #shipping_method > li {
  border-radius: var(--radius-sm);
  box-shadow: none;
}
.woocommerce-checkout #payment {
  border-top: 1px solid var(--c3-border);
}
.woocommerce-checkout #payment ul.payment_methods > li {
  border-bottom: 1px solid var(--c3-border);
}
.woocommerce-checkout #payment div.payment_box {
  background: var(--c3-surface);
  border-radius: 0;
}
.woocommerce-checkout #payment #place_order {
  border-radius: var(--radius-sm);
}

.c3-checkout-header-trust,
.c3-checkout-header-trust--creative {
  box-shadow: none;
  border: 0;
  padding: 0 0 var(--space-6);
  background: transparent;
}

.c3-checkout-review-rotator {
  font-size: var(--fs-small);
  line-height: 1.45;
  color: var(--c3-text-secondary);
}

/* —— NAV —— */
.c3-mobile-nav__list > li > a.c3-nav__link,
.c3-mobile-nav__toggle {
  font-size: 1.125rem;
  font-weight: var(--fw-semibold);
  letter-spacing: -0.015em;
  min-height: 52px;
}
.c3-mobile-nav__sub a {
  min-height: 44px;
  font-size: var(--fs-ui);
  font-weight: var(--fw-medium);
}
.c3-mobile-nav__list > li {
  border-bottom-color: var(--c3-border);
}

/* —— FOOTER —— */
.c3-footer__links {
  gap: var(--space-10) var(--space-6);
  padding-block: var(--space-16);
}
.c3-footer__links strong {
  margin-bottom: var(--space-4);
  font-size: var(--fs-micro);
  letter-spacing: var(--ls-eyebrow);
}
.c3-footer__links a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
}

/* —— PROMO —— */
.c3-product-card__promo,
.c3-badge {
  border-color: var(--c3-border);
  background: transparent;
  color: var(--c3-text-secondary);
}

/* —— ICONS —— */
.c3-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.25;
}

/* WhatsApp: never dominate primary CTA */
@media (max-width: 767px) {
  body.woocommerce-checkout .c3-wa-float,
  body.woocommerce-cart .c3-wa-float,
  body:has(.c3-cart-layer.is-open) .c3-wa-float {
    display: none !important;
  }
  .c3-wa-float {
    width: 48px;
    height: 48px;
    opacity: 0.92;
  }
}

/* Blog storefront Inter lock */
.c3i-article,
.c3i-hero {
  font-family: var(--font-sans) !important;
}

.c3-product-card__media img[src*="ghusl-editorial"],
.c3-product-card__media img[src*="ghusl-marble"],
.c3-need-card__photo[src*="ghusl-editorial"],
.c3-need-card__photo[src*="ghusl-marble"],
.c3-need-compass__img[src*="ghusl-editorial"],
.c3-need-compass__img[src*="ghusl-marble"],
.c3-rb-card img[src*="ghusl-editorial"],
.c3-rb-card img[src*="ghusl-marble"] {
  object-position: center 55%;
}
.c3-product-card__media img[src*="sabr-editorial"],
.c3-need-card__photo[src*="sabr-editorial"],
.c3-rb-card img[src*="sabr-editorial"],
.c3-product-card__media img[src*="sabr-product"],
.c3-need-card__photo[src*="sabr-product"],
.c3-rb-card img[src*="sabr-product"] {
  object-position: center center;
}
.c3-product-card__media img[src*="zayt-macro"],
.c3-need-card__photo[src*="zayt-macro"] {
  object-position: center 46%;
}
.c3-product-gallery--creative-lead[data-c3-catalog-key="ghusl"] .c3-gallery-slide--creative-lead img,
.c3-product-gallery--creative-lead .c3-gallery-slide--creative-lead img[src*="ghusl"] {
  object-position: 28% 58%;
}
.c3-product-gallery--creative-lead[data-c3-catalog-key="sabr"] .c3-gallery-slide--creative-lead img,
.c3-product-gallery--creative-lead .c3-gallery-slide--creative-lead img[src*="sabr"] {
  object-position: center center;
}
.c3-cart-table .c3-cart-table__remove-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 8px;
  color: var(--c3-text-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
}
.c3-cart-table .c3-cart-table__remove-link:hover {
  color: var(--c3-black);
  text-decoration: underline;
}
.c3-cart-table td.product-name {
  padding-right: 16px;
}
.c3-cart-page .quantity .qty,
.c3-cart-page .quantity input {
  min-height: 44px;
  border: 1px solid var(--c3-border-strong);
  border-radius: var(--radius-sm);
}
body.c3-accent-a :focus-visible {
  outline-color: var(--c3-accent);
}
body.c3-accent-a .c3-zayt-scent-card.is-selected,
body.c3-accent-a .c3-rb-card.is-selected,
body.c3-accent-a .woocommerce-checkout #shipping_method > li:has(input:checked) {
  border-color: var(--c3-accent);
}
body.c3-accent-a .c3-proof-bar__list li::before {
  color: var(--c3-accent);
}

body.c3-creative-reset.woocommerce-checkout .c3-header__inner {
  justify-content: flex-start !important;
}
body.c3-creative-reset.woocommerce-checkout .c3-main > article > h1,
body.c3-creative-reset.woocommerce-checkout .entry-title {
  text-align: left !important;
  font-size: 0.78rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 18px 0 12px !important;
}
body.c3-creative-reset.woocommerce-checkout .c3-checkout-header-trust,
body.c3-creative-reset.woocommerce-checkout .woocommerce-form-login-toggle,
body.c3-creative-reset.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.c3-creative-reset.woocommerce-checkout .woocommerce-billing-fields,
body.c3-creative-reset.woocommerce-checkout .woocommerce-shipping-fields,
body.c3-creative-reset.woocommerce-checkout .woocommerce-additional-fields,
body.c3-creative-reset.woocommerce-checkout #order_review,
body.c3-creative-reset.woocommerce-checkout #payment {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}
body.c3-creative-reset.woocommerce-checkout .c3-checkout-header-trust {
  padding: 0 0 24px !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .c3-creative-reset .c3-product-gallery,
  .c3-creative-reset .c3-gallery-track {
    max-height: 240px;
  }
  .c3-creative-reset .c3-gallery-slide {
    aspect-ratio: auto;
    height: 240px;
    max-height: 240px !important;
    overflow: hidden;
  }
  .c3-creative-reset .c3-gallery-slide img,
  .c3-creative-reset .c3-gallery-slide__image {
    width: 100%;
    height: 240px !important;
    max-height: 240px;
    object-fit: cover;
  }
}

.c3-nowrap {
  white-space: nowrap;
}

.c3-qty--pdp {
  display: inline-grid;
  grid-template-columns: 48px minmax(40px, auto) 48px;
  height: 48px;
  min-height: 48px;
  align-items: center;
  border: 1px solid var(--c3-border-strong);
  border-radius: var(--radius-sm);
}
.c3-qty--pdp button {
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  font-size: 1.1rem;
}
.c3-qty--pdp .quantity,
.c3-qty--pdp .qty {
  margin: 0;
  width: 48px;
  min-height: 46px;
  height: 46px;
  border: 0;
  padding: 0;
  text-align: center;
  font-size: 16px;
  appearance: textfield;
  -moz-appearance: textfield;
}
.c3-qty--pdp .qty::-webkit-outer-spin-button,
.c3-qty--pdp .qty::-webkit-inner-spin-button {
  appearance: none;
  margin: 0;
}

.c3-sticky-atc__meta span {
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  font-size: 0.68rem;
  line-height: 1.25;
}
.c3-sticky-atc__button {
  white-space: nowrap;
}

.c3-prose,
.c3-prose *,
.single-post .entry-content,
.single-post .entry-content * {
  font-family: var(--font-sans) !important;
}
.single-post .wp-block-pullquote,
.single-post blockquote {
  font-style: italic;
  font-weight: 500;
}

.c3-cart-page__coupon-disclosure {
  margin: var(--space-8) 0 0;
  border-top: 1px solid var(--c3-border);
  padding-top: var(--space-5);
}
.c3-cart-page__coupon-disclosure summary {
  min-height: 44px;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.c3-cart-page__coupon {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.woocommerce-cart [class*="points"],
.woocommerce-cart .ywpar-wrapper,
.woocommerce-cart .litespeed_points {
  margin-top: 12px;
  color: var(--c3-text-secondary);
  font-size: 0.78rem;
}

@media (max-width: 768px) {
  table.shop_table_responsive.c3-cart-table tbody tr td.product-thumbnail,
  table.shop_table_responsive.c3-cart-table tbody tr td.product-thumbnail a,
  table.shop_table_responsive.c3-cart-table tbody tr td.product-thumbnail img,
  .c3-cart-table td.product-thumbnail,
  .c3-cart-table td.product-thumbnail a,
  .c3-cart-table .c3-cart-table__image,
  .c3-cart-table .product-thumbnail img {
    display: block !important;
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
    visibility: visible !important;
  }
  .c3-cart-table td.product-name a {
    display: block;
  }
}

body.woocommerce-checkout .c3-wa-float,
body.woocommerce-cart .c3-wa-float,
body.c3-cart-open .c3-wa-float,
body:has([data-c3-ritual-builder]) .c3-wa-float,
body.c3-footer-inview .c3-wa-float,
body:has(.c3-sticky-atc:not([hidden])) .c3-wa-float,
body.c3-hero-inview .c3-wa-float,
body:has(.c3-cart-layer.is-open) .c3-wa-float {
  display: none !important;
}

/* —— FINAL CONVERGENCE: family / shop / cart / checkout —— */
.c3-creative-reset .c3-shop-by-need__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8) var(--space-4);
}
@media (min-width: 1024px) {
  .c3-creative-reset .c3-shop-by-need__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-10) var(--space-6);
  }
}
.c3-creative-reset .c3-need-card,
.c3-creative-reset .c3-need-card:hover {
  border: 0;
  background: transparent;
  transform: none;
  box-shadow: none;
}
.c3-creative-reset .c3-need-card__link {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  align-items: stretch;
  gap: var(--space-3);
  padding: 0;
}
.c3-creative-reset .c3-need-card__media {
  width: 100%;
  aspect-ratio: var(--ratio-card);
  background: #0a0a0a;
}
.c3-creative-reset .c3-need-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-height: 0;
  padding: 0;
}
.c3-creative-reset .c3-need-card__problem,
.c3-creative-reset .c3-need-card__role {
  margin: 0;
  font-size: var(--fs-micro);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c3-text-muted);
}
.c3-creative-reset .c3-need-card__name {
  margin: 0;
  font-size: var(--fs-product);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-tight);
}
.c3-creative-reset .c3-need-card__price {
  margin-top: var(--space-2);
  font-size: var(--fs-ui);
}
.c3-creative-reset .c3-need-card__cta {
  margin-top: auto;
  padding-top: var(--space-3);
  font-size: var(--fs-micro);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-button);
}
.c3-creative-reset .c3-need-card__until {
  display: none;
}

.c3-need-compass--index .c3-need-compass__head,
.c3-need-compass .c3-need-compass__head {
  margin-bottom: var(--space-6);
}
.c3-creative-reset .c3-need-compass__grid--index {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 0;
  background: transparent;
}
@media (min-width: 768px) {
  .c3-creative-reset .c3-need-compass__grid--index {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.c3-creative-reset .c3-need-compass__item--index {
  display: flex;
  min-height: var(--hit-min);
  align-items: baseline;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-3) var(--space-4) 0;
  border: 0;
  border-top: 1px solid var(--c3-border);
  background: transparent;
  border-radius: 0;
}
.c3-creative-reset .c3-need-compass__item--index .c3-need-compass__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.c3-creative-reset .c3-need-compass__item--index strong {
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
}
.c3-creative-reset .c3-need-compass__item--index small {
  font-size: var(--fs-micro);
  letter-spacing: 0;
  text-transform: none;
}
.c3-creative-reset .c3-need-compass__item--index .c3-need-compass__arrow {
  margin-inline-start: auto;
  opacity: 0.4;
}

.c3-creative-reset .c3-shop-family .products,
.c3-creative-reset .c3-product-catalog .c3-shop-family .products {
  gap: var(--space-8) var(--space-4);
  padding-block: 0;
  border: 0;
  background: transparent;
}
.c3-creative-reset .c3-shop-family .products > .c3-product-card {
  background: transparent;
}
.c3-creative-reset .c3-shop-family .products > .c3-product-card .c3-product-card__body {
  padding: var(--space-4) 0 0;
}
.c3-creative-reset .c3-shop-rituals__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}
@media (min-width: 768px) {
  .c3-creative-reset .c3-shop-rituals__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-8) var(--space-5);
  }
}
.c3-creative-reset .c3-shop-rituals__card,
.c3-creative-reset .c3-routine-card {
  border: 0;
  background: transparent;
}
.c3-creative-reset .c3-routine-card__link {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  color: inherit;
  text-decoration: none;
}
.c3-creative-reset .c3-routine-card__media {
  display: block;
  aspect-ratio: var(--ratio-card);
  overflow: hidden;
  background: #0a0a0a;
}
.c3-creative-reset .c3-routine-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c3-shop-head {
  padding-block: var(--space-10) var(--space-6);
}
.c3-shop-head h1 {
  margin-bottom: 0;
}

.c3-checkout-review-rotator--empty {
  display: none !important;
}

.c3-cart-table__secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3) var(--space-4);
}
.c3-cart-save-later {
  margin: 0;
}
.c3-cart-save-later .c3-save-later {
  min-height: var(--hit-min);
  padding: 0;
  border: 0;
  background: none;
  color: var(--c3-text-muted);
  font-size: var(--fs-micro);
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}

@media (max-width: 768px) {
  table.shop_table_responsive.cart tbody tr td::before,
  table.shop_table_responsive.c3-cart-table tbody tr td::before,
  .c3-cart-table td::before {
    display: none !important;
    content: none !important;
  }
  .c3-cart-table td.product-price {
    display: none !important;
  }
  .c3-cart-table tr.woocommerce-cart-form__cart-item {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: var(--space-3) var(--space-4);
    padding-block: var(--space-5);
  }
  .c3-cart-table td.product-thumbnail {
    grid-column: 1;
    grid-row: 1 / span 3;
  }
  .c3-cart-table td.product-name {
    grid-column: 2;
    grid-row: 1;
  }
  .c3-cart-table td.product-subtotal {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    font-weight: var(--fw-bold);
  }
  .c3-cart-table td.product-quantity {
    grid-column: 1 / -1;
    grid-row: 4;
    margin-top: var(--space-2);
  }
}

@media (max-width: 1023px) {
  .c3-ritual-builder__summary .c3-rb-summary__lines > div:not(.c3-rb-summary__total) {
    display: none;
  }
  .c3-ritual-builder__summary .c3-rb-summary__ready,
  .c3-ritual-builder__summary .c3-rb-summary__coffret {
    display: none !important;
  }
  .c3-ritual-builder__summary .c3-rb-summary__count,
  .c3-ritual-builder__summary .c3-rb-summary__tier,
  .c3-ritual-builder__summary .c3-rb-summary__total,
  .c3-ritual-builder__summary .c3-rb-summary__atc {
    margin: 0;
  }
  .c3-ritual-builder__summary .c3-rb-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    align-items: center;
  }
  .c3-ritual-builder__summary .c3-rb-summary__atc {
    grid-column: 1 / -1;
  }
}

.c3-creative-reset .c3-shop-coffret__inner {
  border: 0;
  padding: 0;
  display: grid;
  gap: var(--space-6);
}
.c3-creative-reset .c3-shop-builder__inner {
  display: grid;
  gap: var(--space-5);
  border: 0;
  padding: 0;
}

.c3-footer__blurb {
  max-width: 28ch;
  margin: 0 0 var(--space-3);
  color: var(--c3-text-secondary);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}

@media (max-width: 767px) {
  body.c3-creative-reset .c3-footer__main {
    display: flex;
    flex-direction: column;
    gap: var(--space-10);
  }
  .c3-footer__brand > a strong {
    font-size: 2.4rem;
    line-height: 0.88;
    letter-spacing: -0.04em;
  }
}

body.home .c3-wa-float,
body.woocommerce-shop .c3-wa-float,
body.post-type-archive-product .c3-wa-float,
body.tax-product_cat .c3-wa-float,
body:has(.c3-shop-family) .c3-wa-float,
body:has(.c3-shop-by-need) .c3-wa-float {
  display: none !important;
}

body.c3-creative-reset ul.products > li.c3-product-card,
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(odd),
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(even),
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(4n+2),
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(4n+3),
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(8n+2),
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(8n+4),
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(8n+5),
body.c3-creative-reset ul.products > li.c3-product-card:nth-child(8n+7) {
  background: #fff !important;
  color: #000 !important;
}
body.c3-creative-reset ul.products > li.c3-product-card a,
body.c3-creative-reset ul.products > li.c3-product-card p,
body.c3-creative-reset ul.products > li.c3-product-card h3,
body.c3-creative-reset ul.products > li.c3-product-card .amount,
body.c3-creative-reset ul.products > li.c3-product-card .c3-product-card__footer strong {
  color: #000 !important;
}
body.c3-creative-reset ul.products > li.c3-product-card .c3-small-button {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
}

.c3-creative-reset .c3-campaign-slot__card {
  display: grid;
  gap: var(--space-5);
  border: 0;
  box-shadow: none;
  background: transparent;
  padding-block: var(--space-8);
  border-block: 1px solid var(--c3-border);
}
.c3-creative-reset .c3-campaign-slot__media {
  display: none;
}

.c3-sticky-atc[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  body.single-product:has(.c3-sticky-atc:not([hidden])) .c3-product {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
}

.c3-creative-reset .c3-buybox__value-line,
.c3-creative-reset .c3-buybox--rituel .c3-bundle-value {
  display: none !important;
}

body.home .c3-wa-float,
body.woocommerce-shop .c3-wa-float,
body.post-type-archive-product .c3-wa-float,
body.tax-product_cat .c3-wa-float {
  display: none !important;
}

.c3-creative-reset .c3-shop-family .c3-product-card__promo {
  display: none !important;
}

.c3-creative-reset.c3-product-catalog .c3-shop-family .products,
.c3-creative-reset .c3-shop-family .products {
  gap: var(--space-6) var(--space-4) !important;
  border: 0 !important;
  background: transparent !important;
}
.c3-creative-reset.c3-product-catalog .c3-shop-family .products > .c3-product-card,
.c3-creative-reset.c3-product-catalog .c3-shop-family .products > .c3-product-card:nth-child(n) {
  background: #fff !important;
  color: var(--c3-black) !important;
}
.c3-creative-reset.c3-product-catalog .c3-shop-family .products > .c3-product-card:nth-child(n) a,
.c3-creative-reset.c3-product-catalog .c3-shop-family .products > .c3-product-card:nth-child(n) .c3-product-card__footer strong,
.c3-creative-reset.c3-product-catalog .c3-shop-family .products > .c3-product-card:nth-child(n) .amount {
  color: inherit !important;
}
.c3-creative-reset.c3-product-catalog .c3-shop-family .products > .c3-product-card:nth-child(n) .c3-small-button {
  background: var(--c3-white) !important;
  color: var(--c3-black) !important;
  border-color: var(--c3-black) !important;
}
.c3-creative-reset .c3-shop-family .products > .c3-product-card .c3-product-card__body {
  padding: var(--space-4) 0 0 !important;
}

body.woocommerce-checkout .c3-checkout-header-trust .c3-eyebrow,
body.woocommerce-checkout .c3-checkout-header-trust__reviews-label {
  display: none !important;
}

@media (max-width: 768px) {
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
  }
}

.woocommerce-checkout .c3-checkout-header-trust__reviews-label {
  display: none;
}
.woocommerce-checkout .c3-checkout-review-rotator {
  margin: 0 0 var(--space-4);
  max-width: 36ch;
}
.woocommerce-checkout .c3-checkout-review-rotator p {
  margin: 0;
  color: var(--c3-text-secondary);
  font-size: var(--fs-small);
  font-weight: var(--fw-regular);
  letter-spacing: 0;
  text-transform: none;
}
.woocommerce-checkout .c3-checkout-review-rotator cite {
  color: var(--c3-text-muted);
  font-size: var(--fs-micro);
  font-style: normal;
}

.c3-creative-reset .c3-need-compass__grid--index {
  grid-template-columns: 1fr !important;
}
@media (min-width: 768px) {
  .c3-creative-reset .c3-need-compass__grid--index {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
.c3-creative-reset .c3-need-compass__item--index {
  min-height: 56px;
  padding: var(--space-3) var(--space-3) var(--space-3) 0;
}

@media (max-width: 768px) {
  table.shop_table_responsive.c3-cart-table tbody tr.woocommerce-cart-form__cart-item,
  .c3-cart-table tr.woocommerce-cart-form__cart-item {
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr) !important;
    width: 100% !important;
  }
  table.shop_table_responsive.c3-cart-table tbody tr td,
  .c3-cart-table tr.woocommerce-cart-form__cart-item td {
    width: auto !important;
    max-width: none !important;
  }
}
