/*
 * Eduval - Minimal Woo Blocks polish (Cart / Checkout only)
 * Keep native Woo behavior; apply only cosmetic spacing/typography/button tone.
 */

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout {
  margin: 0 0 28px;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-title {
  color: var(--bg-blue);
  font-weight: 800;
  letter-spacing: -0.01em;
}

/*
 * Desktop: main column fills remaining space; sidebar has a sane fixed band
 * (Woo Blocks default is flex; theme styles were skewing percentages).
 */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  width: 100%;
  max-width: 100%;
  gap: clamp(20px, 2.5vw, 36px);
}

@media (min-width: 782px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
  }

  body.woocommerce-cart
    .wc-block-components-sidebar-layout
    > .wc-block-components-main,
  body.woocommerce-checkout
    .wc-block-components-sidebar-layout
    > .wc-block-components-main {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
  }

  body.woocommerce-cart
    .wc-block-components-sidebar-layout
    > .wc-block-components-sidebar,
  body.woocommerce-checkout
    .wc-block-components-sidebar-layout
    > .wc-block-components-sidebar {
    flex: 0 0 clamp(300px, 34vw, 420px) !important;
    max-width: min(420px, 100%) !important;
    width: auto !important;
  }
}

/* Cart: make the totals column behave like a true right sidebar (full height). */
@media (min-width: 782px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout {
    align-items: stretch !important;
  }

  body.woocommerce-cart
    .wc-block-components-sidebar-layout
    > .wc-block-components-sidebar {
    height: auto;
    min-height: 100%;
  }
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-main {
  min-width: 0;
}

body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button {
  border-radius: 999px;
  min-height: 46px;
  font-weight: 700;
}

body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-checkout .wc-block-components-button:not(.is-link) {
  background: var(--bg-blue);
  color: var(--white);
}

body.woocommerce-cart .wc-block-components-button:not(.is-link):hover,
body.woocommerce-checkout .wc-block-components-button:not(.is-link):hover {
  background: var(--color-secondary);
}

/* Hide address line 2; rely on native block field layout (avoid theme grids). */
body.woocommerce-checkout .wc-block-components-address-form__address_2 {
  display: none !important;
}

/* Terms: ensure the consent checkbox is visible (theme/plugins sometimes defeat it). */
body.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox,
body.woocommerce-checkout
  .wp-block-woocommerce-checkout-terms-block
  .wc-block-components-checkbox {
  opacity: 1;
}

body.woocommerce-checkout .wc-block-checkout__terms input[type="checkbox"],
body.woocommerce-checkout
  .wp-block-woocommerce-checkout-terms-block
  input[type="checkbox"],
body.woocommerce-checkout
  .wc-block-checkout__terms
  .components-form-toggle__input,
body.woocommerce-checkout
  .wc-block-checkout__terms
  .components-checkbox-control__input[type="checkbox"] {
  position: static !important;
  opacity: 1 !important;
  clip: auto !important;
  width: 1.15rem !important;
  height: 1.15rem !important;
  margin: 0.15rem 0.5rem 0 0 !important;
  flex-shrink: 0;
  appearance: auto;
  -webkit-appearance: auto;
}

body.woocommerce-checkout
  .wc-block-checkout__terms
  label.wc-block-components-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 0;
}

@media (max-width: 767px) {
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-checkout .wc-block-checkout {
    margin-bottom: 20px;
  }
}

/* No blue / default focus rings on cart & checkout blocks */
body.woocommerce-cart :is(a, button, input, select, textarea, [role="button"]):focus,
body.woocommerce-cart :is(a, button, input, select, textarea, [role="button"]):focus-visible,
body.woocommerce-checkout :is(a, button, input, select, textarea, [role="button"]):focus,
body.woocommerce-checkout :is(a, button, input, select, textarea, [role="button"]):focus-visible,
body.woocommerce-cart .wc-block-components-button:focus,
body.woocommerce-cart .wc-block-components-button:focus-visible,
body.woocommerce-checkout .wc-block-components-button:focus,
body.woocommerce-checkout .wc-block-components-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

body.woocommerce-cart a:focus,
body.woocommerce-cart a:active,
body.woocommerce-checkout a:focus,
body.woocommerce-checkout a:active {
  text-decoration: none !important;
}

/* -------------------------------------------------------------------------
 * Eduval - Cart UI (Woo Blocks)
 * CSS-only, re-render safe. Scoped to body.woocommerce-cart.
 * ---------------------------------------------------------------------- */

