/* Every rule is scoped to commerce routes. Existing Divi headers/footers remain. */
body.tfw-commerce{--tfw-gold:#ccb36b;--tfw-ink:#101010;--tfw-muted:#5b5d60;--tfw-line:#e5e2da;--tfw-paper:#f7f6f2;--tfw-heading:'Oswald',Impact,'Arial Narrow',sans-serif;--tfw-body:'Poppins',Arial,sans-serif;background:var(--tfw-paper);font-family:var(--tfw-body);color:var(--tfw-ink)}
.tfw-commerce #main-content{background:var(--tfw-paper)}
.tfw-commerce .tfw-wrap{width:calc(100% - 64px);max-width:1180px;margin-inline:auto}
.tfw-commerce .tfw-hero{background:#101010;color:#fff;padding:48px 0 52px;border-bottom:4px solid var(--tfw-gold);background-image:radial-gradient(ellipse at 95% 15%,#ccb36b1c,transparent 60%)}
.tfw-commerce .tfw-eyebrow{font-family:var(--tfw-heading);font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--tfw-gold);margin:0 0 12px;padding:0}
.tfw-commerce .tfw-hero-title{font-family:var(--tfw-heading);font-weight:600;font-size:clamp(32px,4vw,54px);line-height:1.12;text-transform:uppercase;color:#fff;padding:0;margin:0 0 14px;max-width:850px}
.tfw-commerce .tfw-hero-copy{font-size:14px;line-height:1.8;color:#d7d7d7;margin:0;padding:0}
.tfw-commerce .tfw-content{padding-block:40px 60px}
.tfw-commerce .tfw-progress{margin-bottom:32px}
.tfw-commerce .tfw-progress ol{display:flex;justify-content:center;gap:clamp(16px,5vw,72px);padding:0;list-style:none;margin:0}
.tfw-commerce .tfw-progress li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#676767}
.tfw-commerce .tfw-step-number{border:1px solid #c9c9c9;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:12px}
.tfw-commerce .tfw-progress .is-active{color:#101010}.tfw-commerce .is-active .tfw-step-number{background:#101010;color:var(--tfw-gold);border-color:#101010}
.tfw-commerce .tfw-progress a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.tfw-commerce .tfw-content h1,.tfw-commerce .tfw-content h2,.tfw-commerce .tfw-content h3,.tfw-commerce .tfw-content h4{font-family:var(--tfw-heading);color:var(--tfw-ink);font-weight:600;line-height:1.25}
.tfw-commerce .tfw-content h2{font-size:27px}.tfw-commerce .tfw-content h3{font-size:22px}
.tfw-commerce .tfw-content p,.tfw-commerce .tfw-content li{line-height:1.8}
.tfw-commerce .tfw-content a{color:#665015;text-underline-offset:3px}
.tfw-commerce .tfw-content a:hover{color:#101010}
.tfw-commerce .woocommerce-breadcrumb{font-size:12px;color:#606060;margin-bottom:22px}
.tfw-commerce .woocommerce div.product{background:transparent}
.tfw-commerce .woocommerce div.product div.images{width:46%;margin-bottom:32px;background:#eeeae0;border:1px solid var(--tfw-line);border-radius:16px;overflow:hidden;padding:24px}
.tfw-commerce .woocommerce div.product div.images img{max-height:520px;width:auto;max-width:100%;margin-inline:auto;object-fit:contain;border-radius:4px}
.tfw-commerce .woocommerce div.product div.summary{width:49%;background:#fff;border:1px solid var(--tfw-line);border-radius:16px;padding:34px;margin-bottom:32px;box-sizing:border-box}
.tfw-commerce .woocommerce div.product .product_title{font-size:clamp(30px,3.5vw,44px);padding:0;margin-bottom:18px}
.tfw-commerce .woocommerce div.product p.price,.tfw-commerce .woocommerce div.product span.price{font-family:var(--tfw-heading);font-size:30px;color:#101010;font-weight:500;margin:0 0 18px}
.tfw-commerce .woocommerce-product-details__short-description{font-size:14px;color:#555;line-height:1.85;margin-bottom:24px}
.tfw-commerce .woocommerce div.product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.tfw-commerce .woocommerce div.product form.cart.variations_form,.tfw-commerce .woocommerce div.product form.cart.grouped_form{display:block}
.tfw-commerce .woocommerce div.product form.cart .quantity{margin:0}
.tfw-commerce .woocommerce .quantity input.qty{background:#faf9f5!important;border:1px solid #c7c3b8!important;color:#101010!important;width:72px;min-height:52px;border-radius:8px;font-size:16px!important}
.tfw-commerce .woocommerce div.product .product_meta{font-size:12px;border-top:1px solid var(--tfw-line);padding-top:20px;line-height:1.8}
.tfw-commerce .woocommerce div.product .woocommerce-tabs{clear:both;padding:28px 32px;background:#fff;border:1px solid var(--tfw-line);border-radius:16px;margin-bottom:32px}
.tfw-commerce .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;border:0!important;background:none!important;margin-bottom:25px!important}
.tfw-commerce .woocommerce div.product .woocommerce-tabs ul.tabs:before,.tfw-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li:before,.tfw-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}
.tfw-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;border-radius:0;background:none!important;padding:0!important;margin:0 24px 0 0!important}
.tfw-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:14px!important;color:#656565!important;padding:10px 0!important}
.tfw-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#101010!important;border-bottom:3px solid var(--tfw-gold)}
.tfw-commerce .woocommerce div.product .woocommerce-tabs .panel{margin:0;font-size:14px;color:#4f4f4f}.tfw-commerce .woocommerce .related.products{display:none}
/* Native WooCommerce buttons, including block checkout/payment buttons. */
.tfw-commerce #main-content .woocommerce a.button,.tfw-commerce #main-content .woocommerce button.button,.tfw-commerce #main-content .woocommerce input.button,.tfw-commerce #main-content #respond input#submit,.tfw-commerce #main-content .wc-block-components-button,.tfw-commerce #main-content .wp-element-button{background:var(--tfw-gold)!important;color:#101010!important;border:1px solid var(--tfw-gold)!important;border-radius:999px!important;font-family:var(--tfw-heading)!important;text-transform:uppercase;font-weight:600!important;letter-spacing:.08em;font-size:15px!important;line-height:1.3!important;padding:16px 26px!important;min-height:52px;box-shadow:none!important;text-decoration:none!important;transition:background .18s,border-color .18s}
.tfw-commerce #main-content .woocommerce .button:hover,.tfw-commerce #main-content .wc-block-components-button:hover,.tfw-commerce #main-content .wp-element-button:hover{background:#dfc77f!important;border-color:#dfc77f!important}
.tfw-commerce #main-content .woocommerce .button:after,.tfw-commerce #main-content #respond input#submit:after{display:none!important}
.tfw-commerce #main-content button:disabled{opacity:.5;cursor:not-allowed}.tfw-commerce #main-content a:focus-visible,.tfw-commerce #main-content button:focus-visible,.tfw-commerce #main-content input:focus-visible,.tfw-commerce #main-content select:focus-visible,.tfw-commerce #main-content textarea:focus-visible{outline:3px solid #806722!important;outline-offset:3px}
/* Keep Woo block structure/data/events intact and allow its actual desktop layout. */
.tfw-commerce .wp-block-woocommerce-cart,.tfw-commerce .wp-block-woocommerce-checkout{max-width:none;width:100%;font-family:var(--tfw-body);color:#101010}
.tfw-commerce .wc-block-components-main,.tfw-commerce .wc-block-components-sidebar{background:#fff;border:1px solid var(--tfw-line);border-radius:16px;padding:28px;box-sizing:border-box}
.tfw-commerce .wc-block-components-sidebar{align-self:start}
.tfw-commerce .wc-block-components-title,.tfw-commerce .wc-block-components-checkout-step__title{font-family:var(--tfw-heading)!important;font-size:25px!important;line-height:1.3!important;font-weight:600!important}
.tfw-commerce .wc-block-cart-items{font-size:14px!important;border-collapse:collapse!important}
.tfw-commerce .wc-block-cart-items th{font-family:var(--tfw-heading);font-size:12px;letter-spacing:.08em;color:#656565}
.tfw-commerce .wc-block-components-product-name{color:#101010!important;font-family:var(--tfw-heading);font-size:22px!important;line-height:1.3;text-decoration:none}
.tfw-commerce .wc-block-components-product-metadata{color:#666;font-size:12px!important}
.tfw-commerce .wc-block-cart-item__image img{border-radius:6px;max-height:130px;object-fit:contain}
.tfw-commerce .wc-block-cart-item__quantity{margin-top:14px}.tfw-commerce .wc-block-components-quantity-selector{border:1px solid #c7c3b8;border-radius:8px;min-height:44px}
.tfw-commerce .wc-block-components-quantity-selector input{color:#101010!important;font-size:15px!important}
.tfw-commerce .wc-block-components-quantity-selector button{min-width:36px;min-height:42px;color:#101010}
.tfw-commerce .wc-block-cart-item__remove-link{font-size:12px!important;color:#5b5d60!important;min-height:36px}
.tfw-commerce .wc-block-components-totals-item{padding-block:14px!important;font-size:14px}
.tfw-commerce .wc-block-components-totals-footer-item{border-top:1px solid var(--tfw-line);font-family:var(--tfw-heading);font-size:24px!important}
.tfw-commerce .wc-block-cart__submit-container{margin-top:20px}
.tfw-commerce .wc-block-components-text-input input,.tfw-commerce .wc-block-components-combobox-control input,.tfw-commerce .wc-block-components-form select,.tfw-commerce .wc-block-components-form textarea{border-color:#c7c3b8!important;border-radius:8px!important;background:#fff!important;color:#101010!important;font-family:var(--tfw-body)!important;font-size:14px!important;min-height:52px}
.tfw-commerce .wc-block-components-text-input label{color:#606060!important;font-size:13px!important}
.tfw-commerce .wc-block-components-checkout-step{margin-bottom:26px}.tfw-commerce .wc-block-components-checkout-step__container{border-color:var(--tfw-line)}
.tfw-commerce .wc-block-components-checkbox label{font-size:12px!important;line-height:1.7!important}.tfw-commerce .wc-block-components-checkbox input[type=checkbox]{accent-color:#101010}
.tfw-commerce .wc-block-components-checkout-place-order-button{width:100%}.tfw-commerce .wc-block-checkout__terms{font-size:12px;color:#5b5d60}
/* Classic shortcode pages and native order endpoints are supported too. */
.tfw-commerce .tfw-order-content>.woocommerce{background:#fff;padding:32px;border:1px solid var(--tfw-line);border-radius:16px}
.tfw-commerce .woocommerce table.shop_table{border:1px solid var(--tfw-line);border-radius:10px;font-size:14px;background:#fff}
.tfw-commerce .woocommerce table.shop_table th{font-family:var(--tfw-heading);font-size:16px;background:#f7f6f2;padding:16px}.tfw-commerce .woocommerce table.shop_table td{padding:16px}
.tfw-commerce .woocommerce form .form-row input.input-text,.tfw-commerce .woocommerce form .form-row textarea,.tfw-commerce .woocommerce form .form-row select,.tfw-commerce .select2-container .select2-selection--single{background:#fff!important;color:#101010!important;border:1px solid #c7c3b8!important;border-radius:8px;font-family:var(--tfw-body);font-size:14px;padding:12px;min-height:48px}
.tfw-commerce .woocommerce form .form-row label{font-size:13px}.tfw-commerce .woocommerce-checkout #payment{background:#f7f6f2;border:1px solid var(--tfw-line);border-radius:10px}
.tfw-commerce .woocommerce-info,.tfw-commerce .woocommerce-message,.tfw-commerce .woocommerce-error{background:#fff!important;color:#101010!important;border-radius:8px;font-size:14px;border-top-color:var(--tfw-gold)!important}
.tfw-commerce .woocommerce-message:before,.tfw-commerce .woocommerce-info:before{color:#665015!important}
.tfw-commerce .woocommerce-notice--success{padding:20px!important;border-left:4px solid var(--tfw-gold);background:#f8f4e7;font-family:var(--tfw-heading);font-size:26px;margin-bottom:28px}
.tfw-commerce .woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:20px;background:#f7f6f2;border:1px solid var(--tfw-line);padding:24px!important;border-radius:10px;margin:24px 0!important}
.tfw-commerce .woocommerce ul.order_details li{float:none;margin:0;padding:0 20px 0 0;font-size:12px;flex:1;min-width:140px}.tfw-commerce .woocommerce ul.order_details li strong{font-size:16px;padding-top:5px}
.tfw-commerce .woocommerce-customer-details address{border:1px solid var(--tfw-line)!important;padding:20px!important;border-radius:10px!important;font-size:14px;line-height:1.9}
.tfw-commerce .tfw-help{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px;padding:26px 30px;border:1px solid var(--tfw-line);border-radius:12px;background:#eeeae0}
.tfw-commerce .tfw-help .tfw-eyebrow{color:#665015;margin-bottom:6px}.tfw-commerce .tfw-help h2{font-size:23px;margin:0;padding:0}.tfw-commerce .tfw-help-link{font-size:13px;font-weight:500;white-space:nowrap;color:#101010!important;text-decoration:underline}
/* Suppress promotional overlays on purchase routes only. Do not suppress WC notices. */
.tfw-commerce .hustle-popup,.tfw-commerce .hustle-popup-mask,.tfw-commerce [id^="hustle-popup-id-"]{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.tfw-commerce.hustle-popup-open,body.tfw-commerce.hustle-no-scroll{overflow:auto!important}
@media(min-width:1000px){.tfw-commerce .wc-block-components-sidebar-layout{display:flex;gap:28px;align-items:flex-start}.tfw-commerce .wc-block-components-sidebar-layout .wc-block-components-main{flex:1;width:auto;margin:0;min-width:0}.tfw-commerce .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:350px;flex:0 0 350px;margin:0}.tfw-commerce .wc-block-checkout__sidebar{position:sticky;top:110px}}
@media(max-width:999px){.tfw-commerce .wc-block-components-main,.tfw-commerce .wc-block-components-sidebar{padding:22px;width:100%;margin:0 0 22px}.tfw-commerce .wc-block-components-sidebar-layout{display:block}.tfw-commerce .woocommerce div.product div.summary{padding:25px}}
@media(max-width:767px){.tfw-commerce .tfw-wrap{width:calc(100% - 32px)}.tfw-commerce .tfw-hero{padding:30px 0 34px}.tfw-commerce .tfw-hero-copy{font-size:12px}.tfw-commerce .tfw-content{padding-block:24px 36px}.tfw-commerce .tfw-progress ol{gap:16px}.tfw-commerce .tfw-progress li{font-size:11px;gap:6px}.tfw-commerce .tfw-step-number{width:24px;height:24px}.tfw-commerce .woocommerce div.product div.images,.tfw-commerce .woocommerce div.product div.summary{float:none;width:100%;margin-bottom:18px}.tfw-commerce .woocommerce div.product div.images{padding:16px}.tfw-commerce .woocommerce div.product div.images img{max-height:300px}.tfw-commerce .woocommerce div.product div.summary{padding:24px}.tfw-commerce .woocommerce div.product .product_title{font-size:32px}.tfw-commerce .woocommerce div.product .woocommerce-tabs{padding:22px}.tfw-commerce .woocommerce div.product form.cart .single_add_to_cart_button{flex:1}.tfw-commerce .tfw-help{display:block;padding:22px}.tfw-commerce .tfw-help-link{display:inline-block;margin-top:14px}.tfw-commerce .tfw-order-content>.woocommerce{padding:20px}.tfw-commerce .wc-block-components-main,.tfw-commerce .wc-block-components-sidebar{padding:18px}.tfw-commerce .woocommerce table.shop_table td{padding:12px}.tfw-commerce .woocommerce ul.order_details{padding:18px!important}.tfw-commerce .woocommerce .col2-set .col-1,.tfw-commerce .woocommerce .col2-set .col-2{float:none;width:100%;margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.tfw-commerce *{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:767px){.tfw-product .tfw-hero{display:none}.tfw-product .tfw-content{padding-top:20px}.tfw-product .woocommerce div.product div.images img{max-height:220px}}
.tfw-commerce .woocommerce div.product div.images img{display:block}
.tfw-commerce .woocommerce ul.order_details{list-style:none}
.tfw-commerce .woocommerce ul.order_details li strong{display:block}
