/* =========================================================
   DreamyCartPage26 — Woo Blocks Cart (Override-Fix)
   Scope: body.dreamycartpage26
   Goals:
   - Museum layout: wide centered, calm typography, card line-items
   - Totals placard: sticky, premium spacing
   - Override Woo Blocks CSS reliably (high specificity + key !important)
   ========================================================= */

body.dreamycartpage26{
  --dc26-ink: #050505;
  --dc26-ink2: rgba(0,0,0,0.62);
  --dc26-line: rgba(0,0,0,0.10);
  --dc26-surface: rgba(255,255,255,0.92);
  --dc26-radius: 18px;
  --dc26-radius-sm: 12px;
}

/* Page title rhythm */
body.dreamycartpage26 .entry-title,
body.dreamycartpage26 h1{
  font-family: var(--dreamy26-edit, "Playfair Display", serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em;
  margin: 10px 0 18px !important;
}

/* Kill overly constrained wrapper widths from block themes */
body.dreamycartpage26 .wp-site-blocks,
body.dreamycartpage26 .wp-block-group.alignwide,
body.dreamycartpage26 .wp-block-group.alignfull{
  max-width: none !important;
}

/* Main cart wrapper */
body.dreamycartpage26 .wp-block-woocommerce-cart{
  width: 100% !important;
  margin: 0 auto !important;
  padding: 28px 16px 110px !important;
}

/* Desktop layout: main + sidebar */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 56px !important;
  align-items: start !important;
}

/* Blocks sometimes wrap contents in main/sidebar containers */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart__main,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-items-block{
  min-width: 0 !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart__sidebar,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-cart-totals-block{
  width: 100% !important;
}

/* Mobile stacks */
@media (max-width: 900px){
  body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart{
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* Line items: card rows */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-items__row,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-items__header{
  border: 0 !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-items__row{
  background: var(--dc26-surface) !important;
  border: 1px solid var(--dc26-line) !important;
  border-radius: var(--dc26-radius) !important;
  padding: 16px !important;
  margin: 0 0 14px !important;
  box-shadow: 0 20px 55px rgba(0,0,0,0.04) !important;
}

/* Make the header quiet */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-items__header{
  padding: 0 0 10px !important;
  margin: 0 0 14px !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-items__header span{
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: rgba(0,0,0,0.55) !important;
  font-weight: 600 !important;
}

/* Product name + meta */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-name,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-name a{
  font-family: var(--dreamy26-edit, "Playfair Display", serif) !important;
  font-weight: 500 !important;
  color: var(--dc26-ink) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.18);
  padding-bottom: 2px;
}
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-metadata,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-metadata *{
  color: var(--dc26-ink2) !important;
  font-size: 12px !important;
}

/* Product image stage: 1:1 museum stage + mirror shadow */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-item__image,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-image{
  position: relative !important;
  width: 96px !important;
  max-width: 96px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: visible !important;
}

@media (max-width: 900px){
  body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-item__image,
  body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-image{
    width: 84px !important;
    max-width: 84px !important;
  }
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-item__image img,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,0.03) !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-item__image::after,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-product-image::after{
  content: '';
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -14px;
  height: 22px;
  background: radial-gradient(closest-side, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0) 70%);
  opacity: 0.45;
  pointer-events: none;
}

/* Quantity selector: minimal pill */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  border: 1px solid rgba(0,0,0,0.12) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,0.75) !important;
}
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-quantity-selector__button{
  border: 0 !important;
  background: transparent !important;
  color: var(--dc26-ink) !important;
}
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-quantity-selector__input{
  border: 0 !important;
  background: transparent !important;
  color: var(--dc26-ink) !important;
}

/* Remove item link */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-item__remove-link,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart-item__remove-link *{
  color: rgba(0,0,0,0.55) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.22);
  padding-bottom: 2px;
}

