/* shop wrapper */
.tx-shop{font-family:var(--tx-body)}
.tx-shop-body{padding-top:30px;padding-bottom:48px}
.tx-shop-bar{background:var(--tx-navy);padding:14px 0}
.tx-shop-bar .tx-crumbs{margin:0}
.tx-shop .woocommerce-result-count{font:600 14px var(--tx-body);color:var(--tx-muted);margin:0 0 18px;float:left}
.tx-shop .woocommerce-ordering{float:right;margin:0 0 18px}
.tx-shop .woocommerce-ordering select{border:1px solid var(--tx-border);border-radius:6px;padding:8px 10px;font:14px var(--tx-body);background:#fff}
.tx-account-cart{background:var(--tx-orange2);color:#fff!important;padding:5px 10px;border-radius:4px;font-weight:700}
.tx-account-cart b{background:#fff;color:var(--tx-orange);border-radius:9px;padding:0 6px;margin-left:2px;font-size:12px}

/* product grid */
.tx-shop ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;margin:0 0 30px!important;padding:0;list-style:none;clear:both}
.tx-shop ul.products::before,.tx-shop ul.products::after{display:none!important}
@media (max-width:1024px){.tx-shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.tx-shop ul.products{grid-template-columns:1fr}}
.tx-shop ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;border:1px solid var(--tx-border);border-radius:var(--tx-radius);background:#fff;overflow:hidden;transition:box-shadow .2s,transform .2s;text-align:left}
.tx-shop ul.products li.product:hover{box-shadow:0 10px 24px rgba(6,36,58,.12);transform:translateY(-2px)}
.tx-shop ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}
.tx-shop ul.products li.product img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:14px;margin:0!important;background:var(--tx-cream);display:block}
.tx-shop ul.products li.product .woocommerce-loop-product__title{font:700 18px/1.3 var(--tx-head)!important;color:var(--tx-navy);padding:14px 16px 4px!important;margin:0}
.tx-shop ul.products li.product .price{display:block;font:800 16px var(--tx-body)!important;color:var(--tx-orange)!important;padding:0 16px 14px;margin:0!important}
.tx-shop ul.products li.product .price del{color:var(--tx-muted);font-weight:500;margin-right:6px}
.tx-shop ul.products li.product .price ins{text-decoration:none}
.tx-shop ul.products li.product .button{margin:auto 16px 16px!important}
.tx-shop .onsale{position:absolute;top:12px;left:12px;right:auto;background:var(--tx-orange);color:#fff;border-radius:4px;padding:4px 8px;font:800 11px var(--tx-body);text-transform:uppercase;letter-spacing:.6px;min-height:0;min-width:0;line-height:1.4;margin:0}

/* buttons */
.tx-shop .button,.tx-shop button.button,.tx-shop .single_add_to_cart_button,.woocommerce .tx-shop a.button,.wc-block-components-button:not(.is-link),.woocommerce-page .wp-element-button{background:var(--tx-orange)!important;color:#fff!important;border:0!important;border-radius:6px!important;font:700 14px/1 var(--tx-body)!important;padding:13px 18px!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.tx-shop .button:hover,.tx-shop .single_add_to_cart_button:hover,.wc-block-components-button:not(.is-link):hover,.woocommerce-page .wp-element-button:hover{background:var(--tx-navy)!important;color:#fff!important}
.tx-shop .button.added::after{margin-left:4px}
.tx-shop a.added_to_cart{display:block;font:700 13px var(--tx-body);color:var(--tx-navy);margin:-8px 16px 14px}

/* empty / coming soon */
.tx-shop-soon{max-width:620px;margin:10px auto;text-align:center;border:2px dashed var(--tx-border);border-radius:var(--tx-radius);padding:36px 24px}
.tx-shop-soon>i{font-size:40px;color:var(--tx-orange)}
.tx-shop-soon h2{font:800 28px var(--tx-head);color:var(--tx-navy);margin:12px 0 8px}
.tx-shop-soon>p{font:16px/1.6 var(--tx-body);color:var(--tx-muted);margin:0 0 20px}
.tx-shop-soon .tx-news{text-align:left;max-width:420px;margin:0 auto}
.tx-shop-soon .tx-news-title,.tx-shop-soon .tx-news-sub{display:none}

/* single product */
.tx-shop div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 48px;align-items:start;position:relative}
.tx-shop div.product>*{grid-column:1 / -1}
.tx-shop div.product .woocommerce-product-gallery{grid-column:1;width:100%!important;float:none!important;margin:0!important}
.tx-shop div.product .summary{grid-column:2;width:100%!important;float:none!important;margin:0!important}
@media (max-width:860px){.tx-shop div.product{grid-template-columns:1fr}.tx-shop div.product .woocommerce-product-gallery,.tx-shop div.product .summary{grid-column:1}}
.tx-shop .woocommerce-product-gallery img{border-radius:var(--tx-radius);background:var(--tx-cream)}
.tx-shop .woocommerce-product-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px!important;padding:0}
.tx-shop .woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;margin:0!important}
.tx-shop .woocommerce-product-gallery .flex-control-thumbs img{border-radius:6px;opacity:.6}
.tx-shop .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;outline:2px solid var(--tx-orange)}
.tx-shop .product_title{font:800 36px/1.15 var(--tx-head);color:var(--tx-navy);margin:0 0 10px}
@media (max-width:767px){.tx-shop .product_title{font-size:28px}}
.tx-shop .summary .price{font:800 24px var(--tx-body)!important;color:var(--tx-orange)!important;margin:0 0 16px}
.tx-shop .summary .woocommerce-product-details__short-description{font:16px/1.65 var(--tx-body);color:var(--tx-text);margin-bottom:18px}
.tx-shop form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 18px!important}
.tx-shop form.variations_form{display:block}
.tx-shop table.variations{width:100%;border:0;margin:0 0 14px}
.tx-shop table.variations th,.tx-shop table.variations td{display:block;border:0;padding:0;background:none;text-align:left}
.tx-shop table.variations th label{font:700 14px var(--tx-body);color:var(--tx-navy)}
.tx-shop table.variations td{padding-bottom:12px}
.tx-shop table.variations select,.tx-shop .quantity input.qty{border:1px solid var(--tx-border);border-radius:6px;padding:11px 12px;font:15px var(--tx-body);min-height:46px;background:#fff}
.tx-shop table.variations select{width:100%;max-width:340px}
.tx-shop .reset_variations{font:600 13px var(--tx-body);color:var(--tx-muted);margin-left:8px}
.tx-shop .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.tx-shop .quantity input.qty{width:80px;text-align:center}
.tx-shop .single_add_to_cart_button{min-height:46px;padding:13px 26px!important;font-size:16px!important}
.tx-shop .product_meta{font:14px/1.7 var(--tx-body);color:var(--tx-muted);border-top:1px solid var(--tx-border);padding-top:14px}
.tx-shop .product_meta a{color:var(--tx-navy);font-weight:600}
.tx-shop-trust{list-style:none;margin:0;padding:18px 20px;background:var(--tx-cream);border-radius:var(--tx-radius);display:flex;flex-wrap:wrap;gap:10px 28px;font:600 14px var(--tx-body);color:var(--tx-navy)}
.tx-shop-trust i{color:var(--tx-orange);margin-right:6px}
.tx-shop .woocommerce-tabs{margin-top:10px}
.tx-shop .woocommerce-tabs ul.tabs{display:flex;gap:4px;padding:0!important;margin:0 0 18px!important;border-bottom:2px solid var(--tx-border);list-style:none}
.tx-shop .woocommerce-tabs ul.tabs::before,.tx-shop .woocommerce-tabs ul.tabs li::before,.tx-shop .woocommerce-tabs ul.tabs li::after{display:none!important}
.tx-shop .woocommerce-tabs ul.tabs li{border:0!important;background:none!important;margin:0!important;padding:0!important;border-radius:0!important}
.tx-shop .woocommerce-tabs ul.tabs li a{display:block;padding:10px 16px!important;font:700 15px var(--tx-body)!important;color:var(--tx-muted)!important;text-decoration:none;margin-bottom:-2px;border-bottom:2px solid transparent}
.tx-shop .woocommerce-tabs ul.tabs li.active a{color:var(--tx-navy)!important;border-bottom-color:var(--tx-orange)}
.tx-shop .woocommerce-Tabs-panel{font:16px/1.7 var(--tx-body);color:var(--tx-text)}
.tx-shop .woocommerce-Tabs-panel>h2:first-child{display:none}
.tx-shop table.shop_attributes{border:1px solid var(--tx-border)}
.tx-shop table.shop_attributes th,.tx-shop table.shop_attributes td{padding:10px 14px;border-color:var(--tx-border);font-style:normal}
.tx-shop .related.products>h2,.tx-shop .upsells.products>h2{font:800 24px var(--tx-head);color:var(--tx-navy);margin:20px 0 16px}

/* notices */
.woocommerce-notices-wrapper .woocommerce-message,.woocommerce-notices-wrapper .woocommerce-info,.woocommerce-notices-wrapper .woocommerce-error{border:0;border-left:4px solid var(--tx-orange);background:var(--tx-cream);border-radius:6px;font:600 15px var(--tx-body);color:var(--tx-navy);padding:14px 16px 14px 46px;margin:0 0 20px}
.woocommerce-notices-wrapper .woocommerce-message::before,.woocommerce-notices-wrapper .woocommerce-info::before{color:var(--tx-orange)}
.woocommerce-notices-wrapper .woocommerce-message .button{float:right;padding:9px 14px!important}

/* cart / checkout / account (block pages) */
.woocommerce-cart .wc-block-cart,.woocommerce-checkout .wc-block-checkout{font-family:var(--tx-body)}
.woocommerce-cart h1.entry-title,.woocommerce-checkout h1.entry-title,.woocommerce-account h1.entry-title{font:800 38px var(--tx-head);color:var(--tx-navy)}
.wc-block-components-product-name{font:700 16px var(--tx-head)!important;color:var(--tx-navy)!important;text-decoration:none}
.wc-block-components-totals-item__label,.wc-block-components-totals-item__value{font-family:var(--tx-body)}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--tx-orange);font-weight:800}
.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control__input,.wc-blocks-components-select__select{border-radius:6px!important;border-color:var(--tx-border)!important}
.wc-block-components-text-input.is-active input:focus,.wc-block-components-text-input input:focus{border-color:var(--tx-orange)!important;box-shadow:0 0 0 1px var(--tx-orange)!important}
.wc-block-components-checkout-step__title,.wc-block-cart__totals-title{font:800 20px var(--tx-head)!important;color:var(--tx-navy)!important;text-transform:none!important}

