/* WooCommerce overrides — matches Titans Factory Homes design system */
.woocommerce .wrap, .woocommerce-page .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:16px; }
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{ width:100% !important; float:none !important; margin:0 !important; background:#fff; border:1px solid #E8E0D2; border-radius:20px; overflow:hidden; display:flex; flex-direction:column; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:"Newsreader",serif; font-size:22px; padding:0 16px; margin-top:12px; }
.woocommerce ul.products li.product .price{ padding:0 16px; color:#111; font-weight:700; font-size:18px; }
.woocommerce ul.products li.product .price b{font-size:20px}
.woocommerce ul.products li.product .button{ margin:12px 16px 16px; border-radius:999px; background:#0E0E10; color:#fff; font-weight:600; padding:12px 18px; text-align:center; display:block; }
.woocommerce ul.products li.product .button:hover{ transform:translateY(-1px); box-shadow:0 10px 20px rgba(0,0,0,.18); }
.woocommerce ul.products li.product img{ aspect-ratio:4/2.8; object-fit:cover; width:100%; margin:0 !important; }

@media(max-width:980px){ .woocommerce ul.products{ grid-template-columns:1fr 1fr; } }
@media(max-width:620px){ .woocommerce ul.products{ grid-template-columns:1fr; } }

/* Single product */
.woocommerce div.product{ background:#fff; }
.woocommerce div.product div.images img{ border-radius:18px; border:1px solid #E8E0D2; }
.woocommerce div.product div.summary{ background:#fff; border:1px solid #E8E0D2; border-radius:18px; padding:18px; }
.woocommerce div.product p.price{ color:#111; font-size:26px; font-weight:700; }
.woocommerce div.product .product_title{ font-family:"Newsreader",serif; font-size:clamp(28px,4vw,44px); line-height:.95; }
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt{ background:#0E0E10; border-radius:999px; padding:14px 22px; font-weight:700; }
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover{ background:#111; }

/* Cart / Checkout */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ background:#0E0E10; border-radius:999px; padding:16px; font-size:16px; }
.woocommerce-checkout #payment{ background:#FBFAF7; border-radius:14px; }
.woocommerce-message, .woocommerce-info{ border-top-color:#0E0E10; }

/* Deposit + addons cards already styled inline */
#thg-addon-total{transition:.2s}

/* Editable Customizer colors */
:root{ --thg-accent:#0E0E10; --thg-sand:#F5F0E8; }

/* Admin */
.thg-meta-box{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.thg-meta-box label{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.thg-meta-box input{ width:100%; padding:8px; border-radius:8px; border:1px solid #E8E0D2; }

/* Elementor fix */
.elementor-widget-thg_grid .grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