body.woocommerce-cart {
  --eduval-wcb-surface: var(--white);
  --eduval-wcb-surface-muted: var(--bg-blue-secondary);
  --eduval-wcb-border: color-mix(in srgb, var(--bg-blue) 14%, #e5e7eb);
  --eduval-wcb-shadow: 0 18px 45px rgba(38, 30, 80, 0.08);
  --eduval-wcb-radius: clamp(12px, 1.4vw, 18px);
  --eduval-wcb-gutter: clamp(16px, 3vw, 36px);
  --eduval-wcb-max: 1200px;
  --eduval-wcb-sheet-radius: clamp(18px, 2vw, 28px);
  --eduval-wcb-sheet-pad-y: clamp(28px, 4vw, 54px);
}

body.woocommerce-cart .wc-block-cart {
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-title {
  margin-bottom: 10px;
}

/* White “sheet” from navbar to footer (align header/content/footer width). */
body.woocommerce-cart .site-main {
  background: var(--white);
  padding-bottom: 0;
}

/* Prevent sticky-footer flex growth from creating fake blank area
   on cart/checkout pages with few items. */
body.eduval-wc-compact-header.woocommerce-cart .site-main,
body.eduval-wc-compact-header.woocommerce-checkout .site-main {
  flex: 0 0 auto;
}

/* Kill the default footer top margin on cart/checkout so content and footer touch */
body.woocommerce-cart .site-footer,
body.woocommerce-checkout .site-footer {
  margin-top: 0 !important;
}

/* Give the content area generous breathing room */
body.woocommerce-cart .site-main > .container {
  border-top: 3px solid var(--bg-blue);
  margin-top: -1px;
  padding-top: clamp(10px, 1.6vw, 16px) !important;
  padding-bottom: clamp(12px, 1.8vw, 20px) !important;
}

/* Full-bleed means no extra vertical margins around the wrapper */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main {
  padding-left: 0;
  padding-right: 0;
}

/* -------------------------------------------------------------------------
 * Eduval - Compact pages full-width layout (Cart/Checkout)
 * Make .container full-bleed but keep header/footer intact.
 * ---------------------------------------------------------------------- */

body.woocommerce-cart .site-main > .container,
body.woocommerce-checkout .site-main > .container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Full-bleed blocks layout */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  max-width: none !important;
  width: 100% !important;
}

/* Kill any residual outer spacing from Woo blocks */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout {
  margin: 0 !important;
}

/* Remove top/bottom spacing so content touches navbar/footer areas */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wp-block-woocommerce-cart {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Product area should start immediately after heading line */
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items__header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 992px) {
  body.woocommerce-cart
    .wc-block-components-sidebar-layout
    > .wc-block-components-sidebar,
  body.woocommerce-checkout
    .wc-block-components-sidebar-layout
    > .wc-block-components-sidebar {
    flex: 0 0 clamp(340px, 28vw, 420px) !important;
  }
}

/* One “master card” for the whole cart layout (instead of two separate white cards). */
body.woocommerce-cart .wc-block-components-sidebar-layout {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  background: var(--eduval-wcb-surface);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  overflow: clip;
}

/* Remove any small top gap the blocks may introduce */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-cart {
  margin-top: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main,
body.woocommerce-cart
  .wc-block-components-sidebar-layout
  > .wc-block-components-sidebar {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: clamp(16px, 2vw, 24px);
}

/* Sidebar as a full-height band (no “white halo” above/right/below) */
body.woocommerce-cart
  .wc-block-components-sidebar-layout
  > .wc-block-components-sidebar {
  background: color-mix(in srgb, var(--eduval-wcb-surface-muted) 78%, var(--white));
  border-left: 1px solid color-mix(in srgb, var(--eduval-wcb-border) 82%, transparent);
  border-radius: 0;
  align-self: stretch;
}

/* Main column spacing inside the master card */
body.woocommerce-cart
  .wc-block-components-sidebar-layout
  > .wc-block-components-main {
  padding-right: clamp(14px, 2.2vw, 26px);
}

/* Cart items list */
body.woocommerce-cart .wc-block-cart-items {
  margin-top: 10px;
}

body.woocommerce-cart .wc-block-cart-items__row {
  border-top: 1px solid color-mix(in srgb, var(--eduval-wcb-border) 85%, transparent);
  padding-top: 14px;
  padding-bottom: 14px;
}

body.woocommerce-cart .wc-block-cart-items__row:first-child {
  border-top: 0;
  padding-top: 0;
}

body.woocommerce-cart .wc-block-cart-item__image img {
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--eduval-wcb-border) 70%, transparent);
  background: var(--eduval-wcb-surface-muted);
}

