/*
Theme Name: Haswing
Version: 1.0.0
Text Domain: haswing
*/
/* Factory catalogue: white, blue #327ec0 and pale blue surfaces.
   Actions use a deeper blue so white labels retain sufficient contrast. */
:root{--brand:#327ec0;--action:#2468a4;--action-hover:#195386;--soft:#edf6fc;--soft-strong:#dceffc;--ink:#203549;--muted:#526b80;--paper:#fff;--white:#fff;--line:#d8e7f2;--control-line:#748da3;--accent:var(--action);--water:var(--action);--radius:12px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--water)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,.button,.wp-element-button{border:0;border-radius:6px;background:var(--action);color:#fff;padding:13px 23px;cursor:pointer;display:inline-block;line-height:1.35}button:hover,.button:hover{background:var(--action-hover);color:#fff}input,select,textarea{border:1px solid var(--control-line);border-radius:5px;background:#fff;color:var(--ink);padding:11px;max-width:100%}label{display:block}label input:not([type=checkbox]),label select,label textarea{display:block;width:100%;margin-top:5px}.checkbox{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.checkbox input{width:20px;height:20px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3{line-height:1.17;letter-spacing:-.035em;margin:0 0 22px;font-weight:650}h1{font-size:clamp(32px,4.7vw,66px);max-width:1000px}h2{font-size:clamp(26px,3vw,40px)}h3{font-size:20px}p{margin:0 0 20px}.container{width:min(1320px,calc(100% - 72px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-100px;z-index:1000;padding:16px;background:#fff}.skip-link:focus{top:12px}.topline{background:var(--action);color:#eaf5ff;font-size:12px;letter-spacing:.02em;padding:9px 0}.topline .container{display:flex;justify-content:space-between}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-main{display:flex;align-items:center;gap:35px;min-height:92px}.brand{display:inline-flex;align-items:center;width:160px;flex-shrink:0;line-height:1}.brand-logo{display:block;width:100%;height:auto}.search-form{display:flex;flex:1;max-width:460px}.search-form input{width:100%;border-radius:6px 0 0 6px;border-right:0;background:#f4f9fd;min-width:0}.search-form button{border-radius:0 6px 6px 0;padding:10px 17px}.header-contact{margin-left:auto;font-size:17px;font-weight:600;white-space:nowrap}.header-contact small{display:block;font-size:11px;color:var(--muted);font-weight:400}.header-cart{white-space:nowrap;border:1px solid var(--line);border-radius:6px;padding:10px 15px}.nav-wrap{border-top:1px solid var(--line)}.main-menu{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:15px 0;margin:0;font-size:14px;font-weight:550}.main-menu .sub-menu{display:none}.mobile-menu{display:none}.site-main{min-height:65vh;padding:45px 0 75px}.home .site-main{padding-top:30px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:650;color:var(--water);margin-bottom:14px}.hero{display:grid;grid-template-columns:1.15fr 1fr;background:var(--soft);border-radius:var(--radius);overflow:hidden;min-height:570px;margin-bottom:72px}.hero-copy{padding:55px 20px 48px 48px;z-index:1}.hero h1{font-size:clamp(36px,4.4vw,61px);max-width:650px}.hero-copy p{font-size:17px;color:var(--muted);max-width:475px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero .button{background:var(--accent)}.hero .button.secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--control-line)}.hero-visual{background:#fff;position:relative;display:flex;align-items:center;justify-content:center;margin:28px;border-radius:9px;min-width:0}.hero-visual img{width:100%;height:440px;object-fit:contain;mix-blend-mode:multiply}.hero-label{position:absolute;bottom:15px;left:22px;background:var(--soft);padding:9px 14px;border-radius:5px;font-size:12px}.section{margin-block:64px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h2{margin:0}.text-link{font-size:14px;border-bottom:1px solid var(--control-line);padding-bottom:4px;white-space:nowrap}.section-intro{max-width:760px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .2s,transform .2s}.product-card:hover{border-color:var(--brand);transform:translateY(-2px)}.product-photo{display:block;padding:20px;height:250px;background:#fff}.product-photo img{width:100%;height:100%;object-fit:contain}.product-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.product-card h3{font-size:16px;line-height:1.45;letter-spacing:-.012em;margin-bottom:24px}.product-card .eyebrow{font-size:10px;margin-bottom:9px}.card-bottom{margin-top:auto}.price{font-size:23px;font-weight:650;display:block;line-height:1.3}.availability{display:block;color:var(--muted);font-size:12px;margin-top:6px}.card-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:13px;font-weight:600}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feature{border-radius:var(--radius);background:var(--action);color:#fff;padding:40px}.feature.light{background:var(--soft-strong);color:var(--ink)}.feature p{color:#eaf5ff}.feature.light p{color:#3c5b75}.feature a{display:inline-block;margin-top:16px;border-bottom:1px solid}.category-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.category-tile{padding:30px 24px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:20px;font-weight:600;min-height:130px;display:flex;align-items:end;justify-content:space-between}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:25px;display:flex;flex-wrap:wrap;gap:8px}.page-intro{font-size:18px;color:var(--muted);max-width:820px}.category-links{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.category-links a{border:1px solid var(--control-line);background:#fff;border-radius:50px;padding:10px 17px;font-size:13px}.filters{background:#fff;border:1px solid var(--line);border-radius:8px;margin:26px 0}.filters summary{cursor:pointer;padding:17px 22px;font-weight:600;display:flex;justify-content:space-between}.filters form{border-top:1px solid var(--line);padding:22px}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:20px}.filter-grid label{font-size:12px}.result-count{font-size:13px;color:var(--muted)}.pagination{display:flex;gap:10px;margin:35px 0}.pagination .page-numbers{border:1px solid var(--line);padding:9px 17px;border-radius:5px;background:#fff}.pagination .current{background:var(--action);color:#fff}.notice{background:var(--soft);border-left:3px solid var(--water);padding:20px 24px;margin-block:24px;border-radius:0 6px 6px 0}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article-grid article{background:#fff;border:1px solid var(--line);padding:28px;border-radius:9px}.article-grid h2{font-size:23px}.article-grid p{font-size:14px;color:var(--muted)}.entry-content>h2{margin-top:42px}.entry-content>p,.entry-content>ul,.entry-content>ol{max-width:950px}.entry-content a:not(.button):not(.product-card a):not(.category-links a):not(.category-tile):not(.diagram-hotspot){text-decoration-color:var(--control-line)}.request-form{max-width:740px;background:#fff;border:1px solid var(--line);padding:28px;border-radius:8px;display:grid;gap:20px}.request-form .checkbox{font-size:13px}table{border-collapse:collapse;width:100%;background:#fff;font-size:14px}th,td{text-align:left;vertical-align:top;padding:14px;border:1px solid var(--line)}th{background:var(--soft)}.table-scroll{overflow:auto}.model-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.model-list a{padding:25px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:20px;font-weight:600}.model-list span{display:block;font-size:13px;color:var(--muted);margin-top:8px}.diagram-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.diagram-controls button{min-width:44px;min-height:44px}.diagram-scroll{overflow:auto;border:1px solid var(--line);background:#fff;max-height:80vh;touch-action:pan-x pan-y}.diagram-canvas{position:relative;min-width:100%;width:100%;transform-origin:top left}.diagram-canvas>img{display:block;width:100%;max-width:none}.diagram-hotspot{position:absolute;border:2px solid transparent;min-width:44px;min-height:44px}.diagram-hotspot:hover,.diagram-hotspot:focus{border-color:var(--accent);background:#327ec025}.diagram-hotspot span{position:absolute;left:0;top:0;background:var(--action);color:white;font-size:11px;padding:2px 5px;opacity:0}.diagram-hotspot:focus span,.diagram-hotspot:hover span{opacity:1}.parts-table{margin:22px 0}.parts-table tr:target{background:var(--soft-strong);scroll-margin-top:180px}.source-note{font-size:12px;color:var(--muted)}.site-footer{background:var(--action);color:#fff;padding:60px 0 25px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding-bottom:42px}.footer-top .brand{width:180px}.footer-top p{font-size:13px;margin-top:22px;color:#eaf5ff}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.footer-contact a{display:block;margin-bottom:9px}.footer-contact p{margin-top:15px}.footer-bottom{border-top:1px solid #75a8d0;padding-top:22px;color:#eaf5ff;font-size:11px;display:flex;justify-content:space-between;gap:20px}.woocommerce div.product div.images img{object-fit:contain;max-height:640px;width:100%;background:#fff;border-radius:9px}.woocommerce div.product .product_title{font-size:clamp(28px,3vw,43px)}.woocommerce div.product p.price{color:var(--ink);font-size:30px}.woocommerce div.product .summary{background:#fff;padding:30px;border:1px solid var(--line);border-radius:9px}.woocommerce div.product .woocommerce-tabs{padding-top:40px}.woocommerce .quantity .qty{min-height:44px}.woocommerce div.product form.cart .variations select{max-width:100%;white-space:normal;min-height:48px}.woocommerce div.product .stock{color:var(--muted)}.woocommerce-product-details__short-description{color:var(--muted)}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--soft)}.woocommerce ul.products li.product a img{height:240px;object-fit:contain;background:#fff}.woocommerce ul.products li.product .price{color:var(--ink)}.woocommerce .related>h2{margin-bottom:30px}.woocommerce table.shop_attributes th{width:210px}.woocommerce-variation-description{font-size:14px}.single-product .notice{clear:both}.woocommerce-error,.woocommerce-info,.woocommerce-message{border-top-color:var(--water)}.empty-state{padding:40px;background:#fff;border:1px solid var(--line);border-radius:8px}
@media(max-width:1050px){.header-contact{display:none}.container{width:calc(100% - 40px)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{padding:35px 20px 35px 30px}.hero-visual{margin:20px}.hero{min-height:480px}.hero-visual img{height:360px}.main-menu{font-size:12px;gap:12px}.category-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.container{width:calc(100% - 30px)}.topline{font-size:10px}.topline span:last-child{display:none}.header-main{min-height:72px;gap:14px;flex-wrap:wrap;padding:14px 0}.header-main .brand{width:clamp(94px,28vw,120px)}.search-form{order:4;flex-basis:100%;max-width:none}.search-form input{font-size:14px}.header-cart{margin-left:auto;font-size:12px;padding:9px}.nav-wrap{display:none}.mobile-menu{display:block}.mobile-menu summary{list-style:none;background:var(--action);color:#fff;padding:9px 13px;border-radius:5px;cursor:pointer;font-size:12px}.mobile-menu nav{position:absolute;left:0;right:0;top:100%;padding:20px;background:#fff;box-shadow:0 15px 20px #20354930;max-height:65vh;overflow:auto}.mobile-menu .main-menu{display:grid;font-size:16px;gap:0}.mobile-menu .main-menu a{display:block;padding:12px}.hero{grid-template-columns:1fr;min-height:0;margin-bottom:40px}.hero-copy{padding:30px 25px 15px}.hero h1{font-size:38px}.hero-copy p{font-size:15px}.hero-actions{margin-top:22px}.hero-actions .button{font-size:13px;padding:13px 16px}.hero-visual{margin:20px;height:285px}.hero-visual img{height:260px}.hero-label{font-size:10px}.site-main{padding-top:25px}.section{margin-block:42px}.section-heading{align-items:start}.section-heading h2{font-size:28px}.text-link{font-size:11px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-photo{height:175px;padding:12px}.product-card-body{padding:13px}.product-card h3{font-size:13px;margin-bottom:16px}.product-card .price{font-size:17px}.card-link{font-size:12px}.product-card .availability{font-size:10px}.feature-grid,.article-grid,.model-list{grid-template-columns:1fr}.feature{padding:28px}.category-tile{font-size:17px;padding:23px 18px;min-height:110px}.filter-grid{grid-template-columns:repeat(2,1fr)}.filters form{padding:15px}.footer-top{grid-template-columns:1fr;gap:25px}.footer-bottom{display:block}.woocommerce div.product .summary{padding:22px}.diagram-hotspot{min-width:44px;min-height:44px}.diagram-controls button{padding:10px 14px}.diagram-controls{font-size:12px}.breadcrumbs{font-size:11px}.request-form{padding:20px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;font-size:12px}.woocommerce div.product .woocommerce-tabs ul.tabs li{padding:0 8px}.page-intro{font-size:16px}th,td{padding:10px}.parts-table{min-width:630px}.woocommerce div.product form.cart .variations td{display:block;width:100%}}

.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* One focus ring encloses the complete search control, including its submit button. */
.search-form{border-radius:6px}
.search-form:focus-within{outline:3px solid var(--action);outline-offset:3px}
.search-form input:focus{outline:none}
.search-form button:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--action);color:#fff;border-radius:6px;padding:13px 20px}.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled[disabled]{background:#e1eaf2;color:var(--muted)}.woocommerce div.product div.images .woocommerce-product-gallery__image>a{display:block}.woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg){position:relative;z-index:0}.woocommerce div.product div.images .zoomImg{max-height:none!important;border-radius:0}
.footer-nav{display:block}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin:0;list-style:none}
@media(max-width:360px){.section-heading{flex-wrap:wrap}}

/* Keep model links and selected parts below the sticky navigation. */
:root{--hw-admin-offset:0px;--hw-anchor-offset:180px}
body.admin-bar{--hw-admin-offset:32px;--hw-anchor-offset:212px}
.site-header{top:var(--hw-admin-offset)}
#modeli,.diagram,.parts-table,.parts-table tr:target{scroll-margin-top:var(--hw-anchor-offset)}
.models-section h2{margin-bottom:16px}
.model-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.model-list .model-card{display:flex;flex-direction:column;padding:0;overflow:hidden;min-width:0;transition:border-color .2s}
.model-card:hover{border-color:var(--water)}
.model-card .model-preview{display:block;width:100%;height:170px;object-fit:contain;padding:16px;border-bottom:1px solid var(--line);background:#fff}
.model-card-copy{padding:22px;display:flex;flex-direction:column;flex:1}
.model-list .model-series{margin:0 0 8px;color:var(--water);font-size:12px}
.model-card h3{font-size:24px;margin:0 0 12px}
.model-list .model-revision{margin:0 0 20px;font-weight:400;overflow-wrap:anywhere}
.model-list .model-action{margin-top:auto;color:var(--water);font-size:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.model-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:782px){body.admin-bar{--hw-admin-offset:46px;--hw-anchor-offset:226px}}
@media(max-width:700px){
 .model-list{grid-template-columns:1fr;gap:14px}
 .model-list .model-card{flex-direction:row;align-items:stretch;font-size:16px}
 .model-card .model-preview{width:100px;height:140px;align-self:center;flex-shrink:0;padding:10px;border:0}
 .model-card-copy{padding:18px 16px;min-width:0}
 .model-card h3{font-size:22px;margin-bottom:8px}
 .model-list .model-revision{font-size:12px;margin-bottom:16px}
 .model-list .model-action{font-size:13px}
 .parts-table{min-width:0;background:transparent}
 .parts-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .parts-table tbody,.parts-table tr,.parts-table td{display:block}
 .parts-table tr{border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:14px;padding:14px}
 .parts-table td{border:0;padding:5px 0;overflow-wrap:anywhere}
 .parts-table td::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted)}
 .parts-table td:first-child{font-weight:650;font-size:17px}
 .parts-table td:last-child a{display:inline-flex;align-items:center;min-height:44px;color:var(--water);text-decoration:underline}
}
@media(max-width:600px){body.admin-bar{--hw-admin-offset:0px;--hw-anchor-offset:180px}}
/* Preserve the exact label geometry; expanded hit boxes overlap on small screens.
   The parts list provides an equivalent, comfortably sized touch target. */
.diagram-hotspot{min-width:0;min-height:0;scroll-margin-top:var(--hw-anchor-offset)}
.diagram-hotspot span{pointer-events:none}

#katalog-zapchastey{scroll-margin-top:var(--hw-anchor-offset)}
.part-type-links a{display:inline-flex;align-items:center;min-height:44px}
.part-type-links a[aria-current=true]{background:var(--action);border-color:var(--action);color:#fff}
.parts-catalog h2{margin-bottom:20px}
.parts-search{margin:24px 0}
.parts-search>label{display:block;margin-bottom:10px;font-size:16px;font-weight:650;color:var(--ink)}
.parts-search-row{display:flex;min-height:54px;background:#fff;border:1px solid var(--control-line);border-radius:8px}
.parts-search-row:focus-within{outline:3px solid var(--action);outline-offset:3px}
.parts-search-row input{flex:1;min-width:0;width:100%;border:0;border-radius:7px 0 0 7px;padding:14px 16px;font-size:16px;background:transparent}
.parts-search-row input:focus{outline:none;box-shadow:none}
.parts-search-row button{flex:0 0 auto;min-width:84px;border:0;border-radius:0 7px 7px 0;padding:12px 20px;font-size:16px}
@media(max-width:700px){.parts-search-row input{padding:12px}.parts-search-row button{min-width:74px;padding:12px}}

.catalog-section{scroll-margin-top:var(--hw-anchor-offset)}
.quick-filters a,.quick-disabled{display:inline-flex;align-items:center;gap:9px;min-height:44px}
.quick-filters a[aria-current=true]{background:var(--action);border-color:var(--action);color:#fff}
.quick-filters small{font-size:11px;opacity:.7}
.quick-disabled{border:1px solid var(--line);border-radius:50px;padding:10px 17px;font-size:13px;color:var(--muted);opacity:.65}
.catalog-subcategories{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:24px;font-size:13px;color:var(--water)}
.matched-variant{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:0 0 18px}
.filters[open] summary>span{font-size:0}
.filters[open] summary>span::after{content:'−';font-size:16px}
.filter-grid select{min-width:0;width:100%}

/* Keep the whole product photo visible within its clickable link. */
.hero-visual.hero-product{flex-direction:column;gap:16px;padding:20px;height:auto;min-height:0}
.hero-visual.hero-product img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;mix-blend-mode:normal}
.hero-product .hero-label{position:static;align-self:flex-start;max-width:100%}
.hero-product:focus-visible{outline:3px solid var(--water);outline-offset:4px}
@media(max-width:700px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}.hero h1{overflow-wrap:anywhere}.hero-visual.hero-product{padding:16px}.hero-visual.hero-product img{max-height:none}}

.product-carousel{--carousel-columns:4;--carousel-gap:24px;min-width:0;max-width:100%}
.carousel-track.product-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--carousel-columns) - 1)*var(--carousel-gap))/var(--carousel-columns));gap:var(--carousel-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 0 10px;max-width:100%}
.carousel-track>.product-card{min-width:0;scroll-snap-align:start}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.carousel-controls[hidden]{display:none}
.carousel-status{font-size:13px;color:var(--muted)}
.carousel-buttons{display:flex;gap:8px}
.carousel-buttons button{min-width:44px;min-height:44px;padding:10px 14px;font-size:13px}
.carousel-buttons [data-carousel-toggle]{min-width:112px}
.carousel-track:focus-visible,.carousel-buttons button:focus-visible{outline:2px solid var(--water);outline-offset:2px}
.carousel-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1050px){.product-carousel{--carousel-columns:3}}
@media(max-width:700px){.product-carousel{--carousel-columns:2;--carousel-gap:10px}.carousel-buttons{gap:6px}.carousel-buttons button{padding:10px}.carousel-buttons [data-carousel-toggle]{min-width:96px}}

