/* Klimabirodalom site styles. Brand guide 1.0 tokens (tokens.css), plan C v3 + C4. No new colours. */
*,*:before,*:after{box-sizing:border-box}
body{margin:0;font:var(--fs-body)/1.6 var(--font-body);color:var(--ink);background:var(--white);padding-bottom:0}
h1,h2,h3,h4,.h4{font-family:var(--font-head);color:var(--navy-deep);line-height:1.2;margin:0 0 var(--s3);font-weight:800}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4,.h4{font-size:var(--fs-h4)}
p{margin:0 0 var(--s4)}
a{color:var(--cyan-dark)}
.muted{color:var(--muted)}
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important}
.wp-site-blocks{padding:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--s4);width:100%}
.wp-block-group.wrap{max-width:1180px;margin-left:auto;margin-right:auto}
.grid{display:grid;gap:var(--s6)}
.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:1fr 1fr}
section{padding:var(--s16) 0}
.tint{background:var(--tint)}
.eyebrow{font:700 .8125rem var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-dark);margin-bottom:var(--s2)}
.lead{font-size:var(--fs-lead)}
.tag{display:inline-block;background:var(--tint-2);color:var(--navy);border-radius:var(--r-btn);padding:2px 12px;font:700 .8125rem var(--font-head)}
.price{font:800 1.375rem var(--font-head);color:var(--navy-deep)}

