/* ULANLOVE Luxe Checkout — presentation only. No payment or order logic is changed. */
:root {
  --ulanlove-ink: #14181e;
  --ulanlove-forest: #122832;
  --ulanlove-gold: #b08a57;
  --ulanlove-ivory: #f7f5f0;
  --ulanlove-line: #ddd8ce;
  --ulanlove-muted: #696b6d;
}

body.woocommerce-cart,
body.woocommerce-checkout {
  background: var(--ulanlove-ivory);
  color: var(--ulanlove-ink);
}

body.woocommerce-checkout {
  --wp--style--global--content-size: 1240px;
  --wp--style--global--wide-size: 1240px;
}

body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks {
  overflow-x: clip;
}

/* Gives both Block and classic checkout layouts a consistent, generous canvas. */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout form.checkout,
body.woocommerce-cart form.woocommerce-cart-form {
  width: min(1240px, calc(100% - 56px)) !important;
  max-width: 1240px !important;
  margin: 24px auto 52px !important;
  padding: 0 !important;
}

/* Remove the theme's oversized gap between the Cart title and the actual bag. */
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart .entry-title {
  width: min(1240px, calc(100% - 56px)) !important;
  max-width: 1240px !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  font-size: 34px !important;
  text-align: left !important;
}

body.woocommerce-cart main .wp-block-post-content,
body.woocommerce-cart .entry-content {
  padding-top: 0 !important;
}

