/* ==========================================================================
   WooCommerce default markup → Antic components.
   WordPress only (not loaded by the static wireframe). Woo's own CSS is dequeued.
   ========================================================================== */

/* Notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 var(--space-5); padding: var(--space-4) var(--space-5); background: var(--surface-alt); border-left: 4px solid var(--antic-blue); display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.woocommerce-error { border-left-color: var(--error); }
.woocommerce-message .button, .woocommerce-info .button { margin-left: auto; }

/* Buttons */
.woocommerce .button, .woocommerce button.button, .single_add_to_cart_button, .checkout-button, #place_order, .wc-block-components-button {
  --c: var(--chamfer-sm);
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 var(--space-6);
  font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; letter-spacing: var(--tracking-label); text-transform: uppercase; text-decoration: none;
  border: 0; border-radius: 0; background: var(--antic-blue); color: var(--white); cursor: pointer;
  clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));
}
.woocommerce .button:hover, .single_add_to_cart_button:hover, #place_order:hover { background: var(--antic-blue-deep); }
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { background: var(--billet); color: var(--machined); }

/* Single product add-to-cart form */
.pdp form.cart { display: grid; gap: var(--space-3); margin: 0; }
.pdp .variations, .pdp .reset_variations, .pdp .woocommerce-variation-price, .pdp .woocommerce-variation-description { display: none !important; }
.pdp .woocommerce-variation-add-to-cart, .pdp form.cart:not(.variations_form) { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); align-items: stretch; }
.pdp .woocommerce-variation-add-to-cart > .pdp__section, .pdp form.cart > .pdp__section { grid-column: 1 / -1; padding-top: 0; }
.pdp .single_add_to_cart_button { min-height: 56px; font-size: 1.25rem; }
.pdp .woocommerce-variation-availability .stock { margin: 0; font-size: 0.9375rem; color: var(--text-muted); }

.quantity { display: inline-flex; }
.quantity .qty { width: 72px; min-height: 48px; height: 100%; text-align: center; font-weight: 600; border: 1.5px solid var(--line); border-radius: 0; background: var(--surface); }

/* Forms (checkout, account, cart coupon) */
.woocommerce form .form-row { display: grid; gap: 6px; margin: 0 0 var(--space-4); padding: 0; }
.woocommerce form .form-row label { font-weight: 600; font-size: 0.9375rem; }
.woocommerce form .form-row .required { color: var(--error); text-decoration: none; }
.woocommerce form .input-text, .woocommerce form select, .select2-container .select2-selection--single {
  width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--line); border-radius: var(--radius); background: var(--surface); font-size: 1rem;
}
.woocommerce form .input-text:focus { outline: none; border-color: var(--antic-blue); box-shadow: 0 0 0 3px var(--antic-blue-wash); }
.woocommerce form .woocommerce-invalid .input-text { border-color: var(--error); }
@media (min-width: 640px) { .woocommerce .form-row-first, .woocommerce .form-row-last { width: calc(50% - var(--space-2)); display: inline-grid; } .woocommerce .form-row-first { margin-right: var(--space-4); } }

/* Mini cart (drawer) */
.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 72px 1fr; gap: var(--space-2) var(--space-4); padding: var(--space-4) 28px var(--space-4) 0; border-bottom: 1px solid var(--line); font-weight: 600; line-height: 1.3; }
.woocommerce-mini-cart-item a:not(.remove) { display: contents; text-decoration: none; }
.woocommerce-mini-cart-item img { grid-row: span 3; width: 72px; height: 72px; object-fit: contain; background: var(--bead-blast); }
.woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: var(--space-4); text-decoration: none; color: var(--text-muted); font-size: 1.25rem; }
.woocommerce-mini-cart-item .variation, .woocommerce-mini-cart-item .quantity { grid-column: 2; font-weight: 400; font-size: 0.875rem; color: var(--text-muted); margin: 0; }
.woocommerce-mini-cart-item .variation dt, .woocommerce-mini-cart-item .variation dd { display: inline; margin: 0; }
.woocommerce-mini-cart-item .variation dd p { display: inline; margin: 0; }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding-block: var(--space-5) var(--space-3); font-size: var(--step-1); }
.woocommerce-mini-cart__buttons { display: grid; gap: var(--space-2); margin: 0; }
.woocommerce-mini-cart__buttons .button:not(.checkout) { background: transparent; color: var(--text); box-shadow: inset 0 0 0 1.5px currentColor; clip-path: none; }
.woocommerce-mini-cart__empty-message { text-align: center; padding: var(--space-8) 0; color: var(--text-muted); }

/* Cart & checkout tables (classic shortcodes) */
.shop_table { width: 100%; border-collapse: collapse; }
.shop_table th { text-align: left; font-weight: 500; color: var(--text-muted); padding: var(--space-3) var(--space-2); border-bottom: 1px solid var(--line); }
.shop_table td { padding: var(--space-4) var(--space-2); border-bottom: 1px solid var(--line); vertical-align: middle; }
.shop_table .product-thumbnail img { width: 88px; background: var(--bead-blast); }
.shop_table .product-name a { font-weight: 600; text-decoration: none; }
.cart-collaterals .cart_totals, #order_review { background: var(--surface-alt); padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); }
.cart_totals .order-total td, .woocommerce-checkout-review-order-table .order-total td { font-family: var(--font-display); font-size: var(--step-2); font-weight: 700; }
@media (min-width: 1000px) { .woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr); gap: var(--space-8); align-items: start; } .woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; } }
@media (max-width: 719px) { .shop_table_responsive thead { display: none; } .shop_table_responsive tr { display: grid; } .shop_table_responsive td { border: 0; padding: 4px 0; } .shop_table_responsive td::before { content: attr(data-title) ": "; color: var(--text-muted); } }

/* Pagination, ordering */
.woocommerce-pagination ul { display: flex; gap: var(--space-2); list-style: none; padding: 0; margin: var(--space-8) 0 0; justify-content: center; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1.5px solid var(--line); text-decoration: none; font-weight: 600; }
.woocommerce-pagination .current { background: var(--carbon); color: var(--white); border-color: var(--carbon); }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { appearance: none; min-height: 42px; padding: 0 40px 0 14px; border: 1.5px solid var(--line); background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23626973' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center; }

/* My account */
.woocommerce-account .woocommerce { display: grid; gap: var(--space-7); }
@media (min-width: 900px) { .woocommerce-account .woocommerce { grid-template-columns: 240px 1fr; } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--space-2); overflow-x: auto; }
@media (min-width: 900px) { .woocommerce-MyAccount-navigation ul { flex-direction: column; } }
.woocommerce-MyAccount-navigation a { display: block; padding: var(--space-3) var(--space-4); text-decoration: none; font-weight: 600; border-left: 3px solid transparent; white-space: nowrap; }
.woocommerce-MyAccount-navigation .is-active a { border-left-color: var(--antic-blue); background: var(--surface-alt); }