/* buttons */
.btn,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 var(--s6);border-radius:var(--r-btn);font:700 1rem var(--font-head);text-decoration:none;border:2px solid transparent;cursor:pointer;background:var(--navy);color:#fff;line-height:1.2}
.btn:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{filter:brightness(1.12)}
.btn-cta,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #place_order,.woocommerce a.add_to_cart_button,.woocommerce button.single_add_to_cart_button,.wc-block-components-button:not(.is-link){background:var(--green);color:var(--navy-deep)}
.btn-cta:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover{background:#9BD24D;filter:none}
.btn-pri{background:var(--navy);color:#fff}
.btn-ghost{background:transparent;border-color:var(--navy);color:var(--navy)}
.on-dark .btn-ghost,.hero .btn-ghost{border-color:#fff;color:#fff}
.btn-lg{min-height:56px;padding:0 var(--s8);font-size:1.125rem}
.btn.full{width:100%}
.btn-dark{background:var(--navy-deep);color:#fff}
.btn-dark-ghost{background:transparent;border-color:var(--navy-deep);color:var(--navy-deep)}

/* focus (guide: 3 px deep blue, on dark light blue) */
:focus-visible{outline:3px solid var(--navy-deep);outline-offset:2px;box-shadow:0 0 0 2px #fff}
.on-dark :focus-visible,.sect-dark :focus-visible,.sum :focus-visible{outline-color:var(--cyan);box-shadow:0 0 0 2px var(--navy-deep)}

/* top bar and header */
.top{background:var(--navy-deep);color:#fff;font-size:var(--fs-small)}
.top .wrap{display:flex;justify-content:space-between;gap:var(--s4);padding-top:var(--s2);padding-bottom:var(--s2);flex-wrap:wrap}
.top a{color:#fff}
header.main{background:var(--navy);border:0;color:#fff}
header.main .header-row{display:flex;align-items:center;gap:var(--s6);min-height:72px;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:var(--s3);font:800 1.25rem var(--font-head);color:#fff;text-decoration:none;min-height:var(--tap)}
.brand svg{display:block}
header.main .header-right{margin-left:auto;gap:var(--s4)}
header.main .wp-block-navigation a,header.main .wp-block-navigation-item__content{color:#fff;text-decoration:none;font-weight:600;min-height:var(--tap);display:inline-flex;align-items:center}
header.main .wp-block-navigation a:hover{color:var(--cyan)}
header.main .wp-block-navigation__container{gap:var(--s6)}
header.main .wp-block-navigation__responsive-container-open{color:#fff;border:2px solid #fff;border-radius:12px;min-width:var(--tap);min-height:var(--tap);align-items:center;justify-content:center}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--navy-deep)!important;color:#fff!important}
.wp-block-navigation__responsive-container.is-menu-open a{color:#fff!important;font-size:1.25rem}
.cart-link{min-height:var(--tap);padding:0 var(--s4)}
header.main .wc-block-customer-account a,header.main .wc-block-customer-account svg{color:#fff;fill:#fff}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:var(--navy-deep);padding:0;min-height:640px;display:flex;align-items:center;isolation:isolate}
.hero .bg{position:absolute;inset:0;z-index:-2;background:url("../img/hero-nappali.jpg") center right/cover no-repeat;transform:scale(1.06);animation:drift 24s ease-in-out infinite alternate}
.hero .veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,var(--navy-deep) 0%,rgba(2,46,95,.94) 34%,rgba(2,46,95,.55) 62%,rgba(2,46,95,.10) 100%)}
.hero .cut{position:absolute;left:0;right:0;bottom:-1px;height:70px;background:#fff;clip-path:polygon(0 100%,100% 0,100% 100%)}
.hero .wrap{padding-top:var(--s16);padding-bottom:calc(var(--s16) + 40px)}
.hero h1{color:#fff;font-size:clamp(2.6rem,6.5vw,4.6rem);max-width:12ch;letter-spacing:-.02em;text-shadow:0 2px 24px rgba(2,46,95,.5)}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero .copy{max-width:38rem}
.hero p.lead{font-size:1.25rem;max-width:34rem;color:#DCEBF7}
.hero .eyebrow{color:var(--cyan)}
.chips{display:flex;gap:var(--s3);flex-wrap:wrap;margin:var(--s6) 0 var(--s6)}
.chip{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s4);border-radius:var(--r-btn);background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.55);color:#fff;font:700 1rem var(--font-head);text-decoration:none}
.chip:hover{background:#fff;color:var(--navy-deep)}
.hero .btn{margin:0 var(--s2) var(--s2) 0}

/* stats pulled over the hero cut */
.pull{margin-top:-30px;position:relative;z-index:3}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.stat{background:#fff;border-radius:var(--r-card);padding:var(--s6);box-shadow:var(--shadow);border-top:6px solid var(--cyan)}
.stat:nth-child(2n){border-color:var(--navy)}
.stat b{display:block;font:800 2rem var(--font-head);color:var(--navy-deep);line-height:1.15}
.stat span{color:var(--muted);font-size:var(--fs-small)}

/* dark section with packages */
.sect-dark{background:var(--navy-deep);color:#fff;margin-top:var(--s12)}
.sect-dark h2{color:#fff}
.sect-dark .eyebrow{color:var(--cyan)}
.section-note{color:#DCEBF7;margin-bottom:var(--s8)}
.flow{position:relative;overflow:hidden;isolation:isolate}
.flow:before{content:"";position:absolute;inset:-10% -5%;z-index:-2;background:url("../img/hatter-aramlas.jpg") center/cover;opacity:.38;animation:drift 30s ease-in-out infinite alternate}
.flow:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,46,95,.55),rgba(2,46,95,.2))}
.pkg{position:relative;border-radius:var(--r-card);padding:var(--s8) var(--s6);background:#fff;color:var(--ink);box-shadow:0 14px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:flex-start}
.pkg .price{margin:var(--s3) 0 var(--s1);font-size:1.75rem}
.pkg-sub{color:var(--muted);font-size:var(--fs-small)}
.pkg ul{padding-left:1.1rem;margin:0 0 var(--s6);color:var(--muted);flex:1}
.pkg li{margin-bottom:var(--s2)}

/* product category cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s6);box-shadow:var(--shadow)}
.pcard{padding:0;overflow:hidden;transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(2,46,95,.2)}
.pcard .img{height:170px;background:linear-gradient(135deg,var(--cyan),var(--navy));position:relative}
.pcard .img .tag{position:absolute;left:var(--s3);top:var(--s3);background:var(--tint-2);color:var(--navy-deep)}
.pcard .body{padding:var(--s6)}
#keszulekek h2{margin-bottom:var(--s8)}
.pcard .img-klima{background:url("../img/kategoria-klima.webp") center 40%/cover,var(--navy)}
.pcard .img-hoszivattyu{background:url("../img/kategoria-hoszivattyu.webp") center 62%/cover,var(--navy)}
.pcard .img-szellozes{background:url("../img/kategoria-szellozes.webp") center 18%/cover,var(--navy)}
.brands{margin-top:var(--s8);font-size:var(--fs-small);text-align:center}
.brands-label{margin-bottom:var(--s4)}
.brand-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--s4) var(--s8)}
.brand-row li{margin:0;display:flex;align-items:center}
.brand-row img{height:28px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(1) brightness(.4);opacity:.85;transition:opacity .2s,filter .2s}
.brand-row a:hover img,.brand-row a:focus-visible img{filter:none;opacity:1}
.brand-row a{display:flex;align-items:center;min-height:44px}
.brand-name{font-weight:700;color:var(--muted)}
@media(max-width:820px){.brand-row{gap:var(--s2) var(--s6)}.brand-row img{height:24px;max-width:110px}}

/* install split */
.install{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s12);align-items:center}
.arrowimg{aspect-ratio:4/3;background:url("../img/hero-szerelo.jpg") center/cover;border-radius:var(--r-card);clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);box-shadow:var(--shadow)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6);counter-reset:s;margin-top:var(--s8)}
.step{position:relative;padding-top:var(--s12)}
.step:before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font:800 1.25rem var(--font-head)}

/* quote band (the only large green area on the page) */
.quote-section{padding-top:0}
.cta-band{background:var(--tint-2);color:var(--navy-deep);border-radius:28px;padding:var(--s12) var(--s8);text-align:center}
.cta-band h2{color:var(--navy-deep)}
.cta-band .btn{margin:var(--s2)}
@media(min-width:821px){.cta-band .btn-dark{background:var(--green);color:var(--navy-deep)}}

/* footer */
.site-footer{background:var(--navy-deep);color:#fff;padding:var(--s12) 0;font-size:var(--fs-small)}
.site-footer a{color:#fff}
.site-footer .foot-title{font:800 1rem var(--font-head);color:#fff;margin-bottom:var(--s3)}
.foot-links{list-style:none;margin:0;padding:0}
.foot-links li{margin:0}
.foot-links a{display:inline-flex;min-height:var(--tap);align-items:center}
.sticky-cta{display:none}

/* inner pages: page head with cut (C4) */
.page-head{position:relative;color:#fff;padding:var(--s12) 0 var(--s16);isolation:isolate;background:var(--navy-deep)}
.page-head:before{content:"";position:absolute;inset:0;z-index:-1;background:url("../img/hatter-aramlas.jpg") center/cover;opacity:.4}
.page-head h1,.page-head .wp-block-post-title{color:#fff;font-size:clamp(2rem,4.5vw,3rem);margin-bottom:var(--s2)}
.page-head .cut{position:absolute;left:0;right:0;bottom:-1px;height:44px;background:#fff;clip-path:polygon(0 100%,100% 0,100% 100%)}
.page-body{padding-top:var(--s8);padding-bottom:var(--s16)}
.page-body .wp-block-post-content{max-width:100%}

/* forms: labels above, 44 px fields, 12 px radius */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],select,textarea,.select2-selection{min-height:var(--tap);border:2px solid var(--line);border-radius:var(--r-input);padding:0 var(--s4);font:500 1rem var(--font-body);color:var(--ink);background:#fff;width:100%}
textarea{padding:var(--s3) var(--s4)}
label{display:block;font-weight:600;margin-bottom:var(--s1)}
.woocommerce form .form-row{margin-bottom:var(--s4)}
.woocommerce form .form-row label{display:block}
.woocommerce form .form-row .required{color:var(--error);text-decoration:none}
.woocommerce form .form-row .description,.woocommerce form .form-row small{color:var(--muted);font-size:var(--fs-small)}
.woocommerce-error{background:#fff;border:2px solid var(--error);border-radius:14px;color:var(--error);padding:var(--s3) var(--s4);list-style:none}
.woocommerce-message,.woocommerce-info{background:var(--tint-2);border:0;border-radius:14px;color:var(--navy-deep);padding:var(--s3) var(--s4);margin-bottom:var(--s4)}

/* cart and checkout (classic shortcodes): summary as the deep blue card */
.woocommerce table.shop_table{border:0;border-collapse:collapse;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:var(--s4) var(--s2);border-bottom:1px solid var(--line);border-top:0;text-align:left;font-variant-numeric:tabular-nums}
.woocommerce table.cart img{width:96px;height:96px;object-fit:cover;border-radius:14px}
.woocommerce .quantity .qty{width:84px;text-align:center;border-radius:99px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{background:var(--navy-deep);color:#fff;border-radius:var(--r-card);padding:var(--s8) var(--s6);box-shadow:var(--shadow)}
.woocommerce .cart_totals h2,.woocommerce-checkout #order_review_heading{color:#fff}
.woocommerce-checkout #order_review_heading{margin-top:var(--s6)}
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td,.woocommerce-checkout #order_review table th,.woocommerce-checkout #order_review table td{color:#fff;border-color:rgba(255,255,255,.3)}
.woocommerce .cart_totals a,.woocommerce-checkout #order_review a{color:#DCEFFA}
.woocommerce .cart_totals small,.woocommerce .cart_totals .includes_tax,.woocommerce-checkout #order_review small,.woocommerce-checkout #order_review .includes_tax{color:#DCEBF7}
.woocommerce-checkout #payment{background:transparent}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid rgba(255,255,255,.3)}
.woocommerce-checkout #payment div.payment_box{background:rgba(255,255,255,.12);color:#fff}
.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:rgba(255,255,255,.12)}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{color:#DCEBF7;font-size:var(--fs-small)}
.woocommerce-checkout #place_order,.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;min-height:56px;margin-top:var(--s4);float:none}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{display:block}
@media(min-width:821px){
 .woocommerce-cart .woocommerce{display:grid;grid-template-columns:1fr 380px;gap:var(--s8);align-items:start}
 .woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
 .woocommerce-cart .woocommerce-cart-form{grid-column:1}
 .woocommerce-cart .cart-collaterals{grid-column:2;grid-row:2;position:sticky;top:var(--s4)}
 .woocommerce-cart .cart-collaterals,.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
}

/* shop archive and product (classic loop markup inside the block templates) */
.shop-main .woocommerce-products-header__title,.shop-main .woocommerce-products-header .page-title{display:none}
.woocommerce-breadcrumb{margin:0 0 var(--s4)}
.woocommerce-result-count{margin:0 0 var(--s4)}
.woocommerce-ordering select{width:auto;min-width:240px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s6);margin:var(--s4) 0 0;padding:0;list-style:none}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}
.woocommerce ul.products li.product{width:auto;float:none;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(2,46,95,.2)}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--tint);margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 1.25rem var(--font-head);color:var(--navy-deep);padding:var(--s4) var(--s4) 0}
.woocommerce ul.products li.product .price{display:block;padding:var(--s2) var(--s4);color:var(--navy-deep)}
.woocommerce ul.products li.product .button{margin:auto var(--s4) var(--s4);align-self:stretch;display:flex;align-items:center;justify-content:center;padding:0 var(--s4);text-align:center;background:var(--green);color:var(--navy-deep)}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-height:56px}
.woocommerce ul.products li.product .button:hover{background:#9BD24D;filter:none}
.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:var(--s8)}
.woocommerce div.product .product_title{font-size:clamp(1.75rem,3.2vw,2.25rem)}
.woocommerce div.product form.cart{display:flex;gap:var(--s3);align-items:center;margin:var(--s4) 0}
.woocommerce div.product .product_meta{font-size:var(--fs-small);color:var(--muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 var(--s4);border-bottom:2px solid var(--line)}
.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}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:transparent;margin:0 var(--s4) -2px 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:var(--s3) 0;font:700 1rem var(--font-head);color:var(--muted);min-height:var(--tap);display:inline-flex;align-items:center}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:3px solid var(--navy)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--navy-deep)}

.woocommerce .price small,.woocommerce .price .woocommerce-price-suffix,.woocommerce ul.products li.product .price small{font-size:.875rem;color:var(--muted);font-weight:500}
.woocommerce .cart-empty{margin-bottom:var(--s4)}
.woocommerce .return-to-shop{display:block;clear:both;margin:var(--s4) 0 0}

/* WooCommerce block markup, if blocks are used later */
.wc-block-product,.wc-block-grid__product{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:0;box-shadow:var(--shadow);overflow:hidden}
.wc-block-product .wc-block-components-product-image img,.wc-block-grid__product-image img{aspect-ratio:4/3;object-fit:contain;background:var(--tint);width:100%}
.wc-block-product .wp-block-post-title,.wc-block-grid__product-title{font:700 1.25rem var(--font-head);padding:0 var(--s4)}
.wc-block-product .wp-block-post-title a{color:var(--navy-deep);text-decoration:none}
.wc-block-components-product-price,.wc-block-grid__product-price,.woocommerce div.product p.price,.woocommerce div.product span.price{font:800 1.375rem var(--font-head);color:var(--navy-deep)}
.woocommerce span.onsale{background:var(--green);color:var(--navy-deep);border-radius:var(--r-btn);min-height:0;min-width:0;padding:2px 12px;font:700 .8125rem var(--font-head);line-height:1.6}
/* Card b78f07cb: WooCommerce pulls the badge out with margin:-.5em; the card clips it (overflow:hidden). */
.woocommerce ul.products li.product .onsale{margin:0;top:8px;right:8px}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:var(--r-card)}
.woocommerce div.product table.shop_attributes th{color:var(--muted);font-weight:500;width:45%}
.woocommerce div.product table.shop_attributes td,.woocommerce div.product table.shop_attributes th{border-bottom:1px solid var(--line);padding:var(--s3) 0;background:transparent}
.woocommerce div.product .stock{color:var(--green-dark);font-weight:700}
/* card eb7e1bfc: stock label with the delivery time directly under it */
.kb-availability{margin:var(--s2) 0 var(--s4)}
.kb-availability .stock{margin:0;color:var(--green-dark);font-weight:700}
.kb-availability .kb-delivery{margin:2px 0 0;font-size:var(--fs-small);color:var(--muted)}
.kb-availability .kb-nowrap{white-space:nowrap}
.woocommerce-breadcrumb{font-size:var(--fs-small);color:var(--muted)}

/* motion */
@keyframes drift{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-2%,-1%,0)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.hero .bg,.flow:before{animation:none!important}}

/* mobile */
@media(max-width:820px){
 body{padding-bottom:76px}
 .g3,.g4,.g2{grid-template-columns:1fr}
 section{padding:var(--s12) 0}
 header.main .header-row{min-height:60px;gap:var(--s2)}
 header.main .header-right{gap:var(--s2);flex-shrink:0}
 .brand{font-size:1.0625rem;gap:var(--s2);min-width:0}
 .brand svg{width:36px;height:auto}
 .cart-link{padding:0 var(--s3);font-size:.9375rem}
 .foot-links li{margin-bottom:0}
 .hero{min-height:560px}
 .hero .veil{background:linear-gradient(180deg,rgba(2,46,95,.92) 0%,rgba(2,46,95,.80) 60%,rgba(2,46,95,.55) 100%)}
 .hero .bg{background-position:70% center}
 .hero .wrap{padding-top:var(--s12);padding-bottom:calc(var(--s12) + 40px)}
 .stats,.steps{grid-template-columns:1fr 1fr}
 .install{grid-template-columns:1fr}
 .arrowimg{clip-path:polygon(0 0,100% 0,100% 90%,50% 100%,0 90%)}
 .page-head{padding:var(--s8) 0 var(--s12)}
 .top .wrap span:first-child{display:none}
 .top .wrap{justify-content:center}
 .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:5;background:#fff;border-top:1px solid var(--line);padding:var(--s3) var(--s4);gap:var(--s3)}
 .sticky-cta .btn{flex:1}
 .site-footer{padding-bottom:var(--s8)}
 body.pdp-page .sticky-cta{display:none}
 /* one green button per screen: the sticky bar carries it, the hero button is outlined */
 .hero .btn-cta{background:transparent;border-color:#fff;color:#fff}
 body.no-sticky-cta{padding-bottom:0}
 body.no-sticky-cta .sticky-cta{display:none}
}

/* review round 2 (Pixel): placeholders, touch targets, calculators, glossary */
::placeholder{color:var(--muted);opacity:1}
input[type=checkbox],input[type=radio]{width:24px;height:24px;min-height:0;accent-color:var(--navy);flex:none;margin:0}
label.checkbox,.woocommerce form .form-row label.checkbox,.woocommerce-form__label-for-checkbox,.kb-calc .kb-row{display:flex;align-items:center;gap:var(--s3);min-height:var(--tap);cursor:pointer}
.kb-calc .kb-row label{min-height:var(--tap);display:flex;align-items:center;cursor:pointer}
.page-body .kb-calc{border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}
.page-body .kb-calc input,.page-body .kb-calc select{border:2px solid var(--line);border-radius:var(--r-input);min-height:var(--tap)}
.page-body .kb-calc input[type=checkbox]{min-height:0;width:24px;height:24px}
.page-body .kb-calc button{background:var(--navy);color:#fff;border-radius:var(--r-btn);min-height:var(--tap);font:700 1rem var(--font-head)}
.woocommerce-checkout #payment ul.payment_methods li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:0;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li>label{flex:1;display:flex;align-items:center;min-height:var(--tap);margin:0;cursor:pointer;color:#fff}
.woocommerce-checkout #payment ul.payment_methods li>.payment_box{flex-basis:100%;margin:0 0 var(--s3)}
.woocommerce-info:before,.woocommerce-message:before{content:"i";display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--cyan-dark);color:#fff;font:700 .875rem/1 var(--font-head)}
.woocommerce-checkout .woocommerce-form__label-for-checkbox,.woocommerce-checkout .woocommerce-form__label-for-checkbox span,#ship-to-different-address label{min-height:var(--tap)}
.cart_totals input[type=radio],#order_review input[type=radio],#order_review input[type=checkbox]{accent-color:var(--cyan);outline-offset:2px}
.woocommerce-info,.woocommerce-message{position:relative;padding-left:3.25rem}
.woocommerce-info:before,.woocommerce-message:before{position:absolute;left:var(--s4);top:var(--s3)}
.page-body .wp-block-post-content>p{max-width:72ch}
.kb-quote,.kb-quote-ok{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:var(--s8) var(--s6);position:relative}
.kb-quote p{margin:0 0 var(--s4)}
.kb-quote .required{color:var(--error)}
.kb-quote .kb-opt{color:var(--muted);font-weight:400;font-size:var(--fs-small)}
.kb-quote textarea{min-height:120px}
.kb-quote .kb-consent label{font-weight:400}
.kb-quote .btn-cta{width:100%;min-height:56px;font-size:1.125rem}
.kb-quote-errors{margin-bottom:var(--s4);border:2px solid var(--error);border-radius:var(--r-card);padding:var(--s4);color:var(--error);background:#fff}
.kb-quote-errors a{color:inherit;text-decoration:underline}
.kb-quote-errors ul{margin:0;padding-left:1.25rem}
.kb-quote .kb-invalid{border:2px solid var(--error)}
.kb-quote input[type=checkbox].kb-invalid{outline:2px solid var(--error);outline-offset:2px}
.kb-quote .kb-field-error{display:block;margin-top:var(--s2);color:var(--error);font-size:var(--fs-small);font-weight:600}
.page-body .kb-glossary{max-width:720px}
.page-body .kb-glossary dt{margin-top:var(--s8);font:800 1.25rem var(--font-head);color:var(--navy-deep)}
.page-body .kb-glossary dd{max-width:72ch}
.page-body .kb-glossary-toc{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s6)}
.page-body .kb-glossary-toc a{margin:0;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s4);border:2px solid var(--line);border-radius:var(--r-btn);background:#fff;color:var(--navy);font:600 .9375rem var(--font-body);text-decoration:none}
.page-body .kb-glossary-toc a:hover{background:var(--tint-2)}

/* T: one-row header (Pixel 29190): hamburger below 1120 px, phone always an icon button */
.header-row{flex-wrap:nowrap;align-items:center;min-height:72px;gap:24px}
.header-row .brand{flex:0 0 auto}
.header-right{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:16px}
.header-right>p{display:flex;align-items:center;gap:12px;margin:0;flex:0 0 auto}
.menu .wp-block-navigation__container{display:flex;flex-wrap:nowrap;gap:16px}
.menu .wp-block-navigation-item a{white-space:nowrap;font-size:clamp(15px,1.3vw,17px);min-height:44px;display:inline-flex;align-items:center}
.kb-head-quote{white-space:nowrap;flex:0 0 auto}
.kb-head-phone,.kb-head-cart{width:44px;height:44px;padding:0;justify-content:center;border:2px solid currentColor;border-radius:999px}
.kb-head-phone .kb-head-phone-num{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (min-width:1120px){
 .menu .wp-block-navigation__responsive-container:not(.has-modal-open){display:block;position:static}
 .menu .wp-block-navigation__responsive-container-open{display:none}
}
@media (max-width:1119px){
 .menu .wp-block-navigation__responsive-container:not(.has-modal-open){display:none}
 .menu .wp-block-navigation__responsive-container-open{display:flex;width:44px;height:44px;align-items:center;justify-content:center}
 .header-right{gap:12px}
}
@media (max-width:559px){.kb-head-quote{display:none}}
@media (min-width:1120px){.header-right .menu{margin-right:8px}}

/* P: uniform product image tile (Pixel 29178): background-free WebP on #ECECEC, no blend mode */
.woocommerce ul.products li.product a img,.wc-block-product .wc-block-components-product-image img,.wc-block-grid__product-image img{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain;background:#ECECEC;border-radius:12px;filter:drop-shadow(0 8px 14px rgba(12,61,111,.25))}
.woocommerce-product-gallery__image{background:#ECECEC;border-radius:12px;overflow:hidden}
.woocommerce-product-gallery__image img{aspect-ratio:4/3;object-fit:contain}
.woocommerce-product-gallery .flex-control-thumbs li img{opacity:1;background:#ECECEC;border-radius:8px;aspect-ratio:4/3;object-fit:contain;border:2px solid transparent}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active{border-color:#0C3D6F}
/* Pixel 29243: no horizontal overflow at 320-352 px (stats min-content, large hero button) */
@media(max-width:400px){
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
 .stat{padding:var(--s4);min-width:0;overflow-wrap:anywhere}
 .stat b{font-size:1.5rem}
 .btn-lg{max-width:100%;padding:0 var(--s4);white-space:normal;text-align:center}
}
/* Pixel 29243: gallery thumbs fully opaque (beats WooCommerce .flex-control-thumbs li img opacity:.5) */
.woocommerce div.product div.images .flex-control-thumbs li img{opacity:1!important}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:#0C3D6F!important}
/* Online withdrawal (plugin klimabirodalom-elallas) */
.kb-elallas-link{font-weight:700}
.kb-elallas .kb-field{display:flex;flex-direction:column;gap:var(--s1,4px);margin:0 0 var(--s3,12px)}
.kb-elallas input,.kb-elallas textarea{width:100%;max-width:40rem;min-height:48px;box-sizing:border-box}
.kb-elallas .kb-err{color:var(--error)}
.kb-elallas-summary{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #ccc;border-radius:var(--r-card);padding:var(--s4,16px);font:inherit}
.kb-elallas h2:focus{outline:2px solid #0C3D6F;outline-offset:2px}
.kb-elallas form+form{margin-top:var(--s2,8px)}
/* Quote form (Pixel O2, O5, O7) */
.kb-quote input:not([type=checkbox]),.kb-quote select{min-height:48px;font-size:16px}
.kb-quote textarea{font-size:16px}
.kb-quote .kb-busy::before{content:"";display:inline-block;width:1em;height:1em;margin-right:.5em;vertical-align:-.15em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:kb-spin .8s linear infinite}
@keyframes kb-spin{to{transform:rotate(360deg)}}
.kb-quote-product{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2,8px);background:#fff;border:1px solid #d7dde5;border-radius:var(--r-card);padding:var(--s2,8px) var(--s3,12px)}
.kb-quote-product-x{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 var(--s2,8px);font-weight:600}
/* Pixel Q1: one-line breadcrumb on phones, the product name is cut with an ellipsis */
@media (max-width:599px){
 .woocommerce-breadcrumb,.wc-block-breadcrumbs{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:48px;line-height:44px}
 .woocommerce-breadcrumb a,.wc-block-breadcrumbs a{vertical-align:top}
}

/* Card cd93fe67 (Feri TG 4727/4728): cart width, stable list cards, price hierarchy */
/* 1) Cart: WooCommerce blocktheme.css caps `.woocommerce-cart main .woocommerce` at 1000px and squeezed the table into ~590px. Use the full wrap width,
   keep prices on one line and let the product name take the free space. */
.woocommerce-cart .woocommerce,.woocommerce-cart main .woocommerce{max-width:none;margin-left:0;margin-right:0}
.woocommerce-cart table.cart td.product-price,.woocommerce-cart table.cart td.product-subtotal{white-space:nowrap}
.woocommerce-cart table.cart th.product-thumbnail,.woocommerce-cart table.cart td.product-thumbnail{width:96px}
.woocommerce-cart table.cart td.product-name{min-width:0;font-weight:600}
.woocommerce-cart table.cart td.product-name a{overflow-wrap:anywhere}
.woocommerce-cart .cart-collaterals .cart_totals{padding:var(--s6)}
.woocommerce-cart .cart_totals td{text-align:right}
.woocommerce-cart .cart_totals th{text-align:left;white-space:nowrap}
.woocommerce-cart .cart_totals td .woocommerce-Price-amount,.woocommerce-cart .cart_totals td strong{white-space:nowrap}
@media(min-width:821px){
 .woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr) minmax(320px,380px)}
 .woocommerce-cart table.cart td.product-quantity .qty{width:72px}
}
/* 2) List: the "Kosár" link that WooCommerce appends after add-to-cart no longer takes layout space (it grew the card by ~50px and
   pushed the neighbour's button down). It is a pill over the product image instead; the button keeps its place. */
.woocommerce ul.products li.product{position:relative}
.woocommerce ul.products li.product a.added_to_cart{position:absolute;left:var(--s3);top:var(--s3);z-index:3;display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s4);margin:0;border-radius:99px;background:var(--navy-deep);color:#fff;font:700 .875rem var(--font-head);text-decoration:none;box-shadow:0 4px 12px rgba(2,46,95,.3)}
.woocommerce ul.products li.product a.added_to_cart:hover,.woocommerce ul.products li.product a.added_to_cart:focus-visible{background:var(--navy)}
.woocommerce ul.products li.product a.add_to_cart_button.added::after{display:none}
.woocommerce ul.products li.product a.add_to_cart_button.added::before{content:"\2713\00a0";font-weight:800}
.woocommerce ul.products li.product a.add_to_cart_button.loading{opacity:.7}
/* 3) Card price: gross is the headline, net sits under it, smaller. */
.woocommerce ul.products li.product .price{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font:800 1.375rem var(--font-head)}
.woocommerce ul.products li.product .price>.woocommerce-Price-amount,.woocommerce ul.products li.product .price>del+ins{white-space:nowrap}
.woocommerce ul.products li.product .price .woocommerce-price-suffix{display:block;font:500 .875rem var(--font-body,inherit);color:var(--muted)}
/* WooCommerce sets small.includes_tax to #767676 (about 3:1 on the deep blue summary card); keep the light tint. */
.woocommerce-cart .cart-collaterals .cart_totals table small.includes_tax,.woocommerce .cart_totals small.includes_tax,.woocommerce-checkout #order_review small.includes_tax{color:#DCEBF7}

/* Header cart icon with count badge (card cd93fe67, Feri TG 4732) */
.kb-head-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:#fff;text-decoration:none;flex:0 0 auto}
.kb-head-cart:hover,.kb-head-cart:focus-visible{background:rgba(255,255,255,.14)}
.kb-head-cart .kb-cart-count{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 5px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--navy);border-radius:99px;background:var(--green);color:var(--navy-deep);font:800 .75rem/1 var(--font-head)}
.kb-head-cart .kb-cart-count[hidden]{display:none}

/* Card 1d4194c2 (Feri TG 4743): product archives use the full screen width (24-32 px side margin) instead of the 1180 px wrap.
   Header and the page-head hero keep their own wrap. Filter column stays on the left (300 px, gree-filter.php), the grid fills the rest. */
body.post-type-archive-product .shop-main .page-body.wrap,body.tax-product_cat .shop-main .page-body.wrap,body.tax-product_tag .shop-main .page-body.wrap{max-width:none;padding-left:clamp(16px,2.5vw,32px);padding-right:clamp(16px,2.5vw,32px)}
/* Feri chose 3 products per row (TG 4758); below 1100 px the auto-fill grid keeps 2 columns, phones 1. */
@media(min-width:1100px){
 body.post-type-archive-product.woocommerce ul.products,body.tax-product_cat.woocommerce ul.products,body.tax-product_tag.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
