/* Scoped presentation only: native WooCommerce forms and endpoint markup. */
.ttt-commerce-main{--ttt-positive:#287a3c;--ttt-negative:#a33333}
.ttt-commerce-heading{margin-bottom:36px}
.ttt-commerce-heading .ttt-shop-nav{border-bottom:1px solid var(--ttt-rule);padding-bottom:22px}
.ttt-commerce-heading .ttt-shop-nav [aria-current=page]{font-weight:600;border-bottom-width:2px}
.ttt-commerce-main .woocommerce{font:400 17px/1.55 var(--ttt-sans);color:var(--ttt-ink)}
.ttt-commerce-main .woocommerce h2{font-size:clamp(26px,3vw,32px);margin:0 0 24px}
.ttt-commerce-main .woocommerce h3{font-size:25px;line-height:1.25;margin:0 0 22px}
.ttt-commerce-main .woocommerce p{font:400 17px/1.6 var(--ttt-sans);max-width:none;margin:0 0 20px}
.ttt-commerce-main .woocommerce a:not(.button):not(.remove):not(.ttt-shop-cover){text-underline-offset:4px}
.ttt-commerce-main .woocommerce :is(input,select,textarea,button){font-family:var(--ttt-sans);font-size:17px;letter-spacing:0}
.ttt-commerce-main .woocommerce :is(input.input-text,textarea,select){border:1px solid #b9b6b0;border-radius:0;background:#fff;color:var(--ttt-ink);padding:12px 14px;min-height:48px;box-shadow:none;width:100%}
.ttt-commerce-main .woocommerce input[type=checkbox],.ttt-commerce-main .woocommerce input[type=radio]{accent-color:#287a3c}
.ttt-commerce-main .woocommerce label,.ttt-commerce-main .woocommerce .form-row label{font:400 17px/1.5 var(--ttt-sans);margin-bottom:7px}
.ttt-commerce-main .woocommerce .form-row{padding:0;margin:0 0 22px}
.ttt-commerce-main .woocommerce .form-row-first,.ttt-commerce-main .woocommerce .form-row-last{width:48%}
.ttt-commerce-main .woocommerce :is(.button,button.button,input.button,a.button){font:400 17px/1.4 var(--ttt-sans);text-transform:none;letter-spacing:0;border:1px solid #222;border-radius:0;padding:12px 20px;background:#222;color:#fff;box-shadow:none;text-decoration:none;min-height:48px;text-align:center;white-space:normal}
.ttt-commerce-main .woocommerce :is(.button,button.button,input.button,a.button):hover{background:#444;color:#fff}
.ttt-commerce-main .woocommerce :is(.checkout-button,#place_order){background:var(--ttt-positive);border-color:var(--ttt-positive);color:#fff;width:100%}
.ttt-commerce-main .woocommerce :is(.checkout-button,#place_order):hover{background:#206330}
.ttt-commerce-main .woocommerce :is(button:disabled,.button.disabled){opacity:.5;cursor:not-allowed}
.ttt-commerce-main :is(a,button,input,select,textarea):focus-visible{outline:2px solid #287a3c;outline-offset:4px}
.ttt-commerce-main .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){background:#efeee9;border:0;border-left:3px solid #777;padding:18px 22px;margin:0 0 28px;color:var(--ttt-ink);box-shadow:none;font:400 17px/1.6 var(--ttt-sans)}
.ttt-commerce-main .woocommerce .woocommerce-message{border-left-color:var(--ttt-positive)}
.ttt-commerce-main .woocommerce .woocommerce-error{border-left-color:var(--ttt-negative)}
.ttt-commerce-main .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{display:none}
.ttt-commerce-main .woocommerce .woocommerce-error li{margin:0}
.ttt-commerce-main .woocommerce table.shop_table{border:0;border-collapse:collapse;border-radius:0;background:transparent;margin:0 0 28px;font:400 17px/1.5 var(--ttt-sans);width:100%}
.ttt-commerce-main .woocommerce table.shop_table :is(th,td){border:0;border-bottom:1px solid var(--ttt-rule);padding:18px 12px;background:transparent;vertical-align:middle}
.ttt-commerce-main .woocommerce table.shop_table th{font-weight:500;color:#5e5c58}
.ttt-commerce-main .woocommerce table.shop_table thead{background:transparent}
.ttt-commerce-main .woocommerce table.shop_table :is(.product-price,.product-subtotal){white-space:nowrap;font-variant-numeric:tabular-nums}
.ttt-commerce-main .woocommerce table.cart .product-thumbnail{width:90px;padding-left:0}
.ttt-commerce-main .woocommerce table.cart .product-thumbnail img{width:76px;max-width:76px;height:76px;object-fit:contain}
.ttt-commerce-main .woocommerce table.cart .product-name>a{font-weight:500;font-size:20px;text-decoration:none}
.ttt-commerce-main .woocommerce dl.variation{font-size:15px;color:#5e5c58;margin:6px 0 0}
.ttt-commerce-main .woocommerce dl.variation :is(dt,dd,p){font:400 15px/1.5 var(--ttt-sans);margin-bottom:0}
.ttt-commerce-main .woocommerce a.remove{color:var(--ttt-negative)!important;font:400 25px/32px var(--ttt-sans);width:34px;height:34px;border:1px solid #d5b6b6;border-radius:0;text-decoration:none}
.ttt-commerce-main .woocommerce a.remove:hover{background:var(--ttt-negative);color:#fff!important}
.ttt-commerce-main .woocommerce .quantity .qty{width:76px;min-height:44px;padding:8px;text-align:center}
.ttt-commerce-main .woocommerce table.cart td.actions{padding:24px 0}
.ttt-commerce-main .woocommerce table.cart td.actions .coupon{display:flex;gap:10px;align-items:start;flex-wrap:wrap}
.ttt-commerce-main .woocommerce table.cart td.actions .coupon #coupon_code{width:190px;margin:0}
.ttt-commerce-main .woocommerce .cart-collaterals{display:flow-root;margin-top:30px}
.ttt-commerce-main .woocommerce .cart-collaterals .cart_totals{float:right;width:min(100%,480px);padding:26px 28px;background:#efeee9;border:0;border-top:2px solid var(--ttt-ink);border-radius:0}
.ttt-commerce-main .woocommerce .cart_totals h2{padding:0;background:none;border:0}
.ttt-commerce-main .woocommerce .cart_totals table th{width:45%}
.ttt-commerce-main .woocommerce .cart_totals table td{text-align:right}
.ttt-commerce-main .woocommerce .wc-proceed-to-checkout{padding:0}
.ttt-commerce-main .woocommerce .wc-proceed-to-checkout a{margin:0}
.ttt-commerce-main .woocommerce form.checkout{display:flow-root}
.ttt-commerce-main .woocommerce form.checkout #customer_details{float:left;width:54%;margin:0;padding:0}
.ttt-commerce-main .woocommerce form.checkout #customer_details>.col-1,.ttt-commerce-main .woocommerce form.checkout #customer_details>.col-2{width:100%;float:none;padding:0;margin:0 0 30px}
.ttt-commerce-main .woocommerce form.checkout #order_review_heading{float:right;width:40%;padding:24px 24px 0;margin:0;background:#efeee9;border:0;border-top:2px solid var(--ttt-ink);clear:none}
.ttt-commerce-main .woocommerce form.checkout #order_review{float:right;width:40%;padding:14px 24px 24px;margin:0;background:#efeee9;border:0;clear:right}
.ttt-commerce-main .woocommerce form.checkout #order_review table{font-size:16px}
.ttt-commerce-main .woocommerce form.checkout #order_review :is(th,td){padding:14px 6px}
.ttt-commerce-main .woocommerce #payment{background:transparent;border:0;border-radius:0}
.ttt-commerce-main .woocommerce #payment :is(ul.payment_methods,.form-row){padding:18px 0 0;border:0}
.ttt-commerce-main .woocommerce #payment .payment_box{background:#fff;border:1px solid var(--ttt-rule);color:var(--ttt-ink)}
.ttt-commerce-main .woocommerce #payment .payment_box::before{display:none}
.ttt-commerce-main .woocommerce #payment p{font-size:15px;line-height:1.55}
.ttt-commerce-main .select2-container .select2-selection--single{height:48px;border:1px solid #b9b6b0;border-radius:0;background:#fff}
.ttt-commerce-main .select2-container .select2-selection--single .select2-selection__rendered{padding:8px 14px;line-height:30px;color:var(--ttt-ink)}
.ttt-commerce-main .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.ttt-commerce-main .woocommerce :is(form.login,form.register,form.lost_reset_password){border:0;border-top:1px solid var(--ttt-rule);border-radius:0;padding:26px 0;margin:0;max-width:580px}
.ttt-commerce-main .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme{display:block;margin-bottom:18px}
.ttt-commerce-main .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register) .button{float:none;margin-bottom:20px}
.ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation{float:left;width:23%;border:0;margin:0}
.ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ttt-rule)}
.ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation li{border:0;border-bottom:1px solid var(--ttt-rule);margin:0;padding:0}
.ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation li a{display:block;padding:14px 16px;text-decoration:none;background:transparent;color:var(--ttt-ink)}
.ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation li.is-active a{background:#efeee9;border-left:3px solid var(--ttt-ink);padding-left:13px;font-weight:600}
.ttt-commerce-main .woocommerce .woocommerce-MyAccount-content{float:right;width:71%;padding:0;border:0;min-width:0}
.ttt-commerce-main .woocommerce .woocommerce-MyAccount-content :is(.col-1,.col-2){float:none;width:100%;margin-bottom:30px}
.ttt-commerce-main .woocommerce address{background:#efeee9;padding:20px;border:0;border-radius:0;font-style:normal;line-height:1.7}
.ttt-commerce-main .woocommerce fieldset{padding:22px 0 0;margin:25px 0;border:0;border-top:1px solid var(--ttt-rule)}
.ttt-commerce-main .woocommerce legend{font:500 25px/1.3 var(--ttt-sans);padding:0 15px 0 0}
.ttt-commerce-main .woocommerce .woocommerce-order-overview{padding:0;margin:0 0 32px;display:flex;flex-wrap:wrap;gap:20px}
.ttt-commerce-main .woocommerce .woocommerce-order-overview li{border:0;border-left:1px solid var(--ttt-rule);padding-left:20px;margin:0;font-size:15px;text-transform:none}
.ttt-recommendations{clear:both;color:var(--ttt-ink);margin-bottom:36px}
.ttt-recommendations h2,.ttt-recommendations h3{font-family:var(--ttt-sans);text-transform:none;color:var(--ttt-ink);letter-spacing:-.02em}
.ttt-recommendations h2{font-size:32px;font-weight:600}
.ttt-recommendations .ttt-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ttt-recommendations .ttt-shop-cover{max-width:210px;width:100%}
.ttt-recommendations .ttt-shop-cover img{aspect-ratio:1;object-fit:contain;display:block;width:100%;height:auto}
.ttt-recommendations a{color:var(--ttt-ink)}
.ttt-recommendations .ttt-shop-album h3{font-size:23px}
.ttt-recommendations .ttt-shop-album h3 a{text-decoration:none}
@media(max-width:900px){
 .ttt-commerce-main .woocommerce form.checkout #customer_details,.ttt-commerce-main .woocommerce form.checkout #order_review_heading,.ttt-commerce-main .woocommerce form.checkout #order_review{float:none;width:100%}
 .ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation,.ttt-commerce-main .woocommerce .woocommerce-MyAccount-content{float:none;width:100%;margin-bottom:30px}
 .ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:0 12px}
 .ttt-commerce-main .woocommerce .woocommerce-MyAccount-navigation li a{padding:12px}
 .ttt-recommendations .ttt-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .ttt-commerce-main .woocommerce table.shop_table_responsive tr td{background:transparent;text-align:right!important}
 .ttt-commerce-main .woocommerce table.cart tr.cart_item{display:block;position:relative;padding:16px 0 24px;margin-bottom:18px;border-bottom:1px solid var(--ttt-rule)}
 .ttt-commerce-main .woocommerce table.cart tr.cart_item td{padding:10px 0;border:0}
 .ttt-commerce-main .woocommerce table.cart tr.cart_item .product-thumbnail{display:block;width:auto;text-align:left!important}
 .ttt-commerce-main .woocommerce table.cart .product-thumbnail::before,.ttt-commerce-main .woocommerce table.cart .product-name::before{display:none}
 .ttt-commerce-main .woocommerce table.cart tr.cart_item .product-remove{position:absolute;top:16px;right:0}
 .ttt-commerce-main .woocommerce table.cart tr.cart_item .product-name{text-align:left!important}
 .ttt-commerce-main .woocommerce table.cart .product-name dl{text-align:left;float:none}
 .ttt-commerce-main .woocommerce table.cart td.actions .coupon{float:none;margin-bottom:15px}
 .ttt-commerce-main .woocommerce table.cart td.actions .coupon #coupon_code{flex:1;min-width:120px;width:140px}
 .ttt-commerce-main .woocommerce .cart-collaterals .cart_totals{width:100%;padding:22px 18px}
 .ttt-commerce-main .woocommerce :is(.form-row-first,.form-row-last){float:none;width:100%}
 .ttt-commerce-main .woocommerce form.checkout #order_review,.ttt-commerce-main .woocommerce form.checkout #order_review_heading{padding-left:18px;padding-right:18px}
 .ttt-commerce-main .woocommerce .woocommerce-MyAccount-content table :is(td,th){overflow-wrap:anywhere}
}
@media(max-width:540px){.ttt-recommendations .ttt-shop-grid{grid-template-columns:1fr}.ttt-commerce-heading{margin-bottom:28px}}
.ttt-commerce .select2-dropdown{font:400 17px/1.5 var(--ttt-sans);border:1px solid #b9b6b0;border-radius:0}
.ttt-commerce .select2-container--default .select2-results__option--highlighted[aria-selected]{background:#287a3c;color:#fff}
/* Supersede the old global prototype button rules on migrated commerce pages. */
body.ttt-commerce .ttt-commerce-main .woocommerce :is(.button,button.button,input.button,a.button){font:400 17px/1.4 var(--ttt-sans)!important;background:#222!important;color:#fff!important;letter-spacing:0!important;text-transform:none!important;padding:12px 20px!important}
body.ttt-commerce .ttt-commerce-main .woocommerce :is(.checkout-button,#place_order){background:#287a3c!important;border-color:#287a3c!important}
body.ttt-commerce .ttt-commerce-main .woocommerce :is(.checkout-button,#place_order):hover{background:#206330!important}

/* Clear sequence: payment, codes, agreements, order. */
.ttt-commerce-main .woocommerce #payment .ttt-checkout-codes{border-top:1px solid var(--ttt-rule);border-bottom:1px solid var(--ttt-rule);padding:24px 0;margin:0 0 24px}
.ttt-commerce-main .woocommerce #payment :is(.ttt-checkout-codes h3,.ttt-checkout-agreements-heading){font-size:20px;line-height:1.3;margin:0 0 18px}
.ttt-commerce-main .woocommerce #payment .ttt-code-entry{margin:0 0 18px}
.ttt-commerce-main .woocommerce #payment .ttt-code-entry:last-child{margin-bottom:0}
.ttt-commerce-main .woocommerce #payment .ttt-code-entry label{display:block;font-size:15px;margin:0 0 7px}
.ttt-commerce-main .woocommerce #payment .ttt-code-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.ttt-commerce-main .woocommerce #payment .ttt-code-controls .input-text{flex:1 1 140px;width:0;min-width:120px}
body.ttt-commerce .ttt-commerce-main .woocommerce #payment .ttt-code-controls .button{background:transparent!important;color:#191919!important;border:1px solid #191919;font-size:14px!important;padding:10px 12px!important;margin:0;flex:0 0 auto}
.ttt-commerce-main .woocommerce #payment .ttt-download-consent{margin:0 0 20px;padding:0;border:0}
.ttt-commerce-main .woocommerce #payment .ttt-download-consent>p:last-child{margin:8px 0 0 26px;font-size:14px}
.ttt-commerce-main .woocommerce #payment .form-row label.checkbox{font-size:15px;line-height:1.5;display:block;padding-left:26px;position:relative}
.ttt-commerce-main .woocommerce #payment .form-row label.checkbox input[type=checkbox]{position:absolute;left:0;top:5px;margin:0;width:16px;height:16px}
.ttt-commerce-main .woocommerce #payment .form-row:not(.place-order){padding:0;margin:0 0 18px}
.ttt-commerce-main .woocommerce .ttt-account-notice{padding:18px 20px;border-left:2px solid var(--ttt-ink);background:#efeee9;font-size:15px}
.ttt-commerce-main .woocommerce #payment #pwgc-redeem-error{color:#a33333;font-size:14px}
.ttt-commerce-main .woocommerce #payment :is(#ttt-coupon-result,#pwgc-redeem-error):not(:empty){margin-top:10px}