body.woocommerce-cart main .wp-block-post-content > .wp-block-group,
body.woocommerce-cart .entry-content > .wp-block-group,
body.woocommerce-cart .wp-block-post-content > .wp-block-woocommerce-cart {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart {
  margin-top: 8px !important;
}

body.woocommerce-cart main,
body.woocommerce-cart main > .wp-block-group,
body.woocommerce-cart main .wp-block-group:has(.wp-block-woocommerce-cart) {
  min-height: 0 !important;
  padding-top: 0 !important;
}

/* Hostinger's content wrapper otherwise keeps the cart in a very narrow column. */
body.woocommerce-cart main .wp-block-group:has(.wp-block-woocommerce-cart),
body.woocommerce-checkout main .wp-block-group:has(.wp-block-woocommerce-checkout),
body.woocommerce-cart main .wp-block-group__inner-container:has(.wp-block-woocommerce-cart),
body.woocommerce-checkout main .wp-block-group__inner-container:has(.wp-block-woocommerce-checkout) {
  max-width: none !important;
  width: 100% !important;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
  max-width: none !important;
  width: auto !important;
}

/* The current first-order panel below is the only promotion notice. */
body.woocommerce-cart .wc-block-cart__main::after {
  content: none !important;
  display: none !important;
}

.ulanlove-first-order-note {
  box-sizing: border-box;
  margin: 34px 0 10px;
  padding: 28px 30px;
  background: #eee7da;
  border-top: 1px solid var(--ulanlove-gold);
  color: #30383c;
}
.ulanlove-first-order-note__eyebrow { margin:0 0 10px; color:#8b693e; font:700 11px/1.2 Arial,sans-serif; letter-spacing:.16em; }
.ulanlove-first-order-note h3 { margin:0 0 12px; font:400 clamp(22px,2vw,30px)/1.18 Georgia,serif; }
.ulanlove-first-order-note p,.ulanlove-first-order-note li { font:14px/1.65 Arial,sans-serif; }
.ulanlove-first-order-note ul { margin:16px 0 0; padding-left:19px; }
@media (max-width: 679px) {
  .ulanlove-first-order-note { margin:24px 0 8px; padding:22px 20px; }
}

/* Compact the oversized theme canvas above WooCommerce content. */
body.single-product main,
body.woocommerce-cart main,
body.woocommerce-checkout main {
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: 22px !important;
}

body.single-product main > .wp-block-group,
body.single-product main .wp-block-post-content,
body.woocommerce-cart main > .wp-block-group,
body.woocommerce-cart main .wp-block-post-content,
body.woocommerce-checkout main > .wp-block-group,
body.woocommerce-checkout main .wp-block-post-content {
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.single-product main .wp-block-spacer,
body.woocommerce-cart main .wp-block-spacer,
body.woocommerce-checkout main .wp-block-spacer {
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

body.single-product .woocommerce-breadcrumb {
  margin-top: 0 !important;
  margin-bottom: 22px !important;
  padding-top: 0 !important;
}

body.single-product div.product,
body.single-product .wp-block-woocommerce-single-product,
body.single-product .woocommerce div.product {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-checkout .entry-title {
  margin-top: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout form.checkout {
  margin-top: 18px !important;
}

@media (min-width: 960px) {
  /* The actual Cart block is nested one level deeper than the wrapper. */
  body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 365px;
    gap: 56px;
    align-items: start;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .wc-block-checkout,
  body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
  }

  /* Defeat the theme's narrow post-content canvas on the checkout only. */
  body.woocommerce-checkout main .wp-block-post-content:has(.wc-block-checkout),
  body.woocommerce-checkout main .wp-block-post-content > .wp-block-group:has(.wc-block-checkout),
  body.woocommerce-checkout main .wp-block-group__inner-container:has(.wc-block-checkout) {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout,
  body.woocommerce-checkout .wc-block-checkout {
    width: min(1240px, calc(100vw - 48px)) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-checkout .wc-block-checkout__main,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.woocommerce-checkout .wc-block-checkout__main,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }

  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout #order_review {
    position: sticky;
    top: 30px;
  }
}

/* Section cards */
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-checkout-payment {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--ulanlove-line);
  box-shadow: 0 10px 32px rgba(20, 24, 30, .045);
}

/* Checkout is a calm editorial sequence, not a pile of connected boxes. */
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-checkout-payment {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--ulanlove-line) !important;
  box-shadow: none !important;
  padding: 28px 0 !important;
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step:last-child,
body.woocommerce-checkout .woocommerce-checkout-payment {
  border-bottom: 1px solid var(--ulanlove-line) !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--ulanlove-line) !important;
  border-bottom: 1px solid var(--ulanlove-line) !important;
  box-shadow: none !important;
  padding: 20px 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step + .wc-block-components-checkout-step {
  margin-top: 18px !important;
}

/* Cart summary is intentionally editorial: dividers instead of stacked boxes. */
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--ulanlove-line) !important;
  box-shadow: none !important;
  padding: 16px 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
  border-bottom: 1px solid var(--ulanlove-line) !important;
}

body.woocommerce-cart .wc-block-cart__sidebar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel__content,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon__content {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-checkout-payment {
  padding: 26px !important;
  margin-bottom: 18px !important;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout #order_review {
  padding: 26px !important;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items table,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
  width: 100% !important;
}

body.woocommerce-cart .wc-block-cart-items__row {
  min-height: 160px;
}

body.woocommerce-cart .wc-block-cart-item__image {
  width: 148px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
  width: 132px !important;
  height: 132px !important;
  max-width: none !important;
  object-fit: cover;
}

body.woocommerce-cart .wc-block-cart-item__product {
  padding: 8px 22px !important;
}

body.woocommerce-cart .wc-block-cart-item__total {
  min-width: 116px;
  padding-top: 12px !important;
  text-align: right;
}

/* Typography */
body.woocommerce-cart h1,
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title {
  color: var(--ulanlove-ink) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 500 !important;
  letter-spacing: .02em;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout #order_review_heading {
  font-size: 22px !important;
  line-height: 1.25 !important;
  margin: 0 0 20px !important;
}

/* Inputs, selects and hosted card fields */
body.woocommerce-cart input:not([type='checkbox']):not([type='radio']),
body.woocommerce-cart select,
body.woocommerce-cart textarea,
body.woocommerce-checkout input:not([type='checkbox']):not([type='radio']),
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .ppcp-credit-card-gateway-card-fields-container {
  min-height: 50px !important;
  box-sizing: border-box !important;
  border: 1px solid #cfc9be !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--ulanlove-ink) !important;
  font-size: 15px !important;
}

/* Controls must never inherit the tall text-field treatment. */
body.woocommerce-cart input[type='checkbox'],
body.woocommerce-checkout input[type='checkbox'] {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-grid !important;
  place-content: center;
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  min-width: 16px !important;
  margin: 0 9px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #9a968e !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  vertical-align: middle;
  flex: 0 0 16px !important;
}

body.woocommerce-cart input[type='checkbox']:checked,
body.woocommerce-checkout input[type='checkbox']:checked {
  border-color: var(--ulanlove-forest) !important;
  background: var(--ulanlove-forest) !important;
}

body.woocommerce-cart input[type='checkbox']:checked::after,
body.woocommerce-checkout input[type='checkbox']:checked::after {
  content: '';
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg) translate(-1px, -1px);
}

body.woocommerce-cart input[type='radio'],
body.woocommerce-checkout input[type='radio'] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  min-width: 16px !important;
  margin: 0 10px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 16px !important;
  vertical-align: middle;
}

/* WooCommerce Blocks positions payment radios absolutely by default.
   Keep them in the label flow so the icon never covers the payment name. */
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control__option label {
  display: flex !important;
  align-items: center !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option input[type='radio'],
body.woocommerce-checkout .wc-block-components-radio-control__input {
  position: static !important;
  inset: auto !important;
  display: block !important;
  margin: 0 12px 0 0 !important;
  transform: none !important;
}

body.woocommerce-cart input:focus,
body.woocommerce-cart select:focus,
body.woocommerce-cart textarea:focus,
body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout .wc-block-components-text-input:focus-within {
  outline: none !important;
  border-color: var(--ulanlove-forest) !important;
  box-shadow: 0 0 0 2px rgba(18, 40, 50, .12) !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .wc-block-components-checkbox__label {
  color: #444a4d !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .045em;
  text-transform: uppercase;
}

/* Payment methods: ordered, calm and clearly selected. */
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc_payment_method {
  margin: 0 0 12px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--ulanlove-line) !important;
  border-bottom: 1px solid var(--ulanlove-line) !important;
  background: #fff !important;
}

body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-checkout ul.wc_payment_methods {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option:last-child,
body.woocommerce-checkout .wc_payment_method:last-child {
  margin-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--checked,
body.woocommerce-checkout .wc_payment_method:has(input:checked) {
  background: #fbfaf7 !important;
  border-left: 3px solid var(--ulanlove-gold) !important;
}

body.woocommerce-checkout .ppcp-credit-card-gateway-card-fields-container,
body.woocommerce-checkout .wc-block-components-payment-method-icons {
  margin-top: 13px !important;
}

body.woocommerce-checkout .ppcp-credit-card-gateway-card-fields-container {
  padding: 16px !important;
  border-color: #d8d2c8 !important;
  background: #fcfbf8 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .ppcp-credit-card-gateway-card-fields-container label {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  min-height: 20px !important;
}

/* Primary actions */
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button[type='submit'] {
  min-height: 52px !important;
  border: 1px solid var(--ulanlove-forest) !important;
  border-radius: 0 !important;
  background: var(--ulanlove-forest) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
}

body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-cart .checkout-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button[type='submit']:hover {
  background: #fff !important;
  color: var(--ulanlove-forest) !important;
}

body.woocommerce-checkout .wc-block-components-notice-banner,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info {
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-checkout .wc-block-components-totals-item {
  border-color: var(--ulanlove-line) !important;
}

@media (max-width: 959px) {
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout form.checkout {
    margin: 28px auto 46px !important;
    width: calc(100% - 32px) !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout .woocommerce-checkout-payment,
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout #order_review {
    padding: 19px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step__title,
  body.woocommerce-checkout .woocommerce-billing-fields > h3,
  body.woocommerce-checkout .woocommerce-shipping-fields > h3,
  body.woocommerce-checkout #order_review_heading {
    font-size: 20px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image {
    width: 96px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image img {
    width: 82px !important;
    height: 82px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__product {
    padding: 4px 10px !important;
  }
}
/* 1.9.0 - compact commerce canvases and branded section dividers. */

/* Hostinger's commerce templates can reserve a tall hero-like canvas even
   when no hero content exists. Keep the real title and commerce content close. */
body.woocommerce-cart main:has(.wp-block-woocommerce-cart),
body.woocommerce-cart main .wp-block-group:has(.wp-block-woocommerce-cart),
body.woocommerce-cart main .wp-block-post-content:has(.wp-block-woocommerce-cart),
body.single-product main:has(div.product),
body.single-product main .wp-block-group:has(div.product),
body.single-product main .wp-block-post-content:has(div.product),
body.post-type-archive-product main,
body.tax-product_cat main,
body.tax-product_tag main {
  min-height: 0 !important;
  height: auto !important;
  padding-block: 18px 0 !important;
  margin-block: 0 !important;
  align-content: start !important;
  justify-content: start !important;
}

body.woocommerce-cart main .wp-block-group:has(.wp-block-woocommerce-cart),
body.woocommerce-cart main .wp-block-post-content:has(.wp-block-woocommerce-cart),
body.single-product main .wp-block-group:has(div.product),
body.single-product main .wp-block-post-content:has(div.product),
body.post-type-archive-product main > .wp-block-group,
body.post-type-archive-product main .wp-block-post-content,
body.tax-product_cat main > .wp-block-group,
body.tax-product_cat main .wp-block-post-content,
body.tax-product_tag main > .wp-block-group,
body.tax-product_tag main .wp-block-post-content {
  min-height: 0 !important;
  height: auto !important;
  padding-block: 0 !important;
  margin-block: 0 !important;
  gap: 0 !important;
  align-content: start !important;
  justify-content: start !important;
}

body.post-type-archive-product main .wp-block-spacer,
body.tax-product_cat main .wp-block-spacer,
body.tax-product_tag main .wp-block-spacer {
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

/* Cart: title, bag and totals become one deliberate first-screen composition. */
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart .entry-title {
  margin-block: 6px 18px !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart {
  margin-top: 0 !important;
  padding-top: 28px !important;
  border-top: 8px solid var(--ulanlove-forest) !important;
  box-shadow: inset 0 2px 0 var(--ulanlove-gold);
}

/* Shop, bracelet category and other product archives. */
body.post-type-archive-product .woocommerce-products-header,
body.post-type-archive-product .wp-block-query-title,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .wp-block-query-title,
body.tax-product_tag .woocommerce-products-header,
body.tax-product_tag .wp-block-query-title {
  min-height: 0 !important;
  margin: 4px auto 22px !important;
  padding: 0 !important;
}

body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-result-count,
body.tax-product_tag .woocommerce-ordering {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.post-type-archive-product .wp-block-woocommerce-product-collection,
body.tax-product_cat .wp-block-woocommerce-product-collection,
body.tax-product_tag .wp-block-woocommerce-product-collection {
  margin-top: 0 !important;
  padding-top: 28px !important;
  border-top: 8px solid var(--ulanlove-forest) !important;
  box-shadow: inset 0 2px 0 var(--ulanlove-gold);
}

/* Product detail pages receive the same rhythm without changing the gallery. */
body.single-product .woocommerce-breadcrumb {
  margin-block: 0 16px !important;
}

body.single-product div.product,
body.single-product .wp-block-woocommerce-single-product {
  margin-top: 0 !important;
  padding-top: 26px !important;
  border-top: 8px solid var(--ulanlove-forest) !important;
  box-shadow: inset 0 2px 0 var(--ulanlove-gold);
}

@media (max-width: 781px) {
  body.woocommerce-cart main:has(.wp-block-woocommerce-cart),
  body.single-product main:has(div.product),
  body.post-type-archive-product main,
  body.tax-product_cat main,
  body.tax-product_tag main {
    padding-top: 10px !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products,
  body.single-product div.product,
  body.single-product .wp-block-woocommerce-single-product {
    border-top-width: 6px !important;
    padding-top: 20px !important;
  }
}

/* Compatibility fallback for browsers without :has() support and themes that
   place the large vertical space on the outer commerce canvas. */
body.woocommerce-cart main,
body.single-product main,
body.post-type-archive-product main,
body.tax-product_cat main,
body.tax-product_tag main {
  min-height: 0 !important;
  height: auto !important;
  align-content: start !important;
  justify-content: start !important;
}

body.woocommerce-cart main > .wp-block-group,
body.woocommerce-cart main > .wp-block-post-content,
body.single-product main > .wp-block-group,
body.single-product main > .wp-block-post-content,
body.post-type-archive-product main > .wp-block-group,
body.post-type-archive-product main > .wp-block-post-content,
body.tax-product_cat main > .wp-block-group,
body.tax-product_cat main > .wp-block-post-content,
body.tax-product_tag main > .wp-block-group,
body.tax-product_tag main > .wp-block-post-content {
  min-height: 0 !important;
  height: auto !important;
  margin-block: 0 !important;
  align-content: start !important;
  justify-content: flex-start !important;
}
