/*!
 * cart.css — Lizard Group WooCommerce Cart & Checkout (Blocks) Styling (v4)
 * Theme: Hello Elementor
 * Scope: Only Cart + Checkout pages / blocks
 *
 * v4 changes:
 * A) Only one radius token: --lg-radius (set to 0px) + enforced across WC blocks
 * B) Coupon wrapper box padding set to 10px
 * C) Spacing tokens minimized
 * D) Neutralize WC/WP heading typography so global heading styles can apply
 */

/* ========================================================================== */
/* 0) SCOPE + MINIMAL TOKENS                                                   */
/* ========================================================================== */

body.woocommerce-cart,
body.woocommerce-checkout {
  /* Typography (scoped) */
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.5;

  /* A) One radius only (hard reset) */
  --lg-radius: 0px;

  /* C) Minimal spacing tokens */
  --lg-gap: 20px;          /* default gap between blocks / sections */
  --lg-pad: 12px 14px;     /* input padding */
  --lg-pad-panel: 20px;    /* panel / card padding */
  --lg-pad-coupon: 10px;   /* B) coupon wrapper padding */

  /* keep: subtle shadow is already neutral in your current file */
  --lg-shadow-1: 0 8px 20px rgb(0 0 0 / 0.00);

  --lg-font-size-base: 16px;
  --lg-font-size-sm: 14px;
}

/* ========================================================================== */
/* 1) LINKS                                                                     */
/* ========================================================================== */

body.woocommerce-cart a,
body.woocommerce-checkout a {
  color: var(--lg-c-link);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

body.woocommerce-cart a:hover,
body.woocommerce-checkout a:hover {
  color: var(--lg-c-link-hover);
}

/* ========================================================================== */
/* 2) BLOCK SPACING (use one gap)                                              */
/* ========================================================================== */

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
  --wp--style--block-gap: var(--lg-gap);
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
  gap: var(--lg-gap);
}

body.woocommerce-checkout .wc-block-components-checkout-step {
  margin-bottom: var(--lg-gap);
}

body.woocommerce-checkout .wc-block-components-checkout-step:last-child {
  margin-bottom: 0;
}

/* ========================================================================== */
/* 3) A) RADIUS ENFORCEMENT (kill uncontrolled rounding everywhere relevant)   */
/* ========================================================================== */

/* Panels / Cards / Summary / Totals / Notices */
body.woocommerce-cart :is(.wc-block-components-card, .wc-block-components-panel, .wc-block-components-notice-banner),
body.woocommerce-checkout :is(.wc-block-components-card, .wc-block-components-panel, .wc-block-components-notice-banner),
body.woocommerce-cart :is(.wc-block-cart__totals-wrapper, .wc-block-cart-items__row),
body.woocommerce-checkout :is(.wc-block-checkout__order-summary, .wc-block-components-order-summary) {
  border-radius: var(--lg-radius) !important;
}

/* Payment methods / shipping options / radio options (e.g. Direct bank transfer) */
body.woocommerce-checkout :is(.wc-block-checkout__payment-method, .wc-block-components-radio-control__option),
body.woocommerce-checkout :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control__option-layout) {
  border-radius: var(--lg-radius) !important;
}

/* Inputs (incl. E-Mail) + selects + textareas + coupon input */
body.woocommerce-checkout :is(
  .wc-block-components-text-input input,
  .wc-block-components-text-input textarea,
  .wc-block-components-text-input select,
  .wc-block-components-select-control select,
  .wc-block-components-textarea textarea,
  .wc-block-components-combobox-control input
),
body.woocommerce-cart :is(
  .wc-block-components-text-input input,
  .wc-block-components-text-input textarea,
  .wc-block-components-text-input select,
  .wc-block-components-select-control select,
  .wc-block-components-textarea textarea,
  .wc-block-components-combobox-control input
) {
  border-radius: var(--lg-radius) !important;
}

/* Buttons */
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button {
  border-radius: var(--lg-radius) !important;
}

/* ========================================================================== */
/* 4) PANELS / CARDS (keep your styling, but use minimal spacing token)        */
/* ========================================================================== */

body.woocommerce-cart :is(.wc-block-components-card, .wc-block-components-panel),
body.woocommerce-checkout :is(.wc-block-components-card, .wc-block-components-panel) {
  background: rgb(var(--lg-white-01-rgb) / 1);
  border: 1px solid rgb(var(--lg-c-border-soft-rgb) / 0.18);
  box-shadow: var(--lg-shadow-1);
}