/* homepage strip */
.tx-shop-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1024px){.tx-shop-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tx-shop-item{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}
.tx-shop-img img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:12px;border-radius:var(--tx-radius);background:var(--tx-cream);display:block;margin-bottom:8px}
.tx-shop-name{font:700 16px/1.3 var(--tx-head);color:var(--tx-navy)}
.tx-shop-item:hover .tx-shop-name{color:var(--tx-orange)}
.tx-shop-price{font:800 15px var(--tx-body);color:var(--tx-orange)}
.tx-shop-teaser{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:linear-gradient(135deg,var(--tx-navy),var(--tx-navy2));color:#fff;border-radius:var(--tx-radius);padding:22px 24px;text-decoration:none;font:16px/1.5 var(--tx-body)}
.tx-shop-teaser>i{font-size:34px;color:var(--tx-orange2)}
.tx-shop-teaser span{flex:1 1 280px}
.tx-shop-teaser strong{font:800 19px var(--tx-head);display:block;color:#fff}
.tx-shop-teaser em{font-style:normal;font-weight:700;background:var(--tx-orange);padding:11px 16px;border-radius:6px;display:inline-flex;gap:8px;align-items:center}
.tx-shop-teaser:hover em{background:#fff;color:var(--tx-navy)}

/* account pages (Profile Builder + WooCommerce My Account) */
.site-main>.page-header .entry-title{font:800 38px/1.15 var(--tx-head);color:var(--tx-navy);margin:30px 0 18px}
.wppb-user-forms,#wppb-login-wrap,.wppb-front-end-logout{max-width:560px;background:#fff;border:1px solid var(--tx-border);border-radius:var(--tx-radius);padding:26px;font-family:var(--tx-body);margin-bottom:40px}
.wppb-user-forms ul{list-style:none;margin:0;padding:0}
.wppb-user-forms li.wppb-form-field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:0!important}
.wppb-user-forms label,#wppb-login-wrap label{width:auto!important;float:none!important;font:700 14px var(--tx-body);color:var(--tx-navy)}
.wppb-user-forms input[type=text],.wppb-user-forms input[type=email],.wppb-user-forms input[type=password],.wppb-user-forms select,.wppb-user-forms textarea,#wppb-login-wrap input[type=text],#wppb-login-wrap input[type=password]{width:100%!important;max-width:none!important;border:1px solid var(--tx-border);border-radius:6px;padding:11px 12px;font:15px var(--tx-body);background:#fff;box-sizing:border-box}
.wppb-user-forms input:focus,#wppb-login-wrap input:focus{outline:0;border-color:var(--tx-orange);box-shadow:0 0 0 1px var(--tx-orange)}
.wppb-default-name-heading,.wppb-default-contact-info-heading,.wppb-default-about-yourself-heading,.wppb-default-nickname,.wppb-default-website,.wppb-default-biographical-info{display:none!important}
.wppb-user-forms .wppb-send-credentials-checkbox label{font-weight:600;display:flex;gap:8px;align-items:center}
.wppb-user-forms input[type=submit],#wppb-login-wrap input[type=submit]{background:var(--tx-orange)!important;color:#fff!important;border:0!important;border-radius:6px!important;font:700 15px/1 var(--tx-body)!important;padding:14px 24px!important;cursor:pointer;text-transform:none!important}
.wppb-user-forms input[type=submit]:hover,#wppb-login-wrap input[type=submit]:hover{background:var(--tx-navy)!important}
.wppb-error,.wppb-warning,.wppb-success{border-radius:6px;font:600 14px var(--tx-body)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 20px;border:1px solid var(--tx-border);border-radius:var(--tx-radius);overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:11px 16px;font:600 15px var(--tx-body);color:var(--tx-navy);text-decoration:none;border-bottom:1px solid var(--tx-border)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--tx-cream);color:var(--tx-orange)}
