
/* === Woo Checkout Layout Fixes ===
   1) Solid two-column grid with sane min widths
   2) Prevent .col-1 from collapsing (min-width:0 on grid children to allow content to shrink within)
   3) Remove legacy floats impact from themes
*/
.woocommerce .col2-set {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 520px);
  gap: 2rem;
  align-items: start;
}
/* On narrow screens stack */
@media (max-width: 980px){
  .woocommerce .col2-set {
    grid-template-columns: 1fr;
  }
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
  min-width: 0;          /* allow content to shrink inside grid */
  width: auto !important;
  float: none !important; /* neutralize legacy float columns */
  clear: none !important;
}

/* Let long labels/inputs wrap without forcing width */
.woocommerce form .form-row,
.woocommerce .woocommerce-billing-fields__field-wrapper,
.woocommerce .woocommerce-shipping-fields__field-wrapper {
  min-width: 0;
}

/* Card look, but do not constrain inner width */
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce #order_review, 
.woocommerce #order_review_heading {
  background:#fff; border-radius:16px; padding:24px;
  box-shadow:0 10px 30px rgba(0,0,100,.08);
}

/* Inputs responsive grid */
.woocommerce .woocommerce-billing-fields__field-wrapper,
.woocommerce .woocommerce-shipping-fields__field-wrapper {
  display:grid; gap:16px; grid-template-columns: 1fr;
}
@media (min-width:700px){
  .woocommerce .woocommerce-billing-fields__field-wrapper,
  .woocommerce .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .woocommerce .form-row-first, 
  .woocommerce .form-row-last { width:100%; float:none; }
}
.woocommerce .form-row-wide { grid-column: 1 / -1; }

/* === Flicker mitigation for review-order === */
.woocommerce .woocommerce-checkout-review-order * {
  backface-visibility: hidden;
  transform: translateZ(0); /* reduce paint jank on some browsers */
}

/* While checkout updates (processing), suppress transitions/animations that can cause 'blinking' */
.woocommerce form.checkout.processing .woocommerce-checkout-review-order,
.woocommerce form.checkout.processing .woocommerce-checkout-review-order * {
  transition: none !important;
  animation: none !important;
}

/* Optional: subtle fade-in after fragment replace */
.woocommerce .woocommerce-checkout-review-order {
  will-change: contents;
}
/* prevent accidental CSS from other layers applying 'transition: all' globally */
body .woocommerce * { transition-property: color, background-color, border-color, opacity, transform, box-shadow; }
