
/* ==========================================================================
   WooCommerce Cart + Checkout Blocks Override
   Focused cleanup for the live block-based storefront
   ========================================================================== */

:root{
  --sp-wc-bg: #f5f0e8;
  --sp-wc-card: #ffffff;
  --sp-wc-ink: #2A2520;
  --sp-wc-muted: #6E6256;
  --sp-wc-accent: #8A3A2B;
  --sp-wc-line: rgba(42,37,32,.10);
  --sp-wc-line-strong: rgba(42,37,32,.16);
  --sp-wc-shadow: 0 18px 38px rgba(42,37,32,.08);
  --sp-wc-shadow-sm: 0 8px 20px rgba(42,37,32,.05);
}

/* Remove earlier experimental shell UI if present */
.sp-store-shell__head,
.sp-store-shell__progress,
.sp-store-shell__benefits,
.sp-store-shell__eyebrow,
.sp-store-shell__title,
.sp-store-shell__sub,
.sp-store-benefits,
.sp-checkout-progress,
.sp-cart-progress {
  display: none !important;
}

/* Page shell */
body.woocommerce-cart,
body.woocommerce-checkout{
  background: var(--sp-wc-bg) !important;
}

body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content{
  background: transparent !important;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 2rem 1rem 4rem !important;
  color: var(--sp-wc-ink) !important;
}

/* Grid */
@media (min-width: 992px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 410px !important;
    gap: 2rem !important;
    align-items: start !important;
  }

  .wp-block-woocommerce-cart .wc-block-components-sidebar,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar{
    position: sticky !important;
    top: 110px !important;
  }
}

/* Kill weird empty boxes from prior wrappers/plugins */
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar > .is-layout-flow:empty,
.wp-block-woocommerce-checkout .wc-block-components-sidebar > .is-layout-flow:empty,
.wp-block-woocommerce-cart .wc-block-components-sidebar > .is-layout-flow:empty{
  display:none !important;
}

/* Cards */
.wp-block-woocommerce-cart .wc-block-cart,
.wp-block-woocommerce-checkout .wc-block-checkout{
  background: transparent !important;
}

.wp-block-woocommerce-cart .wc-block-components-main > *,
.wp-block-woocommerce-checkout .wc-block-components-main > *,
.wp-block-woocommerce-cart .wc-block-components-sidebar > *,
.wp-block-woocommerce-checkout .wc-block-components-sidebar > *{
  background: var(--sp-wc-card) !important;
  border: 1px solid var(--sp-wc-line) !important;
  border-radius: 28px !important;
  box-shadow: var(--sp-wc-shadow-sm) !important;
}

/* Section spacing */
.wp-block-woocommerce-cart .wc-block-components-main > *,
.wp-block-woocommerce-checkout .wc-block-components-main > *{
  margin-bottom: 1.25rem !important;
}

