/*
 * LUXE ?woocommerce.css
 * WooCommerce overrides to match theme UI
 */

/* Hide WC default elements we replace */
.woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce-ordering,
.entry-title,
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images ol.flex-control-nav,
.woocommerce-tabs,
.related.products > h2,
.up-sells > h2,
.woocommerce #reviews,
.woocommerce-product-rating,
.woocommerce form.cart div.quantity,
.single_add_to_cart_button,
.woocommerce div.product form.cart,
.product_meta,
.woocommerce-variation-price,
.woocommerce-variation-availability,
.woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.button.product_type_simple,
.woocommerce ul.products li.product a.button,
.add_to_cart_button,
.added_to_cart,
.woocommerce .products .star-rating,
.woocommerce-LoopProduct-link,
.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce .product_title,
#add-to-cart-action,
.woocommerce-cart-form .actions,
.woocommerce table.shop_table,
.woocommerce-shipping-calculator,
.woocommerce-cart-form > div > form + div { display: none !important; }

/* Keep these visible */
.woocommerce-notices-wrapper { display: block !important; }
.woocommerce-error,
.woocommerce-message,
.woocommerce-info { display: block !important; }

/* WC checkout fields ?use theme .co-inp-wrap style */
.woocommerce-checkout .woocommerce-input-wrapper { display: block; }

/* Rating stars color */
.star-rating span::before,
.star-rating::before { color: #b45309; }

/* Cart table reset */
.woocommerce-cart-form table { width: 100%; border-collapse: collapse; }

/* Checkout form spacing reset */
.woocommerce-checkout #customer_details { margin: 0; padding: 0; }
.woocommerce-checkout #order_review_heading { display: none; }

/* Payment methods reset */
.payment_methods { list-style: none; margin: 0; padding: 0; }

/* Place order button ?theme handles this */
/* .woocommerce #place_order is now our .btn-place-order ?do NOT hide it */

/* Qty buttons reset */
.woocommerce div.product form.cart div.quantity { display: none !important; }

/* ── WooCommerce Shipping Methods ?theme co-ship-opt style ── */
.woocommerce-shipping-methods { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-shipping-methods li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px 14px !important;
  background: #fff !important;
  cursor: pointer !important;
  border-bottom: 1px solid var(--g200) !important;
  transition: background .1s !important;
}
.woocommerce-shipping-methods li:last-child { border-bottom: none !important; }
.woocommerce-shipping-methods li input[type="radio"] { display: none !important; }
.woocommerce-shipping-methods li label {
  flex: 1 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.woocommerce-shipping-methods li::before {
  content: '' !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--g300) !important;
  flex-shrink: 0 !important;
  transition: all .14s !important;
}
.woocommerce-shipping-methods li.selected::before,
.woocommerce-shipping-methods li input:checked + label::before {
  border-color: var(--black) !important; border-width: .5px !important;
  background: var(--black) !important;
  box-shadow: inset 0 0 0 3px #fff !important;
}

/* ── WooCommerce Payment Methods ?theme style ── */
.wc_payment_methods { display: block !important; }
.wc_payment_method {
  border-bottom: 1px solid var(--g100) !important;
}
.wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  cursor: pointer !important;
}
.wc_payment_method input[type="radio"] { display: none !important; }

/* ── WC checkout notices ── */
.woocommerce-checkout .woocommerce-notices-wrapper { padding: 0 var(--px) !important; }

/* ── WC form fields override ── */
.woocommerce-checkout #customer_details .woocommerce-column { float: none !important; width: 100% !important; }


/* ════════════════════════════════════════════════════════════
   WOOCOMMERCE FIELD OVERRIDES v2
   Maps WC default form fields to LUXE co-inp-wrap style
   ════════════════════════════════════════════════════════════ */

/* WC default form row */
.woocommerce-checkout .form-row,
.woocommerce-account .form-row {
  position: relative !important;
  margin-bottom: 8px !important;
  padding: 0 !important;
}

