/* =========================================================
   PAHAL - FINAL CLEAN CART + CHECKOUT CSS
   Exact for WooCommerce Blocks markup shared by you
   ========================================================= */

/* -------------------------
   WRAPPER + TOKENS
   ------------------------- */
body.woocommerce-cart .entry-content .wp-block-woocommerce-cart,
body.woocommerce-checkout .entry-content .wp-block-woocommerce-checkout,
.entry-content .wp-block-woocommerce-cart,
.entry-content .wp-block-woocommerce-checkout{
  --woo-primary:#2f80ed;
  --woo-primary-dark:#1f5fc4;
  --woo-accent:#ff7a00;
  --woo-gold:#f4c24f;
  --woo-text:#111827;
  --woo-muted:#667085;
  --woo-line:#e7edf5;
  --woo-soft:#f6f9fc;
  --woo-soft-2:#eef4fb;
  --woo-card:#ffffff;
  --woo-danger:#ef4444;
  --woo-success:#16a34a;
  --woo-shadow:0 18px 45px rgba(15,23,42,.08);
  --woo-shadow-lg:0 24px 60px rgba(15,23,42,.12);
  --woo-radius-xl:28px;
  --woo-radius-lg:22px;
  --woo-radius-md:16px;
  --woo-radius-sm:12px;

  width:min(100% - 24px,1320px) !important;
  margin:24px auto 42px !important;
  background:transparent !important;
}

body.woocommerce-cart,
body.woocommerce-checkout{
  background:linear-gradient(180deg,#f8fbff 0%,#f2f6fb 100%) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart *,
body.woocommerce-checkout .wp-block-woocommerce-checkout *,
body.woocommerce-cart .wp-block-woocommerce-cart *::before,
body.woocommerce-cart .wp-block-woocommerce-cart *::after,
body.woocommerce-checkout .wp-block-woocommerce-checkout *::before,
body.woocommerce-checkout .wp-block-woocommerce-checkout *::after{
  box-sizing:border-box;
}

/* -------------------------
   REMOVE RANDOM EXTRA WIDTH ISSUES
   ------------------------- */
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar{
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
}

/* -------------------------
   NOTICES
   ------------------------- */
body.woocommerce-cart .wc-block-components-notice-banner,
body.woocommerce-checkout .wc-block-components-notice-banner,
body.woocommerce-cart .wc-block-components-notice-snackbar,
body.woocommerce-checkout .wc-block-components-notice-snackbar{
  border:none !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--woo-text) !important;
  box-shadow:var(--woo-shadow) !important;
}

/* =========================================================
   SHARED BLOCK LAYOUT
   ========================================================= */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 380px !important;
  gap:28px !important;
  align-items:start !important;
  position:relative;
}

/* =========================================================
   CART
   ========================================================= */
body.woocommerce-cart .wc-block-cart__main{
  background:var(--woo-card) !important;
  border:1px solid var(--woo-line) !important;
  border-radius:var(--woo-radius-xl) !important;
  box-shadow:var(--woo-shadow) !important;
  padding:24px !important;
}

body.woocommerce-cart .wc-block-cart__sidebar{
  background:var(--woo-card) !important;
  border:1px solid var(--woo-line) !important;
  border-radius:var(--woo-radius-xl) !important;
  box-shadow:var(--woo-shadow) !important;
  padding:24px !important;
  position:sticky !important;
  top:100px !important;
}

/* desktop table restore */
@media (min-width:992px){
  body.woocommerce-cart .wc-block-cart:not(.is-mobile) .wc-block-cart-items{
    display:table !important;
    width:100% !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    background:transparent !important;
  }

  body.woocommerce-cart .wc-block-cart:not(.is-mobile) .wc-block-cart-items thead{
    display:table-header-group !important;
  }

  body.woocommerce-cart .wc-block-cart:not(.is-mobile) .wc-block-cart-items tbody{
    display:table-row-group !important;
  }

  body.woocommerce-cart .wc-block-cart:not(.is-mobile) .wc-block-cart-items__row{
    display:table-row !important;
    background:transparent !important;
  }

  body.woocommerce-cart .wc-block-cart:not(.is-mobile) .wc-block-cart-items__row td,
  body.woocommerce-cart .wc-block-cart:not(.is-mobile) .wc-block-cart-items thead th{
    display:table-cell !important;
    float:none !important;
    width:auto !important;
  }
}

