/* =========================================================
   Elysian — WooCommerce markup reset (no default WC CSS).
   Scoped to body.elysian-* so blog/pages stay untouched.
   ========================================================= */

body.elysian-shop .woocommerce,
body.elysian-single-product .woocommerce,
body.elysian-cart .woocommerce,
body.elysian-checkout .woocommerce,
body.elysian-account .woocommerce {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Theme page-title bar owns breadcrumbs — never show WC defaults */
body.elysian-shop .woocommerce-breadcrumb,
body.elysian-single-product .woocommerce-breadcrumb,
body.elysian-cart .woocommerce-breadcrumb,
body.elysian-checkout .woocommerce-breadcrumb,
body.elysian-account .woocommerce-breadcrumb {
  display: none !important;
}

/* Blocks package wrappers should never paint over classic templates */
body.elysian-shop .wp-block-woocommerce-cart,
body.elysian-shop .wp-block-woocommerce-checkout,
body.elysian-cart .wp-block-woocommerce-cart,
body.elysian-checkout .wp-block-woocommerce-checkout {
  display: none !important;
}

/* Gutenberg constrained layout must not cap cart/checkout width */
body.elysian-cart .cart-content-shell,
body.elysian-cart .cart-content-shell > *,
body.elysian-checkout .checkout-content-shell,
body.elysian-checkout .checkout-content-shell > *,
body.elysian-checkout .is-layout-constrained,
body.elysian-checkout .wp-block-group-is-layout-constrained,
body.elysian-checkout .wp-block-group,
body.elysian-checkout .wp-block-shortcode,
body.elysian-cart .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.elysian-cart .wp-block-group-is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.elysian-checkout .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.elysian-checkout .wp-block-group-is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

body.elysian-checkout .entry-content,
body.elysian-cart .entry-content,
body.elysian-checkout .wp-block-post-content,
body.elysian-cart .wp-block-post-content {
  max-width: none !important;
  width: 100%;
}

body.elysian-checkout .page-area .entry-content,
body.elysian-cart .page-area .entry-content,
body.elysian-account .page-area .entry-content {
  max-width: none !important;
  width: 100%;
}

body.elysian-checkout .woocommerce-form-login-toggle,
body.elysian-checkout .woocommerce-form-login {
  display: none !important;
}

body.elysian-shop ul.products,
body.elysian-single-product ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Hide default flexslider/gallery chrome when custom gallery is used */
body.elysian-single-product .woocommerce-product-gallery__trigger,
body.elysian-single-product .flex-control-nav,
body.elysian-single-product .flex-direction-nav {
  display: none !important;
}

body.elysian-single-product .woocommerce-product-gallery {
  opacity: 1 !important;
}

body.elysian-single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  display: block;
}

/* Product wrapper — strip WC layout side-effects */
body.elysian-single-product .product.type-product {
  margin: 0;
}

/* Forms — match static .form-control */
body.elysian-checkout .woocommerce form .form-row,
body.elysian-account .woocommerce form .form-row {
  margin: 0;
  padding: 0;
  width: 100%;
  float: none;
  clear: none;
}

body.elysian-checkout .woocommerce form .form-row label,
body.elysian-account .woocommerce form .form-row label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
}

