/* ALLCHPU 2.2.1: the unchanged Control Room base, with small racing details. */
/* Palette from the existing offer is restricted to accents, never page surfaces. */
body.allchpu{--race-petrol:#294F4D;--race-copper:#A46340;--race-paper:#E7ECDF;--race-red:#D9664D}
.allchpu .ac-hero-top{position:relative;padding-right:90px}
.allchpu .ac-hero-top::after{content:'';position:absolute;right:4px;top:50%;width:66px;height:6px;transform:translateY(-50%) skewX(-28deg);background:linear-gradient(90deg,#294F4D 0 38%,transparent 38% 44%,#E7ECDF 44% 61%,transparent 61% 67%,#A46340 67% 89%,transparent 89% 94%,#D9664D 94%);pointer-events:none}
.allchpu :is(.pcard,.cat-card){box-shadow:none}
.allchpu :is(.pcard,.cat-card)::before{content:'';position:absolute;right:14px;top:0;width:30px;height:3px;background:linear-gradient(110deg,#294F4D 0 33%,#E7ECDF 33% 55%,#A46340 55% 91%,#D9664D 91%);z-index:5;pointer-events:none}
.allchpu .price-box{border-top-color:#A46340}
.allchpu .sec-link:hover{color:#A46340}
.allchpu :is(.btn-primary,.btn-outline):focus-visible{outline:2px solid #A46340;outline-offset:4px}
/* Preserve alignment and legibility fixes without changing the original geometry. */
.allchpu .nav-main{align-items:center;height:44px}
.allchpu .nav-main>.nav-link,.allchpu .nav-dropdown>.nav-link{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;line-height:1;padding-block:0;margin:0}
.allchpu .nav-dropdown{display:flex;align-items:center;align-self:stretch}
.allchpu .header-catalog-link,.allchpu .header-catalog-toggle{height:44px;min-height:44px;align-items:center}
.allchpu .price-download-wrap{border:0;gap:22px;flex-wrap:wrap}
.allchpu :is(.price-download-kp,.price-copy-specs-btn){border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0;padding:0;color:#294F4D}
.allchpu :is(.price-download-kp,.price-copy-specs-btn):hover{color:#A46340;text-decoration:underline;text-underline-offset:4px}
.allchpu .sticky-price-strip{background:transparent;border:0;top:76px;z-index:870}
.allchpu .sticky-price-inner{background:#fff;color:#14201c;border:1px solid #c7d1ca;border-radius:2px;backdrop-filter:none;box-shadow:0 4px 12px #14201c0a;padding:14px 20px;gap:20px}
.allchpu .sticky-price-title{color:#14201c;font-weight:600;font-size:14px;line-height:1.5;max-width:60%;white-space:normal}
.allchpu .sticky-price-value{color:#294F4D}.allchpu .sticky-price-breakdown{color:#58675f}
.allchpu .product-text-block{box-shadow:none;background:#fafcf8;border-radius:2px}
.allchpu :is(.product-description-content,.page-content,.article-body) :is(strong,b){color:#223a22}
/* One opening action draws a fine contour; the form keeps its original styling. */
.allchpu .modal-overlay{transition:opacity .22s ease,visibility 0s linear .22s}
.allchpu .modal-overlay.open{transition-delay:0s}
.allchpu .modal{max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 12px 36px #101a161a}
.allchpu .modal::after{content:'';position:absolute;top:0;right:18px;width:72px;height:3px;background:linear-gradient(110deg,#294F4D 0 38%,#E7ECDF 38% 60%,#A46340 60% 94%,#D9664D 94%);pointer-events:none}
.allchpu .modal h3{padding-right:20px}.allchpu .form-group label{font-size:14px}
.modal-engrave{position:absolute;inset:2px;z-index:3;width:calc(100% - 4px);height:calc(100% - 4px);pointer-events:none;overflow:visible}
.modal-engrave path{fill:none;stroke:#A46340;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;opacity:0}
.modal-engrave .engrave-head{fill:#B9FF50;opacity:0}
.modal-overlay.open .modal-engrave path{animation:form-engrave .8s ease both}
.modal-overlay.open .modal-engrave .engrave-head{animation:form-head .8s ease both}
.modal-overlay.open .modal{animation:form-assemble .4s ease both}
@keyframes form-assemble{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes form-engrave{0%{stroke-dashoffset:100;opacity:.7}85%{stroke-dashoffset:0;opacity:.7}100%{stroke-dashoffset:0;opacity:0}}
@keyframes form-head{0%,100%{opacity:0}10%,80%{opacity:1}}
/* One visible slide without JS; enhanced slides share a grid cell to avoid layout jumps. */
.hero-carousel-track{display:grid;min-width:0;overflow:hidden;isolation:isolate}
.hero-carousel .hc-slide{grid-area:1/1;min-width:0}.hero-carousel .hc-slide:not(:first-child){display:none}
.hero-carousel.is-enhanced .hc-slide{display:flex;visibility:hidden;pointer-events:none;transform:none}
.hero-carousel.is-enhanced .hc-slide.is-active{visibility:visible;pointer-events:auto;z-index:2}
.hero-carousel.is-enhanced .hc-slide.is-outgoing{visibility:visible;pointer-events:none;z-index:1}
.hero-carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #E3E7DF;padding:12px 16px;background:#e3e9df;position:relative;z-index:3}
.hero-carousel-controls[hidden]{display:none}
.hero-carousel-arrows{display:flex;gap:8px}.hero-carousel-controls button{background:transparent;color:#294F4D;border:1px solid #D9DCD2;border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:17px;line-height:1}
.hero-carousel-controls button:hover{background:#e7ecdf;border-color:#A46340}.hero-carousel-controls button:focus-visible{outline:2px solid #A46340;outline-offset:3px}
.hero-carousel-dots{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:center}
.hero-carousel-dots button{width:18px;height:26px;border:0;position:relative;background:transparent}
.hero-carousel-dots button::before{content:'';width:5px;height:5px;background:#C4CEC0;border-radius:50%}.hero-carousel-dots button[aria-pressed=true]::before{background:#A46340;width:7px;height:7px}
.hero-carousel-controls .hero-carousel-pause[aria-pressed=true]{color:#A46340;border-color:#A46340}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1100px){.allchpu .sticky-price-strip{top:68px}}
@media(max-width:700px){.allchpu .ac-hero-top{padding-right:64px}.allchpu .ac-hero-top::after{width:42px;height:4px}.allchpu .sticky-price-inner{padding:12px 14px;gap:12px}.allchpu .sticky-price-title{font-size:12px;max-width:49%}.allchpu .sticky-price-value{font-size:25px}.hero-carousel-controls{gap:5px;padding:10px}.hero-carousel-arrows{gap:5px}.hero-carousel-dots{gap:0}.hero-carousel-dots button{width:15px}}
@media(max-width:400px){.hero-carousel-controls:has(.hero-carousel-dots button:nth-child(7)){flex-wrap:wrap}.hero-carousel-controls:has(.hero-carousel-dots button:nth-child(7)) .hero-carousel-dots{order:3;flex:0 0 100%}}
@media(prefers-reduced-motion:reduce){.allchpu .hero-carousel.is-enhanced .hc-slide{transition:none!important}.allchpu .modal-engrave{display:none}.allchpu .modal-overlay.open .modal{animation:none!important}}

/* Category counts inherited a dark text glow from the original theme. */
.allchpu .cat-card,.allchpu .cat-card:hover{box-shadow:none}
.allchpu .cat-card :is(.cat-name,.cat-cnt){text-shadow:none}