/* ========================================================================== */
/* 5) CHECKOUT STEPS                                                           */
/* ========================================================================== */

body.woocommerce-checkout .wp-block-woocommerce-checkout {
  margin-top: var(--lg-gap);
  margin-bottom: calc(var(--lg-gap) * 2);
}

/* Heading wrapper: no padding */
body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  padding: 0 !important;
  border-bottom: 1px solid var(--lg-c-border-soft);
  margin-bottom: var(--lg-gap);
}

/* Step body */
body.woocommerce-checkout .wc-block-components-checkout-step__container {
  padding: var(--lg-pad-panel);
}

/* ========================================================================== */
/* 6) FORM FIELDS + ACTIVE FOCUS (keep consistent)                             */
/* ========================================================================== */

body.woocommerce-checkout :is(
  .wc-block-components-text-input input,
  .wc-block-components-text-input textarea,
  .wc-block-components-text-input select,
  .wc-block-components-select-control select,
  .wc-block-components-textarea textarea,
  .wc-block-components-combobox-control input
) {
  border: 1px solid var(--lg-c-border-soft);
  padding: var(--lg-pad);
  font-size: var(--lg-font-size-base);
  color: var(--lg-c-text);
  background: rgb(var(--lg-white-01-rgb) / 1);
  box-shadow: none;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}

/* Active field marking */
body.woocommerce-checkout :is(
  .wc-block-components-text-input input,
  .wc-block-components-text-input textarea,
  .wc-block-components-select-control select,
  .wc-block-components-combobox-control input
):focus {
  outline: none;
  border-color: var(--lg-c-primary);
  box-shadow: 0 0 0 3px rgb(var(--lg-blue-01-rgb) / 0.18);
}

/* Labels */
body.woocommerce-checkout :is(
  .wc-block-components-text-input label,
  .wc-block-components-textarea label,
  .wc-block-components-select-control label
) {
  color: var(--lg-c-muted);
  font-size: var(--lg-font-size-sm);
}

/* ========================================================================== */
/* 7) SHIPPING / PAYMENT OPTIONS                                               */
/* ========================================================================== */

body.woocommerce-checkout .wc-block-components-radio-control__option {
  border: 1px solid var(--lg-c-border-soft);
  padding: var(--lg-pad-panel);
}

body.woocommerce-checkout .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
  margin-top: 12px;
}

body.woocommerce-checkout .wc-block-components-radio-control__label {
  font-weight: 600;
  color: var(--lg-c-text);
}

body.woocommerce-checkout .wc-block-components-radio-control__description {
  color: var(--lg-c-muted);
  font-size: var(--lg-font-size-sm);
}

body.woocommerce-checkout .wc-block-checkout__payment-method {
  border: 1px solid var(--lg-c-border-soft);
  padding: var(--lg-pad-panel);
}

/* Checkboxes (keep white fill) */
body.woocommerce-cart input[type="checkbox"],
body.woocommerce-checkout input[type="checkbox"] {
  accent-color: rgb(var(--lg-white-01-rgb) / 1);
}

/* ========================================================================== */
/* 8) ORDER SUMMARY / STICKY                                                   */
/* ========================================================================== */

body.woocommerce-checkout .wc-block-checkout__order-summary {
  position: sticky;
  top: calc(var(--header-height, 0px) + var(--lg-gap));
}

body.woocommerce-checkout .wc-block-checkout__order-summary .wc-block-components-panel__button {
  padding: 12px 16px;
  font-weight: 700;
}

body.woocommerce-checkout .wc-block-components-order-summary__content {
  padding: var(--lg-pad-panel);
}

body.woocommerce-checkout .wc-block-components-totals-wrapper {
  margin-top: var(--lg-gap);
  border-top: 1px solid var(--lg-c-border-soft);
  padding-top: var(--lg-gap);
}

/* ========================================================================== */
/* 9) BUTTONS                                                                  */
/* ========================================================================== */

