/* Thrillhouse: single product, cart, checkout, single post */

/* ---- shared ---- */
.woocommerce-breadcrumb{font-family:var(--th-font-body) !important;font-size:12.5px !important;color:var(--th-text-muted) !important;margin:22px 0 18px !important;}
.woocommerce-breadcrumb a{color:var(--th-blue) !important;text-decoration:none;}

/* ---- single product ---- */
.single-product .site-main{max-width:1280px;margin:0 auto;padding:0 24px;}
.single-product div.product div.images img{border-radius:18px;border:1px solid var(--th-border);background:var(--th-bg);}
.single-product div.product .product_title{font-family:var(--th-font-display) !important;font-weight:800 !important;font-size:30px !important;color:var(--th-navy) !important;letter-spacing:-0.4px;line-height:1.15;}
.single-product div.product .th-pdp-cat{font-family:var(--th-font-body);font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--th-blue);margin-bottom:6px;}
.single-product div.product p.price{font-family:var(--th-font-display) !important;font-weight:800 !important;font-size:28px !important;color:var(--th-navy) !important;margin:10px 0 4px !important;}
.single-product div.product p.price del{font-family:var(--th-font-body);font-weight:500;font-size:16px;color:var(--th-text-muted);}
.single-product div.product p.price ins{text-decoration:none;}
.th-klump-line{font-family:var(--th-font-body);font-size:13.5px;font-weight:600;color:var(--th-success);background:var(--th-success-bg);border-radius:999px;display:inline-block;padding:6px 14px;margin:4px 0 14px;}
.single-product .woocommerce-product-details__short-description{font-family:var(--th-font-body);font-size:14.5px;line-height:1.65;color:var(--th-text);}
.single-product form.cart{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin:18px 0 10px !important;}
.single-product form.cart div.quantity .qty{border:1.5px solid var(--th-border);border-radius:999px;padding:12px 8px;font-family:var(--th-font-body);font-weight:700;font-size:15px;width:74px;text-align:center;}
.single-product form.cart .single_add_to_cart_button{font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:15px !important;background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;border:none !important;border-radius:999px !important;padding:14px 34px !important;transition:background .15s;}
.single-product form.cart .single_add_to_cart_button:hover{background:var(--th-orange-700) !important;}
.th-pdp-wa{display:inline-flex;align-items:center;gap:8px;font-family:var(--th-font-body);font-weight:700;font-size:13.5px;color:var(--th-navy);text-decoration:none;border:1.5px solid var(--th-navy);border-radius:999px;padding:10px 18px;margin:4px 0 10px;}
.th-pdp-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--th-font-body);font-size:12px;color:var(--th-text-muted);border-top:1px solid var(--th-border);padding-top:14px;margin-top:8px;}

.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0 !important;margin:0 0 18px !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--th-border) !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent !important;border:none !important;margin:0 18px 0 0 !important;padding:0 !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:14px !important;color:var(--th-text-muted) !important;padding:12px 2px !important;border-bottom:2.5px solid transparent;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--th-navy) !important;border-bottom-color:var(--th-orange);}
.woocommerce div.product .woocommerce-tabs .panel{font-family:var(--th-font-body);font-size:14px;line-height:1.65;color:var(--th-text);}
.woocommerce table.shop_attributes{border:1px solid var(--th-border);border-radius:12px;overflow:hidden;}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{font-family:var(--th-font-body) !important;font-size:13.5px;padding:10px 14px !important;}
.related.products>h2,.upsells.products>h2{font-family:var(--th-font-display) !important;font-weight:800 !important;font-size:24px !important;color:var(--th-navy) !important;}