/* Factory branding across headings, navigation and commerce controls. */
h1,h2{color:#000}
/* Heading links retain the section's typography and expose standard keyboard focus. */
.home .entry-content h2 a.home-section-link{display:inline;margin:0;border:0;color:inherit;text-decoration:none}
.home .entry-content h2 a.home-section-link:hover,.home .entry-content h2 a.home-section-link:focus-visible{color:inherit;text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}
.site-header{border-bottom:2px solid var(--brand)}
.topline{background:var(--soft);color:var(--action)}
.hero{border:1px solid var(--line)}
.hero .button:hover{background:var(--action-hover)}
.hero .button.secondary{color:var(--action);box-shadow:inset 0 0 0 1px var(--control-line)}
.hero .button.secondary:hover{background:var(--soft-strong);color:var(--action-hover)}
.hero-label{color:var(--action)}
.feature:not(.light) h2,.feature:not(.light) .eyebrow{color:#fff}
.feature:not(.light) a:hover,.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.feature:not(.light) a:focus-visible,.site-footer a:focus-visible{outline-color:#fff}
.feature.light h2{color:#000}
.site-footer{background:#2465a0}
.card-link,.header-cart,.text-link{color:var(--action)}
.category-tile:hover,.category-links a:hover,.header-cart:hover{background:var(--soft);border-color:var(--brand)}
.quick-filters a[aria-current=true]:hover,.part-type-links a[aria-current=true]:hover{background:var(--action-hover);color:#fff}
.filters summary{background:var(--soft);border-radius:8px}
.filters[open] summary{border-radius:8px 8px 0 0}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type=checkbox],input[type=radio]{accent-color:var(--action)}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--action-hover);color:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--action)}
.woocommerce-info::before,.woocommerce-message::before{color:var(--action)}
@media(max-width:700px){.header-main{column-gap:10px}.header-cart{padding:9px 10px}.hero h1{font-size:clamp(25px,7.4vw,32px)}}

/* Compact category previews retain full photos and a single, labelled link. */
.category-previews .category-tile-preview{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px;padding:20px;min-width:0;min-height:220px}
.category-preview-photo{display:flex;align-items:center;justify-content:center;width:100%;height:128px;background:#fff;border-radius:5px}
.category-preview-photo img{display:block;width:100%;height:100%;object-fit:contain}
.category-preview-label{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;font-size:18px;line-height:1.4}
.category-preview-label>span:first-child{min-width:0}
.category-preview-label>span:last-child{flex-shrink:0;color:var(--action)}
@media(max-width:700px){.category-previews{gap:10px}.category-previews .category-tile-preview{padding:12px;gap:12px;min-height:182px}.category-preview-photo{height:102px}.category-preview-label{font-size:15px;gap:8px}}

/* Primary navigation: clearly outlined buttons with a strong current-section state. */
.site-header .main-menu{gap:10px;padding:12px 0;font-size:14px;font-weight:650}
.site-header .main-menu>li{display:flex;flex:1 1 auto;min-width:0}
.site-header .main-menu>li>a{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:11px 16px;border:1px solid #b6d2e8;border-radius:8px;background:var(--soft);color:var(--action-hover);line-height:1.35;text-align:center;box-shadow:0 2px 0 #d8e7f2;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}
.site-header .main-menu>li>a:hover{background:var(--soft-strong);border-color:var(--brand);color:var(--action-hover);box-shadow:0 3px 8px #2468a41a}
.site-header .main-menu>li>a.menu-section-current,.site-header .main-menu>li.current-menu-item>a{background:var(--action);border-color:var(--action);color:#fff;box-shadow:0 2px 0 #195386}
.site-header .main-menu>li>a.menu-section-current:hover,.site-header .main-menu>li.current-menu-item>a:hover{background:var(--action-hover);border-color:var(--action-hover)}
.site-header .main-menu>li>a:focus-visible{outline:3px solid var(--action-hover);outline-offset:3px;box-shadow:0 0 0 2px #fff}
@media(min-width:701px) and (max-width:1100px){.nav-wrap .main-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nav-wrap .main-menu>li>a{padding:10px 12px}}
@media(max-width:700px){.mobile-menu summary{min-height:44px;display:flex;align-items:center;font-weight:650;box-shadow:0 2px 5px #2468a426}.site-header .mobile-menu .main-menu{display:grid;grid-template-columns:1fr;gap:8px;padding:0;font-size:15px}.site-header .mobile-menu .main-menu>li>a{justify-content:flex-start;text-align:left;min-height:48px;padding:12px 16px}.mobile-menu nav{padding:16px 20px 20px}}
@media(prefers-reduced-motion:reduce){.site-header .main-menu>li>a{transition:none}}

/* Independent homepage portrait stays fully visible at a balanced size. */
.hero-visual.hero-product.hero-artwork{align-self:center;justify-self:center;width:calc(100% - 56px);max-width:410px;padding:0;overflow:hidden}
.hero-visual.hero-product.hero-artwork img{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:1050px){.hero-visual.hero-product.hero-artwork{width:calc(100% - 40px)}}

/* Manufacturer diagram library: series → model → execution / assembly. */
.scheme-series-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}
.scheme-series-nav a{display:flex;gap:10px;align-items:center;padding:10px 16px;background:#fff;border:1px solid var(--control-line);border-radius:7px;color:var(--water);font-weight:600}
.scheme-series-nav a:hover{background:var(--soft-strong)}
.scheme-series-nav span{font-size:12px;background:var(--soft);padding:1px 7px;border-radius:20px}
.scheme-series-group{margin:14px 0;scroll-margin-top:var(--hw-anchor-offset)}
.scheme-series-group>summary{display:flex;align-items:center;gap:20px;padding:20px 24px;min-height:64px;list-style:none;cursor:pointer;background:var(--soft);border:1px solid var(--line);border-radius:9px}
.scheme-series-group>summary::-webkit-details-marker{display:none}
.scheme-series-group>summary::marker{content:''}
.scheme-series-group>summary::after{content:'';flex:0 0 10px;width:10px;height:10px;border-right:2px solid var(--water);border-bottom:2px solid var(--water);transform:rotate(45deg);margin:0 3px 5px 0}
.scheme-series-group[open]>summary::after{transform:rotate(225deg);margin-top:8px}
.scheme-series-group>summary:hover{background:var(--soft-strong);border-color:var(--water)}
.scheme-series-group>summary:focus-visible{outline:3px solid var(--action);outline-offset:3px}
.scheme-series-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;flex:1;min-width:0;font-size:26px;line-height:1.3;color:#000;margin:0}
.scheme-series-toggle{font-size:14px;line-height:1.5;font-weight:500;color:var(--water)}
.scheme-series-collapse,.scheme-series-group[open] .scheme-series-expand{display:none}
.scheme-series-group[open] .scheme-series-collapse{display:inline}
.scheme-series-group>.model-list{margin-top:20px;margin-bottom:30px}
@media(max-width:700px){.scheme-series-group>summary{padding:18px 16px;gap:16px}.scheme-series-title{flex-direction:column;align-items:flex-start;gap:6px}.scheme-series-toggle{font-size:13px}}
.model-card-title{font-size:24px;line-height:1.2;margin:0 0 12px;color:#111}
.scheme-help{margin-top:26px}
.diagram-index{margin:30px 0;scroll-margin-top:var(--hw-anchor-offset)}
.diagram-index h2{font-size:27px}
.diagram-index ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.diagram-index a{display:block;height:100%;background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px 18px;color:var(--water);overflow-wrap:anywhere}
.diagram-index a:hover{border-color:var(--water);background:var(--soft)}
.diagram-index a span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.diagram{margin:20px 0;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:visible}
.diagram>summary{cursor:pointer;padding:22px 26px;list-style-position:inside;color:var(--water)}
.diagram>summary h2{display:inline;font-size:24px;line-height:1.35;color:#111;overflow-wrap:anywhere}
.diagram-count{display:block;font-size:13px;color:var(--muted);margin-top:8px}
.diagram[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}
.diagram-body{padding:24px}
.diagram-controls{flex-wrap:wrap;gap:10px}
.diagram-controls a{padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.diagram .parts-table caption{text-align:left;padding:18px 0 12px;font-weight:600;overflow-wrap:anywhere}
.position-note{display:block;color:var(--muted);font-size:12px;margin-top:6px}
@media(max-width:700px){
 .scheme-series-nav{gap:8px}.scheme-series-nav a{font-size:13px;padding:9px 12px}
 .scheme-series-title{font-size:23px}.model-card-title{font-size:22px;margin-bottom:8px}
 .diagram-index ul{grid-template-columns:1fr}.diagram-index h2{font-size:24px}
 .diagram>summary{padding:16px}.diagram>summary h2{font-size:19px}
 .diagram-body{padding:12px}.diagram-body .notice{padding:14px;font-size:14px}
 .diagram-controls button{padding:10px}.diagram-controls a{font-size:12px}
}
/* Available stock is highlighted in cards and the selected product variation. */
.product-card .availability.in-stock,
.woocommerce div.product .stock.in-stock{color:#15803d;font-weight:700}
.single-product .hw-product-description{overflow-wrap:anywhere}
.single-product .hw-product-description .table-scroll{max-width:100%;margin-block:20px}
.single-product .hw-product-description caption{text-align:left;font-size:13px;color:var(--muted);padding-bottom:10px}
.single-product .hw-product-description th:first-child,.single-product .hw-product-description td:first-child{min-width:140px}
.single-product .hw-product-description th:nth-child(2),.single-product .hw-product-description td:nth-child(2){min-width:90px}
.single-product .hw-product-description th:nth-child(3),.single-product .hw-product-description td:nth-child(3){min-width:250px}
.single-product .woocommerce-variation-description{overflow-wrap:anywhere}
/* Keep long SKU option labels within the product summary on phones. */
@media(max-width:700px){
 .single-product.woocommerce div.product form.cart table.variations,
 .single-product.woocommerce div.product form.cart table.variations tbody,
 .single-product.woocommerce div.product form.cart table.variations tr,
 .single-product.woocommerce div.product form.cart table.variations th,
 .single-product.woocommerce div.product form.cart table.variations td{display:block;width:100%;min-width:0}
 .single-product.woocommerce div.product form.cart table.variations th{padding:0 0 8px}
 .single-product.woocommerce div.product form.cart table.variations td{padding:0}
 .single-product.woocommerce div.product form.cart .variations select{width:100%;min-width:0;max-width:100%}
}
/* Search includes individual spare-part rows from reviewed diagrams. */
.search-parts{margin-bottom:48px}
.search-parts h2 small,.search-products h2 small{font-size:.52em;color:var(--muted);font-weight:500}
.search-parts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.search-part-card,.search-page-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px}
.search-part-card h3,.search-page-card h3{margin:0 0 10px;overflow-wrap:anywhere}
.search-part-card p{font-size:14px;color:var(--muted);margin:0 0 17px;overflow-wrap:anywhere}
.search-part-actions{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;font-weight:600}
.search-part-actions a{color:var(--action);text-decoration:underline;text-underline-offset:3px}
.search-parts-pages{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:23px;font-size:14px}
.search-parts-pages a{border:1px solid var(--control-line);border-radius:5px;padding:9px 13px;background:#fff;color:var(--action)}
.search-parts-pages span{color:var(--muted)}
@media(max-width:700px){.search-parts-grid{grid-template-columns:1fr}.search-part-card,.search-page-card{padding:18px}.search-parts{margin-bottom:36px}}
/* Keep the selected factory label visible after following a position link. */
.diagram-hotspot.is-selected{z-index:3;border:2px solid #111;background:rgba(255,59,48,.28);box-shadow:0 0 0 2px #fff}
.diagram-hotspot.is-selected span{left:50%;top:50%;transform:translate(-50%,-50%);display:block;opacity:1;background:#ff4b3e;color:#000;border:2px solid #111;border-radius:2px;padding:2px 5px;white-space:nowrap;font-size:12px;line-height:1.2;font-weight:800;box-shadow:0 0 0 2px #fff;pointer-events:none}
.diagram-hotspot.is-selected.label-left span{left:0;transform:translateY(-50%)}
.diagram-hotspot.is-selected.label-right span{left:auto;right:0;transform:translateY(-50%)}
