/* ═══════════════════════════════════════════════════════════════════════════
   ALLURA · WC CART/CHECKOUT BLOCKS overrides
   Skins the Gutenberg cart and checkout blocks to the Allura DA. Loads only
   on pages where the blocks are actually rendered.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── Layout neutralisation inside the page block area ─────────────────── */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  font-family: var(--allura-font-ui);
  color: var(--allura-ink);
  max-width: var(--allura-width-wide);
  margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) clamp(20px, 4vw, 56px);
}

/* ─── Cart Block layout ────────────────────────────────────────────────── */

.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart-totals-block {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

.wp-block-woocommerce-filled-cart-block {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 56px;
}

@media (min-width: 980px) {
  .wp-block-woocommerce-filled-cart-block {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 80px;
    align-items: start;
  }
}

/* Cart heading */
.wc-block-cart__main-content-wrapper > h2,
.wc-block-cart__sidebar > h2 {
  font-family: var(--allura-font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  color: var(--allura-ink) !important;
  letter-spacing: 0 !important;
  border-top: 1px solid var(--allura-line);
  padding-top: 24px;
  margin: 0 0 32px;
}

/* Cart item rows */
.wc-block-cart-items__table thead {
  display: none;
}

.wc-block-cart-items__row,
.wc-block-cart-items .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 88px 1fr auto auto;
  gap: 24px;
  align-items: center;
  padding: 26px 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--allura-line) !important;
  position: relative;
}

.wc-block-cart-items__row::after {
  content: '';
  position: absolute;
  inset: 0 -16px;
  background: transparent;
  transition: background .25s var(--allura-ease);
  pointer-events: none;
  z-index: 0;
}
.wc-block-cart-items__row:hover::after {
  background: rgba(184, 154, 94, .06);
}
.wc-block-cart-items__row > * { position: relative; z-index: 1; }

.wc-block-cart-item__image img,
.wc-block-cart-item__image a {
  width: 88px !important;
  height: 116px;
  object-fit: cover;
  background: var(--allura-line);
  display: block;
}

.wc-block-cart-item__product .wc-block-components-product-name {
  font-family: var(--allura-font-display) !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  color: var(--allura-ink) !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  margin: 0 0 8px !important;
  letter-spacing: 0 !important;
}

.wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-cart-item__total .wc-block-components-formatted-money-amount {
  font-family: var(--allura-font-ui);
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--allura-ink);
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
}

/* Qty selector inside block */
.wc-block-components-quantity-selector {
  background: var(--allura-white) !important;
  border: 1px solid var(--allura-line) !important;
  border-radius: var(--allura-radius-btn) !important;
  overflow: hidden !important;
  height: 44px !important;
  width: auto !important;
  min-width: 110px;
}

.wc-block-components-quantity-selector input {
  font-family: var(--allura-font-ui) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--allura-ink) !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-variant-numeric: tabular-nums;
}

.wc-block-components-quantity-selector__button {
  font-family: var(--allura-font-ui) !important;
  font-size: 16px !important;
  color: var(--allura-ink-soft) !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  width: 36px !important;
  transition: background .2s var(--allura-ease);
}
.wc-block-components-quantity-selector__button:hover {
  background: var(--allura-cream-warm) !important;
  color: var(--allura-ink) !important;
}

/* Remove button */
.wc-block-cart-item__remove-link,
button.wc-block-cart-item__remove-link {
  font-family: var(--allura-font-ui) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--allura-ink-mute) !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 8px;
  cursor: pointer;
  transition: color .22s var(--allura-ease);
}
.wc-block-cart-item__remove-link:hover { color: var(--allura-danger) !important; }

/* ─── Cart Totals (right column) ──────────────────────────────────────── */

.wc-block-cart__sidebar {
  background: var(--allura-white) !important;
  border-top: 2px solid var(--allura-ink) !important;
  border-radius: 0 !important;
  padding: 32px 28px !important;
}

@media (min-width: 980px) {
  .wc-block-cart__sidebar {
    position: sticky;
    top: 96px;
  }
}

.wp-block-woocommerce-cart-order-summary-heading-block h2,
.wp-block-woocommerce-cart-order-summary-block h2 {
  font-family: var(--allura-font-display) !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  color: var(--allura-ink) !important;
  margin: 0 0 18px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid var(--allura-line);
  letter-spacing: 0 !important;
}

.wc-block-components-totals-item {
  font-family: var(--allura-font-ui) !important;
  padding: 12px 0 !important;
  border-bottom: 1px dashed var(--allura-line) !important;
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item .wc-block-components-totals-item__label {
  font-family: var(--allura-font-ui) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--allura-ink-mute) !important;
}

.wc-block-components-totals-item__value {
  font-family: var(--allura-font-ui) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--allura-ink) !important;
  font-variant-numeric: tabular-nums;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--allura-font-display) !important;
  font-size: 18px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--allura-ink) !important;
  font-weight: 400 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--allura-font-display) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: var(--allura-ink) !important;
}

/* Coupon toggle */
.wc-block-components-totals-coupon {
  border-top: 1px solid var(--allura-line);
  padding-top: 16px;
}

.wc-block-components-totals-coupon__button,
button.wc-block-components-totals-coupon-link {
  font-family: var(--allura-font-ui) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--allura-ink-soft) !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
  padding: 4px 0 !important;
  cursor: pointer;
}