/* ---- cart ---- */
.woocommerce-cart .site-main,.woocommerce-checkout .site-main{max-width:1280px;margin:0 auto;padding:0 24px;}
.woocommerce-cart h1.entry-title,.woocommerce-checkout h1.entry-title{font-family:var(--th-font-display);font-weight:800;font-size:32px;color:var(--th-navy);letter-spacing:-0.4px;}
.woocommerce table.shop_table{border:1px solid var(--th-border) !important;border-radius:16px !important;overflow:hidden;font-family:var(--th-font-body);}
.woocommerce table.shop_table th{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--th-text-muted);background:var(--th-bg);}
.woocommerce table.shop_table td{border-top:1px solid var(--th-border) !important;font-size:14px;}
.woocommerce-cart table.cart img{border-radius:10px;background:var(--th-bg);}
.woocommerce-cart .product-name a{color:var(--th-navy);font-weight:600;text-decoration:none;}
.woocommerce .quantity .qty{border:1.5px solid var(--th-border);border-radius:999px;padding:8px 6px;font-family:var(--th-font-body);font-weight:700;}
.woocommerce button.button,.woocommerce a.button{font-family:var(--th-font-body) !important;font-weight:700 !important;border-radius:999px !important;}
.woocommerce button.button:disabled{border-radius:999px !important;}
.cart-collaterals .cart_totals{background:#fff;border:1px solid var(--th-border);border-radius:18px;padding:22px;}
.cart-collaterals .cart_totals h2{font-family:var(--th-font-display) !important;font-weight:800 !important;font-size:20px !important;color:var(--th-navy) !important;}
.cart-collaterals .cart_totals table.shop_table{border:none !important;}
.wc-proceed-to-checkout a.checkout-button{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;font-size:15px !important;padding:15px 28px !important;}
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--th-orange-700) !important;}