body.woocommerce-cart .wc-block-cart-item__name {
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--bg-blue);
}

body.woocommerce-cart .wc-block-cart-item__total-price,
body.woocommerce-cart .wc-block-cart-item__prices {
  color: color-mix(in srgb, var(--bg-blue) 85%, #111827);
}

body.woocommerce-cart .wc-block-cart-item__total-price {
  font-weight: 800;
}

/* Quantity selector polish (keep native behavior) */
body.woocommerce-cart .wc-block-components-quantity-selector {
  border-radius: 999px;
  border-color: var(--eduval-wcb-border);
}

body.woocommerce-cart
  .wc-block-components-quantity-selector
  input.wc-block-components-quantity-selector__input {
  font-weight: 700;
}

/* Coupon area */
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-totals-discount {
  border-radius: 14px;
}

body.woocommerce-cart .wc-block-components-totals-coupon {
  background: transparent;
  border: 0;
  padding: 0;
}

body.woocommerce-cart
  .wc-block-components-totals-coupon
  input.wc-block-components-text-input__input {
  border-radius: 999px;
  border-color: var(--eduval-wcb-border);
}

/* Totals “divider” polish (the HR below Total often looks broken) */
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-footer-item * {
  border-color: color-mix(in srgb, var(--eduval-wcb-border) 72%, transparent);
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
  border-top: 1px solid color-mix(in srgb, var(--eduval-wcb-border) 72%, transparent);
  margin-top: 14px;
  padding-top: 14px;
}

/* Some Woo Blocks versions render an <hr> for the “Total” divider */
body.woocommerce-cart .wc-block-components-sidebar :is(hr, .wc-block-components-divider) {
  height: 1px;
  border: 0;
  background: color-mix(in srgb, var(--eduval-wcb-border) 72%, transparent);
  margin: 14px 0;
}

/* Product short description: make it look intentional */
body.woocommerce-cart
  .wc-block-cart-item__wrap
  :is(.wc-block-components-product-metadata__description, .wc-block-cart-item__description) {
  color: color-mix(in srgb, var(--bg-blue) 55%, #111827);
  font-size: 0.95rem;
  line-height: 1.45;
  margin-top: 6px;
  max-width: 70ch;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Totals: clearer hierarchy */
body.woocommerce-cart .wc-block-components-totals-wrapper {
  gap: 12px;
}

body.woocommerce-cart .wc-block-components-totals-item__label {
  font-weight: 700;
  color: color-mix(in srgb, var(--bg-blue) 82%, #111827);
}

body.woocommerce-cart .wc-block-components-totals-item__value {
  font-weight: 800;
  color: var(--bg-blue);
}

body.woocommerce-cart .wc-block-components-totals-footer-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item__value {
  font-weight: 900;
}

/* Empty cart state */
body.woocommerce-cart .wc-block-cart__empty-cart {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  background: var(--eduval-wcb-surface);
  border: 1px solid var(--eduval-wcb-border);
  border-radius: var(--eduval-wcb-radius);
  box-shadow: var(--eduval-wcb-shadow);
  padding: clamp(18px, 2.5vw, 32px);
}

body.woocommerce-cart .wc-block-cart__empty-cart :is(h2, h3) {
  color: var(--bg-blue);
  font-weight: 900;
  letter-spacing: -0.02em;
}

body.woocommerce-cart .wc-block-cart__empty-cart p {
  color: color-mix(in srgb, var(--bg-blue) 58%, #111827);
  max-width: 60ch;
}

body.woocommerce-cart .wc-block-cart__empty-cart .wc-block-components-button {
  margin-top: 8px;
}

@media (max-width: 781px) {
  body.woocommerce-cart .site-main > .container {
    padding-top: 0;
    padding-bottom: 0;
  }

  body.woocommerce-cart
    .wc-block-components-sidebar-layout
    > .wc-block-components-main {
    padding-right: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid color-mix(in srgb, var(--eduval-wcb-border) 70%, transparent);
    margin-bottom: 14px;
  }

  body.woocommerce-cart
    .wc-block-components-sidebar-layout
    > .wc-block-components-sidebar {
    border-radius: 16px;
  }
}