/* Proceed to checkout button */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button__link {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--allura-gold) !important;
  color: var(--allura-white) !important;
  border: 1px solid var(--allura-gold) !important;
  padding: 16px 24px !important;
  font-family: var(--allura-font-ui) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border-radius: var(--allura-radius-btn) !important;
  min-height: 52px;
  margin-top: 18px !important;
  transition: background .22s var(--allura-ease), color .22s var(--allura-ease);
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button__link:hover {
  background: var(--allura-ink) !important;
  border-color: var(--allura-ink) !important;
  color: var(--allura-cream-warm) !important;
}

/* Express checkout (Apple/Google Pay) */
.wp-block-woocommerce-cart-express-payment-block {
  margin: 24px 0 0 !important;
}

/* ─── Empty cart ──────────────────────────────────────────────────────── */

.wp-block-woocommerce-empty-cart-block {
  text-align: left !important;
  border-top: 1px solid var(--allura-line);
  padding: 64px 0 !important;
  font-family: var(--allura-font-ui);
}

.wp-block-woocommerce-empty-cart-block h2 {
  font-family: var(--allura-font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  color: var(--allura-ink) !important;
  margin: 0 0 16px !important;
  letter-spacing: 0 !important;
}

.wp-block-woocommerce-empty-cart-block p {
  font-family: var(--allura-font-ui);
  font-size: 15px;
  color: var(--allura-ink-soft);
  max-width: 60ch;
  line-height: 1.55;
}

.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block a.button {
  background: var(--allura-ink) !important;
  color: var(--allura-cream-warm) !important;
  border: 1px solid var(--allura-ink) !important;
  padding: 13px 24px !important;
  font-family: var(--allura-font-ui) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  border-radius: var(--allura-radius-btn) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  min-height: 46px;
}

/* ─── Checkout Block (when /checkout-2/ uses blocks) ─────────────────── */

.wp-block-woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 56px;
}

@media (min-width: 1000px) {
  .wp-block-woocommerce-checkout {
    grid-template-columns: minmax(0, 1.45fr) minmax(380px, 1fr) !important;
    gap: 88px !important;
    align-items: start;
  }
}

.wp-block-woocommerce-checkout-fields-block {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

.wp-block-woocommerce-checkout-totals-block,
.wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
  background: var(--allura-white) !important;
  border-top: 2px solid var(--allura-ink) !important;
  border-radius: 0 !important;
  padding: 32px 28px !important;
}

@media (min-width: 1000px) {
  .wp-block-woocommerce-checkout-totals-block,
  .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
    position: sticky;
    top: 96px;
  }
}

/* Step headings inside checkout */
.wc-block-components-checkout-step__heading,
.wc-block-checkout__contact-information h2,
.wc-block-checkout__shipping-fields h2,
.wc-block-checkout__billing-fields h2,
.wc-block-checkout__payment-method h2 {
  font-family: var(--allura-font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(24px, 2.8vw, 32px) !important;
  color: var(--allura-ink) !important;
  margin: 0 0 24px !important;
  letter-spacing: 0 !important;
  border-top: 1px solid var(--allura-line);
  padding-top: 24px;
}

.wc-block-components-checkout-step__container > .wc-block-components-checkout-step__heading {
  border-top: 1px solid var(--allura-line);
  padding-top: 24px;
}

/* Inputs inside blocks — underline only */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox-control input,
.wc-block-components-form input.wc-block-components-text-input__input,
.wc-block-components-state-input input,
.wc-block-components-country-input input {
  border: none !important;
  border-bottom: 1px solid var(--allura-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--allura-font-ui) !important;
  font-size: 15px !important;
  color: var(--allura-ink) !important;
  padding: 12px 0 10px !important;
  height: 48px;
  min-height: 48px;
  outline: none !important;
  box-shadow: none !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox-control input:focus {
  border-bottom-color: var(--allura-gold) !important;
  box-shadow: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-checkbox label,
.wc-block-components-form label {
  font-family: var(--allura-font-ui) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--allura-ink-mute) !important;
}

.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label,
.wc-block-components-text-input label:not(.wc-block-components-checkbox__label) {
  transform: none !important;
  position: static !important;
}

/* Checkboxes inside blocks */
.wc-block-components-checkbox__mark {
  border: 1px solid var(--allura-ink-mute) !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark {
  background: var(--allura-ink) !important;
  border-color: var(--allura-ink) !important;
}

/* Radios for shipping options */
.wc-block-components-radio-control__option {
  border: none !important;
  border-bottom: 1px solid var(--allura-line) !important;
  padding: 16px 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.wc-block-components-radio-control__option-checked {
  border-color: var(--allura-gold) !important;
}

.wc-block-components-radio-control__input {
  accent-color: var(--allura-gold) !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button,
button.wc-block-components-checkout-place-order-button {
  background: var(--allura-gold) !important;
  color: var(--allura-white) !important;
  border: 1px solid var(--allura-gold) !important;
  border-radius: var(--allura-radius-btn) !important;
  font-family: var(--allura-font-ui) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 16px 24px !important;
  min-height: 52px;
  width: 100%;
  margin-top: 20px !important;
  transition: background .22s var(--allura-ease);
}
.wc-block-components-checkout-place-order-button:hover {
  background: var(--allura-ink) !important;
  border-color: var(--allura-ink) !important;
  color: var(--allura-cream-warm) !important;
}

/* Sale price / strike-through */
.wc-block-components-product-price del { color: var(--allura-ink-faint) !important; opacity: .6 !important; }
.wc-block-components-product-price ins { background: transparent !important; color: var(--allura-gold-deep) !important; text-decoration: none !important; }
