/* =====================================================================
   WooCommerce reskin — restyles native cart/checkout/variation markup
   with the Country Road Apparel design tokens, without overriding the
   underlying templates (keeps coupon/shipping/Stripe logic untouched).
   ===================================================================== */

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button,
.woocommerce-page button.button, .woocommerce-page input.button {
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: .06em;
  font-weight: 600; font-size: .85rem; border-radius: 999px; border: 0;
  background: var(--barn); color: #fff; padding: 14px 26px; cursor: pointer;
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
  background: var(--barn-dark); text-decoration: none; color: #fff;
}
.woocommerce .single_add_to_cart_button, .woocommerce #respond input#submit.alt {
  width: 100%; background: var(--barn); font-size: .95rem; padding: 16px 22px;
}
.woocommerce a.checkout-button, .woocommerce .checkout-button {
  background: var(--gold); color: var(--ink);
}

/* Variation / add-to-cart form (Size selector) */
.cra-wc-form table.variations { width: 100%; border: 0; margin-bottom: 14px; }
.cra-wc-form table.variations td { display: block; padding: 0; }
.cra-wc-form table.variations tr { display: block; margin-bottom: 12px; }
.cra-wc-form table.variations label { font-family: var(--font-display); font-weight: 600;
  letter-spacing: .04em; color: var(--ink); display: block; margin-bottom: 6px; }
.cra-wc-form table.variations select {
  width: 100%; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm);
  background: var(--card); font-family: var(--font-body); font-size: .95rem; color: var(--ink-soft);
}
.cra-wc-form .reset_variations { font-size: .78rem; margin-left: 10px; color: var(--muted); }
.cra-wc-form .woocommerce-variation-price .price,
.woocommerce .price { color: var(--barn); font-family: var(--font-display); font-weight: 600; }
.cra-wc-form .woocommerce-variation-add-to-cart { display: flex; flex-direction: column; gap: 10px; }
.cra-wc-form .quantity { display: inline-flex; }
.cra-wc-form .quantity .qty {
  width: 64px; padding: 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm);
  font-family: var(--font-body); text-align: center;
}
.cra-wc-form .woocommerce-variation-availability { font-size: .82rem; color: var(--muted); }
.cra-wc-form .stock.out-of-stock { color: var(--barn-dark); font-weight: 600; }

/* Cart page */
.woocommerce table.shop_table { border-collapse: collapse; width: 100%; border: 1px solid var(--line);
  border-radius: var(--radius); overflow: hidden; background: var(--card); }
.woocommerce table.shop_table th { font-family: var(--font-display); text-transform: uppercase;
  letter-spacing: .05em; font-size: .78rem; color: var(--muted); background: var(--paper-2);
  padding: 14px 12px; text-align: left; }
.woocommerce table.shop_table td { padding: 16px 12px; border-top: 1px solid var(--line); }
.woocommerce td.product-name a { font-family: var(--font-display); font-weight: 600; color: var(--ink); }
.woocommerce .cart-collaterals .cart_totals { background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 22px; float: none; width: 100%; max-width: 420px; margin-left: auto; }
.woocommerce .cart_totals h2 { font-size: 1.2rem; }
.woocommerce .cart_totals table { width: 100%; }
.woocommerce .cart_totals table td, .woocommerce .cart_totals table th { border-top: 1px solid var(--line); padding: 10px 0; }
.woocommerce .coupon .input-text { padding: 12px 14px; border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm); margin-right: 8px; }

/* Checkout page */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details { display: block; }
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review { background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 24px; margin-bottom: 20px; }
.woocommerce-checkout .form-row label { font-family: var(--font-display); font-size: .82rem;
  letter-spacing: .04em; color: var(--ink); }
.woocommerce-checkout .input-text, .woocommerce-checkout select {
  padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm);
  width: 100%; font-family: var(--font-body);
}
.woocommerce-checkout #payment { background: var(--paper-2); border-radius: var(--radius); padding: 18px; }
.woocommerce-checkout #payment div.payment_box { background: var(--card); border-radius: var(--radius-sm); }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
  border-top-color: var(--gold) !important; border-radius: var(--radius-sm); background: var(--card);
  font-family: var(--font-body); padding: 14px 18px !important;
}

/* Star ratings / misc noise we don't use */
.woocommerce .star-rating { display: none; }

/* =====================================================================
   WooCommerce Cart & Checkout BLOCKS (new default cart/checkout pages
   use the block editor markup, not the classic shortcode tables above).
   ===================================================================== */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  font-family: var(--font-body);
}
.wc-block-components-product-name { font-family: var(--font-display); font-weight: 600; color: var(--ink); }
.wc-block-cart-item__wrap, .wc-block-components-panel { border-color: var(--line) !important; }
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--font-display); color: var(--barn); }
.wc-block-cart__totals-title, .wc-block-components-title { font-family: var(--font-display); }

/* Checkout / Proceed-to-checkout / Place-order buttons */
.wc-block-cart__submit-container .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
a.wc-block-cart__submit-button,
.wc-block-cart .wc-proceed-to-checkout a.checkout-button,
.wp-block-woocommerce-proceed-to-checkout-block a {
  font-family: var(--font-display) !important; text-transform: uppercase; letter-spacing: .06em;
  font-weight: 600; border-radius: 999px !important; border: 0 !important;
  background: var(--gold) !important; color: var(--ink) !important; padding: 16px 22px !important;
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
a.wc-block-cart__submit-button:hover {
  background: var(--barn) !important; color: #fff !important;
}

/* Coupon / shipping calculator panels */
.wc-block-components-panel__button { font-family: var(--font-display); color: var(--ink); }
.wc-block-components-totals-coupon__button,
.wc-block-components-button:not(.is-link) {
  border-radius: 999px; font-family: var(--font-display); text-transform: uppercase;
  letter-spacing: .05em; font-weight: 600;
}
.wc-block-components-totals-coupon__button {
  background: var(--barn) !important; color: #fff !important; border: 0 !important;
}

/* Checkout form fields */
.wc-block-components-text-input input, .wc-block-components-select select,
.wc-block-checkout__form input[type="text"], .wc-block-checkout__form input[type="email"],
.wc-block-checkout__form input[type="tel"] {
  border: 1px solid var(--line-strong) !important; border-radius: var(--radius-sm) !important;
  font-family: var(--font-body) !important;
}
.wc-block-components-text-input label, .wc-block-checkout__form label { font-family: var(--font-body); }

/* Express payment buttons (Apple/Google/Amazon Pay, Link) keep native styling
   but sit in a clean card so they don't clash with the rest of the page. */
.wc-block-components-express-payment { padding: 18px; background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); margin-bottom: 16px; }
.wc-block-components-express-payment__title { font-family: var(--font-display); color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