/* Sidebar / totals placard */
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-sidebar{
  position: sticky !important;
  top: var(--dreamy26-sticky-offset, 86px) !important;
  align-self: start !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-cart-totals-block{
  background: var(--dc26-surface) !important;
  border: 1px solid var(--dc26-line) !important;
  border-radius: var(--dc26-radius) !important;
  padding: 16px !important;
  box-shadow: 0 20px 55px rgba(0,0,0,0.05) !important;
}

/* Totals headings */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-totals-wrapper h2,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-totals-wrapper .wc-block-components-totals-item__label{
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: rgba(0,0,0,0.55) !important;
  font-weight: 600 !important;
}

/* Totals values */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-totals-item__value,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-totals-footer-item__value{
  font-weight: 600 !important;
  color: var(--dc26-ink) !important;
}

/* Primary CTA */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart__submit-container a,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-components-button{
  border-radius: 999px !important;
}

/* Keep express pay buttons inside the placard, and make spacing calm */
body.dreamycartpage26 .wp-block-woocommerce-cart .wc-block-cart__express-payment,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-cart-express-payment-block{
  margin: 10px 0 12px !important;
}

/* Cross-sells grid: 2 mobile / 4 desktop */
/* Dreamy curated cross-sells (theme-native markup) */
body.dreamycartpage26 .dreamycartpage26-cross{
  margin-top: 22px !important;
}

body.dreamycartpage26 .dreamycartpage26-crossHead{
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 16px !important;
}

body.dreamycartpage26 .dreamycartpage26-crossTitle{
  font-family: var(--dreamy26-edit, "Playfair Display", serif) !important;
  font-weight: 500 !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 8px !important;
  color: var(--dc26-ink) !important;
}

body.dreamycartpage26 .dreamycartpage26-crossSub{
  margin: 0 !important;
  color: var(--dc26-muted) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body.dreamycartpage26 .dreamycartpage26-xGrid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 18px 0 0 !important;
}

@media (min-width: 1024px){
  body.dreamycartpage26 .dreamycartpage26-xGrid{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
  }
}

body.dreamycartpage26 .dreamycartpage26-xCard{
  background: var(--dc26-surface) !important;
  border: 1px solid rgba(0,0,0,0.07) !important;
  border-radius: var(--dc26-radius) !important;
  padding: 14px 14px 16px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.04) !important;
}

body.dreamycartpage26 .dreamycartpage26-xStage{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.00)) !important;
  overflow: hidden !important;
}

body.dreamycartpage26 .dreamycartpage26-xImg{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

body.dreamycartpage26 .dreamycartpage26-xShadow{
  position: absolute !important;
  left: 50% !important;
  bottom: 10px !important;
  width: 80% !important;
  height: 18px !important;
  transform: translateX(-50%) !important;
  background: radial-gradient(closest-side, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0) 70%) !important;
  filter: blur(2px) !important;
  opacity: 0.55 !important;
  pointer-events: none !important;
}

body.dreamycartpage26 .dreamycartpage26-xMeta{
  text-align: center !important;
  margin-top: 12px !important;
}

body.dreamycartpage26 .dreamycartpage26-xBadge{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  color: rgba(0,0,0,0.70) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

body.dreamycartpage26 .dreamycartpage26-xTitle,
body.dreamycartpage26 .dreamycartpage26-xTitle a{
  font-family: var(--dreamy26-edit, "Playfair Display", serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  color: var(--dc26-ink) !important;
  margin: 0 0 8px !important;
  line-height: 1.35 !important;
}

body.dreamycartpage26 .dreamycartpage26-xPrice{
  color: rgba(0,0,0,0.72) !important;
  font-size: 13px !important;
  margin: 0 0 10px !important;
}

body.dreamycartpage26 .dreamycartpage26-xCta a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: #050505 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,0.18) !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.dreamycartpage26 .dreamycartpage26-xCta a:hover{
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce){
  body.dreamycartpage26 .dreamycartpage26-xCta a{
    transition: none !important;
  }
  body.dreamycartpage26 .dreamycartpage26-xCta a:hover{
    transform: none;
  }
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-grid__products{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 22px 0 0 !important;
}

@media (min-width: 1024px){
  body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-grid__products{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
  }
}

/* Cross-sells cards: Dreamy museum tiles */
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-grid__product,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection li.wc-block-grid__product{
  background: var(--dc26-surface) !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: var(--dc26-radius) !important;
  padding: 14px 14px 16px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.04) !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-grid__product-title,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title a{
  font-family: var(--dreamy26-edit, "Playfair Display", serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  color: var(--dc26-ink) !important;
  text-align: center !important;
  margin-top: 12px !important;
  margin-bottom: 8px !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-grid__product-price{
  text-align: center !important;
  color: rgba(0,0,0,0.72) !important;
  font-size: 13px !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button{
  margin-top: 10px !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link,
body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-button__button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: #050505 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,0.18) !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
}

body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link:hover{
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce){
  body.dreamycartpage26 .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link:hover{
    transform: none;
  }
}

/* Empty cart block: center calm */
body.dreamycartpage26 .wp-block-woocommerce-empty-cart-block{
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