/* Headings */
.wp-block-woocommerce-cart h1,
.wp-block-woocommerce-checkout h1,
.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-checkout h2,
.wp-block-woocommerce-cart h3,
.wp-block-woocommerce-checkout h3{
  color: var(--sp-wc-ink) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step{
  background: var(--sp-wc-card) !important;
  border: 1px solid var(--sp-wc-line) !important;
  border-radius: 28px !important;
  box-shadow: var(--sp-wc-shadow-sm) !important;
  overflow: hidden !important;
  margin-bottom: 1.25rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading{
  padding: 1.45rem 1.8rem !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--sp-wc-line) !important;
  background: linear-gradient(180deg, rgba(245,240,232,.55), rgba(255,255,255,.95)) !important;
  display: flex !important;
  align-items: center !important;
  gap: .9rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__index{
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(138,58,43,.10) !important;
  color: var(--sp-wc-accent) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  border: 1px solid rgba(138,58,43,.15) !important;
  box-shadow: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title{
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description{
  font-size: .9rem !important;
  color: var(--sp-wc-muted) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__container{
  padding: 1.5rem 1.75rem 1.75rem !important;
}

/* Express checkout */
.wp-block-woocommerce-checkout .wc-block-checkout__express-payment-fieldset,
.wp-block-woocommerce-checkout .wc-block-components-express-payment,
.wp-block-woocommerce-checkout .wc-block-checkout__express-payment-block{
  background: var(--sp-wc-card) !important;
  border: 1px solid var(--sp-wc-line) !important;
  border-radius: 28px !important;
  box-shadow: var(--sp-wc-shadow-sm) !important;
  padding: 1.4rem 1.4rem 1.1rem !important;
  margin-bottom: 1.25rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-express-payment__title,
.wp-block-woocommerce-checkout .wc-block-checkout__express-payment__title,
.wp-block-woocommerce-checkout .wc-block-components-express-payment-continue-rule{
  color: var(--sp-wc-muted) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-express-payment__event-buttons,
.wp-block-woocommerce-checkout .wc-block-checkout__express-payment-block .wc-block-components-express-payment__event-buttons{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .85rem !important;
}

@media (min-width: 1200px){
  .wp-block-woocommerce-checkout .wc-block-components-express-payment__event-buttons{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.wp-block-woocommerce-checkout .wc-block-components-express-payment__event-button{
  min-height: 56px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* Inputs */
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout input[type="password"],
.wp-block-woocommerce-checkout input[type="number"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-country-input input,
.wp-block-woocommerce-checkout .wc-block-components-state-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea,
.wp-block-woocommerce-cart input[type="text"],
.wp-block-woocommerce-cart .wc-block-components-text-input input{
  background: #fff !important;
  color: var(--sp-wc-ink) !important;
  border: 1px solid rgba(42,37,32,.14) !important;
  border-radius: 18px !important;
  min-height: 58px !important;
  padding: 1rem 1rem !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5) !important;
}

.wp-block-woocommerce-checkout textarea{
  min-height: 120px !important;
}

.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus,
.wp-block-woocommerce-checkout textarea:focus,
.wp-block-woocommerce-cart input:focus{
  border-color: rgba(138,58,43,.45) !important;
  box-shadow: 0 0 0 4px rgba(138,58,43,.10) !important;
  outline: none !important;
}

/* Labels */
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-label,
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-cart .wc-block-components-form .wc-block-components-label{
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--sp-wc-muted) !important;
}

/* Checkbox / radio cleanup */
.wp-block-woocommerce-checkout .wc-block-components-checkbox,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option{
  color: var(--sp-wc-ink) !important;
}

/* Shipping + payment option rows */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option{
  background: #fff !important;
  border: 1px solid rgba(42,37,32,.12) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  margin-bottom: .9rem !important;
  overflow: hidden !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
  min-height: 74px !important;
  padding: 1rem 1.2rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked),
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked){
  border-color: rgba(138,58,43,.55) !important;
  box-shadow: 0 0 0 3px rgba(138,58,43,.08) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content{
  padding: 1.2rem 1.2rem 1.3rem 1.2rem !important;
  border-top: 1px solid var(--sp-wc-line) !important;
  background: linear-gradient(180deg, rgba(245,240,232,.55), rgba(255,255,255,.96)) !important;
}

/* Payment labels */
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label{
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sp-wc-ink) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-payment-method-label__brand-logo{
  max-height: 24px !important;
  width: auto !important;
}

/* Sidebar */
.wp-block-woocommerce-checkout .wc-block-components-sidebar > *,
.wp-block-woocommerce-cart .wc-block-components-sidebar > *{
  padding: 1.6rem 1.75rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary__button-text,
.wp-block-woocommerce-checkout .wc-block-components-title,
.wp-block-woocommerce-cart .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  color: var(--sp-wc-ink) !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-order-summary__button-text{
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  margin-bottom: .25rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item{
  display: grid !important;
  grid-template-columns: 56px 1fr auto !important;
  gap: .95rem !important;
  align-items: center !important;
  padding: 1.1rem 0 !important;
  border-bottom: 1px solid var(--sp-wc-line) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img{
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity{
  top: -8px !important;
  right: -8px !important;
  min-width: 24px !important;
  height: 24px !important;
  font-size: .72rem !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__full-name,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description{
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-price,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price,
.wp-block-woocommerce-checkout .wc-block-formatted-money-amount,
.wp-block-woocommerce-cart .wc-block-formatted-money-amount{
  font-weight: 800 !important;
  color: var(--sp-wc-ink) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-item,
.wp-block-woocommerce-cart .wc-block-components-totals-item{
  padding: 1rem 0 !important;
  border-top: 1px solid var(--sp-wc-line) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-item__label{
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--sp-wc-muted) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart .wc-block-components-totals-item__value{
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--sp-wc-ink) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item{
  padding-top: 1.2rem !important;
  margin-top: .2rem !important;
  border-top: 1px solid var(--sp-wc-line-strong) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--sp-wc-ink) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  color: var(--sp-wc-ink) !important;
}

/* Coupon panel */
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon{
  border: 1px solid var(--sp-wc-line) !important;
  border-radius: 20px !important;
  background: rgba(245,240,232,.55) !important;
  padding: .25rem .35rem !important;
  box-shadow: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-panel__button,
.wp-block-woocommerce-cart .wc-block-components-panel__button{
  min-height: 56px !important;
  padding: .75rem 1rem !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: var(--sp-wc-ink) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

/* Buttons */
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button{
  border-radius: 999px !important;
  min-height: 60px !important;
  padding: 1rem 1.5rem !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  box-shadow: 0 10px 24px rgba(42,37,32,.14) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-components-button.is-primary,
.wp-block-woocommerce-checkout .wc-block-components-button.is-primary{
  background: linear-gradient(90deg, #2A2520 0%, #3A312A 100%) !important;
  border: 1px solid #2A2520 !important;
  color: #fff !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-cart .wc-block-components-button.is-primary:hover,
.wp-block-woocommerce-checkout .wc-block-components-button.is-primary:hover{
  background: linear-gradient(90deg, #8A3A2B 0%, #A34A38 100%) !important;
  border-color: #8A3A2B !important;
  color: #fff !important;
}

.wp-block-woocommerce-checkout .wc-block-components-button:not(.is-primary):not(.wc-block-components-checkout-place-order-button),
.wp-block-woocommerce-cart .wc-block-components-button:not(.is-primary){
  background: #fff !important;
  border: 1px solid rgba(42,37,32,.14) !important;
  color: var(--sp-wc-ink) !important;
  box-shadow: none !important;
}

/* Cart item list */
.wp-block-woocommerce-cart .wc-block-cart-items{
  border: 0 !important;
  background: transparent !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row{
  background: var(--sp-wc-card) !important;
  border: 1px solid var(--sp-wc-line) !important;
  border-radius: 24px !important;
  box-shadow: var(--sp-wc-shadow-sm) !important;
  margin-bottom: 1rem !important;
  padding: 1rem !important;
}

.wp-block-woocommerce-cart .wc-block-components-product-name{
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--sp-wc-ink) !important;
  text-decoration: none !important;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  border: 1px solid rgba(42,37,32,.12) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  min-height: 46px !important;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input{
  border: 0 !important;
  min-height: 46px !important;
  padding: 0 .25rem !important;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button{
  min-width: 42px !important;
  color: var(--sp-wc-ink) !important;
}

/* Payment iframe containers can only be styled around the outside */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content iframe,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content .StripeElement{
  border-radius: 16px !important;
}

/* Mobile */
@media (max-width: 991.98px){
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout{
    padding: 1.25rem .8rem 3rem !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading{
    padding: 1.15rem 1.1rem !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-step__container,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar > *,
  .wp-block-woocommerce-cart .wc-block-components-sidebar > *{
    padding: 1.1rem !important;
  }

  .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
  .wp-block-woocommerce-checkout .wc-block-components-order-summary__button-text{
    font-size: 1.45rem !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-express-payment__event-buttons{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
  .wp-block-woocommerce-cart .wc-block-components-button{
    min-height: 56px !important;
  }
}