body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button {
  font-weight: 700;
  padding: 12px 16px;
  border: 1px solid transparent;
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Primary / contained */
body.woocommerce-cart .wc-block-components-button.wc-block-components-button--contained,
body.woocommerce-checkout .wc-block-components-button.wc-block-components-button--contained {
  background: var(--lg-c-primary);
  color: var(--lg-c-text-bright);
}

body.woocommerce-cart .wc-block-components-button.wc-block-components-button--contained:hover,
body.woocommerce-checkout .wc-block-components-button.wc-block-components-button--contained:hover {
  filter: brightness(0.95);
}

/* Outlined */
body.woocommerce-cart .wc-block-components-button.wc-block-components-button--outlined,
body.woocommerce-checkout .wc-block-components-button.wc-block-components-button--outlined {
  background: transparent;
  border-color: var(--lg-c-border);
  color: var(--lg-c-text);
}

/* Ensure place order button text is bright */
body.woocommerce-checkout :is(
  .wc-block-checkout__actions .wc-block-components-button,
  button.wc-block-components-checkout-place-order-button
) {
  color: var(--lg-c-text-bright);
}

/* ========================================================================== */
/* 10) B) COUPON BOX OPTIMIZATION                                               */
/* ========================================================================== */

/* Wrapper around coupon area: add standard padding (10px) */
body.woocommerce-cart :is(.wc-block-components-totals-coupon, .wc-block-components-totals-coupon__content),
body.woocommerce-checkout :is(.wc-block-components-totals-coupon, .wc-block-components-totals-coupon__content) {
  padding: var(--lg-pad-coupon) !important;
  border-radius: var(--lg-radius) !important;
}

/* Coupon form itself: keep spacing tidy */
body.woocommerce-cart .wc-block-components-totals-coupon__form,
body.woocommerce-checkout .wc-block-components-totals-coupon__form {
  padding: var(--lg-pad-coupon) !important;
  border-radius: var(--lg-radius) !important;
}

/* Coupon input matches address fields */
body.woocommerce-cart .wc-block-components-text-input.wc-block-components-totals-coupon__input input,
body.woocommerce-checkout .wc-block-components-text-input.wc-block-components-totals-coupon__input input {
  border: 1px solid var(--lg-c-border-soft);
  padding: var(--lg-pad);
  background: rgb(var(--lg-white-01-rgb) / 1);
  color: var(--lg-c-text);
}

/* Coupon apply button uses bright text like place order */
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-button {
  color: var(--lg-c-text-bright);
}

/* ========================================================================== */
/* 11) CART BLOCK (if used)                                                    */
/* ========================================================================== */

body.woocommerce-cart .wp-block-woocommerce-cart {
  margin-top: var(--lg-gap);
  margin-bottom: calc(var(--lg-gap) * 2);
}

body.woocommerce-cart .wc-block-cart-items__row {
  border: 1px solid var(--lg-c-border-soft);
  padding: var(--lg-pad-panel);
  margin-bottom: var(--lg-gap);
  background: rgb(var(--lg-white-01-rgb) / 1);
  box-shadow: var(--lg-shadow-1);
}

body.woocommerce-cart .wc-block-cart__totals-wrapper {
  border: 1px solid var(--lg-c-border-soft);
  padding: var(--lg-pad-panel);
  background: rgb(var(--lg-white-01-rgb) / 1);
  box-shadow: var(--lg-shadow-1);
}

/* ========================================================================== */
/* 12) D) HEADING NEUTRALIZATION (let global heading styles win)               */
/* ========================================================================== */

/*
  Goal: remove Woo/WP block component typography overrides.
  We "revert" WC-specific font sizing/weight so your global h1..h6 rules apply.
*/

/* If WC renders headings as actual h-tags inside blocks, let them behave normally */
body.woocommerce-cart .wp-block-woocommerce-cart :is(h1,h2,h3,h4,h5,h6),
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(h1,h2,h3,h4,h5,h6) {
  font-family: inherit !important;
  font-size: revert !important;
  font-weight: revert !important;
  line-height: revert !important;
  letter-spacing: revert !important;
  text-transform: revert !important;
  color: inherit !important;
}

/* WC step/order titles are often class-based; revert their typography too */
body.woocommerce-checkout :is(
  .wc-block-components-checkout-step__title,
  .wc-block-components-panel__button,
  .wc-block-cart__title,
  .wc-block-components-order-summary__title,
  .wc-block-components-totals-wrapper h2,
  .wc-block-components-totals-wrapper h3
) {
  font-family: inherit !important;
  font-size: revert !important;
  font-weight: revert !important;
  line-height: revert !important;
  letter-spacing: revert !important;
  text-transform: revert !important;
  color: inherit !important;
}

/* ========================================================================== */
/* 13) RESPONSIVE                                                              */
/* ========================================================================== */

@media (max-width: 991.98px) {
  body.woocommerce-checkout .wc-block-checkout__order-summary {
    position: static;
    top: auto;
  }
}