body.woocommerce-cart .wc-block-cart-items{
  width:100% !important;
  background:transparent !important;
}

body.woocommerce-cart .wc-block-cart-items thead th{
  padding:0 12px 14px !important;
  border:none !important;
  background:transparent !important;
  color:var(--woo-muted) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}

body.woocommerce-cart .wc-block-cart-items tbody tr{
  border-top:1px solid var(--woo-line) !important;
}

body.woocommerce-cart .wc-block-cart-items tbody tr:first-child{
  border-top:none !important;
}

body.woocommerce-cart .wc-block-cart-items__row td{
  padding:20px 12px !important;
  vertical-align:top !important;
  background:transparent !important;
}

/* image */
body.woocommerce-cart .wc-block-cart-item__image{
  width:110px !important;
}

body.woocommerce-cart .wc-block-cart-item__image a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:92px !important;
  height:92px !important;
  margin:0 auto !important;
  background:linear-gradient(180deg,#fff 0%,#f7f9fd 100%) !important;
  border:1px solid rgba(15,23,42,.06) !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

body.woocommerce-cart .wc-block-cart-item__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:10px !important;
}

/* title */
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name{
  color:var(--woo-text) !important;
  text-decoration:none !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-components-product-name{
  display:inline-block !important;
  margin:0 0 8px !important;
  font-size:19px !important;
  line-height:1.35 !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-checkout .wc-block-components-product-name:hover{
  color:var(--woo-primary) !important;
}

/* price */
body.woocommerce-cart .wc-block-cart-item__prices{
  margin-bottom:8px !important;
}

body.woocommerce-cart .wc-block-components-product-price{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

body.woocommerce-cart .wc-block-components-product-price__regular{
  color:#98a2b3 !important;
  font-size:14px !important;
  font-weight:600 !important;
}

body.woocommerce-cart .wc-block-components-product-price__value{
  color:var(--woo-accent) !important;
  font-size:18px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

/* metadata */
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata{
  margin-top:8px !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-checkout .wc-block-components-product-metadata__description{
  color:var(--woo-muted) !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__description p:last-child,
body.woocommerce-checkout .wc-block-components-product-metadata__description p:last-child{
  margin-bottom:0 !important;
}

/* quantity */
body.woocommerce-cart .wc-block-cart-item__quantity{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:12px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector{
  display:grid !important;
  grid-template-columns:42px 72px 42px !important;
  align-items:center !important;
  width:auto !important;
  border:1px solid var(--woo-line) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#fff !important;
}

/* IMPORTANT: markup me input pehle aa raha hai, order fix */
body.woocommerce-cart .wc-block-components-quantity-selector__button--minus{
  order:1 !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector__input{
  order:2 !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button--plus{
  order:3 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button{
  width:42px !important;
  height:46px !important;
  border:none !important;
  background:var(--woo-soft) !important;
  color:var(--woo-text) !important;
  font-size:20px !important;
  font-weight:800 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  transition:.2s ease !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover{
  background:var(--woo-soft-2) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input{
  width:72px !important;
  height:46px !important;
  border:none !important;
  box-shadow:none !important;
  text-align:center !important;
  font-size:16px !important;
  font-weight:800 !important;
  color:var(--woo-text) !important;
  background:#fff !important;
}

/* remove btn */
body.woocommerce-cart .wc-block-cart-item__remove-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  border:1px solid rgba(239,68,68,.16) !important;
  background:rgba(239,68,68,.08) !important;
  color:var(--woo-danger) !important;
  transition:.25s ease !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover{
  background:rgba(239,68,68,.14) !important;
  transform:translateY(-1px) !important;
}

/* total */
body.woocommerce-cart .wc-block-cart-item__total{
  width:180px !important;
}

body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:10px !important;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value{
  color:var(--woo-text) !important;
  font-size:22px !important;
}

body.woocommerce-cart .wc-block-components-product-badge,
body.woocommerce-checkout .wc-block-components-product-badge,
body.woocommerce-cart .wc-block-components-sale-badge,
body.woocommerce-checkout .wc-block-components-sale-badge{
  display:inline-flex !important;
  align-items:center !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:rgba(244,194,79,.12) !important;
  border:1px solid rgba(244,194,79,.26) !important;
  color:#9a6b00 !important;
  font-size:12px !important;
  font-weight:800 !important;
}

/* sidebar totals */
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-cart__totals-title{
  margin:0 0 18px !important;
  color:var(--woo-text) !important;
  font-size:28px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper{
  padding:16px 0 !important;
  border-top:1px solid var(--woo-line) !important;
  background:transparent !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper:first-of-type,
body.woocommerce-checkout .wc-block-components-totals-wrapper:first-of-type{
  border-top:none !important;
  padding-top:0 !important;
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__label{
  color:var(--woo-muted) !important;
  font-weight:700 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-item__value{
  color:var(--woo-text) !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  color:var(--woo-text) !important;
  font-size:18px !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--woo-primary) !important;
  font-size:24px !important;
  font-weight:900 !important;
}

/* coupon */
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-totals-coupon{
  border:1px solid var(--woo-line) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  overflow:hidden !important;
}

body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-panel__button{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:14px 16px !important;
  color:var(--woo-text) !important;
  font-weight:800 !important;
}

body.woocommerce-cart .wc-block-components-panel__button:hover,
body.woocommerce-checkout .wc-block-components-panel__button:hover{
  background:var(--woo-soft) !important;
}

/* cart submit */
body.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-cart .wc-block-cart__submit-container--sticky{
  background:transparent !important;
  box-shadow:none !important;
}

body.woocommerce-cart .wc-block-cart__submit-button{
  width:100% !important;
  min-height:56px !important;
  border:none !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,var(--woo-primary),var(--woo-primary-dark)) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  box-shadow:0 16px 30px rgba(47,128,237,.28) !important;
}

/* =========================================================
   CHECKOUT
   ========================================================= */
body.woocommerce-checkout .wc-block-checkout__main{
  min-width:0 !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar{
  background:var(--woo-card) !important;
  border:1px solid var(--woo-line) !important;
  border-radius:var(--woo-radius-xl) !important;
  box-shadow:var(--woo-shadow) !important;
  padding:22px !important;
  position:sticky !important;
  top:100px !important;
}

/* left cards */
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block{
  margin:0 0 18px !important;
  padding:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  border:1px solid var(--woo-line) !important;
  border-radius:24px !important;
  box-shadow:var(--woo-shadow) !important;
}

/* headings */
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step h2,
body.woocommerce-checkout .wc-block-components-checkout-step h3{
  margin:0 0 14px !important;
  color:var(--woo-text) !important;
  font-size:24px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

/* address form grid children spacing */
body.woocommerce-checkout .wc-block-components-address-form{
  display:grid !important;
  gap:14px !important;
}

/* floating-like inputs */
body.woocommerce-checkout .wc-block-components-text-input{
  position:relative !important;
}

body.woocommerce-checkout .wc-block-components-text-input input{
  width:100% !important;
  min-height:56px !important;
  border:1px solid var(--woo-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--woo-text) !important;
  box-shadow:none !important;
  padding:22px 14px 8px !important;
}

body.woocommerce-checkout .wc-block-components-text-input label{
  position:absolute !important;
  top:8px !important;
  left:14px !important;
  margin:0 !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:var(--woo-muted) !important;
  transform:none !important;
  background:none !important;
  pointer-events:none !important;
}

/* select field */
body.woocommerce-checkout .wc-blocks-components-select__container{
  position:relative !important;
  min-height:56px !important;
  border:1px solid var(--woo-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  padding:20px 14px 0 !important;
  box-shadow:none !important;
}

body.woocommerce-checkout .wc-blocks-components-select__label{
  position:absolute !important;
  top:8px !important;
  left:14px !important;
  margin:0 !important;
  font-size:11px !important;
  font-weight:700 !important;
  color:var(--woo-muted) !important;
}

body.woocommerce-checkout .wc-blocks-components-select__select{
  height:32px !important;
  min-height:32px !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  color:var(--woo-text) !important;
  padding:0 !important;
}

body.woocommerce-checkout .wc-blocks-components-select__expand{
  right:12px !important;
  fill:var(--woo-muted) !important;
}

/* textareas */
body.woocommerce-checkout .wc-block-components-textarea textarea{
  min-height:110px !important;
  border:1px solid var(--woo-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--woo-text) !important;
  padding:14px !important;
  box-shadow:none !important;
}

/* focus */
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-textarea textarea:focus{
  border-color:rgba(47,128,237,.45) !important;
  box-shadow:0 0 0 4px rgba(47,128,237,.10) !important;
  outline:none !important;
}

/* address card */
body.woocommerce-checkout .wc-block-components-address-card{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:16px !important;
  border:1px solid var(--woo-line) !important;
  border-radius:18px !important;
  background:#fff !important;
}

body.woocommerce-checkout .wc-block-components-address-card address{
  margin:0 !important;
  color:var(--woo-text) !important;
  font-style:normal !important;
  line-height:1.7 !important;
}

body.woocommerce-checkout .wc-block-components-address-card__address-section--primary{
  display:block !important;
  font-weight:900 !important;
  color:var(--woo-text) !important;
}

body.woocommerce-checkout .wc-block-components-address-card__address-section--secondary{
  display:block !important;
  color:var(--woo-muted) !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:8px 14px !important;
  border-radius:12px !important;
  background:var(--woo-soft) !important;
  color:var(--woo-primary) !important;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}

/* add apartment */
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:4px 2px !important;
  color:var(--woo-primary) !important;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

/* payment options */
body.woocommerce-checkout .wc-block-components-radio-control__option{
  margin:0 0 12px !important;
  padding:14px 16px !important;
  border:1px solid var(--woo-line) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  transition:.25s ease !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-components-radio-control__option:hover{
  border-color:rgba(47,128,237,.30) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.05) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-payment-method-label{
  color:var(--woo-text) !important;
  font-weight:800 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content{
  color:var(--woo-muted) !important;
  line-height:1.65 !important;
  margin-top:6px !important;
}

/* note + terms */
body.woocommerce-checkout .wc-block-checkout__terms{
  margin:0 0 18px !important;
  padding:14px 16px !important;
  border:1px dashed var(--woo-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--woo-muted) !important;
  font-size:13px !important;
  line-height:1.7 !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__label{
  color:var(--woo-text) !important;
  font-weight:700 !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__input{
  accent-color:var(--woo-primary) !important;
}

/* checkout actions */
body.woocommerce-checkout .wc-block-checkout__actions_row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  flex-wrap:wrap !important;
  margin-top:8px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:48px !important;
  padding:12px 16px !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--woo-primary) !important;
  border:1px solid rgba(47,128,237,.18) !important;
  text-decoration:none !important;
  font-weight:800 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover{
  background:var(--woo-soft) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  min-width:220px !important;
  min-height:56px !important;
  border:none !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,var(--woo-primary),var(--woo-primary-dark)) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  box-shadow:0 16px 30px rgba(47,128,237,.28) !important;
}

/* sidebar summary */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:0 0 14px !important;
  margin:0 0 14px !important;
  border-bottom:1px solid var(--woo-line) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
  margin:0 !important;
  color:var(--woo-text) !important;
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price{
  color:var(--woo-primary) !important;
  font-size:22px !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:start !important;
  padding:14px 0 !important;
  border-top:1px solid var(--woo-line) !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item:first-child{
  border-top:none !important;
  padding-top:0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image{
  position:relative !important;
  width:72px !important;
  height:72px !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#fff 0%,#f7f9fd 100%) !important;
  border:1px solid rgba(15,23,42,.06) !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:8px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity{
  position:absolute !important;
  top:6px !important;
  right:6px !important;
  min-width:22px !important;
  height:22px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,var(--woo-primary),var(--woo-primary-dark)) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description{
  min-width:0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{
  margin:0 0 6px !important;
  color:var(--woo-text) !important;
  font-size:16px !important;
  line-height:1.4 !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__individual-price{
  color:var(--woo-accent) !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__regular-individual-price{
  color:#98a2b3 !important;
  font-weight:600 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price{
  text-align:right !important;
}

body.woocommerce-checkout .wc-block-cart-item__total-price-and-sale-badge-wrapper{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:8px !important;
}

/* totals button */
body.woocommerce-checkout .wc-block-components-button{
  border:none !important;
  border-radius:16px !important;
  min-height:54px !important;
  box-shadow:0 16px 32px rgba(47,128,237,.18) !important;
}

body.woocommerce-checkout .wc-block-components-button.contained,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  background:linear-gradient(135deg,var(--woo-primary),var(--woo-primary-dark)) !important;
  color:#fff !important;
  font-weight:900 !important;
}

/* =========================================================
   MOBILE / TABLET
   ========================================================= */
@media (max-width:991px){
  body.woocommerce-cart .entry-content .wp-block-woocommerce-cart,
  body.woocommerce-checkout .entry-content .wp-block-woocommerce-checkout,
  .entry-content .wp-block-woocommerce-cart,
  .entry-content .wp-block-woocommerce-checkout{
    width:min(100% - 18px,1320px) !important;
    margin:18px auto 28px !important;
  }

  body.woocommerce-cart .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar{
    position:static !important;
    top:auto !important;
  }

  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block{
    padding:18px !important;
    border-radius:20px !important;
  }

  /* mobile cart rows */
  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items thead{
    display:none !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items tbody{
    display:block !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row{
    display:block !important;
    margin:0 0 16px !important;
    padding:14px !important;
    background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
    border:1px solid var(--woo-line) !important;
    border-radius:20px !important;
    box-shadow:var(--woo-shadow) !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row td{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    background:transparent !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__image{
    width:100% !important;
    margin-bottom:12px !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__image a{
    width:96px !important;
    height:96px !important;
    margin:0 !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__product{
    margin-bottom:14px !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__total{
    width:100% !important;
    padding-top:12px !important;
    margin-top:12px !important;
    border-top:1px solid var(--woo-line) !important;
  }

  body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__total-price-and-sale-badge-wrapper{
    align-items:flex-start !important;
  }

  body.woocommerce-checkout .wc-block-checkout__actions_row{
    flex-direction:column-reverse !important;
    align-items:stretch !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
    width:100% !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item{
    grid-template-columns:64px minmax(0,1fr) !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary-item__total-price{
    grid-column:2 !important;
    text-align:left !important;
    margin-top:8px !important;
  }

  body.woocommerce-checkout .wc-block-cart-item__total-price-and-sale-badge-wrapper{
    align-items:flex-start !important;
  }
}

@media (max-width:575px){
  body.woocommerce-cart .entry-content .wp-block-woocommerce-cart,
  body.woocommerce-checkout .entry-content .wp-block-woocommerce-checkout,
  .entry-content .wp-block-woocommerce-cart,
  .entry-content .wp-block-woocommerce-checkout{
    width:min(100% - 14px,100%) !important;
    margin:14px auto 24px !important;
  }

  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block{
    padding:14px !important;
    border-radius:16px !important;
  }

  body.woocommerce-cart .wc-block-components-product-name{
    font-size:16px !important;
  }

  body.woocommerce-cart .wc-block-components-product-price__value{
    font-size:17px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value{
    font-size:20px !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector{
    grid-template-columns:40px 64px 40px !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector__input{
    width:64px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step__heading,
  body.woocommerce-checkout .wc-block-components-title,
  body.woocommerce-checkout .wc-block-components-checkout-step h2,
  body.woocommerce-checkout .wc-block-components-checkout-step h3,
  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
  body.woocommerce-cart .wc-block-cart__totals-title{
    font-size:20px !important;
  }

  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-blocks-components-select__container{
    min-height:52px !important;
    border-radius:14px !important;
  }

  body.woocommerce-checkout .wc-block-components-text-input input{
    padding:20px 12px 8px !important;
  }

  body.woocommerce-checkout .wc-block-components-text-input label,
  body.woocommerce-checkout .wc-blocks-components-select__label{
    left:12px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  body.woocommerce-cart .wc-block-cart__submit-button{
    min-height:52px !important;
    font-size:15px !important;
    border-radius:14px !important;
  }
}