/* ---- checkout ---- */
.woocommerce-checkout form .form-row input.input-text,.woocommerce-checkout form .form-row textarea,.woocommerce-checkout form .form-row select,.woocommerce form .form-row input.input-text{font-family:var(--th-font-body) !important;font-size:14px !important;border:1.5px solid var(--th-border) !important;border-radius:12px !important;padding:12px 14px !important;background:#fff !important;}
.woocommerce-checkout form .form-row label{font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:13px !important;color:var(--th-navy) !important;}
.woocommerce-checkout h3{font-family:var(--th-font-display) !important;font-weight:800 !important;font-size:20px !important;color:var(--th-navy) !important;}
#order_review{background:#fff;border:1px solid var(--th-border);border-radius:18px;padding:22px;}
#order_review table.shop_table{border:none !important;}
.woocommerce-checkout #payment{background:var(--th-bg) !important;border-radius:14px !important;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--th-border) !important;}
.woocommerce-checkout #payment ul.payment_methods li label{font-family:var(--th-font-body);font-weight:700;color:var(--th-navy);}
#place_order{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:15px !important;border-radius:999px !important;padding:15px 30px !important;width:100%;}
#place_order:hover{background:var(--th-orange-700) !important;}
.th-checkout-secure{font-family:var(--th-font-body);font-size:12px;color:var(--th-text-muted);text-align:center;margin-top:10px;}

/* ---- single post ---- */
.single-post .site-main{max-width:800px;margin:0 auto;padding:0 24px;}
.single-post h1.entry-title{font-family:var(--th-font-display);font-weight:800;font-size:34px;line-height:1.15;letter-spacing:-0.4px;color:var(--th-navy);margin:26px 0 10px;}
.single-post .page-content{font-family:var(--th-font-body);font-size:15.5px;line-height:1.75;color:var(--th-text);}
.single-post .page-content h2{font-family:var(--th-font-display);font-weight:800;font-size:24px;color:var(--th-navy);margin:34px 0 12px;}
.single-post .page-content h3{font-family:var(--th-font-display);font-weight:700;font-size:19px;color:var(--th-navy);margin:26px 0 10px;}
.single-post .page-content img{border-radius:16px;}
.single-post .page-content a{color:var(--th-blue);}
.single-post .page-content ul li,.single-post .page-content ol li{margin-bottom:6px;}
.single-post .post-thumbnail img,.single-post img.wp-post-image{border-radius:18px;width:100%;height:auto;margin:6px 0 18px;}
.th-post-meta{font-family:var(--th-font-body);font-size:13px;color:var(--th-text-muted);margin-bottom:6px;}
.th-post-meta a{color:var(--th-blue);text-decoration:none;font-weight:700;}
.th-post-back{display:inline-flex;font-family:var(--th-font-body);font-weight:700;font-size:13.5px;color:var(--th-navy);text-decoration:none;border:1.5px solid var(--th-border);border-radius:999px;padding:9px 18px;margin:26px 0 40px;}

@media (max-width:760px){
 .single-product div.product .product_title{font-size:23px !important;}
 .woocommerce-cart h1.entry-title,.woocommerce-checkout h1.entry-title{font-size:25px;}
 .single-post h1.entry-title{font-size:25px;}
}

/* ---- my account ---- */
.woocommerce-account .site-main{max-width:1280px;margin:0 auto;padding:0 24px;}
.woocommerce-account h1.entry-title{font-family:var(--th-font-display);font-weight:800;font-size:32px;color:var(--th-navy);letter-spacing:-0.4px;margin:26px 0 18px;}
.woocommerce-account .woocommerce{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;margin-bottom:56px;}
.woocommerce-MyAccount-navigation{flex:0 0 250px;background:#fff;border:1px solid var(--th-border);border-radius:18px;padding:10px;}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
.woocommerce-MyAccount-navigation ul li{margin:2px 0;}
.woocommerce-MyAccount-navigation ul li a{display:block;font-family:var(--th-font-body);font-weight:700;font-size:14px;color:var(--th-navy);text-decoration:none;padding:11px 15px;border-radius:12px;transition:background .15s;}
.woocommerce-MyAccount-navigation ul li a:hover{background:var(--th-blue-100);}
.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--th-navy);color:#fff;}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--th-danger);}
.woocommerce-MyAccount-content{flex:1;min-width:280px;background:#fff;border:1px solid var(--th-border);border-radius:18px;padding:26px;font-family:var(--th-font-body);font-size:14.5px;line-height:1.65;color:var(--th-text);}
.woocommerce-MyAccount-content a{color:var(--th-blue);}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--th-font-display);font-weight:800;color:var(--th-navy);}
.woocommerce-MyAccount-content .woocommerce-Button,.woocommerce-MyAccount-content button.button{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;padding:12px 26px !important;}
.woocommerce-MyAccount-content fieldset{border:1px solid var(--th-border);border-radius:14px;padding:16px 18px;margin:18px 0;}
.woocommerce-MyAccount-content legend{font-family:var(--th-font-display);font-weight:700;color:var(--th-navy);padding:0 8px;}
.woocommerce-account .form-row label{font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:13px !important;color:var(--th-navy) !important;}
.woocommerce-account .form-row input.input-text{font-family:var(--th-font-body) !important;font-size:14px !important;border:1.5px solid var(--th-border) !important;border-radius:12px !important;padding:12px 14px !important;background:#fff !important;}

/* logged-out login/register */
.woocommerce-account .woocommerce > h2{font-family:var(--th-font-display);font-weight:800;font-size:22px;color:var(--th-navy);flex-basis:100%;}
form.woocommerce-form-login,form.woocommerce-form-register{background:#fff;border:1px solid var(--th-border) !important;border-radius:18px !important;padding:28px !important;max-width:460px;}
form.woocommerce-form-login .woocommerce-form-login__submit,form.woocommerce-form-register .woocommerce-form-register__submit{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:15px !important;border-radius:999px !important;padding:13px 30px !important;}
form.woocommerce-form-login .woocommerce-form-login__submit:hover{background:var(--th-orange-700) !important;}
.woocommerce-LostPassword a{font-family:var(--th-font-body);font-size:13px;color:var(--th-blue);}
.woocommerce-form-login__rememberme{font-family:var(--th-font-body);font-size:13.5px;color:var(--th-text);}

/* orders table states */
.woocommerce-orders-table__cell-order-status{font-weight:700;}
.woocommerce-account .woocommerce-Message,.woocommerce-account .woocommerce-info{border-top-color:var(--th-blue) !important;background:var(--th-blue-100) !important;font-family:var(--th-font-body);color:var(--th-navy) !important;border-radius:12px;}
.woocommerce-account .woocommerce-Message a.button,.woocommerce-account .woocommerce-info a.button{background:var(--th-navy) !important;color:#fff !important;}

@media (max-width:760px){
 .woocommerce-MyAccount-navigation{flex:1 1 100%;}
 .woocommerce-account h1.entry-title{font-size:25px;}
}

/* ---- my account ---- */
.woocommerce-account .site-main{max-width:1100px;margin:0 auto;padding:0 24px;}
.woocommerce-account h1.entry-title{font-family:var(--th-font-display);font-weight:800;font-size:32px;color:var(--th-navy);letter-spacing:-0.4px;margin:26px 0 20px;}
/* login / register */
.woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.register{border:1px solid var(--th-border) !important;border-radius:18px !important;padding:26px !important;background:#fff;max-width:460px;}
.woocommerce-account form .form-row label{font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:13px !important;color:var(--th-navy) !important;}
.woocommerce-account form .form-row input.input-text{font-family:var(--th-font-body) !important;font-size:14px !important;border:1.5px solid var(--th-border) !important;border-radius:12px !important;padding:12px 14px !important;background:#fff !important;}
.woocommerce-account form .form-row input.input-text:focus{border-color:var(--th-blue) !important;box-shadow:0 0 0 3px var(--th-blue-100) !important;outline:none !important;}
.woocommerce-account form button.button{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:14.5px !important;border-radius:999px !important;padding:13px 28px !important;}
.woocommerce-account form button.button:hover{background:var(--th-orange-700) !important;}
.woocommerce-account .woocommerce-privacy-policy-text,.woocommerce-account .lost_password{font-family:var(--th-font-body);font-size:12.5px;color:var(--th-text-muted);}
.woocommerce-account .lost_password a{color:var(--th-blue);}
/* dashboard nav */
.woocommerce-account .woocommerce-MyAccount-navigation{width:230px !important;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0 !important;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;font-family:var(--th-font-body);font-weight:700;font-size:13.5px;color:var(--th-navy);text-decoration:none;background:#fff;border:1.5px solid var(--th-border);border-radius:999px;padding:10px 18px;transition:all .15s;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--th-navy);border-color:var(--th-navy);color:#fff;}
.woocommerce-account .woocommerce-MyAccount-content{width:calc(100% - 260px) !important;font-family:var(--th-font-body);font-size:14.5px;line-height:1.65;color:var(--th-text);background:#fff;border:1px solid var(--th-border);border-radius:18px;padding:26px;}
.woocommerce-account .woocommerce-MyAccount-content a{color:var(--th-blue);}
.woocommerce-account .woocommerce-MyAccount-content .button{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;border-radius:999px !important;font-weight:700 !important;}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{border:1px solid var(--th-border) !important;border-radius:14px !important;}
.woocommerce-account .woocommerce-MyAccount-content mark{background:var(--th-blue-100);color:var(--th-navy);border-radius:6px;padding:1px 6px;}
@media (max-width:760px){
 .woocommerce-account .woocommerce-MyAccount-navigation{width:100% !important;margin-bottom:18px;}
 .woocommerce-account .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;}
 .woocommerce-account .woocommerce-MyAccount-content{width:100% !important;padding:18px;}
 .woocommerce-account h1.entry-title{font-size:25px;}
}

/* ---- cart v2: firm layout ---- */
.woocommerce-cart h1.entry-title,.woocommerce-cart .page-header{display:none;}
.th-cart-head{max-width:1280px;margin:0 auto;padding:26px 0 4px;}
.th-cart-head .th-shop-crumb{margin-bottom:12px;}
.th-cart-head h1{font-family:var(--th-font-display);font-weight:800;font-size:32px;color:var(--th-navy);letter-spacing:-0.4px;margin:0 0 4px;}
.th-cart-head p{font-family:var(--th-font-body);font-size:14px;color:var(--th-text-muted);margin:0 0 8px;}

.woocommerce-cart .woocommerce form.woocommerce-cart-form{width:100%;}
@media (min-width:900px){
 .woocommerce-cart .woocommerce{display:grid;grid-template-columns:1.65fr 1fr;gap:28px;align-items:start;}
 .woocommerce-cart .woocommerce form.woocommerce-cart-form{grid-column:1;}
 .woocommerce-cart .cart-collaterals{grid-column:2;position:sticky;top:24px;width:100%;}
 .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,.woocommerce-cart .th-cart-back{grid-column:1 / -1;}
}
.cart-collaterals .cart_totals{width:100% !important;float:none !important;}

/* items table refinement */
.woocommerce-cart table.cart{margin-bottom:10px;}
.woocommerce-cart table.cart td.product-thumbnail img{width:74px;border:1px solid var(--th-border);}
.woocommerce-cart table.cart td.product-name{font-family:var(--th-font-body);}
.woocommerce-cart table.cart td.product-name a{font-weight:700;color:var(--th-navy) !important;font-size:14.5px;}
.woocommerce-cart table.cart td.product-price,.woocommerce-cart table.cart td.product-subtotal{font-family:var(--th-font-display);font-weight:800;color:var(--th-navy);font-size:15px;}
.woocommerce-cart table.cart a.remove{color:var(--th-danger) !important;background:var(--th-danger-bg);border-radius:999px;width:24px;height:24px;line-height:23px;font-size:16px;font-weight:600;}
.woocommerce-cart table.cart a.remove:hover{background:var(--th-danger);color:#fff !important;}
.woocommerce-cart table.cart td.actions{background:var(--th-bg);}
.woocommerce-cart table.cart td.actions .coupon .input-text{border:1.5px solid var(--th-border) !important;border-radius:999px !important;padding:10px 16px !important;font-family:var(--th-font-body);width:180px !important;}
.woocommerce-cart table.cart td.actions .coupon button.button{background:#fff !important;color:var(--th-navy) !important;border:1.5px solid var(--th-navy) !important;padding:10px 20px !important;}
.woocommerce-cart table.cart td.actions > button.button{background:var(--th-navy) !important;color:#fff !important;padding:10px 20px !important;}
.woocommerce-cart table.cart td.actions > button.button:disabled{background:var(--th-bg) !important;color:var(--th-text-muted) !important;border:1.5px solid var(--th-border) !important;}

/* order summary card */
.cart-collaterals .cart_totals h2{font-size:19px !important;margin-top:0 !important;}
.cart_totals table.shop_table th{background:transparent;font-family:var(--th-font-body);font-size:13px;color:var(--th-text-muted);text-transform:none;letter-spacing:0;font-weight:600;border:none !important;}
.cart_totals table.shop_table td{border:none !important;font-family:var(--th-font-body);font-size:14px;text-align:right;}
.cart_totals table.shop_table tr{border-bottom:1px solid var(--th-border);}
.cart_totals .order-total th{font-weight:800 !important;color:var(--th-navy) !important;font-size:15px !important;}
.cart_totals .order-total td{font-family:var(--th-font-display) !important;font-weight:800 !important;font-size:22px !important;color:var(--th-navy) !important;}
.th-cart-klump{font-family:var(--th-font-body);font-size:12.5px;font-weight:600;color:var(--th-success);background:var(--th-success-bg);border-radius:999px;padding:7px 14px;margin:12px 0 2px;display:inline-block;}
.wc-proceed-to-checkout{padding-top:12px !important;}
.wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center;font-size:15px !important;}
.th-cart-secure{font-family:var(--th-font-body);font-size:12px;color:var(--th-text-muted);text-align:center;margin-top:10px;}
.th-cart-back{display:inline-flex;font-family:var(--th-font-body);font-weight:700;font-size:13.5px;color:var(--th-navy);text-decoration:none;border:1.5px solid var(--th-border);border-radius:999px;padding:9px 18px;margin:14px 0 44px;background:#fff;}
.th-cart-back:hover{border-color:var(--th-navy);}

/* empty cart */
.cart-empty.woocommerce-info{border:1px dashed var(--th-border) !important;background:#fff !important;border-radius:18px;font-family:var(--th-font-body);color:var(--th-navy) !important;padding:26px !important;}
.woocommerce-cart .return-to-shop a.button{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;padding:13px 28px !important;}

/* cross-sells inherit product cards; give heading + spacing */
.woocommerce-cart .cross-sells{grid-column:1 / -1;margin-top:8px;}
.woocommerce-cart .cross-sells > h2{font-family:var(--th-font-display);font-weight:800;font-size:22px;color:var(--th-navy);}
@media (max-width:760px){ .th-cart-head h1{font-size:25px;} }

/* ---- cart v3 polish ---- */
/* crumb styles available on cart/checkout/account (th-woo.css not loaded here) */
.th-shop-crumb{font-family:var(--th-font-body);font-size:12.5px;color:var(--th-text-muted);}
.th-shop-crumb a{color:var(--th-blue) !important;text-decoration:none !important;font-weight:600;}

/* woo notices to token style */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--th-border) !important;border-top:3px solid var(--th-success) !important;background:#fff !important;border-radius:14px !important;font-family:var(--th-font-body) !important;color:var(--th-text) !important;padding:16px 20px !important;}
.woocommerce-error{border-top-color:var(--th-danger) !important;}
.woocommerce-info{border-top-color:var(--th-blue) !important;}
.woocommerce-message::before{color:var(--th-success) !important;}
.woocommerce-message .button,.woocommerce-info .button{background:var(--th-navy) !important;color:#fff !important;border-radius:999px !important;padding:9px 20px !important;font-family:var(--th-font-body) !important;font-weight:700 !important;}

/* kill inner grid lines on the items table */
.woocommerce-cart table.cart{border-collapse:separate !important;border-spacing:0 !important;}
.woocommerce-cart table.cart th,.woocommerce-cart table.cart td{border-left:none !important;border-right:none !important;}
.woocommerce-cart table.cart thead th{border-top:none !important;border-bottom:1px solid var(--th-border) !important;}
.woocommerce-cart table.cart tbody td{border-top:none !important;border-bottom:1px solid var(--th-border) !important;background:#fff;}
.woocommerce-cart table.cart td.actions{border-bottom:none !important;background:var(--th-bg) !important;}

/* qty: rounded rect, not a circle */
.woocommerce .quantity .qty{border-radius:12px !important;width:64px !important;padding:10px 6px !important;}

/* totals rows: no grey value pills */
.cart_totals table.shop_table td,.cart_totals table.shop_table th{background:transparent !important;padding:12px 0 !important;}
.cart_totals table.shop_table{border:none !important;}

/* continue shopping: don't stretch in the grid */
.th-cart-back{justify-self:start;width:auto;}

@media (min-width:900px){ .woocommerce-cart .woocommerce > .woocommerce-message,.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;} }

/* cart head alignment fix */
.th-cart-head{max-width:none !important;margin:0 !important;}
@media (min-width:900px){ .woocommerce-cart .woocommerce > .th-cart-head, .th-cart-head{grid-column:1 / -1;justify-self:start;width:100%;} }

/* ---- single post: spacing, comments, tags, reply form ---- */
.single-post .site-main{padding-top:14px;}
.single-post h1.entry-title{margin:18px 0 6px;}
.single-post .th-post-meta{margin-bottom:2px;}
.single-post .page-content > *:first-child{margin-top:0;}
.single-post .page-content p{margin:0 0 16px;}
.single-post .page-content ul,.single-post .page-content ol{margin:0 0 18px;padding-left:22px;}
.single-post .page-content h2{margin-top:38px;}
.single-post .page-content table{margin:14px 0 26px;}
.single-post .page-content .wp-block-button{margin:22px 0;text-align:center;}

/* tags */
.single-post .post-taxonomies,.single-post .tags-links{font-family:var(--th-font-body);font-size:13px;color:var(--th-text-muted);margin:26px 0 6px;display:block;}
.single-post .post-taxonomies a,.single-post .tags-links a{display:inline-block;font-size:12px;font-weight:700;color:var(--th-navy) !important;background:#fff;border:1.5px solid var(--th-border);border-radius:999px;padding:6px 14px;text-decoration:none !important;margin:2px 4px 2px 0;}
.single-post .post-taxonomies a:hover{border-color:var(--th-navy);}

/* comments */
.comments-area{border-top:1px solid var(--th-border);margin-top:36px;padding-top:26px;font-family:var(--th-font-body);}
.comments-area .comments-title,.comments-area .comment-reply-title{font-family:var(--th-font-display);font-weight:800;font-size:21px;color:var(--th-navy);}
.comment-list{list-style:none;margin:14px 0 0;padding:0;}
.comment-list .comment{background:#fff;border:1px solid var(--th-border);border-radius:16px;padding:18px;margin-bottom:12px;}
.comment-list .comment .avatar{border-radius:999px;}
.comment-author .fn,.comment-author .fn a{font-weight:700;color:var(--th-navy) !important;font-style:normal;text-decoration:none !important;}
.comment-metadata a{font-size:12px;color:var(--th-text-muted) !important;text-decoration:none !important;}
.comment-content{font-size:14px;line-height:1.65;color:var(--th-text);margin-top:6px;}
.comment .reply a{display:inline-block;font-size:12.5px;font-weight:700;color:var(--th-navy) !important;border:1.5px solid var(--th-border);border-radius:999px;padding:6px 14px;text-decoration:none !important;margin-top:10px;}
.comment .reply a:hover{border-color:var(--th-navy);}

/* reply form */
.comment-respond{background:#fff;border:1px solid var(--th-border);border-radius:18px;padding:22px;margin:18px 0 40px;}
.comment-respond label{display:block;font-weight:700;font-size:13px;color:var(--th-navy);margin-bottom:6px;}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;font-family:var(--th-font-body);font-size:14px;border:1.5px solid var(--th-border);border-radius:12px;padding:12px 14px;background:#fff;box-sizing:border-box;}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--th-blue);box-shadow:0 0 0 3px var(--th-blue-100);outline:none;}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--th-text-muted);}
.comment-form-cookies-consent input{width:auto;margin-top:3px;}
.comment-form .form-submit{margin:14px 0 0;}
.comment-form input[type=submit],.comment-form #submit{background:var(--th-orange) !important;color:var(--th-text-on-orange) !important;font-family:var(--th-font-body) !important;font-weight:700 !important;font-size:14.5px !important;border:none !important;border-radius:999px !important;padding:13px 30px !important;cursor:pointer;width:auto !important;transition:background .15s;}
.comment-form input[type=submit]:hover{background:var(--th-orange-700) !important;}
.comment-notes,.logged-in-as{font-size:12.5px;color:var(--th-text-muted);}

@media (max-width:760px){ .comment-respond{padding:16px;} }

/* th-plainpage: shell for non-Elementor pages (policies etc.) */
body.page:not(.elementor-page) .site-main{max-width:820px;margin:0 auto;padding:10px 24px 60px;}
body.page:not(.elementor-page) h1.entry-title{font-size:34px;letter-spacing:-0.4px;margin:26px 0 8px;}
body.page:not(.elementor-page) .page-content{font-family:var(--th-font-body);font-size:15.5px;line-height:1.75;color:var(--th-text);}
body.page:not(.elementor-page) .page-content h2{font-size:22px;margin:32px 0 10px;}
body.page:not(.elementor-page) .page-content p{margin:0 0 15px;}
@media (max-width:760px){ body.page:not(.elementor-page) h1.entry-title{font-size:26px;} body.page:not(.elementor-page) .page-content h2{font-size:19px;} }

/* ---- cart notice + checkout layout pass ---- */
/* notice icon spacing */
.woocommerce-message,.woocommerce-info,.woocommerce-error{position:relative;padding:16px 20px 16px 52px !important;}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{position:absolute;left:20px;top:50%;transform:translateY(-50%);}
/* notice button: quiet navy, never orange */
.woocommerce .woocommerce-message .button,.woocommerce .woocommerce-info .button{background:var(--th-navy) !important;color:#fff !important;border-radius:999px !important;padding:10px 22px !important;font-weight:700 !important;}

/* cart thumbnail cell */
.woocommerce-cart table.cart td.product-thumbnail{width:92px;min-width:92px;}
.woocommerce-cart table.cart td.product-thumbnail img{width:74px !important;height:74px;object-fit:contain;background:var(--th-bg);}

/* ---- checkout: proper two-column grid ---- */
@media (min-width:960px){
 .woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:start;}
 .woocommerce-checkout form.checkout #customer_details{grid-column:1;width:100%;}
 .woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 12px;}
 .woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:1;margin-top:44px;position:sticky;top:24px;}
}
#customer_details .col-1,#customer_details .col-2{float:none !important;width:100% !important;}
#customer_details .col-2{margin-top:10px;}
.woocommerce-checkout .form-row{width:100% !important;float:none !important;}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:48.5% !important;float:left !important;}
.woocommerce-checkout .form-row-last{float:right !important;}
.woocommerce-checkout form .form-row input.input-text,.woocommerce-checkout form .form-row select,.woocommerce-checkout form .form-row textarea{width:100%;box-sizing:border-box;}
.woocommerce-checkout h3,#order_review_heading{font-family:var(--th-font-display) !important;font-weight:800 !important;font-size:20px !important;color:var(--th-navy) !important;}

/* payment methods */
.woocommerce-checkout #payment{background:var(--th-bg) !important;border-radius:14px !important;}
.woocommerce-checkout #payment ul.payment_methods li{padding:12px 4px;}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline-flex;align-items:center;gap:10px;font-family:var(--th-font-body);font-weight:700;color:var(--th-navy);cursor:pointer;}
.woocommerce-checkout #payment ul.payment_methods li label img{max-height:26px !important;width:auto !important;display:inline-block;}
.woocommerce-checkout #payment div.payment_box{background:#fff !important;border-radius:12px;font-family:var(--th-font-body);font-size:13px;line-height:1.6;color:var(--th-text);}
.woocommerce-checkout #payment div.payment_box::before{display:none;}

/* checkout links: never theme red */
.woocommerce-checkout a{color:var(--th-blue);}
.woocommerce-terms-and-conditions-wrapper a,.woocommerce-privacy-policy-text a{color:var(--th-blue) !important;font-weight:700;}
.woocommerce-terms-and-conditions-wrapper{font-family:var(--th-font-body);font-size:13.5px;}

@media (max-width:960px){ .woocommerce-checkout form.checkout #order_review{margin-top:10px;} }

/* ---- checkout v2: floats not grid; notice flex ---- */
.woocommerce-checkout form.checkout{display:block !important;}
.woocommerce-checkout form.checkout::after{content:"";display:table;clear:both;}
@media (min-width:960px){
 .woocommerce-checkout form.checkout #customer_details{float:left !important;width:55% !important;}
 .woocommerce-checkout form.checkout #order_review_heading,.woocommerce-checkout form.checkout #order_review{float:right !important;width:41% !important;position:static !important;margin-top:0;}
}
@media (max-width:959px){
 .woocommerce-checkout form.checkout #customer_details,.woocommerce-checkout form.checkout #order_review,.woocommerce-checkout form.checkout #order_review_heading{float:none !important;width:100% !important;}
}
.woocommerce-message,.woocommerce-info,.woocommerce-error{display:flex !important;align-items:center;gap:12px;padding:16px 20px !important;}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{position:static !important;transform:none !important;margin:0;flex:none;}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;order:3;flex:none;}
.woocommerce-error{flex-direction:column;align-items:flex-start;}
/* ---- bundle PDP polish ---- */
.woocommerce p.stars a{color:var(--th-orange) !important;}
.woocommerce p.stars a:hover~a{color:var(--th-border-strong) !important;}
#review_form .comment-reply-title{font-family:var(--th-font-display);font-weight:800;font-size:19px;color:var(--th-navy);}
#review_form textarea,#review_form input[type=text],#review_form input[type=email]{width:100%;font-family:var(--th-font-body);font-size:14px;border:1.5px solid var(--th-border);border-radius:12px;padding:12px 14px;box-sizing:border-box;}
#review_form textarea:focus{border-color:var(--th-blue);box-shadow:0 0 0 3px var(--th-blue-100);outline:none;}
.single-product .product_meta{font-family:var(--th-font-body);font-size:13px;color:var(--th-text-muted);display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.single-product .product_meta a{color:var(--th-blue);text-decoration:none;font-weight:700;}
ul.products li.product:hover{border-color:transparent;box-shadow:0 8px 24px rgba(13,26,71,0.10);}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:13.5px !important;}
/* ---- variation UX ---- */
.single_add_to_cart_button.disabled,.single_add_to_cart_button.wc-variation-selection-needed{opacity:.45 !important;cursor:not-allowed !important;}
.th-var-pills{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px;}
.th-var-pills button{font-family:var(--th-font-body);font-weight:700;font-size:13px;color:var(--th-navy);background:#fff;border:1.5px solid var(--th-border);border-radius:999px;padding:10px 16px;cursor:pointer;transition:all .12s;}
.th-var-pills button.on{background:var(--th-navy);color:#fff;border-color:var(--th-navy);}
table.variations td.value select{opacity:0;position:absolute;pointer-events:none;height:0;}
table.variations th.label{display:none;}
table.variations,table.variations td{border:none !important;background:none !important;padding:0 !important;}
.woocommerce-variation-price .price{font-size:22px !important;}