body.elysian-checkout .woocommerce form .input-text,
body.elysian-checkout .woocommerce form select,
body.elysian-checkout .woocommerce form textarea,
body.elysian-cart .woocommerce .input-text,
body.elysian-account .woocommerce form .input-text,
body.elysian-account .woocommerce form .form-control {
  width: 100%;
  border: 1px solid var(--lux-line, #eee);
  border-radius: 0;
  padding: 12px 15px;
  font-size: 15px;
  line-height: 1.5;
  background: #fff;
  box-shadow: none;
}

body.elysian-account .woocommerce table.shop_table {
  border-collapse: collapse;
  margin: 0;
}

body.elysian-account .woocommerce table.shop_table th,
body.elysian-account .woocommerce table.shop_table td {
  vertical-align: middle;
}

body.elysian-checkout .woocommerce form .form-row-first,
body.elysian-checkout .woocommerce form .form-row-last,
body.elysian-checkout .woocommerce form .form-row-wide {
  width: 100%;
  float: none;
  clear: none;
}

/* Checkout field stack — single customer-details block inside left column. */
body.elysian-checkout .checkout-customer-fields {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 0;
}

body.elysian-checkout .checkout-customer-fields .woocommerce-billing-fields,
body.elysian-checkout .checkout-customer-fields .woocommerce-shipping-fields,
body.elysian-checkout .checkout-customer-fields .shipping_address,
body.elysian-checkout .checkout-customer-fields .woocommerce-additional-fields {
	width: 100%;
	max-width: 100%;
	flex: 0 0 auto;
	float: none;
	clear: both;
}

body.elysian-checkout .checkout-customer-fields .woocommerce-shipping-fields {
	margin-top: 15px;
}

body.elysian-checkout .checkout-customer-fields .woocommerce-additional-fields {
	margin-top: 15px;
}

body.elysian-checkout .checkout-customer-fields .ship-to-different-address {
	margin: 0 0 15px;
}

body.elysian-checkout .checkout-customer-fields .shipping_address {
	display: block;
	width: 100%;
	clear: both;
	margin: 0;
	padding: 0;
}

/* Field rows use Bootstrap .row only — do not override with a second flex layer. */
body.elysian-checkout .woocommerce-billing-fields__field-wrapper,
body.elysian-checkout .woocommerce-shipping-fields__field-wrapper,
body.elysian-checkout .woocommerce-additional-fields__field-wrapper {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

body.elysian-checkout .woocommerce-billing-fields__field-wrapper > [class*="col-"],
body.elysian-checkout .woocommerce-shipping-fields__field-wrapper > [class*="col-"],
body.elysian-checkout .woocommerce-additional-fields__field-wrapper > [class*="col-"] {
  padding-right: calc(var(--bs-gutter-x, 1rem) * 0.5);
  padding-left: calc(var(--bs-gutter-x, 1rem) * 0.5);
}

/* Cart table — no WC default table skin */
body.elysian-cart .woocommerce table.shop_table {
  border-collapse: collapse;
  border: none;
  margin: 0;
}

body.elysian-cart .woocommerce table.shop_table th,
body.elysian-cart .woocommerce table.shop_table td {
  border: 1px solid #eee;
  vertical-align: middle;
}

/* Remove icon lives in .product-subtotal per static cart.html */
body.elysian-cart .woocommerce table.shop_table td.product-subtotal a.remove {
  font-size: inherit;
  line-height: inherit;
}

/* Price elements inside cards */
body.elysian-shop .woocommerce-Price-amount,
body.elysian-single-product .woocommerce-Price-amount {
  font: inherit;
  color: inherit;
}

body.elysian-shop .price del,
body.elysian-single-product .price del {
  opacity: 1;
}

/* Notices — list reset when outside our alert templates */
body.elysian-cart .woocommerce-error,
body.elysian-checkout .woocommerce-error,
body.elysian-shop .woocommerce-error {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}

body.elysian-checkout .woocommerce-error,
body.elysian-checkout .woocommerce-info,
body.elysian-checkout .woocommerce-message,
body.elysian-checkout .alert {
  border-radius: 0;
  box-shadow: none;
}

body.elysian-checkout .woocommerce-info,
body.elysian-checkout .alert-info {
  background: var(--lux-bg-soft, #fafaf7);
  border: 1px solid var(--lux-line, #e8e4df);
  color: var(--lux-ink, #1a1a1a);
}

body.elysian-checkout .woocommerce-message,
body.elysian-checkout .alert-success {
  background: var(--lux-bg-soft, #fafaf7);
  border: 1px solid var(--lux-line, #e8e4df);
  color: var(--lux-ink, #1a1a1a);
}

body.elysian-checkout .woocommerce-error,
body.elysian-checkout .alert-danger {
  background: #fff;
  border: 1px solid var(--lux-sale, #c45c4a);
  color: var(--lux-ink, #1a1a1a);
}

/* Variation form */
body.elysian-single-product .variations {
  border: none;
  margin: 0 0 20px;
}

body.elysian-single-product .variations td,
body.elysian-single-product .variations th {
  border: none;
  padding: 0;
  vertical-align: top;
}

body.elysian-single-product .variations .label label {
  margin: 0;
  font-weight: 500;
}

body.elysian-single-product table.variations {
  width: 100%;
  margin-bottom: 20px;
}

body.elysian-single-product table.variations select {
  min-width: 120px;
  width: 100%;
}

body.elysian-single-product .woocommerce-variation-add-to-cart .products-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}

body.elysian-single-product .reset_variations {
  font-size: 13px;
  margin-left: 10px;
}

/* Payment box — themed in review-order.php (.payment-box > #payment) */
body.elysian-checkout #payment {
  background: transparent;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

body.elysian-checkout #payment ul.payment_methods,
body.elysian-checkout #payment .payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
  border: none;
}

body.elysian-checkout #payment ul.payment_methods li,
body.elysian-checkout #payment .payment_methods li {
  margin: 0;
  padding: 0;
}

body.elysian-checkout #payment div.payment_box {
  background: var(--lux-bg-soft, #fafaf7);
  border: 1px solid var(--lux-line, #e8e4df);
  border-radius: 0;
  margin: 10px 0 0;
  padding: 14px;
}

body.elysian-checkout #payment div.form-row,
body.elysian-checkout #payment .place-order {
  padding: 0;
  margin: 0;
}

body.elysian-checkout .woocommerce-form-coupon-toggle {
  display: none !important;
}

/* Result count / ordering — plain text like static */
body.elysian-shop .woocommerce-result-count {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
}

body.elysian-shop .woocommerce-ordering {
  margin: 0;
  float: none;
}

body.elysian-shop .woocommerce-ordering select.orderby {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

body.elysian-shop .products-ordering-list .nice-select {
  width: 100%;
  min-width: 200px;
}

body.elysian-shop .widget_layered_nav ul,
body.elysian-shop .woocommerce-widget-layered-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Widget price filter slider */
body.elysian-shop .widget_price_filter .ui-slider {
  margin: 15px 0;
}

body.elysian-shop .widget_price_filter .price_slider_amount {
  text-align: left;
}

body.elysian-shop .widget_price_filter .price_slider_amount .button {
  float: right;
}
