/* Product categories — shared studio design, independent of the legacy catalogue. */
html{scroll-padding-top:0}
.ac-catalogue{--cat-header-height:85px;--cat-blue:#003087;--cat-soft:#f1f5fa}
.ac-catalogue [hidden]{display:none!important}
.ac-catalogue button,.ac-catalogue select{font:inherit}
.ac-catalogue button{cursor:pointer}
.ac-catalogue main{overflow:clip}
.ac-catalogue :is(#catalogo,#orcamento,#sidebar){scroll-margin-top:calc(var(--cat-header-height) + 24px)}
.cat-skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--blue);color:#fff;padding:12px 18px}
.cat-skip:focus{top:12px}
.ac-catalogue .ac-dropdown [aria-current=page],.ac-catalogue .ac-mobile-nav [aria-current=page]{font-weight:800;text-decoration:underline;text-underline-offset:5px}
.cat-hero{background:linear-gradient(115deg,#fff 18%,#f0f4f9);border-bottom:1px solid var(--line)}
.cat-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:55px;align-items:center;padding-block:30px 43px}
.cat-breadcrumb{display:flex;gap:11px;margin-bottom:29px;color:var(--muted);font-size:.74rem}
.cat-breadcrumb a:hover{text-decoration:underline}
.cat-hero .ac-kicker{margin-bottom:14px}
.cat-hero h1{max-width:680px;margin:0;font-size:clamp(2.25rem,3.7vw,3.6rem);font-weight:700;line-height:1.09;letter-spacing:-.052em;text-wrap:balance}
.cat-lead{max-width:610px;margin:21px 0 0;color:#42536d;font-size:1rem;line-height:1.7}
.cat-hero .ac-actions{margin-top:24px;gap:25px;flex-wrap:wrap}
.cat-hero-contact{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:15px;color:var(--blue);font-size:.8rem;font-weight:600}
.cat-hero-contact a{display:inline-flex;align-items:center;gap:6px;min-height:40px}
.cat-hero-contact a:hover{text-decoration:underline;text-underline-offset:4px}
.cat-hero-visual{align-self:center;min-width:0;padding:26px 0 0}
.cat-hero-products{display:flex;align-items:center;justify-content:center;gap:8px;min-height:255px}
.cat-hero-item{flex:1;min-width:0;text-align:center}
.cat-hero-item:first-child{flex:1.18}
.cat-hero-item img{width:100%;height:215px;object-fit:contain;mix-blend-mode:multiply}
.cat-hero-item:nth-child(2){transform:translateY(15px)}
.cat-hero-item span{display:block;margin:12px auto 0;max-width:170px;color:var(--muted);font-size:.7rem;line-height:1.5}
.cat-brand-row{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:30px;padding-top:20px;border-top:1px solid #d6e0ec}
.cat-brand-row span{max-width:100px;color:var(--muted);font-size:.68rem;line-height:1.5}
.cat-brand-row img{width:auto;max-width:100px;height:31px;object-fit:contain;mix-blend-mode:multiply}
.cat-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:42px;align-items:start;padding-block:50px 74px}
.cat-main{min-width:0}
.cat-section-heading{margin-bottom:25px}
.cat-section-heading .ac-kicker{margin-bottom:10px}
.cat-main h2{margin:0;font-size:clamp(1.75rem,2.4vw,2.6rem);font-weight:700;line-height:1.17;letter-spacing:-.04em}
.cat-section-heading>p:last-child{max-width:660px;margin:14px 0 0;color:var(--muted);font-size:.9rem;line-height:1.65}
.cat-controls{margin-bottom:23px}
.cat-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
.cat-choices button{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:14px 12px;border:1px solid #d3deec;border-radius:4px;background:#f4f7fb;text-align:left;color:var(--navy)}
.cat-choices button:hover,.cat-choices button[aria-pressed=true]{border-color:var(--blue);background:#e7f0ff;box-shadow:inset 0 -3px var(--blue)}
.cat-choices img{width:50px;height:55px;object-fit:contain;mix-blend-mode:multiply}
.cat-choices strong{display:block;font-size:.8rem;line-height:1.4}
.cat-choices small{display:block;margin-top:5px;color:var(--muted);font-size:.67rem;line-height:1.5}
.cat-choice-arrow{align-self:flex-start;margin-left:auto;color:var(--blue);font-size:.9rem}
.cat-filter-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.cat-field{flex:1;min-width:135px}
.cat-field.cat-search{flex:1.6;min-width:215px}
.cat-field label{display:block;margin-bottom:6px;color:#344963;font-size:.73rem;font-weight:600}
.cat-field input,.cat-field select{width:100%;min-width:0;height:46px;border:1px solid #cbd6e4;border-radius:3px;padding:0 11px;background:#fff;color:var(--ink);font-size:.8rem}
.cat-field select{padding-right:25px}
.cat-field input::placeholder{color:#62758e;opacity:1}
.cat-more-filters{margin-top:14px;border-bottom:1px solid var(--line)}
.cat-more-filters>summary{display:flex;align-items:center;gap:18px;width:fit-content;min-height:42px;cursor:pointer;color:var(--blue);font-size:.76rem;font-weight:600;list-style:none}
.cat-more-filters>summary::-webkit-details-marker{display:none}
.cat-more-filters[open]>summary>span{transform:rotate(45deg)}
.cat-more-filters .cat-filter-row{padding:4px 0 17px}
.cat-results{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;min-height:37px}
.cat-results p{margin:0;color:var(--muted);font-size:.74rem}
.cat-results button{border:0;padding:9px 0;background:none;color:var(--blue);font-size:.72rem;text-decoration:underline;text-underline-offset:3px}
.cat-results button:disabled{visibility:hidden}
.cat-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.cat-product{display:flex;flex-direction:column;min-width:0;border:1px solid #dce4ed;border-radius:5px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.cat-product:hover{border-color:#90abc9;box-shadow:0 8px 24px #142c4c0a}
.cat-product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:20px;background:#f6f8fb;overflow:hidden}
.cat-product-image img{width:100%;height:100%;max-height:210px;object-fit:contain;mix-blend-mode:multiply;transition:transform .2s}
.cat-product-image:hover img{transform:scale(1.035)}
.cat-product-copy{display:flex;flex-direction:column;flex:1;min-width:0;padding:18px 17px 15px}
.cat-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:11px}
.cat-badges span{display:inline-block;border-radius:2px;background:#eef3fa;color:#395579;padding:4px 6px;font-size:.58rem;line-height:1.4;font-weight:600}
.cat-product h3{margin:0;font-size:1.01rem;font-weight:700;line-height:1.35;letter-spacing:-.022em;overflow-wrap:anywhere}
.cat-product h3 a:hover{color:var(--blue)}
.cat-reference{margin:7px 0 0;color:#52677f;font-size:.73rem;font-weight:500;overflow-wrap:anywhere}
.cat-description{margin:10px 0 0;color:var(--muted);font-size:.85rem;line-height:1.65}
.cat-compat-line,.cat-compat{margin:12px 0 0;color:#344e6b;font-size:.69rem;line-height:1.65}
.cat-compat summary{padding:5px 0;cursor:pointer;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.cat-compat p{margin:6px 0 0}
.cat-product-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 15px;margin-top:auto;padding-top:20px}
.cat-quote-product{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:9px 11px;border:1px solid #c4d4e8;border-radius:3px;color:var(--blue);font-size:.79rem;font-weight:700}
.cat-quote-product:hover{border-color:var(--blue);background:var(--blue);color:white}
.cat-details-link{min-height:30px;display:flex;align-items:center;font-size:.7rem;color:#52677f;text-decoration:underline;text-underline-offset:3px}
.cat-replacement{display:grid;gap:8px;margin:14px 0 3px;padding:13px;background:#eef3f9;border-left:3px solid var(--blue)}
.cat-replacement>span{font-size:.68rem;font-weight:600;color:var(--navy)}
.cat-replacement a{display:inline-flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:8px 11px;border:1px solid var(--blue);border-radius:3px;background:#fff;color:var(--blue);font-size:.74rem;font-weight:700;text-decoration:none;line-height:1.35}
.cat-replacement a:hover,.cat-replacement a:focus-visible{background:var(--blue);color:#fff}
.cat-replacement a:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.cat-more-wrap{text-align:center;padding-top:26px}
.cat-load-more{min-height:47px;padding:10px 28px;border:1px solid #b5c9e1;border-radius:3px;background:#fff;color:var(--blue);font-size:.8rem;font-weight:600}
.cat-load-more:hover{background:#edf3fb}
.cat-more-wrap p{margin:11px 0 0;font-size:.71rem;color:var(--muted)}
.cat-empty{padding:30px;border:1px solid #c5d8ef;background:#f1f6fd;border-radius:4px}
.cat-empty h3{margin:0;font-size:1.25rem}
.cat-empty p{font-size:.88rem;color:var(--muted)}
.cat-help{display:flex;align-items:flex-start;gap:25px;margin-top:55px;padding:33px;background:#edf4fc;border-left:4px solid var(--blue)}
.cat-help-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid #9db9de;border-radius:50%;font-size:1.6rem;color:var(--blue)}
.cat-help .ac-kicker{margin-bottom:10px}
.cat-help h2{font-size:1.75rem}
.cat-help p:not(.ac-kicker){margin:15px 0 0;color:var(--muted);font-size:.88rem}
.cat-help .ac-actions{gap:24px;flex-wrap:wrap;margin-top:23px;font-size:.8rem;font-weight:600;color:var(--blue)}
.cat-related{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px 0;border-bottom:1px solid var(--line)}
.cat-related .ac-kicker{margin-bottom:10px}
.cat-related h2{max-width:420px;font-size:1.6rem}
.cat-related p:not(.ac-kicker){max-width:450px;margin-bottom:0;color:var(--muted);font-size:.82rem}
.cat-related .ac-text-link{align-self:center;flex-shrink:0;max-width:190px}
.cat-guide{margin:22px 0;color:var(--muted);font-size:.8rem}
.cat-guide a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.cat-faq{margin-top:55px}
.cat-faq h2{margin-bottom:26px}
.cat-faq details{border-top:1px solid var(--line)}
.cat-faq details:last-child{border-bottom:1px solid var(--line)}
.cat-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;padding:17px 3px;list-style:none;cursor:pointer;color:var(--navy);font-size:.89rem;font-weight:600}
.cat-faq summary::-webkit-details-marker{display:none}
.cat-faq summary span{flex-shrink:0;font-size:1.35rem;font-weight:400;color:var(--blue)}
.cat-faq details[open] summary span{transform:rotate(45deg)}
.cat-faq details>p{max-width:700px;margin:0;padding:0 30px 22px 3px;color:var(--muted);font-size:.86rem}
.cat-final{display:grid;grid-template-columns:1.1fr .9fr;margin-top:50px;overflow:hidden;background:var(--navy);color:#c5d3e6}
.cat-final-copy{min-width:0;padding:36px 28px}
.cat-final .ac-kicker{color:#b5d5ff;font-size:.6rem}
.cat-final h2{margin:0 0 20px;color:#fff;font-size:clamp(1.7rem,2.2vw,2.5rem);line-height:1.15;letter-spacing:-.045em}
.cat-final p:not(.ac-kicker){max-width:540px;font-size:.9rem;margin:1em 0}
.cat-final .ac-btn{background:#fff;color:var(--blue);margin-top:10px}
.cat-final .ac-btn:hover{background:#dbeafd}
.cat-final-image{position:relative;min-width:0;min-height:340px;background:var(--paper)}
.cat-final-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--cat-image-position,center)}
.cat-final-image--product img{object-fit:contain;padding:22px}
/* Match the approved printing form, without an inner scrolling region. */
.cat-quote-wrap{position:sticky;top:calc(var(--cat-header-height) + 16px);min-width:0;align-self:start}
.cat-quote-wrap.cat-quote-tall{position:static}
.cat-quote-box{padding:26px;border:1px solid var(--line);border-radius:3px;background:var(--paper)}
.cat-quote-box h2{margin:0 0 14px;font-size:1.55rem;line-height:1.15;letter-spacing:-.04em}
.cat-form-intro{margin:0 0 23px;color:var(--muted);font-size:.8rem;line-height:1.6}
.cat-quote-box .ac-contact-form label span{font-weight:400;color:var(--muted);font-size:.64rem}
.cat-quote-box .ac-contact-form .ac-btn{cursor:pointer;width:100%;margin-top:7px;font-size:.83rem;font-weight:500;line-height:1.4}
.cat-quote-box .ac-contact-form .ac-btn:disabled{opacity:.6;cursor:wait}
.cat-form-privacy{margin:5px 0 0;font-size:.62rem;line-height:1.6;color:#64758b}
.cat-form-privacy a{text-decoration:underline}
#quote-status{margin:0;font-size:.8rem;color:var(--blue);line-height:1.5;overflow-wrap:anywhere}
#quote-status:not(:empty){margin-top:8px;padding:9px;background:#edf4fc}
.cat-selected-product{padding:10px;border:1px solid #bbd0ed;border-radius:3px;background:#f2f6fc;margin:2px 0 8px}
.cat-selected-product label{display:block;margin-bottom:6px}
.cat-selected-product textarea{background:transparent!important;border:0!important;padding:0!important;min-height:44px!important;resize:none!important;font-weight:600;color:var(--blue)!important}
.cat-selected-product button{border:0;background:none;color:var(--muted);padding:4px 0;font-size:.69rem;text-decoration:underline}
.cat-direct{border-top:1px solid var(--line);margin-top:23px;padding-top:19px;display:flex;flex-direction:column;gap:8px}
.cat-direct a{font-size:.82rem;color:var(--blue)}
.cat-direct a:first-child{font-weight:700}
.cat-direct .cat-call-note{font-size:.6rem;color:var(--muted)}
.cat-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cat-mobile-contact{display:none}
@media(min-width:1500px){.cat-product-image{aspect-ratio:1.35}.cat-hero-item img{height:235px}}
@media(max-width:1170px){.cat-layout{gap:26px;grid-template-columns:minmax(0,1fr) 310px}.cat-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-hero-grid{gap:30px}.cat-choices button{flex-direction:column;align-items:flex-start}.cat-choices img{width:55px;height:40px}.cat-choice-arrow{position:absolute;right:10px;top:10px}.cat-brand-row{gap:16px}}
@media(max-width:1000px){.cat-layout{grid-template-columns:minmax(0,1fr);gap:45px}.cat-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cat-quote-wrap{position:static;max-width:650px;width:100%;margin-inline:auto}.cat-hero-grid{grid-template-columns:1.12fr 1fr;gap:22px}.cat-hero-products{min-height:210px}.cat-hero-item img{height:170px}.cat-brand-row{flex-wrap:wrap;gap:14px}.cat-brand-row span{max-width:none;width:100%;text-align:center}.cat-brand-row img{height:26px}.cat-mobile-contact{position:fixed;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1px;bottom:0;left:0;right:0;z-index:45;padding:8px max(15px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left));background:#fff;border-top:1px solid #d6e0ec;box-shadow:0 -5px 20px #0a243511}.cat-mobile-contact a{display:flex;justify-content:center;align-items:center;gap:9px;min-height:44px;font-size:.8rem;font-weight:600;color:var(--blue)}.cat-mobile-contact a:first-child{background:var(--blue);color:#fff;border-radius:3px}.cat-mobile-contact a:last-child{color:#116149}.ac-catalogue{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.ac-catalogue.cat-form-visible .cat-mobile-contact,.ac-catalogue.cat-keyboard-open .cat-mobile-contact,.ac-cookie-consent-open .cat-mobile-contact,.ac-catalogue.cat-menu-open .cat-mobile-contact{display:none}}
@media(max-width:760px){.cat-hero-grid{grid-template-columns:1fr;padding-block:23px 30px}.cat-breadcrumb{margin-bottom:22px}.cat-hero h1{font-size:2.6rem;max-width:550px}.cat-hero-visual{padding-top:0}.cat-hero-products{min-height:150px;gap:16px;max-width:530px;margin:auto}.cat-hero-item img{height:140px}.cat-hero-item span{font-size:.65rem;margin-top:5px}.cat-hero-item:nth-child(2){transform:none}.cat-brand-row{margin:16px 0 0;padding-top:15px;flex-wrap:nowrap}.cat-brand-row span{width:auto;max-width:130px;font-size:.65rem;text-align:left}.cat-layout{padding-top:35px}.cat-choices button{flex-direction:row;align-items:center}.cat-choices img{width:40px;height:45px}.cat-choices small{display:none}.cat-choices strong{font-size:.75rem}.cat-choice-arrow{display:none}.cat-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-filter-row{gap:12px}.cat-field.cat-search{flex-basis:100%}.cat-related{flex-direction:column;align-items:flex-start}.cat-related .ac-text-link{align-self:flex-start;max-width:none}.cat-help{padding:25px;gap:18px}.cat-help h2{font-size:1.55rem}.cat-help-icon{width:35px;height:35px;font-size:1.3rem}.cat-main h2{font-size:1.9rem}}
@media(max-width:540px){.cat-hero h1{font-size:2.25rem}.cat-lead{font-size:.91rem;margin-top:17px}.cat-hero .ac-actions{gap:20px}.cat-hero-contact{font-size:.76rem;gap:18px}.cat-hero-item img{height:117px}.cat-hero-item span{font-size:.6rem}.cat-hero-products{gap:7px}.cat-choices{gap:7px}.cat-choices button{flex-direction:column;align-items:center;text-align:center;padding:10px 6px}.cat-choices img{width:53px;height:43px}.cat-product-grid{grid-template-columns:1fr;gap:14px}.cat-product{display:grid;grid-template-columns:105px minmax(0,1fr)}.cat-product-image{aspect-ratio:auto;padding:12px;align-self:stretch}.cat-product-image img{max-height:150px;min-height:90px}.cat-product-copy{padding:16px 14px}.cat-product h3{font-size:1rem}.cat-description{font-size:.77rem}.cat-product-actions{padding-top:14px}.cat-badges{margin-bottom:9px}.cat-badges span{font-size:.58rem}.cat-results{align-items:start}.cat-results p{padding-top:9px}.cat-results button{max-width:135px;text-align:right}.cat-help{padding:24px 20px;gap:0}.cat-help-icon{display:none}.cat-quote-box .ac-contact-form input,.cat-quote-box .ac-contact-form textarea,.cat-field input,.cat-field select{font-size:16px}.cat-faq summary{font-size:.86rem}.cat-field{min-width:125px}.cat-faq,.cat-help{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.ac-catalogue *{scroll-behavior:auto!important;transition:none!important}.cat-product-image:hover img{transform:none}}

@media(min-width:1001px){
.cat-quote-box{padding:20px}
.cat-quote-box .ac-kicker{margin-bottom:10px;font-size:.6rem}
.cat-quote-box h2{font-size:1.45rem;margin-bottom:10px}
.cat-form-intro{font-size:.76rem;margin-bottom:14px}
.cat-quote-box .ac-contact-form{gap:5px}
.cat-quote-box .ac-contact-form input,.cat-quote-box .ac-contact-form textarea{padding:9px 10px;margin-bottom:4px;font-size:.8rem}
.cat-quote-box .ac-contact-form textarea{min-height:70px}
.cat-quote-box .ac-contact-form label{font-size:.69rem}
.cat-quote-box .ac-contact-form .ac-btn{min-height:42px}
.cat-direct{margin-top:15px;padding-top:12px;gap:5px}
}
@media(max-width:760px){.cat-final{grid-template-columns:1fr}.cat-final-copy{padding:30px 24px}.cat-final h2{font-size:1.7rem}.cat-final-image{min-height:240px}}
@media(max-width:400px){.cat-quote-box{padding:21px}}
