/* CLEIR Single Product — match product.html
 * Styles apply on .single-product AND Elementor template preview (.cleir-page-product).
 * Shortcode blocks use .cleir-pdp-* classes (no body-class dependency).
 */

.single-product,
.cleir-page-product,
.single-product .elementor,
.cleir-page-product .elementor {
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
  color: var(--cleir-ink, #2c2a29);
}

.single-product,
.cleir-page-product {
  background: var(--cleir-bg, #faf7f4);
}

/* ——— Add-to-cart / Woo notices (content width, CLEIR look) ——— */

.single-product .woocommerce-notices-wrapper,
.cleir-page-product .woocommerce-notices-wrapper,
.single-product .woocommerce > .woocommerce-notices-wrapper,
.single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-notices-wrapper {
  max-width: 1280px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error,
.cleir-page-product .woocommerce-message,
.cleir-page-product .woocommerce-info,
.cleir-page-product .woocommerce-error,
.single-product .woocommerce-notices-wrapper .woocommerce-message,
.single-product .woocommerce-notices-wrapper .woocommerce-info,
.single-product .woocommerce-notices-wrapper .woocommerce-error {
  position: relative !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 12px !important;
  padding: 16px 20px 16px 52px !important;
  list-style: none !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--cleir-muted, #5a5654) !important;
  background: var(--cleir-panel, #f5f0ec) !important;
  border: 1px solid var(--cleir-line, #e8ddd0) !important;
  border-top: 1px solid var(--cleir-line, #e8ddd0) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  outline: none !important;
}

.single-product .woocommerce-message::before,
.single-product .woocommerce-info::before,
.single-product .woocommerce-error::before,
.cleir-page-product .woocommerce-message::before,
.cleir-page-product .woocommerce-info::before,
.cleir-page-product .woocommerce-error::before {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: var(--cleir-terra, #c4796a) !important;
  float: none !important;
}

.single-product .woocommerce-error::before,
.cleir-page-product .woocommerce-error::before {
  color: #a8544a !important;
}

.single-product .woocommerce-message .button,
.single-product .woocommerce-info .button,
.single-product .woocommerce-message a.button,
.single-product .woocommerce-notices-wrapper .button,
.cleir-page-product .woocommerce-message .button,
.cleir-page-product .woocommerce-message a.button {
  float: none !important;
  order: 2;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 0 auto !important;
  padding: 10px 22px !important;
  border: none !important;
  border-radius: 100px !important;
  background: var(--cleir-terra, #c4796a) !important;
  color: #fff !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

.single-product .woocommerce-message .button:hover,
.single-product .woocommerce-info .button:hover,
.single-product .woocommerce-notices-wrapper .button:hover,
.cleir-page-product .woocommerce-message .button:hover {
  background: var(--cleir-terra-dark, #b56b5c) !important;
  color: #fff !important;
}

.single-product .woocommerce-message a:not(.button),
.cleir-page-product .woocommerce-message a:not(.button) {
  color: var(--cleir-terra, #c4796a) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

@media (max-width: 767px) {
  .single-product .woocommerce-notices-wrapper,
  .cleir-page-product .woocommerce-notices-wrapper {
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-top: 16px !important;
  }

  .single-product .woocommerce-message,
  .single-product .woocommerce-info,
  .single-product .woocommerce-error,
  .cleir-page-product .woocommerce-message {
    padding: 14px 16px 14px 48px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .single-product .woocommerce-message .button,
  .cleir-page-product .woocommerce-message .button {
    margin-left: 0 !important;
    width: 100% !important;
  }
}

/* ——— Eyebrow / titles from shortcodes ——— */

.cleir-pdp-eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cleir-gold, #b89b7a);
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-eyebrow--center {
  text-align: center;
}

.cleir-pdp-eyebrow--terra {
  color: var(--cleir-terra, #c4796a);
}

.cleir-pdp-title,
.single-product .elementor-widget-woocommerce-product-title .product_title,
.single-product .elementor-widget-woocommerce-product-title h1,
.cleir-page-product .elementor-widget-woocommerce-product-title .product_title,
.cleir-page-product .elementor-widget-woocommerce-product-title h1 {
  font-family: var(--cleir-serif, "Cormorant Garamond", serif) !important;
  font-weight: 300 !important;
  font-size: 54px !important;
  line-height: 1.08 !important;
  color: var(--cleir-ink, #2c2a29) !important;
  margin: 14px 0 !important;
}

.cleir-pdp-excerpt,
.cleir-pdp-excerpt p,
.single-product .elementor-widget-woocommerce-product-short-description,
.single-product .elementor-widget-woocommerce-product-short-description p,
.cleir-page-product .elementor-widget-woocommerce-product-short-description,
.cleir-page-product .elementor-widget-woocommerce-product-short-description p {
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--cleir-muted, #5a5654) !important;
  margin: 0 0 24px !important;
}

.cleir-pdp-price-suffix {
  font-size: 13px;
  color: var(--cleir-gold, #b89b7a);
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-delivery {
  margin: 16px 0 0;
  font-size: 13px;
  color: var(--cleir-soft, #9b8c7c);
  text-align: center;
  letter-spacing: 0.03em;
}

/* Hide optional PDP rows when the shortcode rendered no content block inside */
.cleir-pdp-section--highlights:not(:has(.cleir-pdp-highlights)),
.cleir-pdp-section--purpose:not(:has(.cleir-pdp-purpose)),
.cleir-pdp-section--how:not(:has(.cleir-pdp-how)),
.cleir-pdp-section--inside:not(:has(.cleir-pdp-inside)),
.cleir-pdp-section--before-after:not(:has(.cleir-pdp-ba)) {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  border: none !important;
}

.cleir-pdp-section--hidden {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  border: none !important;
}

.cleir-pdp-section-title {
  font-family: var(--cleir-serif, "Cormorant Garamond", serif);
  font-weight: 300;
  font-size: 44px;
  line-height: 1.1;
  color: var(--cleir-ink, #2c2a29);
  margin: 14px 0 0;
}

.cleir-pdp-section-title--center {
  text-align: center;
}

.cleir-pdp-section-title--ba {
  font-size: 46px;
  margin: 14px 0;
}

/* ——— Woo price / ATC / quantity / gallery (match product.html) ——— */

.single-product .elementor-widget-woocommerce-product-price .price,
.cleir-page-product .elementor-widget-woocommerce-product-price .price {
  font-family: var(--cleir-serif, "Cormorant Garamond", serif) !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  color: var(--cleir-ink, #2c2a29) !important;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart,
.cleir-page-product .elementor-widget-woocommerce-product-add-to-cart form.cart {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 18px !important;
  margin: 0 !important;
}

/* Quantity label + continuous pill stepper */
.single-product form.cart .cleir-qty.quantity,
.single-product .elementor-widget-woocommerce-product-add-to-cart .cleir-qty.quantity,
.cleir-page-product form.cart .cleir-qty.quantity,
.cleir-page-product .elementor-widget-woocommerce-product-add-to-cart .cleir-qty.quantity {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.single-product .cleir-qty__label,
.cleir-page-product .cleir-qty__label {
  flex: none;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cleir-gold, #b89b7a);
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
  line-height: 1;
}

.single-product .cleir-qty__pill,
.cleir-page-product .cleir-qty__pill {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--cleir-line, #e8ddd0) !important;
  border-radius: 100px !important;
  background: var(--cleir-panel, #f5f0ec) !important;
  overflow: hidden !important;
  height: 44px !important;
}

.single-product .cleir-qty .cleir-qty__btn,
.single-product .cleir-qty button,
.cleir-page-product .cleir-qty .cleir-qty__btn,
.cleir-page-product .cleir-qty button {
  width: 42px !important;
  height: 44px !important;
  min-width: 42px !important;
  min-height: 44px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--cleir-ink, #2c2a29) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer;
}

.single-product .cleir-qty .cleir-qty__btn:hover,
.cleir-page-product .cleir-qty .cleir-qty__btn:hover {
  color: var(--cleir-terra, #c4796a) !important;
  background: transparent !important;
}

.single-product .cleir-qty .cleir-qty__input,
.single-product .cleir-qty input.qty,
.single-product .cleir-qty input.cleir-qty__input,
.cleir-page-product .cleir-qty .cleir-qty__input,
.cleir-page-product .cleir-qty input.qty {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 48px !important;
  height: 44px !important;
  border: none !important;
  border-left: 1px solid rgba(232, 221, 208, 0.9) !important;
  border-right: 1px solid rgba(232, 221, 208, 0.9) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  color: var(--cleir-ink, #2c2a29) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  -moz-appearance: textfield;
  appearance: textfield;
}

.single-product .cleir-qty input::-webkit-outer-spin-button,
.single-product .cleir-qty input::-webkit-inner-spin-button,
.cleir-page-product .cleir-qty input::-webkit-outer-spin-button,
.cleir-page-product .cleir-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Kill leftover ::before Quantity if old CSS cached */
.single-product .cleir-qty.quantity::before,
.cleir-page-product .cleir-qty.quantity::before {
  content: none !important;
  display: none !important;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
.cleir-page-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button {
  width: 100% !important;
  background: var(--cleir-terra, #c4796a) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.05em !important;
  padding: 18px 36px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:hover,
.cleir-page-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:hover {
  background: var(--cleir-terra-dark, #b56b5c) !important;
}

/* ——— Variable product variations ——— */

.single-product form.variations_form,
.cleir-page-product form.variations_form {
  gap: 18px !important;
}

.single-product .cleir-variations,
.cleir-page-product .cleir-variations,
.single-product form.variations_form table.variations,
.cleir-page-product form.variations_form table.variations {
  width: 100% !important;
  margin: 0 0 4px !important;
  border: none !important;
  border-collapse: collapse !important;
}

.single-product form.variations_form table.variations tbody,
.single-product form.variations_form table.variations tr,
.cleir-page-product form.variations_form table.variations tbody,
.cleir-page-product form.variations_form table.variations tr {
  display: block !important;
  width: 100% !important;
}

.single-product .cleir-variation-row,
.cleir-page-product .cleir-variation-row,
.single-product form.variations_form table.variations tr,
.cleir-page-product form.variations_form table.variations tr {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: none !important;
}

.single-product .cleir-variation-row__label,
.cleir-page-product .cleir-variation-row__label,
.single-product form.variations_form table.variations th.label,
.cleir-page-product form.variations_form table.variations th.label {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: none !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cleir-gold, #b89b7a) !important;
  line-height: 1 !important;
  text-align: left !important;
}

.single-product .cleir-variation-row__field,
.cleir-page-product .cleir-variation-row__field,
.single-product form.variations_form table.variations td.value,
.cleir-page-product form.variations_form table.variations td.value {
  display: block !important;
  padding: 0 !important;
  border: none !important;
}

.single-product .cleir-variation-options,
.cleir-page-product .cleir-variation-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.single-product .cleir-variation-option,
.cleir-page-product .cleir-variation-option {
  appearance: none !important;
  border: 1px solid var(--cleir-line, #e8ddd0) !important;
  border-radius: 11px !important;
  background: var(--cleir-bg, #faf7f4) !important;
  color: var(--cleir-ink, #2c2a29) !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding: 14px 18px !important;
  cursor: pointer !important;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease !important;
}

.single-product .cleir-variation-option:hover:not(:disabled),
.cleir-page-product .cleir-variation-option:hover:not(:disabled) {
  border-color: var(--cleir-terra, #c4796a) !important;
}

.single-product .cleir-variation-option.is-selected,
.cleir-page-product .cleir-variation-option.is-selected {
  border-color: var(--cleir-terra, #c4796a) !important;
  background: var(--cleir-peach-soft, #f2ddd2) !important;
  color: var(--cleir-ink, #2c2a29) !important;
}

.single-product .cleir-variation-option:focus,
.single-product .cleir-variation-option:focus-visible,
.cleir-page-product .cleir-variation-option:focus,
.cleir-page-product .cleir-variation-option:focus-visible {
  outline: none !important;
  border-color: var(--cleir-terra, #c4796a) !important;
  box-shadow: none !important;
}

.single-product form.variations_form .single_add_to_cart_button.disabled,
.single-product form.variations_form .single_add_to_cart_button:disabled,
.cleir-page-product form.variations_form .single_add_to_cart_button.disabled,
.cleir-page-product form.variations_form .single_add_to_cart_button:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

.single-product form.variations_form .single_add_to_cart_button:not(:disabled):not(.disabled),
.cleir-page-product form.variations_form .single_add_to_cart_button:not(:disabled):not(.disabled) {
  opacity: 1 !important;
  cursor: pointer !important;
}

.single-product .cleir-variation-option.is-disabled,
.single-product .cleir-variation-option:disabled,
.cleir-page-product .cleir-variation-option.is-disabled,
.cleir-page-product .cleir-variation-option:disabled {
  opacity: 0.38 !important;
  cursor: not-allowed !important;
}

.single-product .cleir-variation-select--sr,
.cleir-page-product .cleir-variation-select--sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.single-product .cleir-variation-select,
.cleir-page-product .cleir-variation-select,
.single-product form.variations_form table.variations select,
.cleir-page-product form.variations_form table.variations select {
  width: 100% !important;
  max-width: 100% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid var(--cleir-line, #e8ddd0) !important;
  border-radius: 11px !important;
  background: var(--cleir-panel, #f5f0ec) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239B8C7C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center !important;
  color: var(--cleir-ink, #2c2a29) !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding: 14px 44px 14px 16px !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.single-product .cleir-variation-select:focus,
.cleir-page-product .cleir-variation-select:focus,
.single-product form.variations_form table.variations select:focus,
.cleir-page-product form.variations_form table.variations select:focus {
  border-color: var(--cleir-terra, #c4796a) !important;
}

.single-product .cleir-variation-reset,
.cleir-page-product .cleir-variation-reset,
.single-product form.variations_form a.reset_variations,
.cleir-page-product form.variations_form a.reset_variations {
  display: inline-block !important;
  margin-top: 10px !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--cleir-soft, #9b8c7c) !important;
  text-decoration: none !important;
}

.single-product .cleir-variation-reset:hover,
.cleir-page-product .cleir-variation-reset:hover,
.single-product form.variations_form a.reset_variations:hover,
.cleir-page-product form.variations_form a.reset_variations:hover {
  color: var(--cleir-terra, #c4796a) !important;
}

.single-product .cleir-variation-wrap,
.cleir-page-product .cleir-variation-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  margin: 0 !important;
}

.single-product .cleir-variation-summary .woocommerce-variation-price,
.cleir-page-product .cleir-variation-summary .woocommerce-variation-price {
  margin: 0 0 4px !important;
  font-family: var(--cleir-serif, "Cormorant Garamond", serif) !important;
  font-size: 28px !important;
  color: var(--cleir-ink, #2c2a29) !important;
}

.single-product .cleir-variation-summary .woocommerce-variation-availability,
.cleir-page-product .cleir-variation-summary .woocommerce-variation-availability {
  font-size: 13px !important;
  color: var(--cleir-soft, #9b8c7c) !important;
}

.single-product .cleir-variation-atc,
.cleir-page-product .cleir-variation-atc {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

/* Gallery: main 4:5 + 4 equal thumbs, 12px gap (kill Woo float/spacing) */
.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery,
.cleir-page-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  position: relative !important;
}

.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper,
.cleir-page-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image,
.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image--placeholder,
.cleir-page-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image {
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #ede3d6;
}

.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img,
.cleir-page-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img {
  border-radius: 20px !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  display: block !important;
}

/* Gallery prev / next arrows on main image */
.single-product .elementor-widget-woocommerce-product-images .flex-viewport,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-viewport {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: auto !important;
  z-index: 6 !important;
  pointer-events: none !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav li,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav a,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav a {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 7 !important;
  pointer-events: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(250, 247, 244, 0.92) !important;
  box-shadow: 0 2px 10px rgba(44, 42, 41, 0.14) !important;
  color: var(--cleir-terra, #c4796a) !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  opacity: 1 !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  text-decoration: none !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav a::before,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  width: 10px !important;
  height: 10px !important;
  border-style: solid !important;
  border-color: var(--cleir-terra, #c4796a) !important;
  border-width: 0 0 1.8px 1.8px !important;
  box-sizing: border-box !important;
  text-indent: 0 !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-prev,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-prev {
  left: 14px !important;
  right: auto !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-prev::before,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-prev::before {
  transform: translate(1px, 0) rotate(45deg) !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-next,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-next {
  right: 14px !important;
  left: auto !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-next::before,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-next::before {
  border-width: 1.8px 1.8px 0 0 !important;
  border-color: var(--cleir-terra, #c4796a) !important;
  transform: translate(-1px, 0) rotate(45deg) !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav a:hover,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav a:hover {
  background: #fff !important;
  color: var(--cleir-terra-dark, #b56b5c) !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-direction-nav a.flex-disabled,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav a.flex-disabled {
  opacity: 0.35 !important;
  cursor: default !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  .single-product .elementor-widget-woocommerce-product-images .flex-direction-nav a,
  .cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav a {
    width: 36px !important;
    height: 36px !important;
  }

  .single-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-prev,
  .cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-prev {
    left: 10px !important;
  }

  .single-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-next,
  .cleir-page-product .elementor-widget-woocommerce-product-images .flex-direction-nav .flex-next {
    right: 10px !important;
  }
}

.single-product .elementor-widget-woocommerce-product-images .flex-control-thumbs,
.single-product .elementor-widget-woocommerce-product-images ol.flex-control-nav,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-control-thumbs,
.cleir-page-product .elementor-widget-woocommerce-product-images ol.flex-control-nav {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  float: none !important;
  position: relative !important;
  z-index: 1 !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-control-thumbs li,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-control-thumbs li {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-control-thumbs li img,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-control-thumbs li img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid var(--cleir-line, #e8ddd0) !important;
  opacity: 1 !important;
  display: block !important;
  box-sizing: border-box !important;
}

.single-product .elementor-widget-woocommerce-product-images .flex-control-thumbs li img.flex-active,
.cleir-page-product .elementor-widget-woocommerce-product-images .flex-control-thumbs li img.flex-active {
  border-color: var(--cleir-terra, #c4796a) !important;
  opacity: 1 !important;
}

/* ——— Accordion shortcode ——— */

.cleir-pdp-acc {
  margin-top: 34px;
  border-top: 1px solid var(--cleir-line, #e8ddd0);
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-acc__row {
  border-bottom: 1px solid var(--cleir-line, #e8ddd0);
}

.cleir-pdp-acc__summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0;
  cursor: pointer;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--cleir-ink, #2c2a29);
}

.cleir-pdp-acc__summary::-webkit-details-marker,
.cleir-pdp-full-ing__summary::-webkit-details-marker {
  display: none;
}

.cleir-pdp-acc__summary::marker,
.cleir-pdp-full-ing__summary::marker {
  content: "";
}

.cleir-pdp-acc__ico {
  color: var(--cleir-gold, #b89b7a);
  font-size: 18px;
  line-height: 1;
  flex: none;
  transition: transform 0.2s;
}

.cleir-pdp-acc__row[open] > .cleir-pdp-acc__summary .cleir-pdp-acc__ico,
.cleir-pdp-full-ing[open] > .cleir-pdp-full-ing__summary .cleir-pdp-acc__ico {
  transform: rotate(45deg);
}

.cleir-pdp-acc__body {
  padding: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--cleir-muted, #5a5654);
}

.cleir-pdp-acc__body > *:first-child,
.cleir-pdp-full-ing__body > *:first-child {
  margin-top: 0;
}

.cleir-pdp-acc__body > *:last-child,
.cleir-pdp-full-ing__body > *:last-child {
  margin-bottom: 0;
}

/* ——— Badges ——— */

.cleir-pdp-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cleir-pdp-badge {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 7px 13px;
  border-radius: 100px;
  white-space: nowrap;
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-badge--neutral {
  background: var(--cleir-panel, #f5f0ec);
  color: var(--cleir-ink, #2c2a29);
}

.cleir-pdp-badge--peach {
  background: var(--cleir-peach-soft, #f2ddd2);
  color: var(--cleir-terra, #c4796a);
  border: 1px solid var(--cleir-peach, #e8c4b4);
}

.cleir-pdp-badge--sand {
  background: var(--cleir-line, #e8ddd0);
  color: var(--cleir-gold, #b89b7a);
}

/* ——— Highlights ——— */

.cleir-pdp-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
}

.cleir-pdp-highlight {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.cleir-pdp-highlight--ruled {
  border-left: 1px solid #e0c3b2;
  border-right: 1px solid #e0c3b2;
}

.cleir-pdp-highlight__label {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--cleir-ink, #2c2a29);
}

.cleir-pdp-icon-img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}

/* ——— Purpose ——— */

.cleir-pdp-purpose {
  text-align: center;
  max-width: 840px;
  margin: 0 auto;
}

.cleir-pdp-purpose__text {
  font-family: var(--cleir-serif, "Cormorant Garamond", serif);
  font-weight: 300;
  font-size: 34px;
  line-height: 1.4;
  color: var(--cleir-ink, #2c2a29);
  margin: 24px 0 0;
}

/* ——— How it works ——— */

.cleir-pdp-how__head {
  text-align: center;
  margin-bottom: 54px;
}

.cleir-pdp-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  width: 100%;
}

.cleir-pdp-step {
  text-align: center;
}

.cleir-pdp-step__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--cleir-bg, #faf7f4);
  border: 1px solid var(--cleir-line, #e8ddd0);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 22px;
}

.cleir-pdp-step__num {
  display: block;
  font-family: var(--cleir-serif, "Cormorant Garamond", serif);
  font-size: 20px;
  color: var(--cleir-gold, #b89b7a);
  margin-bottom: 6px;
}

.cleir-pdp-step__title {
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
  font-size: 19px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--cleir-ink, #2c2a29);
}

.cleir-pdp-step__text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--cleir-muted, #5a5654);
  margin: 0;
}

/* ——— Ingredients ——— */

.cleir-pdp-inside__head {
  margin-bottom: 48px;
  max-width: 560px;
}

.cleir-pdp-ingredients {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}

.cleir-pdp-ingredient {
  border-radius: 18px;
  padding: 34px 32px;
  background: var(--cleir-panel, #f5f0ec);
}

.cleir-pdp-ingredient--highlight {
  background: var(--cleir-peach-soft, #f2ddd2);
}

.cleir-pdp-ingredient__sub {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cleir-gold, #b89b7a);
}

.cleir-pdp-ingredient--highlight .cleir-pdp-ingredient__sub {
  color: var(--cleir-terra, #c4796a);
}

.cleir-pdp-ingredient__title {
  font-family: var(--cleir-serif, "Cormorant Garamond", serif);
  font-weight: 400;
  font-size: 28px;
  margin: 10px 0 12px;
  color: var(--cleir-ink, #2c2a29);
}

.cleir-pdp-ingredient__text {
  font-size: 15px;
  line-height: 1.65;
  color: var(--cleir-muted, #5a5654);
  margin: 0;
}

.cleir-pdp-full-ing {
  margin-top: 24px;
  border: 1px solid var(--cleir-line, #e8ddd0);
  border-radius: 18px;
  overflow: hidden;
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-full-ing__summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 32px;
  cursor: pointer;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--cleir-ink, #2c2a29);
}

.cleir-pdp-full-ing__body {
  padding: 0 32px 22px;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--cleir-muted, #5a5654);
}

/* ——— Before / after (match product.html) ——— */

.cleir-pdp-ba__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 48px;
}

.cleir-pdp-ba__intro {
  max-width: 620px;
}

.cleir-pdp-ba__lede {
  font-size: 16.5px;
  line-height: 1.66;
  color: var(--cleir-muted, #5a5654);
  margin: 0;
  max-width: 520px;
}

.cleir-pdp-ba__hint {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding-bottom: 6px;
  color: var(--cleir-terra, #c4796a);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cleir-pdp-ba-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  width: 100%;
}

.cleir-pdp-ba-compare {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  overflow: hidden;
  cursor: ew-resize;
  user-select: none;
  touch-action: none;
  border: 1px solid #e0c3b2;
  background: repeating-linear-gradient(135deg, #ded4c6 0 1px, #eae0d2 1px 13px);
}

.cleir-pdp-ba-before,
.cleir-pdp-ba-after {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.cleir-pdp-ba-before {
  z-index: 0;
  background: repeating-linear-gradient(135deg, #ded4c6 0 1px, #eae0d2 1px 13px);
}

.cleir-pdp-ba-after {
  z-index: 1;
  width: auto;
  overflow: hidden;
  clip-path: inset(0 0 0 50%);
}

.cleir-pdp-ba-after__inner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background: repeating-linear-gradient(135deg, #f0d6c6 0 1px, #f8e7db 1px 13px);
}

/* Caption zones: clipped to before/after sides, expand with the handle */
.cleir-pdp-ba-capzone {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
}

.cleir-pdp-ba-capzone--before {
  left: 0;
  width: 50%;
}

.cleir-pdp-ba-capzone--after {
  left: 50%;
  width: 50%;
}

.cleir-pdp-ba-cap {
  position: absolute;
  bottom: 14px;
  z-index: 2;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #7d6f5e;
  background: rgba(250, 247, 244, 0.82);
  padding: 5px 9px;
  border-radius: 4px;
  max-width: calc(100% - 28px);
  line-height: 1.3;
  white-space: normal;
  pointer-events: none;
}

.cleir-pdp-ba-capzone--before .cleir-pdp-ba-cap {
  left: 14px;
  right: auto;
  color: #7d6f5e;
  text-align: left;
}

.cleir-pdp-ba-capzone--after .cleir-pdp-ba-cap {
  right: 14px;
  left: auto;
  color: #9a6f5e;
  text-align: right;
}

.cleir-pdp-ba-pill {
  position: absolute;
  top: 14px;
  z-index: 3;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  padding: 6px 11px;
  border-radius: 100px;
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-ba-pill--before {
  left: 14px;
  background: rgba(44, 42, 41, 0.7);
}

.cleir-pdp-ba-pill--after {
  right: 14px;
  background: var(--cleir-terra, #c4796a);
}

.cleir-pdp-ba-rail {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  z-index: 4;
  background: #faf7f4;
  box-shadow: 0 0 0 1px rgba(44, 42, 41, 0.06);
  transform: translateX(-1px);
  pointer-events: none;
}

.cleir-pdp-ba-handle,
.cleir-pdp-ba-compare .cleir-pdp-ba-handle,
.cleir-pdp-ba-compare button.cleir-pdp-ba-handle {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 50% !important;
  border: none !important;
  background: #faf7f4 !important;
  background-color: #faf7f4 !important;
  background-image: none !important;
  box-shadow: 0 2px 10px rgba(44, 42, 41, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: ew-resize !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  color: #c4796a !important;
  outline: none !important;
  opacity: 1 !important;
  transition: none !important;
}

.cleir-pdp-ba-handle:hover,
.cleir-pdp-ba-handle:focus,
.cleir-pdp-ba-handle:active,
.cleir-pdp-ba-handle:focus-visible,
.cleir-pdp-ba-compare button.cleir-pdp-ba-handle:hover,
.cleir-pdp-ba-compare button.cleir-pdp-ba-handle:focus {
  background: #faf7f4 !important;
  background-color: #faf7f4 !important;
  background-image: none !important;
  color: #c4796a !important;
  box-shadow: 0 2px 10px rgba(44, 42, 41, 0.18) !important;
  border: none !important;
  opacity: 1 !important;
  transform: translate(-50%, -50%) !important;
}

.cleir-pdp-ba-handle svg {
  display: block !important;
  flex: none !important;
  width: 20px !important;
  height: 20px !important;
  opacity: 1 !important;
  visibility: visible !important;
  stroke: #c4796a !important;
}

.cleir-pdp-ba-meta {
  padding: 22px 4px 0;
}

.cleir-pdp-ba-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cleir-gold, #b89b7a);
  margin: 0 0 12px;
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
  line-height: 1.2;
}

.cleir-pdp-ba-tag__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cleir-terra, #c4796a);
  display: block;
  flex: none;
}

.cleir-pdp-ba-quote {
  font-family: var(--cleir-serif, "Cormorant Garamond", serif);
  font-weight: 400;
  font-size: 21px;
  line-height: 1.42;
  color: var(--cleir-ink, #2c2a29);
  margin: 0 0 14px;
}

.cleir-pdp-ba-byline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cleir-pdp-ba-name {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--cleir-ink, #2c2a29);
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-ba-verified {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--cleir-gold, #b89b7a);
  font-family: var(--cleir-sans, "DM Sans", sans-serif);
}

.cleir-pdp-ba-verified__icon {
  display: block;
  flex: none;
}

.cleir-pdp-ba__hint svg {
  display: block;
  flex: none;
}

.cleir-pdp-ba__disclaimer {
  font-size: 12px;
  color: var(--cleir-soft, #9b8c7c);
  margin: 40px 0 0;
  text-align: center;
  letter-spacing: 0.02em;
}

/* -------------------------------------------------------------------------- */
/* Loop Grid product card (collection) — .cleir-loop-card                     */
/* -------------------------------------------------------------------------- */

.cleir-loop-card {
  height: 100%;
}

.cleir-loop-card__media {
  position: relative;
}

.cleir-loop-card__media .elementor-widget-theme-post-featured-image,
.cleir-loop-card__media .elementor-widget-theme-post-featured-image img,
.cleir-loop-card__img img {
  width: 100% !important;
  height: 360px !important;
  max-height: 360px !important;
  object-fit: cover !important;
  display: block !important;
}

.cleir-loop-card__badge .elementor-heading-title:empty,
.cleir-loop-card__badge:has(.elementor-heading-title:empty) {
  display: none !important;
}

/* Highlights inside cards: icon stacked above label (collection.html) */
.cleir-loop-card .cleir-pdp-highlights,
.cleir-loop-card__highlights .cleir-pdp-highlights {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 26px !important;
  max-width: none !important;
  margin: 0 0 0 !important;
  width: 100% !important;
}

.cleir-loop-card .cleir-pdp-highlight,
.cleir-loop-card__highlights .cleir-pdp-highlight {
  flex: 1 1 0 !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  text-align: center !important;
}

.cleir-loop-card .cleir-pdp-highlight--ruled,
.cleir-loop-card__highlights .cleir-pdp-highlight--ruled {
  border: none !important;
}

.cleir-loop-card .cleir-pdp-highlight__label,
.cleir-loop-card__highlights .cleir-pdp-highlight__label {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.3 !important;
  color: var(--cleir-ink, #2c2a29) !important;
}

.cleir-loop-card .cleir-pdp-icon-img,
.cleir-loop-card__highlights .cleir-pdp-icon-img,
.cleir-loop-card .cleir-pdp-highlight svg,
.cleir-loop-card__highlights .cleir-pdp-highlight svg {
  width: 28px !important;
  height: 28px !important;
  stroke: #b89b7a !important;
}

.cleir-loop-card__footer .price,
.cleir-loop-card__price .price,
.cleir-loop-card__price .woocommerce-Price-amount {
  font-family: var(--cleir-serif, "Cormorant Garamond", serif) !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  color: var(--cleir-ink, #2c2a29) !important;
  background: none !important;
}

.cleir-loop-card__footer .price del,
.cleir-loop-card__price del {
  opacity: 0.5;
  font-size: 0.75em;
}

@media (max-width: 900px) {
  .cleir-loop-card__media .elementor-widget-theme-post-featured-image img,
  .cleir-loop-card__img img {
    height: 280px !important;
    max-height: 280px !important;
  }
}

.elementor-widget-woocommerce-product-related,
.related.products {
  width: 100%;
}

/* Elementor already prints “You may also like” above this widget */
.elementor-widget-woocommerce-product-related .related.products > h2 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.related.products ul.products,
.elementor-widget-woocommerce-product-related ul.products,
.elementor-widget-woocommerce-product-related .elementor-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  grid-template-columns: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.related.products li.product,
.elementor-widget-woocommerce-product-related li.product {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  grid-template-rows: 1fr auto auto auto auto 1fr !important;
  align-items: start !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #faf7f4 !important;
  border: 1px solid #e8ddd0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  float: none !important;
  clear: none !important;
  text-align: left !important;
  min-height: 240px !important;
  box-sizing: border-box !important;
}

/* Flatten the product permalink so img + title become grid children of the card */
.related.products li.product .woocommerce-LoopProduct-link,
.elementor-widget-woocommerce-product-related li.product .woocommerce-LoopProduct-link {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

.related.products li.product img,
.related.products li.product .attachment-woocommerce_thumbnail,
.elementor-widget-woocommerce-product-related li.product img {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 240px !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  background: #e5c9ba !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.related.products li.product .cleir-related-brand,
.elementor-widget-woocommerce-product-related li.product .cleir-related-brand {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 36px 0 32px !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #b89b7a !important;
  line-height: 1.3 !important;
}

.related.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-product-related li.product .woocommerce-loop-product__title {
  grid-column: 2 !important;
  grid-row: 3 !important;
  margin: 8px 36px 0 32px !important;
  padding: 0 !important;
  font-family: var(--cleir-serif, "Cormorant Garamond", serif) !important;
  font-weight: 400 !important;
  font-size: 32px !important;
  line-height: 1.15 !important;
  color: var(--cleir-ink, #2c2a29) !important;
  background: transparent !important;
}

.related.products li.product .cleir-related-excerpt,
.elementor-widget-woocommerce-product-related li.product .cleir-related-excerpt {
  grid-column: 2 !important;
  grid-row: 4 !important;
  margin: 10px 36px 0 32px !important;
  max-width: 440px !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #5a5654 !important;
}

.related.products li.product .button,
.related.products li.product .cleir-related-cta,
.elementor-widget-woocommerce-product-related li.product .button,
.elementor-widget-woocommerce-product-related li.product a.button {
  grid-column: 2 !important;
  grid-row: 5 !important;
  justify-self: start !important;
  align-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 20px 36px 0 32px !important;
  padding: 13px 30px !important;
  border: none !important;
  border-radius: 100px !important;
  background: var(--cleir-terra, #c4796a) !important;
  color: #fff !important;
  font-family: var(--cleir-sans, "DM Sans", sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
  width: auto !important;
  min-height: 0 !important;
}

.related.products li.product .button:hover,
.related.products li.product .cleir-related-cta:hover,
.elementor-widget-woocommerce-product-related li.product .button:hover {
  background: var(--cleir-terra-dark, #b56b5c) !important;
  color: #fff !important;
}

.related.products li.product .cleir-related-price,
.elementor-widget-woocommerce-product-related li.product .cleir-related-price {
  opacity: 0.8;
  font-weight: 400;
}

.related.products li.product .cleir-related-price .amount,
.related.products li.product .cleir-related-price .woocommerce-Price-amount,
.elementor-widget-woocommerce-product-related li.product .cleir-related-price .amount {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  background: none !important;
}

.related.products li.product .price,
.related.products li.product .star-rating,
.elementor-widget-woocommerce-product-related li.product .price,
.elementor-widget-woocommerce-product-related li.product .star-rating {
  display: none !important;
}

@media (max-width: 900px) {
  .cleir-pdp-highlights,
  .cleir-pdp-steps,
  .cleir-pdp-ba-grid {
    grid-template-columns: 1fr;
  }

  .cleir-pdp-highlight--ruled {
    border: none;
  }

  .cleir-pdp-ingredients {
    grid-template-columns: 1fr;
  }

  .cleir-pdp-title,
  .single-product .elementor-widget-woocommerce-product-title h1,
  .cleir-page-product .elementor-widget-woocommerce-product-title h1 {
    font-size: 36px !important;
  }

  .cleir-pdp-purpose__text {
    font-size: 26px;
  }

  .cleir-pdp-section-title,
  .cleir-pdp-section-title--ba {
    font-size: 32px;
  }

  .related.products li.product,
  .elementor-widget-woocommerce-product-related li.product {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }

  .related.products li.product img,
  .related.products li.product .attachment-woocommerce_thumbnail,
  .elementor-widget-woocommerce-product-related li.product img {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: 220px !important;
    min-height: 220px !important;
  }

  .related.products li.product .cleir-related-brand,
  .related.products li.product .woocommerce-loop-product__title,
  .related.products li.product .cleir-related-excerpt,
  .related.products li.product .button,
  .elementor-widget-woocommerce-product-related li.product .cleir-related-brand,
  .elementor-widget-woocommerce-product-related li.product .woocommerce-loop-product__title,
  .elementor-widget-woocommerce-product-related li.product .cleir-related-excerpt,
  .elementor-widget-woocommerce-product-related li.product .button {
    grid-column: 1 !important;
    grid-row: auto !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .related.products li.product .cleir-related-brand,
  .elementor-widget-woocommerce-product-related li.product .cleir-related-brand {
    margin-top: 20px !important;
  }

  .related.products li.product .button,
  .elementor-widget-woocommerce-product-related li.product .button {
    margin-bottom: 24px !important;
  }

  .related.products li.product .woocommerce-loop-product__title,
  .elementor-widget-woocommerce-product-related li.product .woocommerce-loop-product__title {
    font-size: 28px !important;
  }
}
