/* ELX bridge: neutralises WordPress block-theme wrappers so the cloned BigCommerce markup renders 1:1. */
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > .wp-block-template-part { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-site-blocks > .wp-block-post-content,
.wp-site-blocks > .entry-content,
.wp-block-post-content { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.wp-block-template-part { margin: 0; }

/* Contact Form 7 inside the cloned contact layout (BigCommerce had the form as a direct child) */
#contact-us-page>.wpcf7{grid-column:2;grid-row:1;background:#fff;border:1px solid var(--e-line);border-radius:18px;padding:32px;box-shadow:0 20px 50px rgba(12,27,77,.08);margin:0}
@media (max-width:900px){#contact-us-page>.wpcf7{grid-column:1;grid-row:2}}
@media (max-width:560px){#contact-us-page>.wpcf7{padding:22px}}
#contact-us-page .wpcf7 form{margin:0}
#contact-us-page .wpcf7-form-control-wrap{display:block}
#contact-us-page .elx-consent .wpcf7-form-control-wrap{display:inline}
#contact-us-page .elx-consent .wpcf7-list-item{margin:0}
#contact-us-page .elx-consent label{display:flex;gap:10px;align-items:flex-start;margin:0}
#contact-us-page .wpcf7-not-valid-tip{font-size:12px;margin-top:4px}

/* Product page: WooCommerce variation internals stay hidden (BigCommerce shows price in the header area) */
.productView .single_variation_wrap, .productView .variations, .productView .reset_variations { display: none !important; }
.elx-wc-notices { margin: 0 0 1.5rem; }

/* ---------- WordPress/WooCommerce helpers (WooCommerce default CSS is not loaded) ---------- */
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute !important; width:1px; word-wrap:normal !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style:none; margin:0 0 1.5rem; padding:14px 18px; border:1px solid var(--e-line); border-radius:14px; background:#fff; color:var(--e-ink); font-size:14px; display:flex; gap:12px; align-items:center; justify-content:space-between; }
.woocommerce-message { border-color:#bfe3cc; background:#f2fbf5; }
.woocommerce-error { border-color:#f2c4c4; background:#fff5f5; flex-direction:column; align-items:flex-start; }
.woocommerce-info { background:var(--e-soft); }
.woocommerce-message .button, .woocommerce-info .button { order:2; }

/* ---------- Cart (Cornerstone cart layout) ---------- */
.woocommerce-cart-form table.shop_table { width:100%; border-collapse:collapse; margin:0 0 2rem; border-top:1px solid var(--e-line); }
.woocommerce-cart-form table.shop_table th { font-family:var(--e-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--e-muted); font-weight:500; text-align:left; padding:14px 12px; border-bottom:1px solid var(--e-line); }
.woocommerce-cart-form table.shop_table td { padding:20px 12px; border-bottom:1px solid var(--e-line); vertical-align:middle; font-size:15px; color:var(--e-ink); }
.woocommerce-cart-form td.product-thumbnail { width:120px; }
.woocommerce-cart-form td.product-thumbnail img { width:96px; height:auto; display:block; border:1px solid var(--e-line); border-radius:12px; background:#fff; }
.woocommerce-cart-form td.product-remove { width:40px; }
.woocommerce-cart-form a.remove { display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--e-line); color:var(--e-muted); text-decoration:none; font-size:18px; line-height:1; }
.woocommerce-cart-form a.remove:hover { color:#fff; background:var(--e-navy); border-color:var(--e-navy); }
.woocommerce-cart-form td.product-name a { font-family:var(--e-head); font-size:20px; color:var(--e-ink); text-decoration:none; }
.woocommerce-cart-form dl.variation { margin:8px 0 0; font-size:13px; color:var(--e-muted); display:grid; grid-template-columns:auto 1fr; gap:2px 8px; }
.woocommerce-cart-form dl.variation dt { font-weight:600; color:var(--e-ink); margin:0; }
.woocommerce-cart-form dl.variation dd { margin:0; } .woocommerce-cart-form dl.variation p { margin:0; }
.woocommerce-cart-form .quantity input.qty { width:84px; height:44px; border:1px solid var(--e-line); border-radius:10px; text-align:center; font-size:15px; color:var(--e-ink); background:#fff; }
.woocommerce-cart-form td.actions { text-align:right; padding:20px 0; }
.woocommerce-cart-form .coupon { float:left; display:flex; gap:10px; align-items:center; }
.woocommerce-cart-form .coupon label { display:none; }
.woocommerce-cart-form .coupon input.input-text { height:44px; border:1px solid var(--e-line); border-radius:999px; padding:0 18px; min-width:220px; font-size:14px; }
.cart-collaterals { display:flex; justify-content:flex-end; margin-bottom:2rem; }
.cart_totals { width:100%; max-width:440px; border:1px solid var(--e-line); border-radius:18px; padding:24px 28px; background:#fff; }
.cart_totals h2 { font-family:var(--e-head); font-size:26px; font-weight:400; margin:0 0 8px; color:var(--e-ink); }
.cart_totals table { width:100%; border-collapse:collapse; }
.cart_totals th, .cart_totals td { padding:14px 0; border-bottom:1px solid var(--e-line); text-align:left; font-size:15px; color:var(--e-ink); font-weight:500; }
.cart_totals td { text-align:right; }
.cart_totals tr.order-total th, .cart_totals tr.order-total td { font-family:var(--e-head); font-size:20px; border-bottom:0; }
.cart_totals ul#shipping_method { list-style:none; margin:0; padding:0; }
.wc-proceed-to-checkout { margin-top:18px; }
.wc-proceed-to-checkout a.checkout-button { display:block; width:100%; text-align:center; background:var(--e-blue); border-color:var(--e-blue); color:#fff; }
.return-to-shop { display:none; }
.woocommerce-shipping-calculator .shipping-calculator-form p { margin:8px 0; }

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
form.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:40px; align-items:start; }
form.woocommerce-checkout > .col2-set { grid-column:1; display:block; }
form.woocommerce-checkout > #order_review_heading, form.woocommerce-checkout > #order_review { grid-column:2; }
form.woocommerce-checkout > #order_review_heading { grid-row:1; margin:0; }
form.woocommerce-checkout > #order_review { grid-row:2; border:1px solid var(--e-line); border-radius:18px; padding:24px; background:#fff; }
.woocommerce form .form-row { margin:0 0 16px; display:flex; flex-direction:column; gap:6px; }
.woocommerce form .form-row label { font-size:14px; font-weight:600; color:var(--e-ink); }
.woocommerce form .form-row .required { color:var(--e-blue); text-decoration:none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { width:100%; min-height:46px; border:1px solid var(--e-line); border-radius:10px; padding:10px 14px; font-size:15px; color:var(--e-ink); background:#fff; font-family:var(--e-body); }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { display:inline-flex; width:calc(50% - 8px); }
.woocommerce form .form-row-first { margin-right:12px; }
.woocommerce-checkout h3, #order_review_heading { font-family:var(--e-head); font-size:26px; font-weight:400; color:var(--e-ink); margin:0 0 16px; }
.woocommerce-checkout-review-order-table { width:100%; border-collapse:collapse; margin-bottom:16px; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding:12px 0; border-bottom:1px solid var(--e-line); text-align:left; font-size:14px; }
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table th:last-child { text-align:right; }
#payment ul.payment_methods { list-style:none; margin:0 0 16px; padding:0; }
#payment .place-order .button, #place_order { width:100%; background:var(--e-blue); border-color:var(--e-blue); color:#fff; }
@media (max-width:900px) { form.woocommerce-checkout { grid-template-columns:1fr; } form.woocommerce-checkout > * { grid-column:1 !important; grid-row:auto !important; } .woocommerce form .form-row-first, .woocommerce form .form-row-last { width:100%; margin-right:0; } }

/* ---------- My account (signed in) ---------- */
.woocommerce-account .woocommerce { display:grid; grid-template-columns:240px 1fr; gap:40px; margin-bottom:3rem; }
.woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; border:1px solid var(--e-line); border-radius:18px; overflow:hidden; background:#fff; }
.woocommerce-MyAccount-navigation li a { display:block; padding:14px 18px; border-bottom:1px solid var(--e-line); color:var(--e-ink); text-decoration:none; font-size:14px; }
.woocommerce-MyAccount-navigation li.is-active a { background:var(--e-soft); font-weight:600; }
.woocommerce-MyAccount-content table { width:100%; border-collapse:collapse; } .woocommerce-MyAccount-content th, .woocommerce-MyAccount-content td { padding:12px; border-bottom:1px solid var(--e-line); text-align:left; font-size:14px; }
@media (max-width:800px) { .woocommerce-account .woocommerce { grid-template-columns:1fr; } }
@media (max-width:800px) { .woocommerce-cart-form table.shop_table thead { display:none; } .woocommerce-cart-form table.shop_table tr { display:grid; grid-template-columns:auto 1fr; gap:8px; padding:16px 0; border-bottom:1px solid var(--e-line); } .woocommerce-cart-form table.shop_table td { border:0; padding:4px 8px; } .woocommerce-cart-form .coupon { float:none; margin-bottom:12px; } .cart-collaterals { justify-content:stretch; } }
