/*
Theme Name: Heat Collective
Theme URI: https://example.com/heat-collective
Author: OpenAI
Author URI: https://openai.com
Description: Brutalistyczny motyw fitness / calisthenics z pełnym wsparciem WooCommerce.
Version: 3.0.87
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: heat-collective
Tags: e-commerce, woocommerce, fitness, dark, custom-logo, featured-images
*/

:root {
  --heat-orange:#ff4d00;
  --heat-orange-dark:#d83a00;
  --heat-black:#0a0a0a;
  --heat-white:#fff;
  --heat-gray:#eaeaea;
  --heat-muted:#9a9a9a;
  --heat-border:#282828;
  --heat-display:'Archivo Black',Impact,sans-serif;
  --heat-body:'Inter',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--heat-black);color:var(--heat-white);font-family:var(--heat-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
::selection{background:var(--heat-orange);color:#000}
.site-noise{position:fixed;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 0);background-size:4px 4px;pointer-events:none;z-index:9999;opacity:.18}
.site-header{height:64px;background:var(--heat-orange);display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:0;z-index:1000;border-bottom:2px solid #000;gap:30px}
.site-branding{display:flex;align-items:center;gap:14px;min-width:max-content}.custom-logo{max-height:42px;width:auto}.site-title{font-family:var(--heat-display);font-size:1.35rem;letter-spacing:-1.5px;text-decoration:none;color:#000}.site-tagline{font-weight:900;font-size:.66rem;color:#000;text-transform:uppercase;letter-spacing:.08em}
.main-navigation ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}.main-navigation a{color:#000;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:.76rem;letter-spacing:1px}.main-navigation a:hover{opacity:.55}.header-tools{display:flex;align-items:center;gap:14px;color:#000;font-weight:900;font-size:.74rem;text-transform:uppercase}.cart-link{text-decoration:none;border:2px solid #000;padding:8px 10px}.menu-toggle{display:none;background:none;border:2px solid #000;padding:7px 10px;font-weight:900}
.hero{position:relative;min-height:calc(100vh - 64px);display:grid;grid-template-columns:repeat(5,1fr);border-bottom:10px solid var(--heat-orange)}.hero-pane{position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.12);min-height:640px;background:#222}.hero-pane img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(120%) brightness(.72);transition:.5s}.hero-pane:after{content:"";position:absolute;inset:0;background:var(--heat-orange);mix-blend-mode:multiply;opacity:.78;transition:.5s}.hero-pane:hover img{filter:none;transform:scale(1.05)}.hero-pane:hover:after{opacity:0}.giant-type{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-family:var(--heat-display);font-size:21vw;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.13);white-space:nowrap;pointer-events:none;z-index:3}.hero-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;z-index:4;pointer-events:none}.pane-title{font-family:var(--heat-display);font-size:clamp(2.1rem,3vw,3.4rem);line-height:.9;text-transform:uppercase;margin:10px 0;transform:translateY(18px);opacity:0;transition:.35s}.hero-pane:hover .pane-title{transform:none;opacity:1}.pane-meta{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;font-weight:700}.corner{position:absolute;width:22px;height:22px;border:1px solid var(--heat-orange);z-index:5}.corner.tl{top:20px;left:20px;border-right:0;border-bottom:0}.corner.br{bottom:20px;right:20px;border-left:0;border-top:0}
.ticker{background:#fff;color:#000;padding:14px 0;overflow:hidden;white-space:nowrap;border-bottom:2px solid var(--heat-orange)}.ticker-track{display:inline-flex;min-width:200%;animation:heatTicker 30s linear infinite}.ticker-item{font-family:var(--heat-display);font-size:1rem;margin-right:54px;text-transform:uppercase}@keyframes heatTicker{to{transform:translateX(-50%)}}
.section{padding:100px 7%}.mission{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.mission-visual{height:620px;background:var(--heat-orange);position:relative}.mission-visual img,.mission-visual video{width:100%;height:100%;object-fit:cover;display:block}.mission-visual img{mix-blend-mode:multiply}.mission-video{background:#000}.mission-copy h1,.mission-copy h2,.page-hero h1{font-family:var(--heat-display);font-size:clamp(4rem,8vw,7rem);line-height:.84;text-transform:uppercase;color:var(--heat-orange);margin:0 0 32px}.mission-copy p{font-size:1.35rem;line-height:1.5;color:var(--heat-gray);max-width:620px}.heat-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button{display:inline-block;background:#fff!important;color:#000!important;padding:16px 28px!important;font-family:var(--heat-display)!important;text-decoration:none!important;text-transform:uppercase!important;border:0!important;border-radius:0!important;font-size:.86rem!important;line-height:1!important;transition:.2s!important}.heat-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--heat-orange)!important;transform:translateY(-2px)}
.programs{background:#111}.eyebrow{display:block;font-family:var(--heat-display);font-size:.74rem;letter-spacing:5px;color:var(--heat-orange);margin-bottom:22px;border-left:4px solid var(--heat-orange);padding-left:14px;text-transform:uppercase}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--heat-orange);border:2px solid var(--heat-orange)}.program-card{background:var(--heat-black);padding:58px 40px;transition:.25s}.program-card:hover{background:var(--heat-orange);color:#000}.program-card h3{font-family:var(--heat-display);font-size:2.4rem;line-height:.92;text-transform:uppercase;margin:0 0 20px}.program-card .meta{font-size:.75rem;text-transform:uppercase;font-weight:900;opacity:.65;display:block;margin-bottom:28px}.program-card p{line-height:1.7;min-height:82px}
.page-hero{padding:100px 7% 65px;border-bottom:2px solid var(--heat-orange);background:linear-gradient(115deg,#0a0a0a 45%,#1b0b04)}.page-hero p{max-width:700px;font-size:1.2rem;color:#cfcfcf}.content-wrap{width:min(1240px,86%);margin:0 auto;padding:80px 0}.content-wrap.narrow{width:min(820px,86%)}.prose{font-size:1.08rem;line-height:1.8;color:#ddd}.prose h2,.prose h3{font-family:var(--heat-display);text-transform:uppercase;color:var(--heat-orange)}
.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.about-card,.contact-card{border:2px solid var(--heat-orange);padding:42px;background:#111}.about-card h2,.contact-card h2{font-family:var(--heat-display);text-transform:uppercase;color:var(--heat-orange);font-size:2.2rem;margin-top:0}.contact-form{display:grid;gap:16px}.contact-form label{font-weight:900;text-transform:uppercase;font-size:.74rem;letter-spacing:.08em}.contact-form input,.contact-form textarea{width:100%;background:#0a0a0a;color:#fff;border:1px solid #444;padding:15px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--heat-orange);border-color:transparent}.form-note{font-size:.82rem;color:#aaa}.heat-alert{padding:14px;border:1px solid var(--heat-orange);margin-bottom:18px}.heat-alert.success{background:var(--heat-orange);color:#000;font-weight:800}
.site-footer{padding:80px 40px;background:#070707;border-top:1px solid #333;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.footer-word{font-family:var(--heat-display);font-size:clamp(5rem,11vw,12rem);line-height:.7;color:#171717}.footer-info{text-align:right;max-width:430px}.footer-info strong{color:var(--heat-orange);display:block;margin-bottom:15px;text-transform:uppercase}.footer-menu{display:flex;justify-content:flex-end;gap:15px;flex-wrap:wrap;list-style:none;padding:0}.footer-menu a{text-decoration:none;color:#aaa;font-size:.8rem}.footer-legal-nav{margin-top:12px}.footer-legal-menu{margin:0}.footer-info p{color:#aaa;font-size:.78rem;line-height:1.6;margin:18px 0 0}.footer-info .footer-credit{margin-top:2px}.footer-credit a{color:inherit;text-decoration:none}.footer-credit a:hover,.footer-credit a:focus{color:var(--heat-orange);text-decoration:underline}
/* WooCommerce */
.woocommerce .woocommerce-breadcrumb{color:#777;margin:0 0 24px}.woocommerce .woocommerce-breadcrumb a{color:var(--heat-orange)}.woocommerce-products-header{padding:90px 7% 45px;border-bottom:2px solid var(--heat-orange)}.woocommerce-products-header__title{font-family:var(--heat-display);font-size:clamp(3.5rem,7vw,7rem);text-transform:uppercase;color:var(--heat-orange);margin:0}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin:0 0 35px}.woocommerce .woocommerce-ordering select{background:#111;color:#fff;border:1px solid #444;padding:12px}.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--heat-orange);border:2px solid var(--heat-orange);margin:0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#0b0b0b;padding:24px;transition:.2s}.woocommerce ul.products li.product:hover{background:#161616}.woocommerce ul.products li.product a img{margin:0 0 22px!important;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1);transition:.25s}.woocommerce ul.products li.product:hover a img{filter:none}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--heat-display);font-size:1.35rem!important;text-transform:uppercase;color:#fff;padding:.5em 0!important}.woocommerce ul.products li.product .price{color:var(--heat-orange)!important;font-weight:900;font-size:1rem!important}.woocommerce span.onsale{background:var(--heat-orange)!important;color:#000!important;border-radius:0!important;min-height:0!important;line-height:1!important;padding:10px!important;text-transform:uppercase}.single-product div.product{display:grid;grid-template-columns:1.15fr .85fr;gap:60px}.single-product .product_title{font-family:var(--heat-display);font-size:clamp(3rem,5vw,5rem);line-height:.9;text-transform:uppercase;color:var(--heat-orange)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#fff!important;font-size:1.6rem!important;font-weight:900}.woocommerce div.product form.cart .variations select,.woocommerce .quantity .qty{background:#111;color:#fff;border:1px solid #555;padding:12px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#111!important;border-radius:0!important;border:1px solid #333!important}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--heat-orange)!important;color:#000!important}.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#111!important;color:#fff!important;border-top-color:var(--heat-orange)!important}.woocommerce-cart table.cart,.woocommerce-checkout-review-order-table,.woocommerce table.shop_table{border-color:#333!important;border-radius:0!important}.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:#333!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{background:#111!important;color:#fff!important;border:1px solid #444!important;border-radius:0!important;padding:12px!important;min-height:46px}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px;border-bottom:1px solid #333;text-decoration:none}.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--heat-orange);color:#000;font-weight:900}
@media(max-width:1050px){.site-tagline{display:none}.main-navigation ul{gap:14px}.hero{grid-template-columns:repeat(2,1fr)}.hero-pane:last-child{grid-column:span 2}.mission,.about-grid,.contact-grid,.single-product div.product{grid-template-columns:1fr}.program-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{padding:0 18px}.menu-toggle{display:block}.main-navigation{display:none;position:absolute;top:64px;left:0;right:0;background:var(--heat-orange);padding:15px 20px;border-top:2px solid #000}.main-navigation.is-open{display:block}.main-navigation ul{display:grid;gap:8px}.main-navigation a{display:block;padding:10px}.header-tools .label{display:none}.hero{grid-template-columns:1fr}.hero-pane,.hero-pane:last-child{grid-column:auto;min-height:72vh}.giant-type{font-size:34vw;writing-mode:vertical-rl}.mission-visual{height:420px}.section{padding:75px 6%}.program-grid,.woocommerce ul.products{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}.footer-info{text-align:left}.footer-menu{justify-content:flex-start}.woocommerce-products-header{padding-left:6%;padding-right:6%}.content-wrap{width:88%}}

/* WooCommerce refinements — 1.1.0 */
.heat-shop-hero,.heat-product-hero{padding:100px 7% 65px;border-bottom:2px solid var(--heat-orange);background:linear-gradient(115deg,#0a0a0a 45%,#1b0b04)}
.heat-shop-hero .eyebrow,.heat-product-hero .eyebrow{margin-bottom:28px}
.heat-shop-hero h1,.heat-product-hero h1{font-family:var(--heat-display);font-size:clamp(4rem,8vw,7rem);line-height:.84;text-transform:uppercase;color:var(--heat-orange);margin:0 0 28px}
.heat-shop-hero .page-hero-copy,.heat-shop-hero .page-hero-copy p,.heat-product-hero p{max-width:760px;margin:0;font-size:1.2rem;line-height:1.6;color:#cfcfcf}
.heat-shop-content{padding-top:64px}
.heat-shop-content .woocommerce-result-count{color:#aaa;font-weight:700}
.heat-shop-content .woocommerce-ordering select{min-width:220px}


/* Shop category navigation */
.heat-shop-category-nav{clear:both;margin:4px 0 48px}
.heat-shop-category-nav .eyebrow{margin-bottom:18px}
.heat-shop-category-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2px;padding:2px;background:var(--heat-orange)}
.heat-shop-category-link{display:flex;align-items:center;justify-content:center;min-height:72px;padding:16px 18px;background:#0d0d0d;color:#fff;font-family:var(--heat-display);font-size:clamp(.78rem,1.15vw,1rem);line-height:1.08;text-align:center;text-decoration:none;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}
.heat-shop-category-link:hover,.heat-shop-category-link:focus-visible,.heat-shop-category-link.is-active{background:var(--heat-orange);color:#000}
.heat-shop-category-link:hover{transform:translateY(-2px)}
.heat-shop-category-link:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.heat-shop-subcategory-row{margin-top:16px;padding:16px;border:1px solid #333;background:#111}
.heat-shop-subcategory-label{display:block;margin:0 0 12px;color:#999;font-size:.68rem;font-weight:900;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}
.heat-shop-subcategory-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.heat-shop-subcategory-groups.is-single{grid-template-columns:1fr}
.heat-shop-subcategory-group{min-width:0;padding:12px;border:1px solid #2f2f2f;background:#0b0b0b}
.heat-shop-subcategory-group.is-active{border-color:var(--heat-orange)}
.heat-shop-subcategory-group-title{margin:0 0 10px;color:var(--heat-orange);font-family:var(--heat-display);font-size:.72rem;line-height:1.2;text-transform:uppercase}
.heat-shop-category-table--subcategories{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;padding:1px;background:#343434}
.heat-shop-category-link--subcategory{min-height:54px;padding:12px 14px;background:#181818;font-family:var(--heat-body);font-size:.74rem;font-weight:900;letter-spacing:.02em}
.heat-shop-category-link--subcategory:before{content:"+";margin-right:8px;color:var(--heat-orange);font-family:var(--heat-display);font-size:1rem;line-height:1}
.heat-shop-category-link--subcategory:hover:before,.heat-shop-category-link--subcategory:focus-visible:before,.heat-shop-category-link--subcategory.is-active:before{color:#000}

.woocommerce ul.products{gap:42px;background:transparent!important;border:0!important}
.woocommerce ul.products li.product{display:flex;flex-direction:column;align-items:center;width:auto!important;margin:0!important;padding:0 0 18px!important;background:transparent!important;text-align:center;transition:transform .25s ease}
.woocommerce ul.products li.product:hover{background:transparent!important;transform:translateY(-5px)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;align-items:center;width:100%;text-decoration:none}
.woocommerce ul.products li.product a img{width:100%!important;aspect-ratio:1/1!important;object-fit:cover;margin:0 0 24px!important;border:3px solid var(--heat-orange);background:#111;filter:grayscale(1);transition:filter .25s ease,transform .25s ease}
.woocommerce ul.products li.product:hover a img{filter:none;transform:scale(.985)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{width:100%;margin:0!important;padding:0!important;font-family:var(--heat-display);font-size:1.35rem!important;line-height:1.05;text-align:center;text-transform:uppercase;color:#fff}
.woocommerce ul.products li.product .price{display:block;width:100%;margin:14px 0 18px!important;color:var(--heat-orange)!important;font-size:1.08rem!important;font-weight:900;text-align:center}
.woocommerce ul.products li.product .button{align-self:center;margin:0!important}
.woocommerce ul.products li.product .added_to_cart{margin-top:12px;font-weight:900;text-transform:uppercase;color:var(--heat-orange)}

.heat-product-content{padding-top:120px}
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:72px;align-items:start}
.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.single-product div.product .woocommerce-product-gallery__wrapper{border:3px solid var(--heat-orange);background:#111}
.single-product div.product .woocommerce-product-gallery__image a{display:block;aspect-ratio:1/1}
.single-product div.product .woocommerce-product-gallery__image img{width:100%!important;height:100%!important;aspect-ratio:1/1;object-fit:cover}
.single-product div.product .summary{width:100%!important;float:none!important;margin:0!important;padding:42px;border:2px solid var(--heat-orange);background:#0d0d0d}
.single-product .product_title{margin:0 0 22px!important;font-size:clamp(2.7rem,4.5vw,4.8rem)!important}
.single-product div.product .woocommerce-product-rating{margin-bottom:18px}
.single-product div.product .woocommerce-product-details__short-description{color:#d7d7d7;font-size:1.05rem;line-height:1.7}
.single-product div.product form.cart{display:flex;align-items:stretch;gap:12px;margin:30px 0!important}
.single-product div.product form.cart .quantity{margin:0!important}
.single-product div.product form.cart .quantity .qty{height:100%;min-height:50px;width:78px;text-align:center}
.single-product div.product form.cart .single_add_to_cart_button{min-height:50px}
.single-product div.product .product_meta{padding-top:22px;border-top:1px solid #333;color:#999;font-size:.84rem;line-height:1.8;text-transform:uppercase}
.single-product div.product .product_meta a{color:var(--heat-orange)}

.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;width:100%;margin-top:22px;padding-top:34px;border-top:2px solid var(--heat-orange)}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:2px;margin:0!important;padding:0!important;border-bottom:2px solid var(--heat-orange);list-style:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs:before,.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::marker{content:""!important;font-size:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;background:#111!important;border:0!important;border-radius:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:18px 26px!important;font-family:var(--heat-display);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#fff!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--heat-orange)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#000!important}
.woocommerce div.product .woocommerce-tabs .panel{margin:0!important;padding:42px;border:2px solid var(--heat-orange);border-top:0;background:#0d0d0d;color:#ddd;font-size:1.03rem;line-height:1.75}
.woocommerce div.product .woocommerce-tabs .panel>h2,.woocommerce #reviews #comments h2,.woocommerce #review_form #respond .comment-reply-title{display:block;margin:0 0 26px;font-family:var(--heat-display);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1;text-transform:uppercase;color:var(--heat-orange)}
.woocommerce #reviews #comments{margin-bottom:42px}
.woocommerce #reviews .woocommerce-noreviews{padding:22px;border-left:4px solid var(--heat-orange);background:#151515;color:#bbb}
.woocommerce #review_form_wrapper{padding-top:38px;border-top:1px solid #333}
.woocommerce #review_form #respond p{margin:0 0 22px}
.woocommerce #review_form #respond label{display:block;margin-bottom:10px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.woocommerce #review_form #respond textarea,.woocommerce #review_form #respond input[type=text],.woocommerce #review_form #respond input[type=email]{width:100%;padding:16px;background:#090909;color:#fff;border:1px solid #444;border-radius:0}
.woocommerce #review_form #respond textarea:focus,.woocommerce #review_form #respond input:focus{outline:2px solid var(--heat-orange);border-color:transparent}
.woocommerce p.stars a{color:var(--heat-orange)!important;font-size:1.25rem}
.woocommerce #review_form #respond .form-submit input{margin-top:4px}
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{grid-column:1/-1;margin-top:72px}
.woocommerce div.product .related.products>h2,.woocommerce div.product .upsells.products>h2{font-family:var(--heat-display);font-size:clamp(2.4rem,5vw,4.5rem);text-transform:uppercase;color:var(--heat-orange)}

@media(max-width:1050px){
  .heat-product-content{padding-top:88px}
  .single-product div.product{grid-template-columns:1fr;gap:42px}
  .single-product div.product .summary{padding:34px}
}
@media(max-width:760px){
  .heat-shop-hero,.heat-product-hero{padding:75px 6% 52px}
  .heat-shop-category-nav{margin-bottom:40px}
  .heat-shop-category-table{grid-template-columns:repeat(2,minmax(0,1fr))}
  .heat-shop-category-link{min-height:64px;padding:14px 10px;font-size:.76rem}
  .heat-shop-subcategory-row{margin-top:12px;padding:12px}
  .heat-shop-subcategory-groups{grid-template-columns:1fr}
  .heat-shop-subcategory-group{padding:10px}
  .heat-shop-category-table--subcategories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .heat-shop-category-link--subcategory{min-height:50px;padding:11px 9px;font-size:.68rem}
  .woocommerce ul.products{gap:46px}
  .single-product div.product .summary{padding:26px 22px}
  .single-product div.product form.cart{align-items:stretch;flex-wrap:wrap}
  .single-product div.product form.cart .single_add_to_cart_button{flex:1}
  .woocommerce div.product .woocommerce-tabs ul.tabs{display:grid}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{text-align:center}
  .woocommerce div.product .woocommerce-tabs .panel{padding:28px 22px}
}


/* WooCommerce archive hero — keeps Shop and product taxonomy pages aligned with About/Contact. */
.post-type-archive-product .content-wrap > h1.page-title,
.tax-product_cat .content-wrap > h1.page-title,
.tax-product_tag .content-wrap > h1.page-title,
.woocommerce-shop .content-wrap > h1.page-title {
  display:none!important;
}
.heat-shop-hero .page-title,
.heat-product-hero .page-title {
  font-family:var(--heat-display);
  font-size:clamp(4rem,8vw,7rem);
  line-height:.84;
  text-transform:uppercase;
  color:var(--heat-orange);
  margin:0 0 32px;
}
.heat-shop-content .woocommerce-notices-wrapper:empty{display:none}
.heat-shop-content::after{content:"";display:block;clear:both}
@media(max-width:760px){
  .heat-shop-hero .page-title,.heat-product-hero .page-title{font-size:clamp(3.2rem,16vw,5rem)}
}


/* Home hero category layout */
.hero.hero-categories{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero.hero-categories .hero-pane{display:block;color:inherit;text-decoration:none;container-type:inline-size}
.hero.hero-categories .pane-title{max-width:100%;font-size:clamp(1.35rem,7cqw,2.6rem);line-height:.88;letter-spacing:-.02em;text-wrap:balance}
@media(max-width:1050px){.hero.hero-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.hero.hero-categories .hero-pane:last-child{grid-column:1 / -1}}
@media(max-width:760px){.hero.hero-categories{grid-template-columns:1fr}.hero.hero-categories .hero-pane:last-child{grid-column:auto}}


/* Header tools v2 */
.site-header{min-height:76px;height:76px}
.header-tools{gap:12px}
.header-tools .label{margin-right:4px;white-space:nowrap}
.icon-btn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;position:relative;border:2px solid #000;background:transparent;color:#000;padding:0;text-decoration:none;border-radius:0;cursor:pointer;transition:background .2s,color .2s}
.icon-btn:hover,.icon-btn:focus-visible{background:#000;color:var(--heat-orange);outline:none}
.icon-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}
.heat-cart-count{position:absolute;top:-10px;right:-10px;min-width:25px;height:25px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;font-size:.72rem;font-weight:900;line-height:1;border:2px solid var(--heat-orange)}
.header-search{display:flex;align-items:stretch;position:relative}
.header-search input[type="search"]{width:0;min-width:0;height:42px;padding:0;border:0;border-bottom:2px solid #000;background:transparent;color:#000;font-weight:800;opacity:0;transition:width .25s ease,opacity .2s ease,padding .25s ease}
.header-search:hover input[type="search"],.header-search:focus-within input[type="search"]{width:190px;opacity:1;padding:0 12px}
.header-search input[type="search"]::placeholder{color:rgba(0,0,0,.65)}
.header-search input[type="search"]:focus{outline:none}
.menu-toggle{display:none}
.hamburger-lines{width:23px;display:grid;gap:5px}
.hamburger-lines span{display:block;height:3px;width:100%;background:currentColor}

@media(max-width:900px){
  .site-header{height:72px;min-height:72px;padding:0 16px;display:grid;grid-template-columns:46px 1fr auto;gap:12px}
  .site-branding{grid-column:2;justify-self:center;min-width:0}
  .site-title{font-size:1.15rem;white-space:nowrap}
  .custom-logo{max-width:180px;max-height:38px}
  .menu-toggle{display:inline-flex;grid-column:1;grid-row:1;width:44px;height:44px}
  .main-navigation{display:none;position:absolute;top:72px;left:0;right:0;background:var(--heat-orange);padding:18px;border-top:2px solid #000;box-shadow:0 12px 30px rgba(0,0,0,.35)}
  .main-navigation.is-open{display:block}
  .main-navigation ul{display:grid;gap:4px}
  .main-navigation a{display:block;padding:13px 10px;border-bottom:1px solid rgba(0,0,0,.25)}
  .header-tools{grid-column:3;grid-row:1;gap:8px}
  .header-tools .label,.header-search{display:none}
  .header-tools .icon-btn{width:44px;height:44px}
}
@media(max-width:480px){
  .heat-account-link{display:none}
  .site-title{font-size:1rem;letter-spacing:-1px}
}

/* About page v2.3 */
.about-hero{position:relative;isolation:isolate;overflow:hidden;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:135px;background-color:#0a0a0a;background-position:center;background-size:cover;background-repeat:no-repeat}
.about-hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(100%) contrast(115%);opacity:.78;pointer-events:none}
.about-hero-overlay{position:absolute!important;inset:0;z-index:1!important;background:linear-gradient(115deg,rgba(10,10,10,.94) 24%,rgba(30,10,2,.72));pointer-events:none}
.about-hero:after{content:'HEAT';position:absolute;right:-.04em;bottom:-.2em;z-index:2;font-family:var(--heat-display);font-size:clamp(8rem,23vw,25rem);line-height:.75;color:transparent;-webkit-text-stroke:2px rgba(255,77,0,.18);pointer-events:none}
.about-hero>.eyebrow,.about-hero>h1,.about-hero>p{position:relative;z-index:3}.about-hero .eyebrow{align-self:flex-start}.about-hero h1{max-width:1050px;font-size:clamp(4.5rem,9vw,9rem);margin-bottom:34px}.about-hero p{max-width:920px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.6}
@media(prefers-reduced-motion:reduce){.about-hero-video{display:none}}
.about-manifesto{overflow:hidden;background:var(--heat-orange);color:#000;border-bottom:2px solid #000;padding:15px 0}.about-manifesto-track{display:flex;width:max-content;will-change:transform;animation:aboutTicker 28s linear infinite}.about-manifesto-group{display:flex;flex:none;align-items:center;gap:55px;padding-right:55px}.about-manifesto span{font-family:var(--heat-display);font-size:1rem;white-space:nowrap}.about-manifesto span:before{content:'//';margin-right:18px}@keyframes aboutTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-33.333333%,0,0)}}
.about-sections{width:min(1500px,90%);margin:0 auto;padding:110px 0 40px}.about-story-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(55px,7vw,120px);align-items:center;padding:70px 0 130px}.about-story-section.is-reversed .about-story-media{order:2}.about-story-section.is-reversed .about-story-copy{order:1}
.about-story-media{position:relative;height:620px;min-height:0;background:var(--heat-orange);border:2px solid var(--heat-orange);overflow:hidden}.about-story-media:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 45%);pointer-events:none}.about-story-media img{width:100%;height:100%;min-height:0;object-fit:cover;filter:grayscale(100%) contrast(115%);mix-blend-mode:multiply;transition:transform .7s ease,filter .7s ease,mix-blend-mode .7s}.about-story-section:hover .about-story-media img{transform:scale(1.035);filter:grayscale(0);mix-blend-mode:normal}.about-story-number{position:absolute;right:24px;bottom:10px;z-index:2;font-family:var(--heat-display);font-size:clamp(5rem,10vw,10rem);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.8)}
.about-story-copy{container-type:inline-size}.about-story-copy h2{font-family:var(--heat-display);font-size:clamp(2.7rem,8.5cqw,5rem);line-height:.9;text-transform:uppercase;color:var(--heat-orange);margin:0 0 36px;max-width:100%;overflow-wrap:normal;word-break:normal}.about-story-copy p{font-size:clamp(1.05rem,1.35vw,1.3rem);line-height:1.75;color:#d5d5d5;margin:0 0 22px;max-width:690px}.about-story-copy p:first-of-type{color:#fff;font-weight:700}
.about-closing{position:relative;padding:120px 7%;border-top:2px solid var(--heat-orange);background:linear-gradient(120deg,#111 0,#111 55%,#270d02 100%);overflow:hidden}.about-closing:after{content:'HEAT';position:absolute;right:-.03em;bottom:-.18em;font-family:var(--heat-display);font-size:clamp(12rem,31vw,35rem);line-height:.8;color:#171717;pointer-events:none}.about-closing>*{position:relative;z-index:1}.about-closing h2{font-family:var(--heat-display);font-size:clamp(4rem,8vw,8rem);line-height:.85;text-transform:uppercase;color:var(--heat-orange);margin:0 0 32px}.about-closing p{font-size:1.25rem;line-height:1.6;color:#ccc;max-width:650px;margin:0 0 35px}
@media(max-width:980px){.about-story-section,.about-story-section.is-reversed{grid-template-columns:1fr;gap:45px;padding:45px 0 95px}.about-story-section.is-reversed .about-story-media,.about-story-section.is-reversed .about-story-copy{order:initial}.about-story-media{height:520px}.about-story-media img{height:100%;min-height:0}.about-hero{min-height:500px}}

/* About story images: viewport colour reveal on tablets and phones -- 3.0.70 */
@media(max-width:1024px){
  .about-page .about-story-section.is-in-viewport .about-story-media img{
    transform:scale(1.035);
    filter:grayscale(0);
    mix-blend-mode:normal;
  }
}
@media(max-width:620px){.about-hero{min-height:470px;padding:95px 6% 55px}.about-hero h1{font-size:clamp(3.5rem,17vw,5.2rem)}.about-sections{width:88%;padding-top:55px}.about-story-section{padding-bottom:75px}.about-story-media{height:390px}.about-story-media img{height:100%;min-height:0}.about-story-copy h2{font-size:clamp(2.35rem,10.5vw,3.6rem);line-height:.92}.about-story-copy p{font-size:1rem}.about-closing{padding:85px 6%}.about-manifesto span{font-size:.84rem}}


/* About page — HEAT meaning */
.about-heat-meaning{position:relative;padding:120px 5%;border-top:2px solid var(--heat-orange);background:#0a0a0a;overflow:hidden}
.about-heat-meaning::before{content:none!important;display:none!important}
.about-heat-meaning-intro{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);grid-template-rows:auto;column-gap:clamp(40px,6vw,120px);row-gap:0;align-items:start;margin:0 auto 70px;width:min(1500px,100%)}
.about-heat-meaning-intro .eyebrow{grid-column:1/-1;justify-self:start;margin:0 0 clamp(28px,3vw,48px)}
.about-heat-meaning-intro h2{font-family:var(--heat-display);font-size:clamp(3.4rem,7.2vw,7.5rem);line-height:.86;text-transform:uppercase;color:var(--heat-orange);margin:0;max-width:950px;align-self:start}
.about-heat-intro-copy{display:grid;gap:22px;align-self:start}
.about-heat-meaning-intro-copy{align-self:start}
.about-heat-meaning-intro p{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.7;color:#d5d5d5;margin:0}
.about-heat-meaning-intro .about-heat-intro-summary{font-size:clamp(1.12rem,1.65vw,1.5rem);line-height:1.5;font-weight:800;color:#fff;padding-top:22px;border-top:1px solid #333}
.heat-values-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(1500px,100%);margin:0 auto;border:2px solid var(--heat-orange);background:var(--heat-orange);gap:2px}
.heat-value-card{position:relative;min-height:370px;display:grid;grid-template-columns:minmax(110px,.34fr) minmax(0,1fr);gap:28px;align-items:center;padding:clamp(34px,4vw,64px);background:#0d0d0d;overflow:hidden;transition:background .25s ease,color .25s ease}
.heat-value-card:hover{background:var(--heat-orange);color:#000}
.heat-value-letter{font-family:var(--heat-display);font-size:clamp(7rem,13vw,13rem);line-height:.72;color:transparent;-webkit-text-stroke:2px var(--heat-orange);transition:color .25s ease,-webkit-text-stroke-color .25s ease}
.heat-value-card:hover .heat-value-letter{color:#000;-webkit-text-stroke-color:#000}
.heat-value-name{display:block;font-family:var(--heat-display);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--heat-orange);margin-bottom:13px}
.heat-value-card:hover .heat-value-name{color:#000}
.heat-value-copy h3{font-family:var(--heat-display);font-size:clamp(1.55rem,2.45vw,2.75rem);line-height:.92;text-transform:uppercase;overflow-wrap:anywhere;margin:0 0 22px;color:#fff}
.heat-value-card:hover .heat-value-copy h3{color:#000}
.heat-value-copy p{font-size:1rem;line-height:1.7;color:#cfcfcf;margin:0;max-width:580px}
.heat-value-card:hover .heat-value-copy p{color:#111}
@media(max-width:980px){
  .about-heat-meaning-intro{grid-template-columns:1fr;gap:28px}
  .heat-values-grid{grid-template-columns:1fr}
  .heat-value-card{min-height:300px}
}
@media(max-width:620px){
  .about-heat-meaning{padding:82px 6%}
  .about-heat-meaning-intro{margin-bottom:45px}
  .about-heat-meaning-intro h2{font-size:clamp(3rem,14vw,4.8rem)}
  .heat-value-card{grid-template-columns:1fr;gap:18px;padding:34px 26px;min-height:0}
  .heat-value-letter{font-size:6.5rem;line-height:.8}
  .heat-value-copy h3{font-size:clamp(1.65rem,8.5vw,2.15rem)}
}

@media(max-width:430px){.heat-shop-category-table{grid-template-columns:1fr}.heat-shop-subcategory-row{padding:10px}.heat-shop-subcategory-label{font-size:.62rem}.heat-shop-category-link--subcategory{min-height:46px}}

/* WooCommerce notices: closer to the page header and responsive on small screens. */
.heat-product-content > .woocommerce-notices-wrapper,
.heat-shop-content > .woocommerce-notices-wrapper {
  position:relative;
  z-index:10;
  width:100%;
  margin:-50px 0 30px;
  clear:both;
}
.heat-product-content > .woocommerce-notices-wrapper:empty,
.heat-shop-content > .woocommerce-notices-wrapper:empty {
  display:none;
  margin:0;
}
.heat-product-content > .woocommerce-notices-wrapper .woocommerce-message,
.heat-product-content > .woocommerce-notices-wrapper .woocommerce-info,
.heat-product-content > .woocommerce-notices-wrapper .woocommerce-error,
.heat-shop-content > .woocommerce-notices-wrapper .woocommerce-message,
.heat-shop-content > .woocommerce-notices-wrapper .woocommerce-info,
.heat-shop-content > .woocommerce-notices-wrapper .woocommerce-error {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  margin:0;
  padding:18px 22px 18px 52px!important;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.heat-product-content > .woocommerce-notices-wrapper .button,
.heat-shop-content > .woocommerce-notices-wrapper .button {
  flex:0 0 auto;
  margin-left:auto;
  white-space:nowrap;
}
@media(max-width:760px) {
  .heat-product-content > .woocommerce-notices-wrapper,
  .heat-shop-content > .woocommerce-notices-wrapper {
    margin-top:-30px;
    margin-bottom:24px;
  }
  .heat-product-content > .woocommerce-notices-wrapper .woocommerce-message,
  .heat-product-content > .woocommerce-notices-wrapper .woocommerce-info,
  .heat-product-content > .woocommerce-notices-wrapper .woocommerce-error,
  .heat-shop-content > .woocommerce-notices-wrapper .woocommerce-message,
  .heat-shop-content > .woocommerce-notices-wrapper .woocommerce-info,
  .heat-shop-content > .woocommerce-notices-wrapper .woocommerce-error {
    align-items:stretch;
    flex-direction:column;
    gap:14px;
    padding:18px 18px 18px 48px!important;
  }
  .heat-product-content > .woocommerce-notices-wrapper .button,
  .heat-shop-content > .woocommerce-notices-wrapper .button {
    width:100%;
    margin:0;
    text-align:center;
    white-space:normal;
  }
}
@media(max-width:420px) {
  .heat-product-content > .woocommerce-notices-wrapper,
  .heat-shop-content > .woocommerce-notices-wrapper {
    margin-top:-22px;
  }
  .heat-product-content > .woocommerce-notices-wrapper .woocommerce-message,
  .heat-product-content > .woocommerce-notices-wrapper .woocommerce-info,
  .heat-product-content > .woocommerce-notices-wrapper .woocommerce-error,
  .heat-shop-content > .woocommerce-notices-wrapper .woocommerce-message,
  .heat-shop-content > .woocommerce-notices-wrapper .woocommerce-info,
  .heat-shop-content > .woocommerce-notices-wrapper .woocommerce-error {
    padding:16px 14px 16px 44px!important;
    font-size:.9rem;
  }
}

/* WooCommerce Blocks cart — Heat Collective */
.woocommerce-cart .content-wrap.narrow.prose{
  width:min(1500px,90%);
  max-width:none;
  padding:clamp(54px,7vw,100px) 0;
}
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart{
  color:var(--heat-white);
  font-family:var(--heat-body);
}
.woocommerce-cart .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr)!important;
  gap:clamp(28px,4vw,64px)!important;
  align-items:start;
}
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.woocommerce-cart .wc-block-cart-items{
  width:100%;
  margin:0!important;
  border:2px solid var(--heat-orange)!important;
  border-collapse:collapse!important;
  background:#0d0d0d;
  color:#fff;
}
.woocommerce-cart .wc-block-cart-items__header{
  background:var(--heat-orange);
  color:#000;
}
.woocommerce-cart .wc-block-cart-items__header th{
  padding:16px 20px!important;
  border:0!important;
  font-family:var(--heat-display);
  font-size:.74rem!important;
  letter-spacing:.1em;
  line-height:1.2;
  text-transform:uppercase;
  color:#000!important;
}
.woocommerce-cart .wc-block-cart-items__row{
  border-bottom:1px solid #343434!important;
  background:#0d0d0d;
  transition:background .2s ease;
}
.woocommerce-cart .wc-block-cart-items__row:last-child{border-bottom:0!important}
.woocommerce-cart .wc-block-cart-items__row:hover{background:#141414}
.woocommerce-cart .wc-block-cart-items__row td{
  padding:clamp(18px,2.2vw,30px) 20px!important;
  border:0!important;
  vertical-align:top!important;
  color:#fff!important;
}
.woocommerce-cart .wc-block-cart-item__image{width:132px!important}
.woocommerce-cart .wc-block-cart-item__image img{
  width:110px!important;
  height:110px!important;
  object-fit:cover;
  border:1px solid #3a3a3a;
  filter:grayscale(100%) contrast(110%);
  transition:filter .2s ease,border-color .2s ease;
}
.woocommerce-cart .wc-block-cart-items__row:hover .wc-block-cart-item__image img{
  filter:none;
  border-color:var(--heat-orange);
}
.woocommerce-cart .wc-block-components-product-name{
  display:inline-block;
  margin:0 0 10px!important;
  font-family:var(--heat-display)!important;
  font-size:clamp(1.15rem,1.7vw,1.55rem)!important;
  line-height:1!important;
  text-transform:uppercase;
  text-decoration:none!important;
  color:var(--heat-orange)!important;
}
.woocommerce-cart .wc-block-components-product-name:hover{color:#fff!important}
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-cart-item__total{
  color:#fff!important;
  font-weight:900;
}
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-formatted-money-amount{
  color:#fff!important;
  font-weight:900!important;
}
.woocommerce-cart .wc-block-components-product-metadata{
  margin:12px 0 18px!important;
  color:#aaa!important;
  font-size:.9rem;
  line-height:1.55;
}
.woocommerce-cart .wc-block-components-product-metadata p{margin:0!important;color:#aaa!important}
.woocommerce-cart .wc-block-cart-item__quantity{
  display:flex!important;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.woocommerce-cart .wc-block-components-quantity-selector{
  min-width:128px;
  height:44px;
  margin:0!important;
  border:1px solid #555!important;
  border-radius:0!important;
  background:#080808!important;
  color:#fff!important;
}
.woocommerce-cart .wc-block-components-quantity-selector__input{
  min-width:44px!important;
  color:#fff!important;
  background:transparent!important;
  font-weight:900!important;
}
.woocommerce-cart .wc-block-components-quantity-selector__button{
  color:var(--heat-orange)!important;
  background:#111!important;
  border-radius:0!important;
  font-weight:900!important;
}
.woocommerce-cart .wc-block-components-quantity-selector__button:hover{
  color:#000!important;
  background:var(--heat-orange)!important;
}
.woocommerce-cart .wc-block-cart-item__remove-link{
  width:44px;
  height:44px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
  padding:0!important;
  border:1px solid #555!important;
  border-radius:0!important;
  background:#0b0b0b!important;
  color:#aaa!important;
  text-decoration:none!important;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover{
  border-color:var(--heat-orange)!important;
  background:var(--heat-orange)!important;
  color:#000!important;
}
.woocommerce-cart .wc-block-cart-item__remove-link svg{fill:currentColor!important}
.woocommerce-cart .wc-block-cart-item__total{
  min-width:135px;
  text-align:right!important;
  font-family:var(--heat-display);
  font-size:1.05rem;
}
.woocommerce-cart .wc-block-cart__sidebar{
  position:sticky;
  top:104px;
  border:2px solid var(--heat-orange);
  background:#101010;
}
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block{padding:0!important}
.woocommerce-cart .wc-block-cart__totals-title{
  margin:0!important;
  padding:22px 24px!important;
  background:var(--heat-orange);
  color:#000!important;
  font-family:var(--heat-display)!important;
  font-size:clamp(1.3rem,2vw,1.8rem)!important;
  line-height:1!important;
  text-transform:uppercase;
  text-align:left!important;
}
.woocommerce-cart .wc-block-components-totals-wrapper{
  padding:20px 24px!important;
  border-top:1px solid #343434!important;
  color:#fff!important;
}
.woocommerce-cart .wc-block-components-panel__button{
  color:#fff!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.woocommerce-cart .wc-block-components-panel__button:hover{color:var(--heat-orange)!important}
.woocommerce-cart .wc-block-components-panel__button-icon{fill:currentColor!important}
.woocommerce-cart .wc-block-components-totals-item{
  align-items:flex-start!important;
  gap:18px;
  color:#fff!important;
}
.woocommerce-cart .wc-block-components-totals-item__label{
  color:#bbb!important;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.woocommerce-cart .wc-block-components-totals-item__value{
  color:#fff!important;
  font-family:var(--heat-display);
  font-size:1.15rem;
}
.woocommerce-cart .wc-block-components-totals-footer-item{
  padding-top:4px;
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--heat-orange)!important;
  font-family:var(--heat-display);
  font-size:clamp(1rem,1.5vw,1.28rem)!important;
}
.woocommerce-cart .wc-block-components-text-input input,
.woocommerce-cart .wc-block-components-totals-coupon input{
  min-height:48px!important;
  border:1px solid #555!important;
  border-radius:0!important;
  background:#080808!important;
  color:#fff!important;
}
.woocommerce-cart .wc-block-components-text-input label{color:#aaa!important}
.woocommerce-cart .wc-block-components-totals-coupon__button{
  min-height:48px!important;
  border-radius:0!important;
  background:#fff!important;
  color:#000!important;
  font-family:var(--heat-display)!important;
  text-transform:uppercase;
}
.woocommerce-cart .wc-block-cart__submit{
  margin:0!important;
  padding:0 24px 24px!important;
}
.woocommerce-cart .wc-block-cart__submit-container{margin:0!important}
.woocommerce-cart .wc-block-cart__submit-button{
  width:100%!important;
  min-height:60px!important;
  padding:18px 22px!important;
  border:2px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:var(--heat-orange)!important;
  color:#000!important;
  font-family:var(--heat-display)!important;
  font-size:.9rem!important;
  letter-spacing:.04em;
  line-height:1.1!important;
  text-transform:uppercase;
  box-shadow:none!important;
}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus-visible{
  background:#fff!important;
  border-color:#fff!important;
  color:#000!important;
  transform:translateY(-2px);
}
.woocommerce-cart .wc-block-components-validation-error{color:#ff8050!important}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  padding:clamp(45px,7vw,90px);
  border:2px solid var(--heat-orange);
  background:#111;
  text-align:center;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2{
  font-family:var(--heat-display);
  text-transform:uppercase;
  color:var(--heat-orange);
}

@media(max-width:1000px){
  .woocommerce-cart .wc-block-components-sidebar-layout{
    grid-template-columns:1fr!important;
  }
  .woocommerce-cart .wc-block-cart__sidebar{
    position:static;
    top:auto;
  }
}
@media(max-width:900px){
  .woocommerce-cart .content-wrap.narrow.prose{
    width:92%;
    padding:42px 0 70px;
  }
  .woocommerce-cart .wc-block-cart-items,
  .woocommerce-cart .wc-block-cart-items tbody{
    display:block!important;
    width:100%!important;
  }
  .woocommerce-cart .wc-block-cart-items__header{display:none!important}
  .woocommerce-cart .wc-block-cart-items__row{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    width:100%!important;
    padding:20px!important;
  }
  .woocommerce-cart .wc-block-cart-items__row td{
    width:auto!important;
    padding:0!important;
  }
  .woocommerce-cart .wc-block-cart-item__image{
    grid-column:1;
    grid-row:1 / span 2;
    width:82px!important;
    padding-right:14px!important;
  }
  .woocommerce-cart .wc-block-cart-item__image img{
    width:68px!important;
    height:86px!important;
  }
  .woocommerce-cart .wc-block-cart-item__product{
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
  .woocommerce-cart .wc-block-cart-item__total{
    grid-column:2;
    grid-row:2;
    width:100%!important;
    min-width:0;
    margin-top:18px;
    padding-top:16px!important;
    border-top:1px solid #333!important;
    text-align:left!important;
  }
  .woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{
    display:flex!important;
    align-items:center;
    justify-content:flex-start!important;
    width:100%;
  }
  .woocommerce-cart .wc-block-cart-item__total:before{
    content:'Łącznie: ';
    color:#888;
    font-family:var(--heat-body);
    font-size:.75rem;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .woocommerce-cart .wc-block-components-product-name{
    font-size:1.1rem!important;
  }
  .woocommerce-cart .wc-block-components-product-metadata{
    font-size:.82rem;
  }
  .woocommerce-cart .wc-block-cart-item__quantity{
    align-items:stretch;
  }
  .woocommerce-cart .wc-block-components-quantity-selector{
    min-width:118px;
  }
  .woocommerce-cart .wc-block-cart__totals-title,
  .woocommerce-cart .wc-block-components-totals-wrapper,
  .woocommerce-cart .wc-block-cart__submit{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}
@media(max-width:430px){
  .woocommerce-cart .wc-block-cart-items__row{
    grid-template-columns:1fr!important;
    gap:16px;
    padding:18px!important;
  }
  .woocommerce-cart .wc-block-cart-item__image,
  .woocommerce-cart .wc-block-cart-item__product,
  .woocommerce-cart .wc-block-cart-item__total{
    grid-column:1;
    grid-row:auto;
  }
  .woocommerce-cart .wc-block-cart-item__image{
    width:100%!important;
    padding:0!important;
  }
  .woocommerce-cart .wc-block-cart-item__image img{
    width:100%!important;
    height:auto!important;
    max-height:240px;
    aspect-ratio:16/10;
  }
  .woocommerce-cart .wc-block-cart-item__total{margin-top:0}
  .woocommerce-cart .wc-block-cart-item__quantity{
    display:grid!important;
    grid-template-columns:1fr 44px;
  }
  .woocommerce-cart .wc-block-components-quantity-selector{width:100%;min-width:0}
}

/* Checkout / podsumowanie zamówienia — WooCommerce Blocks */
.woocommerce-checkout .content-wrap.narrow.prose{
  width:min(1420px,90%);
  max-width:none;
  padding:clamp(52px,7vw,92px) 0 clamp(78px,9vw,130px);
  color:#ddd;
  font-size:1rem;
  line-height:1.55;
}
.woocommerce-checkout .wp-block-woocommerce-checkout{
  width:100%;
  max-width:none!important;
  margin:0!important;
}
.woocommerce-checkout .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr)!important;
  gap:clamp(34px,4vw,68px)!important;
  align-items:start!important;
  margin:0!important;
}
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar{
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
}
.woocommerce-checkout .wc-block-checkout__form{
  display:grid;
  gap:18px;
}
.woocommerce-checkout .wc-block-components-checkout-step{
  margin:0!important;
  padding:clamp(24px,3vw,38px)!important;
  border:1px solid #333!important;
  border-left:4px solid var(--heat-orange)!important;
  background:#101010!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading-container{
  margin:0 0 24px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #353535!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading{
  margin:0!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-title{
  margin:0!important;
  color:var(--heat-orange)!important;
  font-family:var(--heat-display)!important;
  font-size:clamp(1.45rem,2.2vw,2.15rem)!important;
  line-height:1!important;
  letter-spacing:-.025em;
  text-transform:uppercase!important;
}
.woocommerce-checkout .wc-block-components-checkout-step__content{
  padding:0!important;
}
.woocommerce-checkout .wc-block-components-address-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px!important;
}
.woocommerce-checkout .wc-block-components-address-form>*,
.woocommerce-checkout .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form__email,
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle{
  min-width:0;
}
.woocommerce-checkout .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form__email,
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle{
  grid-column:1/-1;
}
.woocommerce-checkout .wc-block-components-text-input,
.woocommerce-checkout .wc-blocks-components-select{
  margin:0!important;
}
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-textarea,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-blocks-components-select__select{
  width:100%!important;
  min-height:58px!important;
  padding:23px 15px 9px!important;
  border:1px solid #4a4a4a!important;
  border-radius:0!important;
  background:#080808!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.98rem!important;
}
.woocommerce-checkout .wc-block-components-text-input input:hover,
.woocommerce-checkout .wc-block-components-textarea:hover,
.woocommerce-checkout .wc-blocks-components-select__select:hover{
  border-color:#777!important;
}
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-textarea:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.woocommerce-checkout .wc-blocks-components-select__select:focus{
  outline:2px solid var(--heat-orange)!important;
  outline-offset:0!important;
  border-color:transparent!important;
}
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-blocks-components-select__label{
  color:#aaa!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.035em;
}
.woocommerce-checkout .wc-blocks-components-select__expand,
.woocommerce-checkout .wc-block-components-panel__button-icon{
  fill:var(--heat-orange)!important;
}
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
.woocommerce-checkout .wc-block-components-address-card__edit{
  color:var(--heat-orange)!important;
  font-size:.8rem!important;
  font-weight:900!important;
  letter-spacing:.045em;
  text-transform:uppercase;
  text-decoration:none!important;
}
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle:hover,
.woocommerce-checkout .wc-block-components-address-card__edit:hover{
  color:#fff!important;
}
.woocommerce-checkout .wc-block-components-address-card{
  border:1px solid #444!important;
  border-radius:0!important;
  background:#090909!important;
  color:#fff!important;
}
.woocommerce-checkout .wc-block-components-checkbox label{
  align-items:flex-start!important;
  color:#ddd!important;
  font-weight:700;
}
.woocommerce-checkout .wc-block-components-checkbox__input{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px;
  border:1px solid #666!important;
  border-radius:0!important;
  background:#080808!important;
  appearance:none;
}
.woocommerce-checkout .wc-block-components-checkbox__input:checked{
  border-color:var(--heat-orange)!important;
  background:var(--heat-orange)!important;
}
.woocommerce-checkout .wc-block-components-checkbox__mark{
  fill:#000!important;
}
.woocommerce-checkout .wc-block-checkout__order-notes,
.woocommerce-checkout .wc-block-checkout__terms,
.woocommerce-checkout .wc-block-checkout__actions{
  margin:0!important;
  padding:24px 28px!important;
  border:1px solid #333!important;
  background:#101010!important;
}
.woocommerce-checkout .wc-block-checkout__terms{
  border-left:4px solid var(--heat-orange)!important;
  color:#aaa!important;
  font-size:.86rem;
}
.woocommerce-checkout .wc-block-checkout__terms a{
  color:var(--heat-orange)!important;
  font-weight:800;
}
.woocommerce-checkout .wc-block-checkout__actions_row{
  display:block!important;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  width:100%!important;
  min-height:64px!important;
  padding:20px 24px!important;
  border:2px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:var(--heat-orange)!important;
  color:#000!important;
  font-family:var(--heat-display)!important;
  font-size:.94rem!important;
  letter-spacing:.055em;
  line-height:1!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  transition:.2s ease!important;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible{
  border-color:#fff!important;
  background:#fff!important;
  color:#000!important;
  transform:translateY(-2px);
}
.woocommerce-checkout .wc-block-checkout__sidebar{
  position:sticky!important;
  top:92px!important;
  border:2px solid var(--heat-orange)!important;
  background:#101010!important;
  color:#fff!important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
  padding:0!important;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center!important;
  gap:12px;
  margin:0!important;
  padding:22px 24px!important;
  border:0!important;
  background:var(--heat-orange)!important;
  color:#000!important;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
  margin:0!important;
  color:#000!important;
  font-family:var(--heat-display)!important;
  font-size:clamp(1.25rem,1.8vw,1.7rem)!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price{
  color:#000!important;
  font-family:var(--heat-display)!important;
  font-size:1rem!important;
  white-space:nowrap;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon svg{
  fill:#000!important;
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__content{
  background:#101010!important;
}
.woocommerce-checkout .wc-block-components-totals-wrapper{
  padding:20px 24px!important;
  border-top:1px solid #343434!important;
  color:#fff!important;
}
.woocommerce-checkout .wc-block-components-order-summary-item{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto!important;
  gap:16px!important;
  padding:20px 0!important;
  border-bottom:1px solid #303030!important;
}
.woocommerce-checkout .wc-block-components-order-summary-item:last-child{
  border-bottom:0!important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image{
  width:64px!important;
  height:76px!important;
  margin:0!important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  width:64px!important;
  height:76px!important;
  border:1px solid #444;
  border-radius:0!important;
  object-fit:cover;
  filter:grayscale(1);
}
.woocommerce-checkout .wc-block-components-order-summary-item__quantity{
  min-width:24px!important;
  height:24px!important;
  top:-8px!important;
  right:-8px!important;
  border:1px solid #000!important;
  border-radius:0!important;
  background:var(--heat-orange)!important;
  color:#000!important;
  font-weight:900!important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description{
  min-width:0;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{
  margin:0 0 7px!important;
  color:var(--heat-orange)!important;
  font-family:var(--heat-display)!important;
  font-size:1rem!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
}
.woocommerce-checkout .wc-block-components-product-metadata,
.woocommerce-checkout .wc-block-components-product-metadata p{
  margin:5px 0 0!important;
  color:#999!important;
  font-size:.78rem!important;
  line-height:1.45!important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
.woocommerce-checkout .wc-block-components-order-summary-item__individual-price{
  color:#bbb!important;
  font-size:.8rem!important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__total-price{
  color:#fff!important;
  font-family:var(--heat-display)!important;
  font-size:.95rem!important;
  white-space:nowrap;
}
.woocommerce-checkout .wc-block-components-panel__button{
  color:#fff!important;
  font-weight:900!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.woocommerce-checkout .wc-block-components-panel__button:hover{
  color:var(--heat-orange)!important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__form{
  gap:10px!important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__input input{
  min-height:50px!important;
  border:1px solid #555!important;
  border-radius:0!important;
  background:#080808!important;
  color:#fff!important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__button{
  min-height:50px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#000!important;
  font-family:var(--heat-display)!important;
  font-size:.78rem!important;
  text-transform:uppercase!important;
}
.woocommerce-checkout .wc-block-components-totals-coupon__button:hover{
  background:var(--heat-orange)!important;
}
.woocommerce-checkout .wc-block-components-totals-item{
  align-items:flex-start!important;
  gap:16px;
  color:#fff!important;
}
.woocommerce-checkout .wc-block-components-totals-item__label{
  color:#aaa!important;
  font-size:.78rem!important;
  font-weight:900!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.woocommerce-checkout .wc-block-components-totals-item__value{
  color:#fff!important;
  font-family:var(--heat-display)!important;
  font-size:1rem!important;
}
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--heat-orange)!important;
  font-family:var(--heat-display)!important;
  font-size:clamp(1rem,1.35vw,1.22rem)!important;
}
.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  border:1px solid #444!important;
  border-radius:0!important;
  background:#090909!important;
  color:#fff!important;
}
.woocommerce-checkout .wc-block-components-radio-control__input{
  accent-color:var(--heat-orange);
}
.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-radio-control__description{
  color:#ddd!important;
}
.woocommerce-checkout .wc-block-components-notice-banner{
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:#17100d!important;
  color:#fff!important;
}
.woocommerce-checkout .wc-block-components-notice-banner.is-error{
  border-color:#ff5f38!important;
  background:#25100c!important;
}
.woocommerce-checkout .wc-block-components-notice-banner svg{
  fill:var(--heat-orange)!important;
}
.woocommerce-checkout .wc-block-components-validation-error{
  color:#ff8050!important;
  font-size:.8rem!important;
}

@media(max-width:1100px){
  .woocommerce-checkout .content-wrap.narrow.prose{
    width:min(960px,90%);
  }
  .woocommerce-checkout .wc-block-components-sidebar-layout{
    grid-template-columns:1fr!important;
  }
  .woocommerce-checkout .wc-block-checkout__sidebar{
    position:static!important;
    top:auto!important;
  }
}
@media(max-width:700px){
  .woocommerce-checkout .content-wrap.narrow.prose{
    width:92%;
    padding:42px 0 76px;
  }
  .woocommerce-checkout .wc-block-components-checkout-step,
  .woocommerce-checkout .wc-block-checkout__order-notes,
  .woocommerce-checkout .wc-block-checkout__terms,
  .woocommerce-checkout .wc-block-checkout__actions{
    padding:22px 18px!important;
  }
  .woocommerce-checkout .wc-block-components-address-form{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .woocommerce-checkout .wc-block-components-address-form>*{
    grid-column:1!important;
  }
  .woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  .woocommerce-checkout .wc-block-components-totals-wrapper{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .woocommerce-checkout .wc-block-components-order-summary-item{
    grid-template-columns:56px minmax(0,1fr)!important;
  }
  .woocommerce-checkout .wc-block-components-order-summary-item__image,
  .woocommerce-checkout .wc-block-components-order-summary-item__image img{
    width:56px!important;
    height:68px!important;
  }
  .woocommerce-checkout .wc-block-components-order-summary-item__total-price{
    grid-column:2;
    justify-self:start;
    margin-top:8px;
  }
}
@media(max-width:430px){
  .woocommerce-checkout .wc-block-components-checkout-order-summary__title{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon{
    display:none!important;
  }
  .woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
    font-size:1.05rem!important;
  }
  .woocommerce-checkout .wc-block-components-checkout-order-summary__title-price{
    font-size:.84rem!important;
  }
  .woocommerce-checkout .wc-block-components-totals-coupon__form{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .woocommerce-checkout .wc-block-components-totals-coupon__button{
    width:100%!important;
  }
}

/* WooCommerce — Moje konto */
body.woocommerce-account .content-wrap.narrow.prose{
  width:min(1420px,90%);
  max-width:none;
  padding:70px 0 100px;
  color:#ddd;
}
body.logged-in.woocommerce-account .content-wrap.narrow.prose>.woocommerce{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  align-items:start;
  gap:clamp(28px,3vw,48px);
}
body.logged-in.woocommerce-account .content-wrap.narrow.prose>.woocommerce:before,
body.logged-in.woocommerce-account .content-wrap.narrow.prose>.woocommerce:after{
  display:none!important;
  content:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  float:none!important;
  width:100%!important;
  margin:0!important;
  position:sticky;
  top:94px;
  border:2px solid var(--heat-orange);
  background:#0d0d0d;
}
.woocommerce-account .woocommerce-MyAccount-navigation:before{
  content:"MOJE KONTO";
  display:block;
  padding:22px 20px;
  background:var(--heat-orange);
  color:#000;
  font-family:var(--heat-display);
  font-size:1.25rem;
  line-height:1;
  text-transform:uppercase;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  display:block;
  list-style:none;
  margin:0!important;
  padding:0!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  min-height:52px;
  padding:14px 18px!important;
  border:0!important;
  border-bottom:1px solid #303030!important;
  background:#0d0d0d;
  color:#ddd;
  font-family:var(--heat-display);
  font-size:.76rem;
  line-height:1.25;
  letter-spacing:.06em;
  text-decoration:none!important;
  text-transform:uppercase;
  transition:background-color .2s,color .2s,padding-left .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{
  border-bottom:0!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible{
  padding-left:24px!important;
  background:#181818;
  color:var(--heat-orange);
  outline:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  padding-left:24px!important;
  background:var(--heat-orange)!important;
  color:#000!important;
  font-weight:900;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a{
  color:#ff8b5a;
}
.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
  width:100%!important;
  min-width:0;
  min-height:390px;
  margin:0!important;
  padding:clamp(28px,4vw,52px)!important;
  border:2px solid var(--heat-orange);
  background:#101010;
  color:#d8d8d8;
}
.woocommerce-account .woocommerce-MyAccount-content>p:first-of-type{
  margin-top:0;
  padding-bottom:24px;
  border-bottom:1px solid #333;
  color:#fff;
  font-size:clamp(1.05rem,1.5vw,1.28rem);
  line-height:1.65;
}
.woocommerce-account .woocommerce-MyAccount-content p:last-child{
  margin-bottom:0;
}
.woocommerce-account .woocommerce-MyAccount-content a{
  color:var(--heat-orange);
  font-weight:800;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover{
  color:#fff;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content legend{
  margin:0 0 22px;
  color:var(--heat-orange)!important;
  font-family:var(--heat-display)!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.woocommerce-account .woocommerce-MyAccount-content h2{
  font-size:clamp(1.8rem,3vw,2.8rem)!important;
}
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content legend{
  font-size:1.25rem!important;
}
.woocommerce-account .woocommerce-notices-wrapper:not(:empty){
  margin:0 0 24px;
}
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error{
  margin:0 0 24px!important;
  padding:18px 20px 18px 52px!important;
  border:1px solid var(--heat-orange)!important;
  border-top-width:1px!important;
  border-radius:0!important;
  background:#17100d!important;
  color:#fff!important;
}
.woocommerce-account .woocommerce-message:before,
.woocommerce-account .woocommerce-info:before,
.woocommerce-account .woocommerce-error:before{
  top:18px!important;
  left:20px!important;
  color:var(--heat-orange)!important;
}
.woocommerce-account .woocommerce-Addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:28px 0 0!important;
}
.woocommerce-account .woocommerce-Addresses:before,
.woocommerce-account .woocommerce-Addresses:after{
  display:none!important;
}
.woocommerce-account .woocommerce-Address{
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:24px;
  border:1px solid #3a3a3a;
  background:#090909;
}
.woocommerce-account .woocommerce-Address-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid #333;
}
.woocommerce-account .woocommerce-Address-title h3{
  margin:0!important;
}
.woocommerce-account .woocommerce-Address-title a{
  float:none!important;
  flex:none;
  font-family:var(--heat-display);
  font-size:.7rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.woocommerce-account address{
  color:#c9c9c9;
  font-style:normal;
  line-height:1.7;
}
.woocommerce-account form .form-row{
  margin:0 0 18px!important;
  padding:0!important;
}
.woocommerce-account form .form-row label{
  margin:0 0 8px;
  color:#eee;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.3;
  text-transform:uppercase;
}
.woocommerce-account form .form-row .required{
  color:var(--heat-orange);
}
.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row textarea,
.woocommerce-account form select,
.woocommerce-account .select2-container--default .select2-selection--single{
  width:100%;
  min-height:52px!important;
  padding:13px 15px!important;
  border:1px solid #4a4a4a!important;
  border-radius:0!important;
  background:#080808!important;
  color:#fff!important;
  box-shadow:none!important;
}
.woocommerce-account form .form-row textarea{
  min-height:130px!important;
}
.woocommerce-account form .form-row input.input-text:focus,
.woocommerce-account form .form-row textarea:focus,
.woocommerce-account form select:focus,
.woocommerce-account .select2-container--focus .select2-selection--single{
  border-color:var(--heat-orange)!important;
  outline:1px solid var(--heat-orange)!important;
}
.woocommerce-account fieldset{
  margin:32px 0 24px!important;
  padding:26px!important;
  border:1px solid #3a3a3a!important;
  background:#0a0a0a;
}
.woocommerce-account fieldset legend{
  width:auto;
  padding:0 10px;
  background:#101010;
}
.woocommerce-account form .password-input{
  position:relative;
  display:block;
  width:100%;
}
.woocommerce-account form .password-input input.input-text{
  padding-right:64px!important;
}
.woocommerce-account .show-password-input{
  position:absolute!important;
  top:50%!important;
  right:8px!important;
  z-index:3;
  display:grid!important;
  place-items:center;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--heat-orange)!important;
  font-size:0!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(-50%)!important;
  cursor:pointer;
  box-shadow:none!important;
}
.woocommerce-account .show-password-input::after{
  content:none!important;
  display:none!important;
}
.woocommerce-account .show-password-input::before{
  content:"";
  display:block;
  width:25px;
  height:25px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ff4d00' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='2.75'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.woocommerce-account .show-password-input.display-password::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ff4d00' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 6.15A10.9 10.9 0 0 1 12 6c6.5 0 10 6 10 6a18.4 18.4 0 0 1-2.2 2.8M6.1 7.1C3.45 8.8 2 12 2 12s3.5 6 10 6a10.5 10.5 0 0 0 4.25-.86'/%3E%3Cpath d='M9.9 9.9A3 3 0 0 0 14.1 14.1'/%3E%3C/svg%3E");
}
.woocommerce-account .show-password-input:hover{
  background:rgba(255,77,0,.12)!important;
}
.woocommerce-account .show-password-input:focus-visible{
  outline:2px solid var(--heat-orange)!important;
  outline-offset:2px;
}
@media (max-width:480px){
  .woocommerce-account form .password-input input.input-text{
    padding-right:58px!important;
  }
  .woocommerce-account .show-password-input{
    right:5px!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
  }
  .woocommerce-account .show-password-input::before{
    width:23px;
    height:23px;
  }
}
.woocommerce-account table.shop_table,
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table{
  width:100%;
  margin:0!important;
  border:2px solid var(--heat-orange)!important;
  border-collapse:collapse!important;
  border-radius:0!important;
  background:#0a0a0a;
}
.woocommerce-account table.shop_table thead,
.woocommerce-account .woocommerce-orders-table thead{
  background:var(--heat-orange);
  color:#000;
}
.woocommerce-account table.shop_table th,
.woocommerce-account .woocommerce-orders-table th{
  padding:15px 14px!important;
  border:0!important;
  color:#000!important;
  font-family:var(--heat-display);
  font-size:.7rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.woocommerce-account table.shop_table td,
.woocommerce-account .woocommerce-orders-table td{
  padding:16px 14px!important;
  border:1px solid #303030!important;
  color:#ddd;
  vertical-align:middle;
}
.woocommerce-account table.shop_table tr:hover td,
.woocommerce-account .woocommerce-orders-table tr:hover td{
  background:#151515;
}
.woocommerce-account table.shop_table .button,
.woocommerce-account .woocommerce-orders-table .button{
  margin:3px!important;
  padding:11px 14px!important;
  font-size:.68rem!important;
}
.woocommerce-account .woocommerce-pagination{
  margin-top:24px;
}
.woocommerce-account .woocommerce-pagination .button{
  margin:0 4px!important;
}
.woocommerce-account .woocommerce-customer-details,
.woocommerce-account .woocommerce-order-details{
  margin-top:38px;
}
.woocommerce-account .woocommerce-customer-details address{
  padding:24px!important;
  border:1px solid #3a3a3a!important;
  border-radius:0!important;
  background:#090909;
}
.woocommerce-account .woocommerce-column--billing-address,
.woocommerce-account .woocommerce-column--shipping-address{
  float:none!important;
  width:100%!important;
}
.woocommerce-account .woocommerce-columns--addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.woocommerce-account .woocommerce-columns--addresses:before,
.woocommerce-account .woocommerce-columns--addresses:after{
  display:none!important;
}

/* Logowanie, rejestracja i odzyskiwanie hasła */
body.woocommerce-account:not(.logged-in) .content-wrap.narrow.prose>.woocommerce{
  max-width:980px;
  margin:0 auto;
}
.woocommerce-account #customer_login{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.woocommerce-account #customer_login:before,
.woocommerce-account #customer_login:after{
  display:none!important;
}
.woocommerce-account #customer_login>.col-1,
.woocommerce-account #customer_login>.col-2{
  float:none!important;
  width:100%!important;
  padding:clamp(24px,4vw,42px);
  border:2px solid var(--heat-orange);
  background:#101010;
}
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.lost_reset_password{
  margin:0!important;
  padding:clamp(24px,4vw,42px)!important;
  border:2px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:#101010;
}
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register{
  padding:0!important;
  border:0!important;
  background:transparent;
}
.woocommerce-account .woocommerce-form-login__rememberme{
  display:flex!important;
  align-items:center;
  gap:9px;
  margin:8px 0 20px;
}
.woocommerce-account input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:var(--heat-orange);
}
.woocommerce-account .woocommerce-LostPassword{
  margin:20px 0 0!important;
}

@media(max-width:900px){
  body.logged-in.woocommerce-account .content-wrap.narrow.prose>.woocommerce{
    grid-template-columns:1fr;
    gap:24px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation{
    position:static;
    top:auto;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a{
    height:100%;
    min-height:58px;
    justify-content:center;
    padding:12px 10px!important;
    border-right:1px solid #303030!important;
    text-align:center;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a:hover,
  .woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
    padding-left:10px!important;
  }
}
@media(max-width:700px){
  body.woocommerce-account .content-wrap.narrow.prose{
    width:92%;
    padding:42px 0 76px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .woocommerce-account .woocommerce-MyAccount-content{
    min-height:0;
    padding:26px 20px!important;
  }
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .woocommerce-columns--addresses,
  .woocommerce-account #customer_login{
    grid-template-columns:1fr;
  }
  .woocommerce-account table.shop_table_responsive thead,
  .woocommerce-account .woocommerce-orders-table thead{
    display:none;
  }
  .woocommerce-account table.shop_table_responsive tr,
  .woocommerce-account .woocommerce-orders-table tr{
    display:block;
    padding:12px 0;
    border-bottom:2px solid var(--heat-orange);
  }
  .woocommerce-account table.shop_table_responsive tr:last-child,
  .woocommerce-account .woocommerce-orders-table tr:last-child{
    border-bottom:0;
  }
  .woocommerce-account table.shop_table_responsive td,
  .woocommerce-account .woocommerce-orders-table td{
    display:grid!important;
    grid-template-columns:minmax(110px,42%) minmax(0,1fr);
    gap:14px;
    align-items:center;
    width:100%!important;
    padding:13px 14px!important;
    text-align:right!important;
  }
  .woocommerce-account table.shop_table_responsive td:before,
  .woocommerce-account .woocommerce-orders-table td:before{
    content:attr(data-title)!important;
    float:none!important;
    color:#999;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.04em;
    text-align:left;
    text-transform:uppercase;
  }
  .woocommerce-account table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions,
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{
    display:block!important;
    text-align:left!important;
  }
  .woocommerce-account table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions:before,
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions:before{
    display:none!important;
  }
}
@media(max-width:430px){
  .woocommerce-account .woocommerce-MyAccount-navigation:before{
    padding:18px 16px;
    font-size:1.05rem;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    grid-template-columns:1fr;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a{
    min-height:48px;
    justify-content:flex-start;
    padding:12px 16px!important;
    border-right:0!important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a:hover,
  .woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
    padding-left:22px!important;
  }
  .woocommerce-account .woocommerce-Address-title{
    display:block;
  }
  .woocommerce-account .woocommerce-Address-title a{
    display:inline-block;
    margin-top:10px;
  }
  .woocommerce-account fieldset{
    padding:20px!important;
  }
}

/* WooCommerce — Moje konto / karty adresów */
.woocommerce-account .u-columns.woocommerce-Addresses.col2-set.addresses{
  align-items:stretch;
}
.woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address{
  display:flex;
  min-width:0;
  min-height:100%;
  flex-direction:column;
  overflow:hidden;
}
.woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address-title{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:14px;
  width:100%;
}
.woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address-title h2{
  min-width:0;
  max-width:100%;
  margin:0!important;
  font-size:clamp(1.2rem,1.45vw,1.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address-title .edit{
  display:inline-flex;
  float:none!important;
  justify-self:start;
  align-items:center;
  max-width:100%;
  min-height:40px;
  margin:0;
  padding:10px 13px;
  border:1px solid var(--heat-orange);
  background:transparent;
  color:var(--heat-orange);
  font-size:.68rem;
  line-height:1.2;
  text-align:left;
  text-decoration:none!important;
  white-space:normal;
}
.woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address-title .edit:hover,
.woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address-title .edit:focus-visible{
  background:var(--heat-orange);
  color:#000;
  outline:none;
}
.woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address address{
  width:100%;
  margin-top:auto;
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .woocommerce-account .u-columns.woocommerce-Addresses.col2-set.addresses{
    grid-template-columns:1fr;
  }
}

@media(max-width:430px){
  .woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address{
    padding:20px;
  }
  .woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address-title h2{
    font-size:clamp(1.15rem,5.8vw,1.4rem)!important;
  }
  .woocommerce-account .u-columns.woocommerce-Addresses .woocommerce-Address-title .edit{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* Shop and product-category archive width — 3.0.23 */
.heat-shop-page > .content-wrap.heat-shop-content{
  width:min(1400px,90%);
  max-width:none;
}
.heat-shop-content .heat-shop-category-nav,
.heat-shop-content .heat-shop-category-table,
.heat-shop-content .heat-shop-subcategory-row,
.heat-shop-content > ul.products{
  width:100%;
  max-width:none;
}
@media(max-width:760px){
  .heat-shop-page > .content-wrap.heat-shop-content{
    width:90%;
  }
}

/* Compact shop archive controls — 3.0.25 */
.heat-shop-content .woocommerce-result-count{
  float:left!important;
  display:flex;
  align-items:center;
  min-height:42px;
  margin:0 12px 22px 0!important;
  padding:0 14px;
  border-left:3px solid var(--heat-orange);
  background:#111;
  color:#cfcfcf;
  font-size:.7rem;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.heat-shop-content .woocommerce-ordering{
  float:right!important;
  margin:0 0 22px!important;
}
.heat-shop-content .woocommerce-ordering select.orderby{
  width:auto;
  min-width:220px;
  height:42px;
  margin:0;
  padding:0 42px 0 14px;
  border:1px solid #3a3a3a;
  border-radius:0;
  background-color:#111;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.25 7 7.25 13 1.25' fill='none' stroke='%23ff4d00' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  color:#fff;
  font-family:var(--heat-body);
  font-size:.74rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:border-color .2s ease,background-color .2s ease;
}
.heat-shop-content .woocommerce-ordering select.orderby:hover,
.heat-shop-content .woocommerce-ordering select.orderby:focus{
  border-color:var(--heat-orange);
  background-color:#171717;
  outline:none;
}
.heat-shop-content .woocommerce-ordering select.orderby:focus-visible{
  box-shadow:0 0 0 2px var(--heat-orange);
}
.heat-shop-content > ul.products{
  clear:both;
}
@media(max-width:640px){
  .heat-shop-content .woocommerce-result-count,
  .heat-shop-content .woocommerce-ordering{
    float:none!important;
    width:100%;
  }
  .heat-shop-content .woocommerce-result-count{
    min-height:38px;
    margin:0 0 8px!important;
    padding:0 12px;
    font-size:.66rem;
  }
  .heat-shop-content .woocommerce-ordering{
    margin:0 0 20px!important;
  }
  .heat-shop-content .woocommerce-ordering select.orderby{
    width:100%;
    min-width:0;
    height:40px;
    font-size:.7rem;
  }
}



/* Single product 1/3 gallery + 2/3 product summary — 3.0.26 */
@media (min-width:1051px){
  .single-product div.product{
    grid-template-columns:minmax(240px,1fr) minmax(0,2fr);
    gap:clamp(42px,5vw,72px);
  }
  .single-product div.product .woocommerce-product-gallery{
    min-width:0;
    align-self:start;
  }
  .single-product div.product .summary{
    min-width:0;
    align-self:start;
  }
  .single-product div.product .summary .product_title{
    width:100%;
    max-width:none;
    overflow-wrap:anywhere;
  }
}

/* Single product 40/60 layout and smaller product title - 3.0.27 */
@media (min-width:1051px){
  .single-product div.product{
    grid-template-columns:minmax(280px,2fr) minmax(0,3fr);
  }
}

.single-product div.product .summary .product_title{
  font-size:clamp(1.8rem,2.75vw,3rem)!important;
  line-height:.94;
}

@media (max-width:700px){
  .single-product div.product .summary .product_title{
    font-size:clamp(1.65rem,8vw,2.3rem)!important;
  }
}


/* Further reduced single-product title - 3.0.28 */
.single-product div.product .summary .product_title{
  font-size:clamp(1.8rem,2.75vw,3rem)!important;
}
@media (max-width:700px){
  .single-product div.product .summary .product_title{
    font-size:clamp(1.65rem,8vw,2.3rem)!important;
  }
}

/* Single product page width - 3.0.29 */
.heat-single-product-page > .content-wrap.heat-product-content{
  width:min(1400px,90%);
  max-width:none;
}
@media(max-width:760px){
  .heat-single-product-page > .content-wrap.heat-product-content{
    width:90%;
  }
}


/* Home program CTA hover and online-training booking page - 3.0.30 */
.home .programs .heat-button:hover,
.home .programs .heat-button:focus-visible{
  background:#000!important;
  color:#fff!important;
  transform:translateY(-2px);
}
.home .program-card:focus-within{
  background:var(--heat-orange);
  color:#000;
}

.heat-booking-hero{
  padding-bottom:clamp(58px,7vw,90px);
}
.heat-booking-hero .eyebrow{
  max-width:1400px;
  margin-left:auto;
  margin-right:auto;
}
.heat-booking-hero h1,
.heat-booking-hero p{
  width:min(1400px,100%);
  margin-left:auto;
  margin-right:auto;
}
.heat-booking-content{
  width:min(1400px,90%);
  max-width:none;
  padding:clamp(64px,8vw,110px) 0;
}
.heat-booking-overview{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(40px,6vw,100px);
  align-items:start;
  margin-bottom:clamp(72px,10vw,140px);
}
.heat-booking-copy h2,
.heat-booking-form-heading h2{
  margin:0 0 28px;
  font-family:var(--heat-display);
  font-size:clamp(2.5rem,5vw,5.2rem);
  line-height:.9;
  text-transform:uppercase;
  color:var(--heat-orange);
}
.heat-booking-copy p,
.heat-booking-form-heading p{
  max-width:650px;
  margin:0;
  color:#cfcfcf;
  font-size:clamp(1rem,1.4vw,1.2rem);
  line-height:1.7;
}
.heat-booking-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px;
  border:2px solid var(--heat-orange);
  background:var(--heat-orange);
}
.heat-booking-steps article{
  min-width:0;
  padding:clamp(28px,3vw,46px);
  background:#101010;
}
.heat-booking-steps article > span{
  display:block;
  margin-bottom:38px;
  font-family:var(--heat-display);
  font-size:.72rem;
  letter-spacing:.18em;
  color:var(--heat-orange);
}
.heat-booking-steps h3{
  margin:0 0 16px;
  font-family:var(--heat-display);
  font-size:clamp(1.25rem,2vw,1.8rem);
  line-height:1;
  text-transform:uppercase;
}
.heat-booking-steps p{
  margin:0;
  color:#aaa;
  font-size:.92rem;
  line-height:1.65;
}
.heat-booking-form-section{
  display:grid;
  grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);
  gap:clamp(40px,6vw,100px);
  align-items:start;
}
.heat-booking-form-heading{
  position:sticky;
  top:105px;
}
.heat-booking-form-card{
  border:2px solid var(--heat-orange);
  background:#101010;
  padding:clamp(28px,4vw,58px);
}
.heat-training-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.heat-training-form p{
  min-width:0;
  margin:0;
}
.heat-training-form-wide{
  grid-column:1 / -1;
}
.heat-training-form label{
  display:block;
  margin-bottom:9px;
  font-family:var(--heat-display);
  font-size:.68rem;
  line-height:1.25;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#fff;
}
.heat-training-form input,
.heat-training-form select,
.heat-training-form textarea{
  width:100%;
  min-height:52px;
  border:1px solid #404040;
  border-radius:0;
  background:#080808;
  color:#fff;
  padding:14px 16px;
  outline:none;
}
.heat-training-form textarea{
  min-height:120px;
  resize:vertical;
}
.heat-training-form input:focus,
.heat-training-form select:focus,
.heat-training-form textarea:focus{
  border-color:var(--heat-orange);
  box-shadow:0 0 0 1px var(--heat-orange);
}
.heat-training-form select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.25 7 7.25 13 1.25' fill='none' stroke='%23ff4d00' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
}
.heat-training-form .heat-button{
  margin-top:26px;
  background:var(--heat-orange)!important;
  color:#000!important;
}
.heat-training-form .heat-button:hover,
.heat-training-form .heat-button:focus-visible{
  background:#fff!important;
  color:#000!important;
}
.heat-training-form .form-note{
  margin:16px 0 0;
}
.main-navigation .heat-book-training-menu-item > a{
  font-weight:900;
}

@media(max-width:1050px){
  .heat-booking-overview,
  .heat-booking-form-section{
    grid-template-columns:1fr;
  }
  .heat-booking-form-heading{
    position:static;
  }
}
@media(max-width:760px){
  .heat-booking-content{
    width:90%;
  }
  .heat-booking-steps{
    grid-template-columns:1fr;
  }
  .heat-booking-steps article > span{
    margin-bottom:20px;
  }
  .heat-training-form-grid{
    grid-template-columns:1fr;
  }
  .heat-training-form-wide{
    grid-column:auto;
  }
  .heat-booking-form-card{
    padding:26px 20px;
  }
}


/* Online training booking refinements - 3.0.31 */
.heat-booking-steps h3{
  font-size:clamp(1rem,1.35vw,1.35rem);
  line-height:1.08;
  overflow-wrap:anywhere;
  word-break:normal;
}
.heat-booking-form-heading{
  min-width:0;
  overflow:hidden;
}
.heat-booking-form-heading h2{
  max-width:100%;
  font-size:clamp(2.25rem,3.4vw,3.75rem);
  line-height:.92;
  overflow-wrap:anywhere;
  word-break:normal;
}
.heat-booking-form-card{
  min-width:0;
}
.heat-training-date-time{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.heat-training-date-time legend{
  display:block;
  width:100%;
  margin:0 0 12px;
  padding:0;
  font-family:var(--heat-display);
  font-size:.68rem;
  line-height:1.25;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#fff;
}
.heat-training-date-time-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.heat-training-form input[type="date"],
.heat-training-form input[type="time"]{
  color-scheme:dark;
}
@media(max-width:1180px){
  .heat-booking-form-section{
    grid-template-columns:1fr;
    gap:clamp(36px,6vw,64px);
  }
  .heat-booking-form-heading{
    position:static;
    overflow:visible;
  }
  .heat-booking-form-heading h2{
    max-width:720px;
    font-size:clamp(2.15rem,6vw,3.2rem);
  }
}
@media(max-width:760px){
  .heat-booking-steps h3{
    font-size:1.2rem;
  }
  .heat-booking-form-heading h2{
    font-size:clamp(2.15rem,11vw,3.2rem);
  }
  .heat-training-date-time-grid{
    grid-template-columns:1fr;
  }
}


/* Booking typography and custom date/time pickers - 3.0.32 */
.heat-booking-page .heat-booking-steps article h3{
  display:block;
  max-width:100%;
  margin:0 0 16px;
  font-size:clamp(.92rem,1.08vw,1.18rem)!important;
  line-height:1!important;
  letter-spacing:-.025em;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.heat-booking-form-section{
  grid-template-columns:1fr;
  gap:clamp(30px,4vw,52px);
}
.heat-booking-form-heading{
  position:static;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);
  column-gap:clamp(34px,5vw,80px);
  row-gap:14px;
  align-items:end;
  overflow:visible;
}
.heat-booking-form-heading .eyebrow{
  grid-column:1 / -1;
}
.heat-booking-form-heading h2{
  max-width:none;
  margin:0;
  font-size:clamp(1.55rem,2.6vw,2.45rem)!important;
  line-height:.94!important;
  letter-spacing:-.045em;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.heat-booking-form-heading p{
  align-self:end;
}
.heat-booking-form-card{
  width:100%;
  overflow:visible;
}
.heat-training-picker{
  min-width:0;
}
.heat-training-picker-control{
  position:relative;
}
.heat-training-form .heat-training-picker-display{
  cursor:pointer;
  padding-right:58px;
  border:1px solid #4b4b4b;
  background:#080808;
  color:#fff;
  caret-color:transparent;
}
.heat-training-form .heat-training-picker-display::placeholder{
  color:#858585;
  opacity:1;
}
.heat-training-form .heat-training-picker-display:focus{
  border-color:var(--heat-orange);
  box-shadow:0 0 0 1px var(--heat-orange);
}
.heat-training-picker-toggle{
  position:absolute;
  top:1px;
  right:1px;
  z-index:2;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-left:1px solid #343434;
  background:#111;
  color:var(--heat-orange);
  cursor:pointer;
}
.heat-training-picker-toggle:hover,
.heat-training-picker-toggle:focus-visible{
  background:var(--heat-orange);
  color:#000;
  outline:none;
}
.heat-training-picker-toggle svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.heat-training-picker-popover{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:80;
  width:100%;
  min-width:280px;
  border:2px solid var(--heat-orange);
  background:#0b0b0b;
  color:#fff;
  box-shadow:10px 10px 0 rgba(255,77,0,.2);
}
.heat-training-picker-popover[hidden]{
  display:none!important;
}
.heat-training-date-picker{
  padding:14px;
}
.heat-training-date-picker-header{
  display:grid;
  grid-template-columns:40px 1fr 40px;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.heat-training-date-title{
  text-align:center;
  font-family:var(--heat-display);
  font-size:.78rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.heat-training-date-nav{
  width:40px;
  height:36px;
  border:1px solid #3a3a3a;
  background:#111;
  color:var(--heat-orange);
  font-weight:900;
  cursor:pointer;
}
.heat-training-date-nav:hover,
.heat-training-date-nav:focus-visible{
  border-color:var(--heat-orange);
  background:var(--heat-orange);
  color:#000;
  outline:none;
}
.heat-training-date-weekdays,
.heat-training-date-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
}
.heat-training-date-weekdays{
  margin-bottom:6px;
}
.heat-training-date-weekdays span{
  padding:4px 0;
  text-align:center;
  color:#8f8f8f;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
}
.heat-training-date-day{
  min-width:0;
  aspect-ratio:1;
  padding:0;
  border:1px solid #292929;
  background:#151515;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.heat-training-date-day:hover,
.heat-training-date-day:focus-visible{
  border-color:var(--heat-orange);
  color:var(--heat-orange);
  outline:none;
}
.heat-training-date-day.is-today{
  border-color:#fff;
}
.heat-training-date-day.is-selected{
  border-color:var(--heat-orange);
  background:var(--heat-orange);
  color:#000;
}
.heat-training-date-day:disabled{
  opacity:.22;
  cursor:not-allowed;
}
.heat-training-date-day.is-empty{
  visibility:hidden;
  pointer-events:none;
}
.heat-training-time-picker{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  max-height:270px;
  padding:14px;
  overflow:auto;
}
.heat-training-time-option{
  min-height:42px;
  padding:8px 6px;
  border:1px solid #303030;
  background:#151515;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.heat-training-time-option:hover,
.heat-training-time-option:focus-visible{
  border-color:var(--heat-orange);
  color:var(--heat-orange);
  outline:none;
}
.heat-training-time-option.is-selected{
  border-color:var(--heat-orange);
  background:var(--heat-orange);
  color:#000;
}
@media(max-width:1180px){
  .heat-booking-form-heading{
    grid-template-columns:1fr;
  }
  .heat-booking-form-heading .eyebrow{
    grid-column:auto;
  }
  .heat-booking-form-heading h2{
    font-size:clamp(1.65rem,4.4vw,2.5rem)!important;
  }
  .heat-booking-form-heading p{
    max-width:760px;
  }
}
@media(max-width:760px){
  .heat-booking-page .heat-booking-steps article h3{
    font-size:clamp(.92rem,5vw,1.1rem)!important;
  }
  .heat-booking-form-heading h2{
    font-size:clamp(.82rem,4vw,1.1rem)!important;
    letter-spacing:-.055em;
  }
  .heat-training-picker-popover{
    min-width:0;
  }
  .heat-training-time-picker{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* Booking form validation and layout refinements - 3.0.33 */
.heat-booking-form-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px;
  align-items:start;
}
.heat-booking-form-heading .eyebrow{
  grid-column:auto!important;
  margin:0;
}
.heat-booking-form-heading h2{
  width:100%;
  margin:0!important;
  font-size:clamp(1.65rem,3vw,3.5rem)!important;
  line-height:.95!important;
  white-space:nowrap!important;
}
.heat-booking-form-heading p{
  max-width:920px;
  margin:0;
}
.heat-booking-page .heat-booking-steps article h3{
  font-size:clamp(.78rem,1.05vw,1.12rem)!important;
  letter-spacing:-.035em;
  white-space:nowrap!important;
}
.heat-training-form .heat-training-picker-display.is-invalid{
  border-color:var(--heat-orange)!important;
  box-shadow:0 0 0 1px var(--heat-orange)!important;
}
.heat-training-time-picker{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-height:none;
}
.heat-training-consent{
  margin-top:4px!important;
}
.heat-training-form .heat-training-consent label{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0;
  font-family:Inter,Arial,sans-serif;
  font-size:.82rem;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0;
  text-transform:none;
  color:#d8d8d8;
  cursor:pointer;
}
.heat-training-form .heat-training-consent input[type="checkbox"]{
  flex:0 0 22px;
  width:22px!important;
  height:22px;
  min-height:22px!important;
  margin:1px 0 0;
  padding:0!important;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #555;
  border-radius:0;
  background:#080808;
  cursor:pointer;
}
.heat-training-form .heat-training-consent input[type="checkbox"]:checked{
  border-color:var(--heat-orange);
  background-color:var(--heat-orange);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='square'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
}
.heat-training-form .heat-training-consent input[type="checkbox"]:focus-visible{
  border-color:var(--heat-orange);
  outline:2px solid var(--heat-orange);
  outline-offset:3px;
}
@media(max-width:900px){
  .heat-booking-form-heading h2{
    font-size:clamp(1.7rem,7vw,3rem)!important;
    white-space:normal!important;
  }
}
@media(max-width:760px){
  .heat-training-time-picker{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Booking heading parity and date/time spacing - 3.0.34 */
.heat-booking-copy h2,
.heat-booking-form-heading h2{
  font-size:clamp(2.5rem,5vw,5.2rem)!important;
  line-height:.9!important;
}
.heat-booking-form-heading h2{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.heat-training-date-time{
  margin-top:clamp(34px,4vw,56px)!important;
}
.heat-training-date-time legend{
  margin-bottom:16px;
}


/* Booking overview layout and compact date/time spacing - 3.0.35 */
.heat-booking-overview{
  align-items:stretch;
}
.heat-booking-copy{
  min-width:0;
  height:100%;
}
.heat-booking-steps{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  align-self:stretch;
  height:100%;
  min-height:0;
}
.heat-booking-steps article{
  display:flex;
  min-height:0;
  flex-direction:column;
  justify-content:center;
  padding:clamp(18px,2vw,28px);
}
.heat-booking-steps article:nth-child(3){
  grid-column:1 / -1;
}
.heat-booking-steps article > span{
  margin-bottom:clamp(10px,1.2vw,18px);
}
.heat-booking-steps h3{
  margin-bottom:8px;
}
.heat-booking-steps p{
  font-size:clamp(.82rem,.9vw,.92rem);
  line-height:1.45;
}
.heat-training-date-time{
  margin-top:clamp(17px,2vw,28px)!important;
}
@media(max-width:1050px){
  .heat-booking-steps{
    height:auto;
  }
}
@media(max-width:760px){
  .heat-booking-steps{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  .heat-booking-steps article:nth-child(3){
    grid-column:auto;
  }
}

/* Mobile viewport width and hero overlay containment - 3.0.36 */
html,
body{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-right:0!important;
  margin-left:0!important;
  overflow-x:hidden;
}
body > .site-header,
body > main,
body > .site-footer,
#page,
.site{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-right:0!important;
  margin-left:0!important;
}
.site-header,
main,
.site-main,
.site-footer,
.hero,
.hero-categories{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-right:0!important;
  margin-left:0!important;
}
.hero,
.hero-categories{
  overflow:hidden;
}
.hero-pane{
  min-width:0;
  isolation:isolate;
  contain:paint;
}
.hero-pane::after{
  pointer-events:none;
}
img,
picture,
video,
iframe,
svg{
  max-width:100%;
}

@supports (overflow:clip){
  html,
  body{
    overflow-x:clip;
  }
}

@media(max-width:767px){
  .content-wrap,
  .section-inner,
  .heat-shop-content,
  .single-product .content-wrap,
  .woocommerce-cart .content-wrap,
  .woocommerce-checkout .content-wrap,
  .woocommerce-account .content-wrap,
  .heat-booking-content,
  .heat-shop-page > .content-wrap.heat-shop-content,
  .heat-single-product-page > .content-wrap.heat-product-content,
  body.woocommerce-account .content-wrap.narrow.prose,
  .woocommerce-cart .content-wrap.narrow.prose,
  .woocommerce-checkout .content-wrap.narrow.prose{
    width:calc(100% - 32px)!important;
    max-width:100%!important;
    margin-right:auto!important;
    margin-left:auto!important;
  }

  .site-header{
    padding-right:max(16px,env(safe-area-inset-right));
    padding-left:max(16px,env(safe-area-inset-left));
  }

  .hero-categories,
  .program-grid,
  .heat-values-grid,
  .about-heat-meaning-intro,
  .heat-booking-overview,
  .heat-booking-steps,
  .heat-booking-form-layout{
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0!important;
  }

  .hero-pane,
  .program-card,
  .heat-value-card,
  .heat-booking-steps article{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .hero-pane img{
    display:block;
    width:100%!important;
    max-width:none!important;
    height:100%;
    object-fit:cover;
  }

  .giant-type{
    max-width:100%;
    overflow:hidden;
    font-size:clamp(4rem,23vw,7rem);
  }

  .woocommerce,
  .woocommerce-MyAccount-content,
  .woocommerce-MyAccount-navigation,
  .wc-block-components-sidebar-layout,
  .wc-block-components-main,
  .wc-block-components-sidebar{
    min-width:0!important;
    max-width:100%!important;
  }

  .woocommerce table,
  .wc-block-cart-items{
    width:100%;
    max-width:100%;
  }

  input,
  select,
  textarea,
  button{
    min-width:0;
    max-width:100%;
  }
}

/* Mobile swipe slider for homepage category hero - 3.0.38 */
@media(max-width:767px){
  .hero.hero-categories{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:stretch;
    gap:12px;
    min-height:0;
    padding:0 16px 12px;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:16px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .hero.hero-categories::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
  }

  .hero.hero-categories .hero-pane,
  .hero.hero-categories .hero-pane:last-child{
    flex:0 0 calc(100vw - 48px);
    width:calc(100vw - 48px)!important;
    min-width:calc(100vw - 48px)!important;
    max-width:calc(100vw - 48px)!important;
    min-height:72vh;
    min-height:72svh;
    grid-column:auto;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    border-right:0;
  }

  .hero.hero-categories .hero-pane img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover;
    -webkit-user-drag:none;
    user-select:none;
  }

  .hero.hero-categories .hero-text{
    justify-content:flex-end;
    padding:80px 20px 24px;
    background:none;
  }

  /* Na ekranach dotykowych kolor wynika z aktywnego slajdu, nie ze stanu :hover. */
  .hero.hero-categories .hero-pane img{
    filter:grayscale(100%) contrast(120%) brightness(.72);
    transform:none;
  }

  .hero.hero-categories .hero-pane::after{
    opacity:.78;
  }

  .hero.hero-categories .hero-pane.is-active img{
    filter:none;
    transform:none;
  }

  .hero.hero-categories .hero-pane.is-active::after{
    opacity:0;
  }

  .hero.hero-categories .pane-title,
  .hero.hero-categories .hero-pane:hover .pane-title,
  .hero.hero-categories .hero-pane:focus .pane-title,
  .hero.hero-categories .hero-pane:focus-visible .pane-title{
    display:block;
    max-width:100%;
    margin:0;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
    font-size:clamp(1.7rem,8.5vw,2.65rem);
    line-height:.92;
    text-shadow:0 3px 24px rgba(0,0,0,.95);
  }

  .hero.hero-categories .giant-type{
    display:none;
  }

  .hero.hero-categories .hero-pane:focus-visible{
    outline:3px solid var(--heat-white);
    outline-offset:-6px;
  }
}

/* Stable responsive product grid on the homepage - 3.0.39 */
.home-products-section,
.home-products-section > .woocommerce,
.home-products-section > .woocommerce > ul.products{
  width:100%;
  max-width:100%;
  min-width:0;
}

@media(max-width:767px){
  .home-products-section{
    padding-right:16px!important;
    padding-left:16px!important;
    overflow:hidden;
  }

  .home-products-section > .woocommerce,
  .home-products-section > .woocommerce.columns-3{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  .home-products-section .woocommerce ul.products,
  .home-products-section .woocommerce ul.products.columns-3{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:36px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    list-style:none!important;
  }

  .home-products-section .woocommerce ul.products::before,
  .home-products-section .woocommerce ul.products::after{
    display:none!important;
    content:none!important;
  }

  .home-products-section .woocommerce ul.products li.product,
  .home-products-section .woocommerce ul.products li.product.first,
  .home-products-section .woocommerce ul.products li.product.last{
    display:flex!important;
    float:none!important;
    clear:none!important;
    flex-direction:column;
    align-items:stretch;
    grid-column:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    contain:layout;
  }

  .home-products-section .woocommerce ul.products li.product:hover{
    transform:none!important;
  }

  .home-products-section .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  .home-products-section .woocommerce ul.products li.product .woocommerce-loop-product__link{
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .home-products-section .woocommerce ul.products li.product a img,
  .home-products-section .woocommerce ul.products li.product:hover a img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    margin:0 0 20px!important;
    object-fit:cover!important;
    transform:none!important;
  }

  .home-products-section .woocommerce ul.products li.product .woocommerce-loop-product__title{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(1.15rem,5.7vw,1.55rem)!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
  }

  .home-products-section .woocommerce ul.products li.product .price{
    width:100%!important;
    max-width:100%!important;
    margin:13px 0 17px!important;
  }

  .home-products-section .woocommerce ul.products li.product .button,
  .home-products-section .woocommerce ul.products li.product .added_to_cart{
    display:flex!important;
    align-items:center;
    justify-content:center;
    align-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    text-align:center;
    white-space:normal;
  }

  .home-products-section .woocommerce ul.products li.product .added_to_cart{
    margin-top:10px!important;
  }
}


/* Dynamic WooCommerce menu and stable mobile shop archive — 3.0.40 */
.main-navigation > ul > .heat-shop-menu-item{
  position:relative;
  display:flex;
  align-items:center;
  gap:5px;
}
.main-navigation > ul > .heat-shop-menu-item > a{
  min-width:0;
}
.heat-shop-submenu-toggle{
  display:inline-flex;
  flex:0 0 28px;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#000;
  cursor:pointer;
}
.heat-shop-submenu-toggle:focus-visible{
  outline:2px solid #000;
  outline-offset:2px;
}
.heat-shop-submenu-arrow{
  display:block;
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transform-origin:center;
  transition:transform .2s ease;
}
.heat-shop-menu-item.is-submenu-open > .heat-shop-submenu-toggle .heat-shop-submenu-arrow{
  transform:rotate(225deg) translate(-1px,-1px);
}
.main-navigation .heat-shop-menu-categories{
  display:none!important;
  position:absolute;
  top:calc(100% + 28px);
  left:0;
  z-index:1100;
  flex-direction:column!important;
  gap:0!important;
  width:min(390px,calc(100vw - 32px));
  max-height:calc(100vh - 104px);
  margin:0!important;
  padding:8px!important;
  overflow-x:hidden;
  overflow-y:auto;
  list-style:none;
  border:2px solid var(--heat-orange);
  background:#090909;
  box-shadow:0 18px 42px rgba(0,0,0,.55);
  overscroll-behavior:contain;
}
.main-navigation .heat-shop-menu-item.is-submenu-open > .heat-shop-menu-categories{
  display:block!important;
}
.main-navigation .heat-shop-menu-categories li{
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  list-style:none;
}
.main-navigation .heat-shop-menu-categories a{
  display:block;
  width:100%;
  min-width:0;
  padding:12px 14px;
  border-bottom:1px solid #292929;
  color:#fff;
  font-family:var(--heat-display);
  font-size:.74rem;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.035em;
  text-decoration:none;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.main-navigation .heat-shop-menu-categories a:hover,
.main-navigation .heat-shop-menu-categories a:focus-visible,
.main-navigation .heat-shop-menu-category.is-active-path > a{
  background:var(--heat-orange);
  color:#000;
  opacity:1;
}
.main-navigation .heat-shop-menu-categories a:focus-visible{
  outline:2px solid #fff;
  outline-offset:-4px;
}
.main-navigation .heat-shop-menu-subcategories{
  display:block!important;
  position:static!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0 0 6px 14px!important;
  gap:0!important;
  list-style:none;
  background:transparent!important;
  box-shadow:none!important;
}
.main-navigation .heat-shop-menu-subcategories a{
  padding:9px 12px;
  border-bottom:1px solid #202020;
  color:#bdbdbd;
  font-family:var(--heat-body);
  font-size:.68rem;
  line-height:1.3;
  letter-spacing:.03em;
}

@media(max-width:900px){
  .main-navigation > ul > .heat-shop-menu-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:0!important;
    width:100%;
    min-width:0;
  }
  .main-navigation > ul > .heat-shop-menu-item > a{
    grid-column:1;
    grid-row:1;
    width:100%;
  }
  .main-navigation .heat-shop-submenu-toggle{
    grid-column:2;
    grid-row:1;
    width:44px;
    height:44px;
    border-left:1px solid rgba(0,0,0,.25);
  }
  .main-navigation .heat-shop-menu-categories{
    grid-column:1 / -1;
    grid-row:2;
    position:static;
    width:100%;
    max-height:none;
    margin:0!important;
    padding:6px!important;
    border:2px solid #000;
    box-shadow:none;
  }
  .main-navigation .heat-shop-menu-categories a{
    padding:12px;
    border-bottom-color:#303030;
  }
  .main-navigation .heat-shop-menu-subcategories{
    padding-left:12px!important;
  }
}

@media(max-width:767px){
  .heat-shop-page > .content-wrap.heat-shop-content{
    width:calc(100% - 32px)!important;
    max-width:100%!important;
    min-width:0!important;
    margin-right:auto!important;
    margin-left:auto!important;
    overflow:hidden;
  }

  .heat-shop-content > ul.products,
  .heat-shop-content > ul.products.columns-2,
  .heat-shop-content > ul.products.columns-3,
  .heat-shop-content > ul.products.columns-4{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:36px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    list-style:none!important;
  }

  .heat-shop-content > ul.products::before,
  .heat-shop-content > ul.products::after{
    display:none!important;
    content:none!important;
  }

  .heat-shop-content > ul.products li.product,
  .heat-shop-content > ul.products li.product.first,
  .heat-shop-content > ul.products li.product.last{
    display:flex!important;
    float:none!important;
    clear:none!important;
    flex-direction:column;
    align-items:stretch;
    grid-column:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 18px!important;
    transform:none!important;
    contain:layout;
  }

  .heat-shop-content > ul.products li.product:hover{
    transform:none!important;
  }

  .heat-shop-content > ul.products li.product .woocommerce-LoopProduct-link,
  .heat-shop-content > ul.products li.product .woocommerce-loop-product__link{
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .heat-shop-content > ul.products li.product a img,
  .heat-shop-content > ul.products li.product:hover a img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    margin:0 0 20px!important;
    object-fit:cover!important;
    transform:none!important;
  }

  .heat-shop-content > ul.products li.product .woocommerce-loop-product__title{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(1.15rem,5.7vw,1.55rem)!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
  }

  .heat-shop-content > ul.products li.product .price{
    width:100%!important;
    max-width:100%!important;
    margin:13px 0 17px!important;
  }

  .heat-shop-content > ul.products li.product .button,
  .heat-shop-content > ul.products li.product .added_to_cart{
    display:flex!important;
    align-items:center;
    justify-content:center;
    align-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    text-align:center;
    white-space:normal;
  }

  .heat-shop-content > ul.products li.product .added_to_cart{
    margin-top:10px!important;
  }
}

/* Desktop/mobile separation for shop categories — 3.0.41 */
@media(min-width:901px){
  /* Desktop keeps the original category panel above the products. */
  .main-navigation > ul > .heat-shop-menu-item{
    position:static;
    display:block!important;
  }

  /* The WooCommerce category tree inside the header is mobile-only. */
  .main-navigation .heat-shop-submenu-toggle,
  .main-navigation .heat-shop-menu-item > .heat-shop-menu-categories,
  .main-navigation .heat-shop-menu-item.is-submenu-open > .heat-shop-menu-categories{
    display:none!important;
  }
}

@media(max-width:900px){
  /* On phones and tablets categories live under the “Sklep” menu item. */
  .heat-shop-content > .heat-shop-category-nav{
    display:none!important;
  }
}


/* Responsive WooCommerce taxonomy hero — 3.0.42 */
.tax-product_cat .heat-shop-hero,
.tax-product_tag .heat-shop-hero{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.tax-product_cat .heat-shop-hero .eyebrow,
.tax-product_tag .heat-shop-hero .eyebrow,
.tax-product_cat .heat-shop-hero .page-title,
.tax-product_tag .heat-shop-hero .page-title,
.tax-product_cat .heat-shop-hero .page-hero-copy,
.tax-product_tag .heat-shop-hero .page-hero-copy{
  max-width:100%;
  min-width:0;
}
.tax-product_cat .heat-shop-hero .page-title,
.tax-product_tag .heat-shop-hero .page-title{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  text-wrap:balance;
}
.tax-product_cat .heat-shop-hero .page-title:last-child,
.tax-product_tag .heat-shop-hero .page-title:last-child{
  margin-bottom:0;
}

@media(max-width:900px){
  .tax-product_cat .heat-shop-hero,
  .tax-product_tag .heat-shop-hero{
    padding-top:clamp(44px,8vw,70px);
    padding-right:max(16px,env(safe-area-inset-right));
    padding-bottom:clamp(34px,7vw,52px);
    padding-left:max(16px,env(safe-area-inset-left));
  }

  .tax-product_cat .heat-shop-hero .eyebrow,
  .tax-product_tag .heat-shop-hero .eyebrow{
    width:fit-content;
    margin:0 0 clamp(16px,4vw,24px);
    padding-left:12px;
    font-size:clamp(.62rem,2.4vw,.72rem);
    line-height:1.45;
    letter-spacing:clamp(2px,.8vw,4px);
    overflow-wrap:anywhere;
  }

  .tax-product_cat .heat-shop-hero .page-title,
  .tax-product_tag .heat-shop-hero .page-title{
    width:100%;
    margin:0;
    font-size:clamp(2.6rem,11.5vw,4.75rem);
    line-height:.9;
    letter-spacing:-.035em;
  }

  .tax-product_cat .heat-shop-hero .page-hero-copy,
  .tax-product_tag .heat-shop-hero .page-hero-copy{
    width:100%;
    margin-top:22px;
    font-size:clamp(.98rem,3.8vw,1.12rem);
    line-height:1.6;
    overflow-wrap:anywhere;
  }

  .tax-product_cat .heat-shop-hero .page-hero-copy > :first-child,
  .tax-product_tag .heat-shop-hero .page-hero-copy > :first-child{
    margin-top:0;
  }

  .tax-product_cat .heat-shop-hero .page-hero-copy > :last-child,
  .tax-product_tag .heat-shop-hero .page-hero-copy > :last-child{
    margin-bottom:0;
  }
}

@media(max-width:420px){
  .tax-product_cat .heat-shop-hero,
  .tax-product_tag .heat-shop-hero{
    padding-top:38px;
    padding-bottom:30px;
  }

  .tax-product_cat .heat-shop-hero .eyebrow,
  .tax-product_tag .heat-shop-hero .eyebrow{
    padding-left:10px;
    border-left-width:3px;
    font-size:.6rem;
    letter-spacing:2px;
  }

  .tax-product_cat .heat-shop-hero .page-title,
  .tax-product_tag .heat-shop-hero .page-title{
    font-size:clamp(2.25rem,11.6vw,3.1rem);
    line-height:.92;
  }
}


/* Scrollable orange mobile WooCommerce category accordion — 3.0.43 */
@media(max-width:900px){
  .main-navigation .heat-shop-menu-categories{
    padding:0!important;
    border:2px solid #000;
    background:var(--heat-orange)!important;
    color:#000;
  }

  .main-navigation .heat-shop-menu-categories > .heat-shop-menu-category + .heat-shop-menu-category{
    border-top:1px solid rgba(0,0,0,.38);
  }

  .main-navigation .heat-shop-menu-category-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px;
    align-items:stretch;
    width:100%;
    min-width:0;
    background:var(--heat-orange);
  }

  .main-navigation .heat-shop-menu-category-row > a{
    display:flex;
    align-items:center;
    width:100%;
    min-width:0;
    min-height:54px;
    padding:14px 16px!important;
    border:0!important;
    background:transparent!important;
    color:#000!important;
    font-family:var(--heat-display);
    font-size:clamp(.74rem,3.2vw,.9rem);
    font-weight:900;
    line-height:1.22;
    letter-spacing:.025em;
    text-transform:uppercase;
    overflow-wrap:anywhere;
    opacity:1!important;
  }


  .main-navigation .heat-shop-menu-category:not(.menu-item-has-children) > .heat-shop-menu-category-row > a{
    grid-column:1 / -1;
  }

  .main-navigation .heat-shop-menu-category-row > a:hover,
  .main-navigation .heat-shop-menu-category-row > a:focus-visible,
  .main-navigation .heat-shop-menu-category.is-active-path > .heat-shop-menu-category-row > a{
    background:#000!important;
    color:var(--heat-orange)!important;
  }

  .main-navigation .heat-shop-category-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    min-width:48px;
    min-height:54px;
    margin:0;
    padding:0;
    border:0;
    border-left:1px solid rgba(0,0,0,.38);
    background:transparent;
    color:#000;
    cursor:pointer;
  }

  .main-navigation .heat-shop-category-toggle:hover,
  .main-navigation .heat-shop-category-toggle:focus-visible,
  .main-navigation .heat-shop-menu-category.is-category-open > .heat-shop-menu-category-row > .heat-shop-category-toggle{
    background:#000;
    color:var(--heat-orange);
  }

  .main-navigation .heat-shop-category-toggle:focus-visible{
    outline:2px solid #fff;
    outline-offset:-4px;
  }

  .main-navigation .heat-shop-category-arrow{
    display:block;
    width:10px;
    height:10px;
    border-right:3px solid currentColor;
    border-bottom:3px solid currentColor;
    transform:rotate(45deg) translate(-1px,-1px);
    transform-origin:center;
    transition:transform .2s ease;
  }

  .main-navigation .heat-shop-menu-category.is-category-open > .heat-shop-menu-category-row .heat-shop-category-arrow{
    transform:rotate(225deg) translate(-1px,-1px);
  }

  .main-navigation .heat-shop-menu-subcategories{
    display:none!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    list-style:none;
    border-top:2px solid #000;
    background:var(--heat-orange)!important;
    box-shadow:none!important;
  }

  .main-navigation .heat-shop-menu-category.is-category-open > .heat-shop-menu-subcategories{
    display:block!important;
  }

  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category-row{
    background:var(--heat-orange);
  }

  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category-row > a{
    min-height:50px;
    padding:13px 16px 13px 26px!important;
    border-bottom:1px solid rgba(0,0,0,.32)!important;
    background:var(--heat-orange)!important;
    color:#000!important;
    font-family:var(--heat-body);
    font-size:clamp(.72rem,3vw,.82rem);
    letter-spacing:.025em;
  }

  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category-row > a:hover,
  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category-row > a:focus-visible,
  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category.is-active-path > .heat-shop-menu-category-row > a{
    background:#000!important;
    color:var(--heat-orange)!important;
  }

  .main-navigation .heat-shop-menu-subcategories .heat-shop-category-toggle{
    min-height:50px;
    border-left-color:rgba(0,0,0,.32);
    background:var(--heat-orange);
    color:#000;
  }

  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-subcategories .heat-shop-menu-category-row > a{
    padding-left:38px!important;
  }
}

@media(max-width:760px){
  html.heat-mobile-nav-open,
  html.heat-mobile-nav-open body{
    height:100%;
    overflow:hidden!important;
    overscroll-behavior:none;
  }

  .main-navigation,
  .main-navigation.is-open{
    position:fixed!important;
    top:72px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    padding:18px 18px calc(28px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
    background:var(--heat-orange)!important;
  }

  .main-navigation > ul{
    display:grid!important;
    align-content:start;
    width:100%;
    min-width:0;
    min-height:min-content;
    gap:4px!important;
  }

  .main-navigation > ul > .heat-shop-menu-item{
    align-self:start;
  }

  .main-navigation .heat-shop-menu-categories{
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto;
  }
}


/* Mobile cart row flow and order value label -- 3.0.44 */
@media(max-width:900px){
  .woocommerce-cart .wc-block-cart-items__row{
    overflow:hidden;
  }

  .woocommerce-cart .wc-block-cart-item__product,
  .woocommerce-cart .wc-block-cart-item__product .wc-block-cart-item__wrap{
    width:100%;
    min-width:0;
    max-width:100%;
  }

  .woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
  .woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount{
    display:inline-block;
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

/* Borderless mobile WooCommerce category dropdown -- 3.0.45 */
@media(max-width:900px){
  .main-navigation .heat-shop-menu-categories{
    border:0!important;
    outline:0!important;
  }
}

/* Mobile navigation typography and placement below the header -- 3.0.46 */
@media(max-width:760px){
  /* Anchor the open panel to the bottom edge of the sticky header. This also
     keeps it below the WordPress admin bar instead of positioning it from the
     top of the viewport. */
  .site-header > .main-navigation,
  .site-header > .main-navigation.is-open{
    position:absolute!important;
    top:100%!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    z-index:1001;
    width:100%!important;
    max-width:100%!important;
    height:calc(100dvh - 72px - var(--wp-admin--admin-bar--height, 0px))!important;
    max-height:calc(100dvh - 72px - var(--wp-admin--admin-bar--height, 0px))!important;
  }

  /* Parent WooCommerce categories use the same typography as the remaining
     first-level mobile menu links. */
  .main-navigation .heat-shop-menu-category-row > a{
    font-size:.76rem!important;
    letter-spacing:1px!important;
  }

  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category-row > a{
    font-size:.72rem!important;
  }
}

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  /* Prevent Safari from leaving a white focus frame after tapping an arrow;
     keyboard focus styling remains available on devices with a keyboard. */
  .main-navigation .heat-shop-category-toggle:focus-visible,
  .main-navigation .heat-shop-submenu-toggle:focus-visible{
    outline:0!important;
  }
}

@media(max-width:760px){
  body.admin-bar .site-header > .main-navigation,
  body.admin-bar .site-header > .main-navigation.is-open{
    height:calc(100dvh - 72px - 32px)!important;
    max-height:calc(100dvh - 72px - 32px)!important;
  }
}

@media(max-width:760px) and (max-width:782px){
  body.admin-bar .site-header > .main-navigation,
  body.admin-bar .site-header > .main-navigation.is-open{
    height:calc(100dvh - 72px - 46px)!important;
    max-height:calc(100dvh - 72px - 46px)!important;
  }
}

/* Unified, flush mobile navigation rows -- 3.0.47 */
@media(max-width:900px){
  .site-header > .main-navigation,
  .site-header > .main-navigation.is-open{
    --heat-mobile-menu-row-height:54px;
    --heat-mobile-menu-toggle-width:44px;
    --heat-mobile-menu-inline-padding:10px;
  }

  .main-navigation > ul{
    gap:0!important;
  }

  .main-navigation > ul > li{
    width:100%;
    min-width:0;
    margin:0!important;
    padding:0!important;
  }

  /* Every first-level label and every WooCommerce category uses exactly the
     same family, size, weight, spacing and horizontal starting point. */
  .main-navigation > ul > li > a,
  .main-navigation .heat-shop-menu-category-row > a,
  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category-row > a{
    display:flex!important;
    align-items:center;
    width:100%;
    min-width:0;
    min-height:var(--heat-mobile-menu-row-height);
    margin:0!important;
    padding:13px var(--heat-mobile-menu-inline-padding)!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.28)!important;
    background:transparent;
    color:#000;
    font-family:var(--heat-body)!important;
    font-size:.76rem!important;
    font-weight:900!important;
    line-height:1.25!important;
    letter-spacing:1px!important;
    text-transform:uppercase!important;
    overflow-wrap:anywhere;
  }

  /* Keep the shop trigger and every parent category on one shared grid, so
     all arrow columns begin and end at the same x-position. */
  .main-navigation > ul > .heat-shop-menu-item,
  .main-navigation .heat-shop-menu-category-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) var(--heat-mobile-menu-toggle-width)!important;
    align-items:stretch;
    gap:0!important;
    width:100%;
    min-width:0;
  }

  .main-navigation > ul > .heat-shop-menu-item > a{
    grid-column:1;
    grid-row:1;
  }

  .main-navigation .heat-shop-submenu-toggle,
  .main-navigation .heat-shop-category-toggle{
    display:inline-flex!important;
    grid-column:2;
    grid-row:1;
    align-self:stretch;
    align-items:center;
    justify-content:center;
    width:var(--heat-mobile-menu-toggle-width)!important;
    min-width:var(--heat-mobile-menu-toggle-width)!important;
    height:auto!important;
    min-height:var(--heat-mobile-menu-row-height)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.28)!important;
    border-left:1px solid rgba(0,0,0,.28)!important;
    background:transparent;
    color:#000;
  }

  .main-navigation .heat-shop-submenu-arrow,
  .main-navigation .heat-shop-category-arrow{
    display:block;
    width:10px!important;
    height:10px!important;
    border:0!important;
    border-right:3px solid currentColor!important;
    border-bottom:3px solid currentColor!important;
    transform:rotate(45deg) translate(-1px,-1px);
    transform-origin:center;
  }

  .main-navigation .heat-shop-menu-item.is-submenu-open > .heat-shop-submenu-toggle .heat-shop-submenu-arrow,
  .main-navigation .heat-shop-menu-category.is-category-open > .heat-shop-menu-category-row .heat-shop-category-arrow{
    transform:rotate(225deg) translate(-1px,-1px);
  }

  /* The generated category tree stays in normal document flow immediately
     below the Shop row. It has no inset, frame, padding or artificial gap. */
  .main-navigation .heat-shop-menu-categories,
  .main-navigation .heat-shop-menu-item.is-submenu-open > .heat-shop-menu-categories{
    grid-column:1 / -1;
    grid-row:2;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    border:0!important;
    outline:0!important;
    background:var(--heat-orange)!important;
    box-shadow:none!important;
  }

  .main-navigation .heat-shop-menu-categories > .heat-shop-menu-category,
  .main-navigation .heat-shop-menu-categories > .heat-shop-menu-category + .heat-shop-menu-category{
    width:100%;
    min-width:0;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  .main-navigation .heat-shop-menu-category:not(.menu-item-has-children) > .heat-shop-menu-category-row > a{
    grid-column:1 / -1;
  }

  .main-navigation .heat-shop-menu-subcategories{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:var(--heat-orange)!important;
  }

  /* Hierarchy is indicated only by a small text inset; typography and the
     full-width separator grid remain identical to the rest of the menu. */
  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-category-row > a{
    padding-left:26px!important;
  }

  .main-navigation .heat-shop-menu-subcategories .heat-shop-menu-subcategories .heat-shop-menu-category-row > a{
    padding-left:42px!important;
  }

  .main-navigation .heat-shop-menu-category-row > a:hover,
  .main-navigation .heat-shop-menu-category-row > a:focus-visible,
  .main-navigation .heat-shop-menu-category.is-active-path > .heat-shop-menu-category-row > a{
    background:#000!important;
    color:var(--heat-orange)!important;
    opacity:1!important;
  }

  .main-navigation .heat-shop-category-toggle:hover,
  .main-navigation .heat-shop-category-toggle:focus-visible,
  .main-navigation .heat-shop-menu-category.is-category-open > .heat-shop-menu-category-row > .heat-shop-category-toggle{
    background:#000!important;
    color:var(--heat-orange)!important;
  }
}

/* Hide the duplicate per-item total in the mobile WooCommerce cart -- 3.0.48 */
@media(max-width:900px){
  .woocommerce-cart td.wc-block-cart-item__total{
    display:none!important;
  }

  .woocommerce-cart .wc-block-cart-item__image{
    grid-row:1!important;
  }
}

/* Responsive About page hero aligned with WooCommerce page headers -- 3.0.49 */
.about-page > .about-hero{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.about-page > .about-hero .eyebrow,
.about-page > .about-hero h1,
.about-page > .about-hero p{
  max-width:100%;
  min-width:0;
}
.about-page > .about-hero h1{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  text-wrap:balance;
}
.about-page > .about-hero p{
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .about-page > .about-hero{
    display:block;
    min-height:0;
    padding-top:clamp(44px,8vw,70px);
    padding-right:max(16px,env(safe-area-inset-right));
    padding-bottom:clamp(34px,7vw,52px);
    padding-left:max(16px,env(safe-area-inset-left));
    background-position:center;
  }

  .about-page > .about-hero .eyebrow{
    width:fit-content;
    margin:0 0 clamp(16px,4vw,24px);
    padding-left:12px;
    font-size:clamp(.62rem,2.4vw,.72rem);
    line-height:1.45;
    letter-spacing:clamp(2px,.8vw,4px);
  }

  .about-page > .about-hero h1{
    width:100%;
    margin:0 0 clamp(22px,5vw,32px);
    font-size:clamp(2.6rem,11.5vw,4.75rem);
    line-height:.9;
    letter-spacing:-.035em;
  }

  .about-page > .about-hero p{
    width:100%;
    margin:0;
    font-size:clamp(.98rem,3.8vw,1.12rem);
    line-height:1.6;
  }

  .about-page > .about-hero::after{
    right:-.12em;
    bottom:-.08em;
    font-size:clamp(8rem,36vw,18rem);
  }
}

@media(max-width:420px){
  .about-page > .about-hero{
    padding-top:38px;
    padding-bottom:30px;
  }

  .about-page > .about-hero .eyebrow{
    padding-left:10px;
    border-left-width:3px;
    font-size:.6rem;
    letter-spacing:2px;
  }

  .about-page > .about-hero h1{
    margin-bottom:22px;
    font-size:clamp(2.25rem,11.6vw,3.1rem);
    line-height:.92;
  }

  .about-page > .about-hero p{
    font-size:.98rem;
  }
}

/* Smaller non-hyphenated product names on mobile category archives -- 3.0.50 */
@media(max-width:900px){
  .tax-product_cat .heat-shop-content > ul.products li.product .woocommerce-loop-product__title,
  .tax-product_tag .heat-shop-content > ul.products li.product .woocommerce-loop-product__title{
    font-size:clamp(1rem,4.2vw,1.18rem)!important;
    line-height:1.14!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
  }
}

/* Mobile product titles on Home, Shop and category archives; responsive cart/checkout titles -- 3.0.52 */
@media(max-width:900px){
  .home-products-section .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .post-type-archive-product .heat-shop-content > ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-shop .heat-shop-content > ul.products li.product .woocommerce-loop-product__title,
  .tax-product_cat .heat-shop-content > ul.products li.product .woocommerce-loop-product__title,
  .tax-product_tag .heat-shop-content > ul.products li.product .woocommerce-loop-product__title{
    font-size:clamp(1rem,4.2vw,1.18rem)!important;
    line-height:1.14!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
  }

  .woocommerce-cart .page-hero,
  .woocommerce-checkout .page-hero{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    padding-top:clamp(44px,8vw,70px);
    padding-right:max(16px,env(safe-area-inset-right));
    padding-bottom:clamp(34px,7vw,52px);
    padding-left:max(16px,env(safe-area-inset-left));
  }

  .woocommerce-cart .page-hero h1,
  .woocommerce-checkout .page-hero h1{
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    font-size:clamp(2.6rem,11.5vw,4.75rem);
    line-height:.9;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
    -webkit-hyphens:none;
    -ms-hyphens:none;
    hyphens:none;
    text-wrap:balance;
  }
}

@media(max-width:420px){
  .woocommerce-cart .page-hero,
  .woocommerce-checkout .page-hero{
    padding-top:38px;
    padding-bottom:30px;
  }

  .woocommerce-cart .page-hero h1,
  .woocommerce-checkout .page-hero h1{
    font-size:clamp(2.25rem,11.6vw,3.1rem);
    line-height:.92;
  }
}



/* Compact mobile page heroes and single-product containment -- 3.0.52 */
@media(max-width:900px){
  /* Contact uses the same responsive header geometry as Shop, Cart and About. */
  .contact-hero{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    padding-top:clamp(44px,8vw,70px);
    padding-right:max(16px,env(safe-area-inset-right));
    padding-bottom:clamp(34px,7vw,52px);
    padding-left:max(16px,env(safe-area-inset-left));
  }

  .contact-hero h1,
  .contact-hero p{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .contact-hero h1{
    margin:0 0 clamp(20px,5vw,30px);
    font-size:clamp(2.6rem,11vw,4.5rem);
    line-height:.9;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
    -webkit-hyphens:none;
    -ms-hyphens:none;
    hyphens:none;
    text-wrap:balance;
  }

  .contact-hero p{
    margin:0;
    font-size:clamp(.98rem,3.8vw,1.12rem);
    line-height:1.6;
    overflow-wrap:anywhere;
  }

  /* Never split compact-page H1 words with generated hyphens. */
  .tax-product_cat .heat-shop-hero .page-title,
  .tax-product_tag .heat-shop-hero .page-title,
  .about-page > .about-hero h1,
  .contact-hero h1{
    word-break:normal!important;
    overflow-wrap:normal!important;
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
  }

  /* Explicit <br> elements define the About heading lines; no extra wrapping. */
  .about-page > .about-hero h1{
    white-space:nowrap;
  }

  /* Contain every WooCommerce product component inside the mobile viewport. */
  .heat-single-product-page,
  .heat-single-product-page > .heat-product-content,
  .single-product div.product,
  .single-product div.product > *,
  .single-product div.product .summary,
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .woocommerce-tabs,
  .single-product div.product .related.products,
  .single-product div.product .upsells.products{
    min-width:0!important;
    max-width:100%!important;
  }

  .heat-single-product-page{
    width:100%;
    overflow:visible;
  }

  .heat-single-product-page > .content-wrap.heat-product-content{
    width:calc(100% - 32px)!important;
    margin-right:auto!important;
    margin-left:auto!important;
    padding-top:clamp(42px,10vw,70px);
    padding-bottom:clamp(56px,12vw,86px);
    overflow:visible;
  }

  .single-product div.product{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(30px,8vw,44px)!important;
    width:100%!important;
    margin:0!important;
    overflow:visible;
  }

  .single-product div.product::before,
  .single-product div.product::after{
    display:none!important;
    content:none!important;
  }

  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .woocommerce-product-gallery__wrapper,
  .single-product div.product .woocommerce-product-gallery__image,
  .single-product div.product .woocommerce-product-gallery__image a,
  .single-product div.product .flex-viewport{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .single-product div.product .woocommerce-product-gallery__wrapper{
    margin:0!important;
  }

  .single-product div.product .woocommerce-product-gallery__image img{
    display:block;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }

  .single-product div.product .flex-control-thumbs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    width:100%!important;
    max-width:100%!important;
    margin:10px 0 0!important;
    padding:0!important;
    overflow:hidden;
  }

  .single-product div.product .flex-control-thumbs li{
    float:none!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }

  .single-product div.product .summary{
    width:100%!important;
    margin:0!important;
    padding:clamp(20px,5.5vw,28px) clamp(18px,5vw,24px)!important;
    overflow:visible;
  }

  .single-product div.product .summary .product_title{
    width:100%;
    max-width:100%;
    margin-bottom:18px!important;
    font-size:clamp(1.55rem,7.2vw,2.15rem)!important;
    line-height:.98;
    letter-spacing:-.025em;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
  }

  .single-product div.product .woocommerce-product-details__short-description,
  .single-product div.product .product_meta,
  .single-product div.product .summary p,
  .single-product div.product .summary a{
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .single-product div.product form.cart{
    display:grid!important;
    grid-template-columns:minmax(0,92px) minmax(0,1fr);
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    margin:26px 0!important;
  }

  .single-product div.product form.cart .quantity,
  .single-product div.product form.cart .quantity .qty,
  .single-product div.product form.cart .single_add_to_cart_button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .single-product div.product form.cart .variations{
    grid-column:1/-1;
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed;
  }

  .single-product div.product form.cart .variations th,
  .single-product div.product form.cart .variations td{
    display:block;
    width:100%!important;
    max-width:100%!important;
    padding-right:0!important;
    padding-left:0!important;
  }

  .single-product div.product form.cart .variations select,
  .single-product div.product form.cart .variations_button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .single-product div.product form.cart .variations_button{
    grid-column:1/-1;
    display:grid!important;
    grid-template-columns:minmax(0,92px) minmax(0,1fr);
    gap:10px;
  }

  .single-product div.product .woocommerce-tabs{
    width:100%!important;
    margin-top:0!important;
  }

  .single-product div.product .woocommerce-tabs ul.tabs{
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    width:100%!important;
    max-width:100%!important;
  }

  .single-product div.product .woocommerce-tabs ul.tabs li,
  .single-product div.product .woocommerce-tabs ul.tabs li a{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    text-align:center;
  }

  .single-product div.product .woocommerce-tabs .panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:clamp(22px,5.5vw,30px) clamp(18px,5vw,24px)!important;
    overflow-wrap:anywhere;
  }

  .single-product div.product .woocommerce-tabs .panel table{
    display:block;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .single-product div.product .related.products,
  .single-product div.product .upsells.products{
    width:100%!important;
    margin-top:clamp(40px,10vw,64px)!important;
    overflow:visible;
  }
}

@media(max-width:420px){
  .tax-product_cat .heat-shop-hero .page-title,
  .tax-product_tag .heat-shop-hero .page-title{
    font-size:clamp(1.95rem,9.2vw,2.45rem)!important;
    line-height:.96;
    letter-spacing:-.025em;
  }

  .about-page > .about-hero h1{
    font-size:clamp(1.9rem,9vw,2.4rem)!important;
    line-height:.98;
    letter-spacing:-.025em;
  }

  .contact-hero{
    padding-top:38px;
    padding-bottom:30px;
  }

  .contact-hero h1{
    font-size:clamp(2rem,9.5vw,2.5rem);
    line-height:.96;
    white-space:nowrap;
  }

  .single-product div.product .summary{
    padding:20px 16px!important;
  }

  .single-product div.product form.cart,
  .single-product div.product form.cart .variations_button{
    grid-template-columns:minmax(0,1fr);
  }

  .single-product div.product form.cart .quantity,
  .single-product div.product form.cart .quantity .qty{
    min-height:48px;
  }
}

/* Compact mobile H2 headings match the scaled H1 size -- 3.0.53 */
@media(max-width:420px){
  main h2:not(.pane-title):not(.woocommerce-loop-product__title){
    max-width:100%;
    font-size:clamp(1.95rem,9.2vw,2.5rem)!important;
    line-height:.96!important;
    letter-spacing:-.025em;
    overflow-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
  }
}

/* =========================================================
   GLOBAL RESPONSIVE HEADING SYSTEM -- 3.0.54
   One predictable H1/H2 scale for desktop, tablet and mobile.
   Component labels (hero tiles and product-card names) keep their
   deliberately smaller component-specific typography.
   ========================================================= */
:root{
  --heat-heading-h1-size:clamp(3.75rem,6.5vw,6.75rem);
  --heat-heading-h2-size:clamp(2.2rem,3.4vw,3.75rem);
  --heat-heading-h1-line:.88;
  --heat-heading-h2-line:.94;
}

/* The harmless non-matching ID inside :not() gives this final typography
   layer enough specificity to replace older page-specific font sizes. */
main h1:not(#heat-heading-system),
.woocommerce-products-header__title:not(#heat-heading-system){
  width:100%;
  max-width:100%;
  min-width:0;
  font-family:var(--heat-display)!important;
  font-size:var(--heat-heading-h1-size)!important;
  line-height:var(--heat-heading-h1-line)!important;
  letter-spacing:-.035em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  -webkit-hyphens:none!important;
  -ms-hyphens:none!important;
  hyphens:none!important;
  text-wrap:balance;
}

main h2:not(.pane-title):not(.woocommerce-loop-product__title):not(#heat-heading-system){
  width:100%;
  max-width:100%;
  min-width:0;
  font-family:var(--heat-display)!important;
  font-size:var(--heat-heading-h2-size)!important;
  line-height:var(--heat-heading-h2-line)!important;
  letter-spacing:-.025em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  -webkit-hyphens:none!important;
  -ms-hyphens:none!important;
  hyphens:none!important;
  text-wrap:balance;
}

/* Tablet scale. */
@media(max-width:1024px){
  :root{
    --heat-heading-h1-size:clamp(3rem,7.6vw,5.15rem);
    --heat-heading-h2-size:clamp(2.25rem,5.2vw,3.55rem);
  }
}

/* Mobile scale and a true 90% content column. */
@media(max-width:767px){
  :root{
    --heat-heading-h1-size:clamp(2.15rem,9.2vw,3.3rem);
    --heat-heading-h2-size:clamp(1.9rem,7.4vw,2.7rem);
    --heat-heading-h1-line:.92;
    --heat-heading-h2-line:.96;
  }

  .content-wrap,
  .content-wrap.narrow,
  .about-sections,
  .heat-shop-content,
  .heat-product-content,
  .heat-booking-content,
  .single-product .content-wrap,
  .woocommerce-cart .content-wrap,
  .woocommerce-checkout .content-wrap,
  .woocommerce-account .content-wrap{
    width:90%!important;
    max-width:90%!important;
    margin-right:auto!important;
    margin-left:auto!important;
  }

  .page-hero,
  .about-page > .about-hero,
  .heat-shop-hero,
  .heat-product-hero,
  .heat-booking-hero{
    padding-right:max(5vw,env(safe-area-inset-right))!important;
    padding-left:max(5vw,env(safe-area-inset-left))!important;
  }

  .section,
  .about-closing{
    padding-right:max(5vw,env(safe-area-inset-right))!important;
    padding-left:max(5vw,env(safe-area-inset-left))!important;
  }
}

/* iPhone 13 mini and similarly narrow screens: H2 intentionally matches H1. */
@media(max-width:420px){
  :root{
    --heat-heading-h1-size:clamp(1.9rem,9vw,2.35rem);
    --heat-heading-h2-size:var(--heat-heading-h1-size);
    --heat-heading-h1-line:.94;
    --heat-heading-h2-line:.94;
  }
}

/* =========================================================
   MOBILE HERO TITLE + CONSISTENT H3 TYPOGRAPHY -- 3.0.55
   ========================================================= */
@media(max-width:767px){
  /* The mobile category slider title sits directly on the image,
     without a gradient, glow, text shadow or decorative backdrop. */
  .hero.hero-categories .hero-text{
    background:none!important;
    background-image:none!important;
    box-shadow:none!important;
    filter:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .hero.hero-categories .pane-title,
  .hero.hero-categories .hero-pane:hover .pane-title,
  .hero.hero-categories .hero-pane:focus .pane-title,
  .hero.hero-categories .hero-pane:focus-visible .pane-title{
    background:none!important;
    background-image:none!important;
    box-shadow:none!important;
    text-shadow:none!important;
    filter:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .hero.hero-categories .pane-title::before,
  .hero.hero-categories .pane-title::after,
  .hero.hero-categories .hero-text::before,
  .hero.hero-categories .hero-text::after{
    content:none!important;
    display:none!important;
    background:none!important;
    box-shadow:none!important;
  }

  /* One compact H3 scale across mobile content. Long single words such
     as TRANSFORMACJA and SWIADOMOSC remain on one line without hyphens. */
  main h3:not(#heat-heading-system),
  .heat-values-grid .heat-value-copy h3:not(#heat-heading-system){
    width:100%;
    max-width:100%;
    min-width:0;
    font-family:var(--heat-display)!important;
    font-size:clamp(1.05rem,4.6vw,1.45rem)!important;
    line-height:1!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
  }

  .heat-values-grid .heat-value-copy h3{
    margin-bottom:18px;
  }
}

@media(max-width:380px){
  main h3:not(#heat-heading-system),
  .heat-values-grid .heat-value-copy h3:not(#heat-heading-system){
    font-size:clamp(.98rem,4.35vw,1.12rem)!important;
    letter-spacing:-.035em!important;
  }
}


/* =========================================================
   RELATED PRODUCTS + COMPACT MOBILE PRODUCT H1 -- 3.0.56
   Related/upsell cards use the same product-card geometry and
   typography as the Shop/category grids. Product-page H1 gets a
   dedicated compact scale on narrow phones so it stays inside the
   orange summary frame without splitting words.
   ========================================================= */
.single-product div.product .related.products,
.single-product div.product .upsells.products{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.single-product div.product .related.products ul.products,
.single-product div.product .upsells.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:42px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  list-style:none!important;
}

.single-product div.product .related.products ul.products::before,
.single-product div.product .related.products ul.products::after,
.single-product div.product .upsells.products ul.products::before,
.single-product div.product .upsells.products ul.products::after{
  display:none!important;
  content:none!important;
}

.single-product div.product .related.products ul.products li.product,
.single-product div.product .upsells.products ul.products li.product{
  display:flex!important;
  float:none!important;
  clear:none!important;
  flex-direction:column;
  align-items:center;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0 0 18px!important;
}

.single-product div.product .related.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product div.product .related.products ul.products li.product .woocommerce-loop-product__link,
.single-product div.product .upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product div.product .upsells.products ul.products li.product .woocommerce-loop-product__link{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.single-product div.product .related.products ul.products li.product a img,
.single-product div.product .upsells.products ul.products li.product a img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  margin:0 0 24px!important;
  object-fit:cover!important;
}

.single-product div.product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product div.product .upsells.products ul.products li.product .woocommerce-loop-product__title{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font-family:var(--heat-display)!important;
  font-size:1.35rem!important;
  line-height:1.05!important;
  letter-spacing:-.015em!important;
  text-align:center!important;
  text-transform:uppercase;
  color:#fff;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  -webkit-hyphens:none!important;
  -ms-hyphens:none!important;
  hyphens:none!important;
}

.single-product div.product .related.products ul.products li.product .price,
.single-product div.product .upsells.products ul.products li.product .price{
  display:block;
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 18px!important;
  text-align:center;
}

@media(max-width:1050px){
  .single-product div.product .related.products ul.products,
  .single-product div.product .upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:767px){
  .single-product div.product .related.products,
  .single-product div.product .upsells.products{
    overflow:visible!important;
  }

  .single-product div.product .related.products ul.products,
  .single-product div.product .upsells.products ul.products{
    grid-template-columns:minmax(0,1fr)!important;
    gap:36px!important;
    overflow:visible!important;
  }

  .single-product div.product .related.products ul.products li.product,
  .single-product div.product .upsells.products ul.products li.product{
    align-items:stretch;
    transform:none!important;
    contain:layout;
  }

  .single-product div.product .related.products ul.products li.product:hover,
  .single-product div.product .upsells.products ul.products li.product:hover{
    transform:none!important;
  }

  .single-product div.product .related.products ul.products li.product .woocommerce-LoopProduct-link,
  .single-product div.product .related.products ul.products li.product .woocommerce-loop-product__link,
  .single-product div.product .upsells.products ul.products li.product .woocommerce-LoopProduct-link,
  .single-product div.product .upsells.products ul.products li.product .woocommerce-loop-product__link{
    align-items:stretch;
  }

  .single-product div.product .related.products ul.products li.product a img,
  .single-product div.product .related.products ul.products li.product:hover a img,
  .single-product div.product .upsells.products ul.products li.product a img,
  .single-product div.product .upsells.products ul.products li.product:hover a img{
    margin-bottom:20px!important;
    transform:none!important;
  }

  .single-product div.product .related.products ul.products li.product .woocommerce-loop-product__title,
  .single-product div.product .upsells.products ul.products li.product .woocommerce-loop-product__title{
    font-size:clamp(1rem,4.2vw,1.18rem)!important;
    line-height:1.14!important;
  }

  .single-product div.product .related.products ul.products li.product .button,
  .single-product div.product .related.products ul.products li.product .added_to_cart,
  .single-product div.product .upsells.products ul.products li.product .button,
  .single-product div.product .upsells.products ul.products li.product .added_to_cart{
    display:flex!important;
    align-items:center;
    justify-content:center;
    align-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    text-align:center;
    white-space:normal;
  }

  .single-product div.product .related.products ul.products li.product .added_to_cart,
  .single-product div.product .upsells.products ul.products li.product .added_to_cart{
    margin-top:10px!important;
  }

  /* Product H1 is intentionally smaller than generic page H1 on mobile. */
  .single-product main .summary h1.product_title:not(#heat-heading-system){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(1.55rem,5.7vw,2.35rem)!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
    text-wrap:wrap!important;
  }
}

@media(max-width:420px){
  .single-product main .summary h1.product_title:not(#heat-heading-system){
    font-size:clamp(1.28rem,6.5vw,1.75rem)!important;
    line-height:1.02!important;
    letter-spacing:-.015em!important;
  }
}

/* =========================================================
   MOBILE H3 SIZE TUNING -- 3.0.57
   Increase the unified mobile H3 scale by approximately 5 px
   while preserving single-line words and disabled hyphenation.
   ========================================================= */
@media(max-width:767px){
  main h3:not(#heat-heading-system),
  .heat-values-grid .heat-value-copy h3:not(#heat-heading-system){
    font-size:clamp(1.3625rem,calc(4.6vw + .3125rem),1.7625rem)!important;
  }
}

@media(max-width:380px){
  main h3:not(#heat-heading-system),
  .heat-values-grid .heat-value-copy h3:not(#heat-heading-system){
    font-size:clamp(1.2925rem,calc(4.35vw + .3125rem),1.4325rem)!important;
  }
}

/* =========================================================
   MOBILE H3 SIZE TUNING -- 3.0.58
   Increase the unified mobile H3 scale by another 5 px.
   ========================================================= */
@media(max-width:767px){
  main h3:not(#heat-heading-system),
  .heat-values-grid .heat-value-copy h3:not(#heat-heading-system){
    font-size:clamp(1.675rem,calc(4.6vw + .625rem),2.075rem)!important;
  }
}

@media(max-width:380px){
  main h3:not(#heat-heading-system),
  .heat-values-grid .heat-value-copy h3:not(#heat-heading-system){
    font-size:clamp(1.605rem,calc(4.35vw + .625rem),1.745rem)!important;
  }
}

/* =========================================================
   BLOG TEMPLATES -- 3.0.59
   home.php, archive.php and single.php
   ========================================================= */
.blog-archive,
.blog-single{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
}

.blog-archive *,
.blog-single *{
  min-width:0;
  word-break:normal;
  overflow-wrap:normal;
  -webkit-hyphens:none;
  -ms-hyphens:none;
  hyphens:none;
}

.blog-archive__header,
.blog-single__header{
  padding:clamp(70px,9vw,140px) 0 clamp(48px,6vw,90px);
  background:linear-gradient(115deg,#0a0a0a 45%,#1b0b04);
}

.blog-archive__header-inner,
.blog-single__header-inner{
  width:min(1400px,86%);
  margin:0 auto;
}

.blog-archive__header h1,
.blog-single__title{
  max-width:1200px;
  margin:0;
  color:var(--heat-orange);
  font-family:var(--heat-display);
  font-size:clamp(3.4rem,8vw,8.5rem);
  line-height:.88;
  letter-spacing:-.045em;
  text-transform:uppercase;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  -webkit-hyphens:none;
  -ms-hyphens:none;
  hyphens:none;
}

.blog-archive__header p,
.blog-archive__description{
  max-width:820px;
  margin:28px 0 0;
  color:#cfcfcf;
  font-size:clamp(1rem,1.8vw,1.25rem);
  line-height:1.65;
}

.blog-archive__description > :first-child,
.blog-archive__description > :last-child{
  margin-top:0;
  margin-bottom:0;
}

.blog-fullwidth-separator{
  width:100%;
  height:4px;
  background:var(--heat-orange);
}

.blog-archive__container{
  width:min(1400px,90%);
  margin:0 auto;
  padding:clamp(56px,7vw,110px) 0;
}

.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,3vw,42px);
  width:100%;
}

.blog-card{
  display:flex;
  flex-direction:column;
  width:100%;
  margin:0;
  border:2px solid var(--heat-border);
  background:#111;
  transition:border-color .2s ease,transform .2s ease;
}

.blog-card:hover{
  border-color:var(--heat-orange);
  transform:translateY(-4px);
}

.blog-card__media{
  display:block;
  width:100%;
  overflow:hidden;
  background:#1a1a1a;
  text-decoration:none;
}

.blog-card__image,
.blog-card__placeholder{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}

.blog-card__image{
  transition:transform .35s ease,filter .35s ease;
  filter:grayscale(1);
}

.blog-card:hover .blog-card__image{
  transform:scale(1.025);
  filter:none;
}

.blog-card__placeholder{
  background:
    linear-gradient(135deg,transparent 0 45%,rgba(255,77,0,.82) 45% 55%,transparent 55% 100%),
    #181818;
}

.blog-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(24px,3vw,36px);
}

.blog-card__meta,
.blog-single__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:18px;
  color:var(--heat-muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.5;
  text-transform:uppercase;
}

.blog-card__meta a,
.blog-single__meta a{
  color:var(--heat-orange);
  text-decoration:none;
}

.blog-card__title{
  margin:0 0 18px;
  font-family:var(--heat-display);
  font-size:clamp(1.45rem,2.2vw,2.25rem);
  line-height:1.02;
  letter-spacing:-.025em;
  text-transform:uppercase;
}

.blog-card__title a{
  text-decoration:none;
}

.blog-card__excerpt{
  color:#cfcfcf;
  font-size:1rem;
  line-height:1.7;
}

.blog-card__excerpt > :first-child{
  margin-top:0;
}

.blog-card__excerpt > :last-child{
  margin-bottom:0;
}

.blog-card__link{
  display:inline-flex;
  gap:10px;
  align-items:center;
  margin-top:auto;
  padding-top:26px;
  color:var(--heat-orange);
  font-family:var(--heat-display);
  font-size:.78rem;
  letter-spacing:.05em;
  text-decoration:none;
  text-transform:uppercase;
}

.blog-pagination{
  margin-top:clamp(50px,7vw,90px);
}

.blog-pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:center;
}

.blog-pagination .page-numbers{
  display:inline-flex;
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border:1px solid #3a3a3a;
  color:#fff;
  font-weight:900;
  text-decoration:none;
}

.blog-pagination .page-numbers.current,
.blog-pagination a.page-numbers:hover{
  border-color:var(--heat-orange);
  background:var(--heat-orange);
  color:#000;
}

.blog-empty{
  padding:50px;
  border:2px solid var(--heat-orange);
  background:#111;
}

.blog-single__meta{
  margin-bottom:24px;
}

.blog-single__featured{
  width:100vw;
  max-width:100vw;
  margin:0 calc(50% - 50vw);
  overflow:hidden;
  background:#111;
}

.blog-single__featured-image{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  max-height:82vh;
  object-fit:cover;
}

.blog-single__content{
  width:min(1400px,86%);
  max-width:1400px;
  margin:0 auto;
  padding:clamp(60px,8vw,120px) 0;
  color:#ddd;
  font-size:clamp(1rem,1.35vw,1.16rem);
  line-height:1.82;
}

.blog-single__content > :first-child{
  margin-top:0;
}

.blog-single__content > :last-child{
  margin-bottom:0;
}

.blog-single__content h2,
.blog-single__content h3,
.blog-single__content h4,
.blog-single__content h5,
.blog-single__content h6{
  color:var(--heat-orange);
  font-family:var(--heat-display);
  line-height:1.05;
  text-transform:uppercase;
}

.blog-single__content h2{
  margin:1.4em 0 .55em;
  font-size:clamp(2rem,4.5vw,4.8rem);
}

.blog-single__content h3{
  margin:1.4em 0 .6em;
  font-size:clamp(1.55rem,3vw,3rem);
}

.blog-single__content h4,
.blog-single__content h5,
.blog-single__content h6{
  margin:1.35em 0 .6em;
}

.blog-single__content p,
.blog-single__content ul,
.blog-single__content ol{
  max-width:100%;
}

.blog-single__content a{
  color:var(--heat-orange);
}

.blog-single__content img,
.blog-single__content figure,
.blog-single__content picture,
.blog-single__content video,
.blog-single__content audio,
.blog-single__content canvas,
.blog-single__content svg,
.blog-single__content iframe,
.blog-single__content embed,
.blog-single__content object,
.blog-single__content .wp-caption,
.blog-single__content .wp-block-image,
.blog-single__content .wp-block-video,
.blog-single__content .wp-block-audio,
.blog-single__content .wp-block-embed,
.blog-single__content .wp-block-embed__wrapper{
  max-width:100%;
}

.blog-single__content img,
.blog-single__content video{
  height:auto;
}

.blog-single__content figure,
.blog-single__content .wp-caption,
.blog-single__content .wp-block-image,
.blog-single__content .wp-block-embed{
  width:auto;
  margin-right:0;
  margin-left:0;
}

.blog-single__content figcaption,
.blog-single__content .wp-caption-text{
  max-width:100%;
  color:var(--heat-muted);
  font-size:.82rem;
  line-height:1.5;
}

.blog-single__content iframe,
.blog-single__content embed,
.blog-single__content object{
  width:100%;
}

.blog-single__content .wp-block-embed iframe,
.blog-single__content .wp-block-video video{
  display:block;
  width:100%;
}

.blog-single__content .wp-block-embed.is-type-video .wp-block-embed__wrapper{
  aspect-ratio:16/9;
}

.blog-single__content .wp-block-embed.is-type-video iframe{
  width:100%;
  height:100%;
}

.blog-single__content blockquote,
.blog-single__content .wp-block-quote{
  width:100%;
  max-width:100%;
  margin:2.2em 0;
  padding:clamp(24px,4vw,48px);
  border:0;
  border-left:6px solid var(--heat-orange);
  background:#111;
  color:#fff;
  font-size:clamp(1.2rem,2vw,1.75rem);
  line-height:1.5;
}

.blog-single__content blockquote > :first-child{
  margin-top:0;
}

.blog-single__content blockquote > :last-child{
  margin-bottom:0;
}

.blog-single__content table,
.blog-single__content .wp-block-table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border-collapse:collapse;
  -webkit-overflow-scrolling:touch;
}

.blog-single__content .wp-block-table table{
  display:table;
  width:max-content;
  min-width:100%;
  overflow:visible;
}

.blog-single__content th,
.blog-single__content td{
  padding:12px 15px;
  border:1px solid #3a3a3a;
  text-align:left;
  vertical-align:top;
}

.blog-single__content pre{
  max-width:100%;
  overflow-x:auto;
  padding:20px;
  background:#111;
  -webkit-overflow-scrolling:touch;
}

.blog-single__content code{
  white-space:pre-wrap;
}

.blog-single__content pre code{
  white-space:pre;
}

.blog-single__content .alignleft,
.blog-single__content .alignright,
.blog-single__content .aligncenter,
.blog-single__content .alignwide,
.blog-single__content .alignfull{
  max-width:100%;
}

.blog-single__content .alignleft{
  float:left;
  margin:0 30px 20px 0;
}

.blog-single__content .alignright{
  float:right;
  margin:0 0 20px 30px;
}

.blog-single__content .aligncenter{
  display:block;
  margin-right:auto;
  margin-left:auto;
}

.blog-single__footer{
  width:min(1400px,86%);
  margin:0 auto;
  padding:0 0 clamp(70px,9vw,130px);
}

.blog-single__tags{
  padding:24px 0;
  border-top:1px solid #333;
  border-bottom:1px solid #333;
  color:#bbb;
}

.blog-single__tags a{
  color:var(--heat-orange);
}

.blog-post-navigation{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:42px;
}

.blog-post-navigation > div{
  display:flex;
}

.blog-post-navigation__next{
  justify-content:flex-end;
  text-align:right;
}

.blog-post-navigation a{
  font-family:var(--heat-display);
  line-height:1.2;
  text-decoration:none;
  text-transform:uppercase;
}

.blog-page-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:40px;
}

@media(max-width:1050px){
  .blog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:679px){
  .blog-archive__header,
  .blog-single__header{
    padding:58px 0 42px;
  }

  .blog-archive__header-inner,
  .blog-single__header-inner,
  .blog-single__content,
  .blog-single__footer{
    width:90%;
  }

  .blog-archive__header h1,
  .blog-single__title{
    font-size:clamp(2.45rem,13vw,4.2rem);
    line-height:.92;
    letter-spacing:-.035em;
  }

  .blog-archive__container{
    width:90%;
    padding:48px 0 70px;
  }

  .blog-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .blog-card:hover{
    transform:none;
  }

  .blog-card__body{
    padding:24px;
  }

  .blog-single__featured-image{
    max-height:none;
  }

  .blog-single__content{
    padding:55px 0 70px;
  }

  .blog-single__content .alignleft,
  .blog-single__content .alignright{
    float:none;
    width:auto;
    margin:1.5em 0;
  }

  .blog-single__content blockquote,
  .blog-single__content .wp-block-quote{
    padding:24px;
  }

  .blog-post-navigation{
    grid-template-columns:minmax(0,1fr);
  }

  .blog-post-navigation__next{
    justify-content:flex-start;
    text-align:left;
  }
}

/* Keep archive card titles compact despite the global H2 typography layer. */
main.blog-archive .blog-card__title{
  font-size:clamp(1.45rem,2.2vw,2.25rem)!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
  text-wrap:wrap;
}

@media(max-width:679px){
  main.blog-archive .blog-card__title{
    font-size:clamp(1.45rem,7vw,2rem)!important;
    line-height:1.05!important;
  }
}

/* Compact single-product H1 on desktop -- 3.0.63 */
@media(min-width:1025px){
  .single-product main .summary h1.product_title:not(#heat-heading-system){
    font-size:clamp(1.8rem,2.75vw,3rem)!important;
    line-height:.94!important;
    letter-spacing:-.025em!important;
    text-wrap:wrap!important;
  }
}

/* Compact cart summary heading on desktop -- 3.0.64 */
@media(min-width:1025px){
  .woocommerce-cart main h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title:not(#heat-cart-summary-heading){
    font-size:clamp(1.25rem,1.8vw,1.7rem)!important;
    line-height:1!important;
    letter-spacing:normal!important;
    text-wrap:wrap!important;
  }
}


/* Homepage hero reduced to three category panels -- 3.0.71 */
@media(min-width:1051px){
  .hero.hero-categories .hero-pane{
    min-width:0;
  }
}


/* WooCommerce product gallery: orange SVG zoom and thumbnail carousel -- 3.0.76 */
.single-product div.product .woocommerce-product-gallery{
  position:relative;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport,
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a{
  position:relative;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
  position:absolute!important;
  right:16px!important;
  bottom:16px!important;
  top:auto!important;
  left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:2px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:rgba(10,10,10,.92)!important;
  color:var(--heat-orange)!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
  box-shadow:none!important;
  z-index:20!important;
  transition:transform .2s ease,background-color .2s ease,color .2s ease!important;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover,
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:focus-visible{
  background:var(--heat-orange)!important;
  color:#000!important;
  outline:none!important;
  transform:translateY(-2px);
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger img.emoji,
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger .emoji{
  display:none!important;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger svg{
  display:block;
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:square;
  stroke-linejoin:miter;
  pointer-events:none;
}

/* Fallback before JavaScript replaces the original WooCommerce emoji. */
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:not(.heat-gallery-trigger)::before{
  content:"";
  display:block;
  width:24px;
  height:24px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff4d00' stroke-width='2.2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Ccircle cx='10.5' cy='10.5' r='5.75'/%3E%3Cpath d='M15 15l5.25 5.25'/%3E%3C/svg%3E");
}

.single-product div.product .heat-product-gallery-thumbs{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  align-items:center;
  gap:10px;
  width:100%;
  max-width:100%;
  margin:12px 0 0;
}

.single-product div.product .heat-product-gallery-thumbs.is-single{
  grid-template-columns:minmax(0,1fr);
}

.single-product div.product .heat-product-gallery-thumbs.is-single .heat-product-gallery-arrow{
  display:none!important;
}

.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:stretch;
  gap:10px;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  list-style:none!important;
  -webkit-overflow-scrolling:touch;
}

.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs::-webkit-scrollbar{
  display:none;
}

.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs li{
  float:none!important;
  flex:0 0 88px!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  margin:0!important;
  padding:0!important;
  scroll-snap-align:center;
}

.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img{
  display:block;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1;
  object-fit:cover;
  box-sizing:border-box;
  margin:0!important;
  padding:0!important;
  border:2px solid #303030!important;
  border-radius:0!important;
  background:#111;
  opacity:.68;
  filter:grayscale(.35);
  cursor:pointer;
  transition:border-color .2s ease,opacity .2s ease,filter .2s ease,transform .2s ease;
}

.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img:hover,
.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img:focus-visible{
  border-color:var(--heat-orange)!important;
  opacity:1;
  filter:none;
  outline:none;
  transform:translateY(-2px);
}

.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img.flex-active{
  border:3px solid var(--heat-orange)!important;
  opacity:1!important;
  filter:none!important;
  transform:none;
}

.single-product div.product .heat-product-gallery-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  min-width:48px;
  margin:0;
  padding:0;
  border:2px solid var(--heat-orange);
  border-radius:0;
  background:#0a0a0a;
  color:var(--heat-orange);
  cursor:pointer;
  box-shadow:none;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}

.single-product div.product .heat-product-gallery-arrow:hover,
.single-product div.product .heat-product-gallery-arrow:focus-visible{
  background:var(--heat-orange);
  color:#000;
  outline:none;
  transform:translateY(-2px);
}

.single-product div.product .heat-product-gallery-arrow svg{
  display:block;
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:square;
  stroke-linejoin:miter;
  pointer-events:none;
}

@media(max-width:760px){
  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
    right:12px!important;
    bottom:12px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }

  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger svg,
  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:not(.heat-gallery-trigger)::before{
    width:21px;
    height:21px;
  }

  .single-product div.product .heat-product-gallery-thumbs{
    grid-template-columns:42px minmax(0,1fr) 42px;
    gap:8px;
    margin-top:10px;
  }

  .single-product div.product .heat-product-gallery-arrow{
    width:42px;
    height:42px;
    min-width:42px;
  }

  .single-product div.product .heat-product-gallery-arrow svg{
    width:18px;
    height:18px;
  }

  .single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs{
    gap:8px;
  }

  .single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs li{
    flex-basis:72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
  }
}

/* WooCommerce product images always in full color -- 3.0.77 */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.home-products-section .woocommerce ul.products li.product a img,
.single-product div.product .related.products ul.products li.product a img,
.single-product div.product .upsells.products ul.products li.product a img,
.woocommerce-cart .cross-sells ul.products li.product a img{
  border-color:var(--heat-orange)!important;
  filter:none!important;
  -webkit-filter:none!important;
  transition:transform .25s ease,border-color .25s ease!important;
}

.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img,
.home-products-section .woocommerce ul.products li.product:hover a img,
.single-product div.product .related.products ul.products li.product:hover a img,
.single-product div.product .upsells.products ul.products li.product:hover a img,
.woocommerce-cart .cross-sells ul.products li.product:hover a img{
  border-color:var(--heat-orange)!important;
  filter:none!important;
  -webkit-filter:none!important;
  transform:scale(.985)!important;
}

/* Product gallery thumbnails also remain in their natural colors. */
.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img,
.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img:hover,
.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img:focus-visible,
.single-product div.product .heat-product-gallery-thumbs .flex-control-thumbs img.flex-active{
  filter:none!important;
  -webkit-filter:none!important;
}



/* Product gallery placement hardening -- 3.0.78 */
.single-product div.product .woocommerce-product-gallery > .flex-viewport,
.single-product div.product .woocommerce-product-gallery .flex-viewport{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

/* The zoom control belongs to the visible main-image viewport, not the whole gallery. */
.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger{
  position:absolute!important;
  right:16px!important;
  bottom:16px!important;
  top:auto!important;
  left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:rgba(10,10,10,.94)!important;
  color:var(--heat-orange)!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
  box-shadow:none!important;
  z-index:50!important;
  transition:transform .2s ease,background-color .2s ease,color .2s ease!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger:hover,
.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger:focus-visible{
  background:#fff!important;
  color:var(--heat-orange)!important;
  outline:none!important;
  transform:translateY(-2px);
}

.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.2!important;
  stroke-linecap:square!important;
  stroke-linejoin:miter!important;
  pointer-events:none!important;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger img.emoji,
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger .emoji{
  display:none!important;
}

/* Keep the thumbnail carousel directly below the main image viewport. */
.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs{
  position:relative;
  clear:both;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:12px 0 0!important;
  padding:0!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs.is-single{
  grid-template-columns:minmax(0,1fr)!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs{
  display:flex!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  list-style:none!important;
  -webkit-overflow-scrolling:touch;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs::-webkit-scrollbar{
  display:none!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs li{
  float:none!important;
  flex:0 0 88px!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  margin:0!important;
  padding:0!important;
  scroll-snap-align:start;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #303030!important;
  border-radius:0!important;
  background:#111!important;
  opacity:.72!important;
  filter:none!important;
  -webkit-filter:none!important;
  cursor:pointer!important;
  transition:border-color .2s ease,opacity .2s ease,transform .2s ease!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs img:hover,
.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs img:focus-visible{
  border-color:var(--heat-orange)!important;
  opacity:1!important;
  outline:none!important;
  transform:translateY(-2px)!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs img.flex-active{
  border:3px solid var(--heat-orange)!important;
  opacity:1!important;
  transform:none!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .heat-product-gallery-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:#0a0a0a!important;
  color:var(--heat-orange)!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .heat-product-gallery-arrow:hover,
.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .heat-product-gallery-arrow:focus-visible{
  background:#fff!important;
  color:var(--heat-orange)!important;
  outline:none!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs.is-single .heat-product-gallery-arrow{
  display:none!important;
}

@media(max-width:760px){
  .single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger{
    right:12px!important;
    bottom:12px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }

  .single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs{
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    gap:8px!important;
    margin-top:10px!important;
  }

  .single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .heat-product-gallery-arrow{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }

  .single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs{
    gap:8px!important;
  }

  .single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs .flex-control-thumbs li{
    flex-basis:72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
  }
}


/* Product gallery carousel runtime/fallback fix -- 3.0.79 */
.single-product div.product .woocommerce-product-gallery > ol.flex-control-nav.flex-control-thumbs,
.single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs,
.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs > ol.flex-control-nav.flex-control-thumbs{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:12px 0 0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  list-style:none!important;
  list-style-type:none!important;
  counter-reset:none!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs > ol.flex-control-nav.flex-control-thumbs{
  margin:0!important;
}

.single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs::-webkit-scrollbar{
  display:none!important;
}

.single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li,
.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs > ol.flex-control-nav.flex-control-thumbs > li{
  display:block!important;
  float:none!important;
  flex:0 0 88px!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  list-style-type:none!important;
  scroll-snap-align:start!important;
}

.single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li::before,
.single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li::marker{
  display:none!important;
  content:""!important;
  font-size:0!important;
}

.single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li > img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #303030!important;
  border-radius:0!important;
  background:#111!important;
  opacity:.74!important;
  filter:none!important;
  -webkit-filter:none!important;
}

.single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li > img.flex-active{
  border:3px solid var(--heat-orange)!important;
  opacity:1!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs{
  overflow:hidden!important;
}

@media(max-width:760px){
  .single-product div.product .woocommerce-product-gallery > ol.flex-control-nav.flex-control-thumbs,
  .single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs,
  .single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs > ol.flex-control-nav.flex-control-thumbs{
    gap:8px!important;
  }

  .single-product div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li,
  .single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs > ol.flex-control-nav.flex-control-thumbs > li{
    flex-basis:72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
  }
}

/* Exact spacing below the main WooCommerce gallery image -- 3.0.80 */
.single-product div.product .woocommerce-product-gallery > .flex-viewport,
.single-product div.product .woocommerce-product-gallery .flex-viewport{
  margin-bottom:10px!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs,
.single-product div.product .woocommerce-product-gallery > ol.flex-control-nav.flex-control-thumbs{
  margin-top:0!important;
}

/* Main product image frame and deterministic thumbnail switching -- 3.0.81 */
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{
  border:0!important;
  outline:0!important;
  background:#111!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport{
  position:relative!important;
  isolation:isolate;
  background:#111!important;
  border:0!important;
  outline:0!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:40;
  box-sizing:border-box;
  border:3px solid var(--heat-orange);
  pointer-events:none;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a{
  height:100%!important;
  min-height:100%!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  overflow:hidden!important;
  background:#111!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a > img:not(.zoomImg){
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger{
  z-index:60!important;
}


/* Product gallery hard override: square main frame, real 30px spacing, correct zoom button states -- 3.0.84 */
.single-product div.product .woocommerce-product-gallery .flex-viewport{
  width:100%!important;
  max-width:100%!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  min-height:0!important;
  margin-bottom:30px!important;
  background:#111!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a{
  height:100%!important;
  min-height:100%!important;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a > img:not(.zoomImg),
.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img.wp-post-image,
.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img:not(.zoomImg){
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}

.single-product div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs,
.single-product div.product .woocommerce-product-gallery > ol.flex-control-nav.flex-control-thumbs,
.single-product div.product .heat-product-gallery-thumbs{
  margin-top:0!important;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger,
.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger{
  background:#0a0a0a!important;
  color:var(--heat-orange)!important;
  border:2px solid var(--heat-orange)!important;
  transform:none!important;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover,
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:focus-visible,
.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger:hover,
.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger:focus-visible{
  background:var(--heat-orange)!important;
  color:#000!important;
  border-color:var(--heat-orange)!important;
  transform:none!important;
  outline:none!important;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger svg,
.single-product div.product .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__trigger svg{
  stroke:currentColor!important;
}

@media(max-width:760px){
  .single-product div.product .woocommerce-product-gallery .flex-viewport{
    margin-bottom:30px!important;
  }
}


/* Product gallery final hardening: square stage, reliable zoom states and 30px thumbnail gap -- 3.0.84 */
body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage,
body.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport.heat-product-gallery-stage,
body.single-product .woocommerce div.product .woocommerce-product-gallery > .heat-product-gallery-stage{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  box-sizing:border-box!important;
  margin:0 0 30px!important;
  padding:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:3px solid var(--heat-orange)!important;
  outline:0!important;
  background:#111!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage::after,
body.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport.heat-product-gallery-stage::after{
  display:none!important;
  content:none!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage > .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage .woocommerce-product-gallery__wrapper{
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  background:#111!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage--single > .woocommerce-product-gallery__wrapper{
  width:100%!important;
  transform:none!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage .woocommerce-product-gallery__image,
body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage .woocommerce-product-gallery__image > a{
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage .woocommerce-product-gallery__image > a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#111!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage .woocommerce-product-gallery__image > a > img:not(.zoomImg){
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage > a.woocommerce-product-gallery__trigger,
body.single-product .woocommerce div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger.heat-gallery-trigger{
  position:absolute!important;
  right:16px!important;
  bottom:16px!important;
  top:auto!important;
  left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid var(--heat-orange)!important;
  border-radius:0!important;
  background:#0a0a0a!important;
  color:var(--heat-orange)!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
  box-shadow:none!important;
  opacity:1!important;
  z-index:100!important;
  transform:none!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage > a.woocommerce-product-gallery__trigger:hover,
body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage > a.woocommerce-product-gallery__trigger:focus,
body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage > a.woocommerce-product-gallery__trigger:focus-visible,
body.single-product .woocommerce div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger.heat-gallery-trigger:hover,
body.single-product .woocommerce div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger.heat-gallery-trigger:focus,
body.single-product .woocommerce div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger.heat-gallery-trigger:focus-visible{
  border-color:var(--heat-orange)!important;
  background:var(--heat-orange)!important;
  color:#000!important;
  outline:none!important;
  box-shadow:none!important;
  transform:none!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger.heat-gallery-trigger svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.2!important;
  stroke-linecap:square!important;
  stroke-linejoin:miter!important;
  pointer-events:none!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery > .heat-product-gallery-thumbs,
body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage + .heat-product-gallery-thumbs{
  margin:0!important;
  padding:0!important;
}

@media(max-width:760px){
  body.single-product .woocommerce div.product .woocommerce-product-gallery .heat-product-gallery-stage > a.woocommerce-product-gallery__trigger,
  body.single-product .woocommerce div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger.heat-gallery-trigger{
    right:12px!important;
    bottom:12px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
}


/* Single-product gallery alignment and orphan-stage cleanup -- 3.0.87 */
body.single-product .woocommerce div.product > .woocommerce-product-gallery{
  align-self:start!important;
  margin-top:0!important;
}

body.single-product .woocommerce div.product > .summary{
  align-self:start!important;
  margin-top:0!important;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery > .heat-product-gallery-stage--single:empty{
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

@media(min-width:1051px){
  body.single-product .woocommerce div.product{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(360px,.78fr)!important;
    grid-auto-flow:row!important;
    align-items:start!important;
    gap:72px!important;
  }

  body.single-product .woocommerce div.product > .woocommerce-product-gallery{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:100%!important;
  }

  body.single-product .woocommerce div.product > .summary{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:100%!important;
  }

  body.single-product .woocommerce div.product > .woocommerce-tabs,
  body.single-product .woocommerce div.product > .related.products,
  body.single-product .woocommerce div.product > .upsells.products{
    grid-column:1 / -1!important;
  }
}