/* WC text inputs ?co-inp-wrap style */
.woocommerce-checkout .input-text,
.woocommerce-account  .input-text {
  width: 100% !important;
  padding: 14px !important;
  font-size: 14px !important;
  color: var(--black) !important;
  background: #fff !important;
  border: 1px solid var(--g200) !important;
  border-radius: var(--r2) !important;
  outline: none !important;
  font-family: inherit !important;
  transition: border-color .14s, box-shadow .14s !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-account  .input-text:focus {
  border-color: var(--black) !important; border-width: .5px !important;
  box-shadow: 0 0 0 .5px rgba(12,12,12,.08) !important;
}
.woocommerce-checkout .input-text::placeholder,
.woocommerce-account  .input-text::placeholder {
  color: var(--g400) !important;
}

/* WC select */
.woocommerce-checkout select,
.woocommerce-account  select {
  width: 100% !important;
  padding: 14px 36px 14px 14px !important;
  font-size: 14px !important;
  color: var(--black) !important;
  background: #fff !important;
  border: 1px solid var(--g200) !important;
  border-radius: var(--r2) !important;
  outline: none !important;
  font-family: inherit !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

/* WC label */
.woocommerce-checkout .form-row > label,
.woocommerce-account  label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--g600) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

/* WC validation errors */
.woocommerce-checkout .woocommerce-input-wrapper { display: block !important; }
.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select {
  border-color: var(--red) !important;
}
.woocommerce-checkout .form-row.woocommerce-validated .input-text,
.woocommerce-checkout .form-row.woocommerce-validated select {
  border-color: #16a34a !important;
}

/* WC inline description/validation text */
.woocommerce-checkout .description,
.woocommerce-checkout .woocommerce-form-row__note {
  font-size: 11px !important;
  color: var(--g400) !important;
  margin-top: 4px !important;
}

/* Inline error */
.woocommerce-checkout .woocommerce-error:not(ul) {
  font-size: 11px !important;
  color: var(--red) !important;
  margin-top: 4px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

/* Coupon form on checkout */
.woocommerce-checkout .checkout_coupon { display: none !important; }

/* WC shipping methods in checkout */
.woocommerce-shipping-methods li.selected { background: var(--g50) !important; }

/* Terms and conditions */
.woocommerce-terms-and-conditions-wrapper {
  font-size: 11px !important;
  color: var(--g500) !important;
  margin: 10px 0 !important;
}
.woocommerce-terms-and-conditions-wrapper a { color: var(--blue) !important; }


/* ── Additional WC elements ── */
.wc-forward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--black);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: var(--r2);
  text-decoration: none;
  letter-spacing: .04em;
  margin-top: 8px;
  transition: opacity .14s;
}
.wc-forward:hover { opacity: .88; color: #fff; }

/* ── WC required field marker ── */
.required { color: var(--red); font-weight: 700; }
abbr[title] { text-decoration: none; cursor: default; }

/* ── WC notices inside our theme ── */
.woocommerce-notices-wrapper:not(:empty) { padding: 0 var(--px) 8px; }
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  background: var(--g50);
  padding: 12px 16px;
  font-size: 13px;
  line-height: 1.55;
  margin-bottom: 8px;
  border-radius: var(--r);
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.woocommerce-error { border-left: 3px solid var(--red); color: var(--red); background: #fff5f5; }
.woocommerce-message { border-left: 3px solid #16a34a; color: #15803d; background: #f0fdf4; }
.woocommerce-info { border-left: 3px solid var(--blue); color: #1d4ed8; background: #eff6ff; }
.woocommerce-error a, .woocommerce-message a, .woocommerce-info a { color: inherit; text-decoration: underline; }

/* ── WC pagination (hidden - we use luxe-pagination) ── */
.woocommerce-pagination { display: none !important; }

/* ── WC rating stars ── */
.woocommerce-product-rating { display: none !important; }
.star-rating { display: none !important; }

/* ── WC shipping calculator ── */
.shipping-calculator-button { display: none !important; }

/* ── WC coupon in cart ── */
.coupon label { display: none !important; }

/* ── WC terms checkbox ── */
.woocommerce-terms-and-conditions-wrapper { font-size: 11px; color: var(--g500); margin-bottom: 12px; line-height: 1.6; }
.woocommerce-terms-and-conditions-wrapper a { color: var(--black); text-decoration: underline dotted; }

/* ── WC order confirmation table ── */
.woocommerce-order-details__title, .woocommerce-column__title { display: none; }

/* ── Prevent WC form layout breakage ── */
.woocommerce form .form-row { margin: 0 0 12px; }
.woocommerce form .form-row label { display: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select { 
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: var(--black) !important;
}


/* ════════════════════════════════════════════════════════════
   PATCH v5.22 ?WC RENDERING FIXES
   ════════════════════════════════════════════════════════════ */

/* ── WC notices: correct positioning ── */
.woocommerce-notices-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  margin: 8px var(--px) !important;
  border-radius: var(--r2) !important;
  padding: 11px 14px !important;
  font-size: 13px !important;
  list-style: none !important;
}
.woocommerce-error    { background: #fef2f2 !important; color: var(--red) !important; border: 1px solid #fecaca !important; }
.woocommerce-message  { background: #f0fdf4 !important; color: #15803d !important; border: 1px solid #bbf7d0 !important; }
.woocommerce-info     { background: #eff6ff !important; color: var(--blue) !important; border: 1px solid #bfdbfe !important; }
.woocommerce-error li,
.woocommerce-message li { list-style: none !important; }

/* ── WC checkout field labels: hide since we use floating/placeholder labels ── */
.woocommerce-checkout .form-row label.screen-reader-text,
.woocommerce-checkout .form-row > label:first-child { display: none !important; }

/* ── WC coupon link: hide (we have custom promo row) ── */
.woocommerce-form-coupon-toggle,
.showcoupon { display: none !important; }

/* ── WC login link on checkout: hide ── */
.woocommerce-form-login-toggle { display: none !important; }

/* ── WC order review on checkout: hide ── */
#order_review, #order_review_heading { display: none !important; }

/* ── WC payment gateway descriptions ── */
.payment_box {
  background: var(--g50) !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  border-top: 1px solid var(--g200) !important;
  font-size: 12px !important;
  color: var(--g500) !important;
}

/* ── WC cart table: use our cart-item styles ── */
.woocommerce-cart-form__contents td { padding: 0 !important; vertical-align: middle !important; }

/* ── WC variations: hide default ── */
.woocommerce div.product form.cart .variations { display: none !important; }
.woocommerce div.product form.cart .single_variation_wrap { display: none !important; }

/* ── WC category page ── */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 1px !important; background: var(--g200) !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce ul.products li.product { background: #fff !important; }

/* ── WC account dashboard: hide default ── */
.woocommerce-MyAccount-navigation { display: none !important; }
.woocommerce-MyAccount-content { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; }

/* ── WC order table ── */
.woocommerce-order-details table,
.woocommerce-table--order-details {
  width: 100% !important; border-collapse: collapse !important;
  font-size: 13px !important; margin: 0 !important;
}
.woocommerce-order-details table th,
.woocommerce-order-details table td {
  padding: 10px 16px !important;
  border-bottom: 1px solid var(--g100) !important;
  vertical-align: middle !important;
}

/* ── WC star rating ── */
.star-rating { color: #b45309; font-size: 13px; }
.star-rating::before { color: var(--g200); }
.star-rating span::before { color: #b45309; }

/* ── WC input-radio ── */
.input-radio { accent-color: var(--black) !important; width: 16px !important; height: 16px !important; }
.shipping_method { display: none !important; }

/* Codex QA v1.0.75: Woo-loaded final Moderno surface rules */
.woocommerce-checkout .input-text,
.woocommerce-account .input-text,
.woocommerce-checkout select,
.woocommerce-account select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.payment_box,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.wc-forward,
.woocommerce-account button,
.woocommerce-account .button,
.woocommerce-checkout button,
.woocommerce-checkout .button {
  border-radius: 0 !important;
}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.wc-forward,
.woocommerce-account button,
.woocommerce-account .button,
.woocommerce-checkout button,
.woocommerce-checkout .button {
  border: none !important;
}

.woocommerce-account .social-btn {
  border: 1px solid var(--g200) !important;
}

.woocommerce-account .social-btn-fb {
  border-color: #1877f2 !important;
}

.woocommerce-account .social-btn-apple {
  border-color: #000 !important; border-width: .5px !important;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-account .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-account select:focus {
  border-color: var(--black) !important; border-width: .5px !important;
  box-shadow: inset 0 0 0 .5px var(--black) !important;
}

body.tax-product_cat .woocommerce ul.products {
  background: #fff !important;
}
body.tax-product_cat .woocommerce ul.products li.product {
  box-shadow: none !important;
}

/* ── END PATCH v5.22 ── */
