/* Public components: readability and predictable focus without changing the visual identity. */
main[tabindex="-1"]:focus{outline:none}.skiplink{z-index:250!important}main[id],section[id],details[id]{scroll-margin-top:calc(var(--np-search-header-height,110px) + 24px)}
.productpage,.informationpage,.np-tracking{min-width:0}.productpage .detailgrid>*{min-width:0}.productpage .detailgrid h1{overflow-wrap:anywhere;line-height:1.2}.productpage .detailgrid p{line-height:1.65}.productpage .technicaltable{width:100%;table-layout:fixed}.productpage .technicaltable th{width:34%;line-height:1.5}.productpage .technicaltable th,.productpage .technicaltable td{overflow-wrap:anywhere;word-break:normal}.productpage .piecephoto{object-fit:contain}.productpage #quantity{font-size:16px;min-height:46px;width:90px;max-width:100%;border-radius:6px}.productpage #productAdd{min-height:48px}.productpage .public-cardgrid a{min-width:0}.productpage .public-cardgrid p{overflow-wrap:anywhere;line-height:1.5}.productpage .product-snapshot-actions{gap:10px}.productpage .product-snapshot-actions p{min-height:21px}.productpage .technicalnotice{line-height:1.65}.np-footercolumn a{line-height:1.5}.np-footerbrand p{line-height:1.65}
#sharedSuggestions,#searchSuggestions{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y}#sharedSuggestions [role=option]{min-height:76px}#sharedSuggestions img{object-fit:contain;flex-shrink:0}.search-feedback-actions{display:flex;flex-wrap:wrap;gap:8px}.search-feedback-actions [hidden]{display:none!important}.search-feedback-actions button,.search-feedback-actions a{min-height:44px}.search-feedback-actions:empty{display:none}
#detail,#cart,#projectDialog,#pdfDialog{overscroll-behavior:contain;scrollbar-gutter:stable}#cart .cartrow>div{min-width:0}#cart .cartrow button,#cart .quantitycontrols button{min-width:44px;min-height:44px}#cart .cartrow input{font-size:16px}#cart .sellerportrait span{line-height:1.4}.np-mobile-menu-links a[aria-current=page]{color:#781735;font-weight:700}.authformpanel input,.loginbox input{font-size:16px}.authbrandcopy p{line-height:1.7}
@media(max-width:720px){main[id],section[id],details[id]{scroll-margin-top:136px}.productpage .technicaltable th{width:42%}.productpage .technicaltable th,.productpage .technicaltable td{font-size:14px;padding:12px}.productpage .product-snapshot-actions button{flex:1 1 150px;font-size:13px;padding:12px}.productpage .detailgrid h1{font-size:clamp(25px,6vw,32px)}.productpage .detailgrid .productvisual{max-height:350px}.productpage .detailgrid .piecephoto{max-height:350px}.productpage .technicalnotice{font-size:14px}.np-sitefooter .np-footerbrand p{max-width:42ch}.np-mobile-menu-links a{font-size:16px}}
@media(prefers-reduced-motion:reduce){.home-carousel .home-slide,.home-carousel .bannercopy,.home-carousel img{animation:none!important;transition:none!important}.product-snapshot-actions button{animation:none!important}}

/* Give the main menu hover and active backgrounds room around each title. */
body>nav[aria-label="MENU PRINCIPAL"]{gap:6px 10px;padding:6px 16px;min-height:58px;box-sizing:border-box}
body>nav[aria-label="MENU PRINCIPAL"]>a{flex:0 0 auto;padding:12px 18px;min-height:46px;line-height:1.4;white-space:nowrap;border-radius:8px;box-sizing:border-box}
@media(min-width:721px) and (max-width:1200px){body>nav[aria-label="MENU PRINCIPAL"]{gap:6px}body>nav[aria-label="MENU PRINCIPAL"]>a{padding-inline:14px}}

/* Shared navigation: restrained wine accents and balanced title spacing. */
body>nav[aria-label="MENU PRINCIPAL"]{padding:8px 24px;gap:4px 8px;min-height:64px;background:#fff;border-top:1px solid #eee8ec;border-bottom:1px solid #e8dfe4;box-shadow:0 5px 16px #32122106}
body>nav[aria-label="MENU PRINCIPAL"]>a{position:relative;padding:13px 18px;min-height:46px;border:0;border-radius:7px;background:transparent;color:#51424b;font-size:12px!important;font-weight:600;letter-spacing:.045em;box-shadow:none;transition:color .18s ease,background-color .18s ease}
body>nav[aria-label="MENU PRINCIPAL"]>a::after{content:'';position:absolute;left:18px;right:18px;bottom:4px;height:2px;border-radius:2px;background:#781735;transform:scaleX(0);transform-origin:center;transition:transform .18s ease;pointer-events:none}
body>nav[aria-label="MENU PRINCIPAL"]>a:hover{background:#faf4f7;color:#781735!important;box-shadow:none}
body>nav[aria-label="MENU PRINCIPAL"]>a[aria-current="page"]{background:#f8eff3;color:#781735!important;box-shadow:none;font-weight:700}
body>nav[aria-label="MENU PRINCIPAL"]>a:hover::after,body>nav[aria-label="MENU PRINCIPAL"]>a[aria-current="page"]::after,body>nav[aria-label="MENU PRINCIPAL"]>a:focus-visible::after{transform:scaleX(1)}
body>nav[aria-label="MENU PRINCIPAL"]>a:focus-visible{outline:2px solid #781735;outline-offset:2px;background:#faf4f7}
@media(min-width:721px) and (max-width:1200px){body>nav[aria-label="MENU PRINCIPAL"]{padding-inline:16px;gap:4px}body>nav[aria-label="MENU PRINCIPAL"]>a{padding-inline:14px;letter-spacing:.02em}body>nav[aria-label="MENU PRINCIPAL"]>a::after{left:14px;right:14px}}
@media(prefers-reduced-motion:reduce){body>nav[aria-label="MENU PRINCIPAL"]>a,body>nav[aria-label="MENU PRINCIPAL"]>a::after{transition:none}}

/* Catalog workspace: quiet filters, generous product imagery and aligned actions. */
.parts-index .catalog{max-width:1480px;margin:28px auto 60px;width:calc(100% - 64px);grid-template-columns:248px minmax(0,1fr);gap:32px;align-items:start}
.parts-index .catalog>aside{border:1px solid #e8e0e4;border-radius:12px;background:#faf8f9;padding:22px;min-width:0}
.parts-index .catalog>aside label{font-size:13px;font-weight:600;color:#51434b;margin:22px 0 8px}
.parts-index .catalog>aside select{width:100%;min-height:46px;background:white;border:1px solid #d9ccd3;border-radius:7px;font-size:13px;padding:10px;color:#45373f}
.parts-index .catalog>aside .help{margin-top:24px;padding:18px;background:#fff;border:1px solid #eadfe5;border-left:3px solid #781735;border-radius:8px}
.parts-index .catalog>aside .help h3{font-size:15px;line-height:1.5;margin:0 0 10px}.parts-index .catalog>aside .help p{font-size:13px;line-height:1.65;color:#70616a}
.parts-index .resulthead{align-items:center;margin-bottom:18px}.parts-index .resulthead h2{font-size:25px;color:#30232b;letter-spacing:-.025em}.parts-index .resulthead p{font-size:13px;color:#786571}
.parts-index #activeFilters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;min-width:0}.parts-index #activeFilters:empty{display:none}.parts-index #activeFilters button{background:#f8eff3;border:1px solid #ead7e0;border-radius:20px;padding:9px 13px;min-height:40px;color:#781735;font:500 12px/1.4 Arial,sans-serif;text-align:left;max-width:100%;overflow-wrap:anywhere}.parts-index #activeFilters button:hover{background:#efdee6}
.parts-index .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.parts-index .card{border:1px solid #e7dfe3;border-radius:12px;background:white;box-shadow:0 3px 12px #36152403}.parts-index .card:hover{border-color:#d2b5c3;box-shadow:0 8px 26px #3615240b}.parts-index .imagebutton{height:240px;padding:24px;background:#fff}.parts-index .cardbody{padding:22px;border-top:1px solid #f0e9ed;gap:0}.parts-index .cardbody .code{color:#781735;font-size:12px;font-weight:700;letter-spacing:.04em}.parts-index .productname{font-size:16px;line-height:1.5;font-weight:600;color:#352831;margin:10px 0 12px;min-height:72px;overflow-wrap:break-word}.parts-index .cardbody>a{font-size:13px;font-weight:500;color:#781735;min-height:32px;display:flex;align-items:center;margin-bottom:12px}.parts-index .brandline{color:#7b6873;font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.6;margin:auto 0 18px}.parts-index .add{min-height:46px;border:1px solid #781735;border-radius:7px;background:#781735;color:white;font-size:13px;font-weight:600;padding:12px 10px}.parts-index .add:hover{background:#5e1129;border-color:#5e1129}
@media(min-width:1600px){.parts-index .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:721px) and (max-width:1100px){.parts-index .catalog{width:calc(100% - 40px);grid-template-columns:210px minmax(0,1fr);gap:22px}.parts-index .catalog>aside{padding:16px}.parts-index .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.parts-index .catalog{display:block;width:calc(100% - 28px);margin-top:18px}.parts-index .catalog>aside{padding:18px}.parts-index .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.parts-index .imagebutton{height:175px;padding:14px}.parts-index .cardbody{padding:14px}.parts-index .productname{font-size:14px;min-height:84px}.parts-index .add{font-size:13px}.parts-index .resulthead h2{font-size:22px}}
@media(max-width:359px){.parts-index .grid{grid-template-columns:1fr}.parts-index .imagebutton{height:230px}.parts-index .productname{min-height:0}}

/* Readable commercial typography: modest text increase, prominent reference codes. */
body{font-size:17px;line-height:1.6}
.parts-index .productname{font-size:18px;line-height:1.5;min-height:81px}
.parts-index .cardbody .code{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:.025em}
.parts-index .brandline{font-size:13px;line-height:1.6}
.parts-index .cardbody>a,.parts-index .add{font-size:15px}
.parts-index .catalog>aside label,.parts-index .catalog>aside select,.parts-index .catalog>aside .help p,.parts-index .resulthead p{font-size:15px}
#sharedSuggestions a>span{font-size:16px;line-height:1.5}#sharedSuggestions b{font-size:18px;letter-spacing:.02em}
#detail .code,.productpage .detailgrid .code{font-size:22px;line-height:1.4;font-weight:700;color:#781735;letter-spacing:.02em}
#detail p,.productpage section>p,.informationpage p,.companypage p,.np-premium p{font-size:17px;line-height:1.7}
#detail button,#detail section>a,.productpage .product-snapshot-actions button{font-size:15px}
.productpage .technicaltable th,.productpage .technicaltable td{font-size:16px;line-height:1.6}
.np-sitefooter a,.np-sitefooter address,.np-sitefooter .np-footerbrand p{font-size:15px}
@media(min-width:1201px){body>nav[aria-label="MENU PRINCIPAL"]>a{font-size:13px!important;letter-spacing:.025em}}
@media(max-width:720px){
.parts-index .productname{font-size:16px;min-height:96px}
.parts-index .cardbody .code{font-size:17px}
.parts-index .add{font-size:14px;padding:12px 8px}
.parts-index .brandline{font-size:12px}
#detail .code,.productpage .detailgrid .code{font-size:21px}
.productpage .technicaltable th,.productpage .technicaltable td{font-size:15px}
.productpage .technicalnotice{font-size:16px}
}

/* Catalogue reference: open photo area and centered identification panel. */
.parts-index .grid{gap:32px 26px}
.parts-index .card{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.parts-index .card:hover{border:0;box-shadow:none}
.parts-index .imagebutton{height:280px;padding:18px;background:#fff;border-radius:0;width:100%}
.parts-index .imagebutton:hover{background:#fcfafb}
.parts-index .cardbody{border:1px solid #e1c8d2;border-radius:6px;padding:0 18px 18px;text-align:center;background:white;display:flex;flex-direction:column;align-items:stretch}
.parts-index .cardbody .code{display:block;background:#faf4f6;margin:0 -18px;padding:14px 12px;color:#781735;font-size:18px;line-height:1.4;letter-spacing:.02em}
.parts-index .productname{font-weight:500;font-size:18px;line-height:1.5;min-height:81px;margin:16px 0 10px;text-align:center;width:100%}
.parts-index .cardbody>a{justify-content:center;margin-bottom:10px}
.parts-index .brandline{font-size:13px;line-height:1.5;margin:auto 0 16px;text-align:center}
.parts-index .add{width:100%;min-height:46px}
@media(max-width:1100px) and (min-width:721px){.parts-index .imagebutton{height:240px}}
@media(max-width:720px){.parts-index .grid{gap:22px 12px}.parts-index .imagebutton{height:190px;padding:10px}.parts-index .cardbody{padding:0 12px 14px}.parts-index .cardbody .code{margin:0 -12px;padding:12px 6px;font-size:17px}.parts-index .productname{font-size:16px;min-height:96px;margin:14px 0 10px}.parts-index .brandline{font-size:12px}.parts-index .cardbody>a{font-size:14px}.parts-index .add{font-size:14px;padding:10px 6px}}
@media(max-width:359px){.parts-index .imagebutton{height:250px}.parts-index .productname{min-height:0}}

/* Catalogue filters: clear grouping and compact consultant assistance. */
.parts-index .catalog{grid-template-columns:280px minmax(0,1fr)}
.parts-index .catalog>aside{padding:24px;background:#fff;border:1px solid #e5dce1;border-radius:12px;box-shadow:0 4px 18px #41122305}
.parts-index .filterhead{display:flex;flex-wrap:wrap;gap:4px 12px;padding-bottom:16px;border-bottom:1px solid #eee7eb;align-items:center}
.parts-index .filterhead h2{font-size:19px;line-height:1.4;letter-spacing:-.025em;margin:0;color:#781735;flex:1 0 auto}
.parts-index .filterhead #clear{font-size:14px;min-height:44px;padding:8px 0;color:#781735;text-decoration:underline;text-underline-offset:3px}
.parts-index .catalog>aside label{font-size:15px;line-height:1.5;margin:20px 0 8px;color:#51434b;font-weight:600}
.parts-index .catalog>aside select{font-size:14px;min-height:48px;padding:12px;background:#faf8f9;border:1px solid #dcd0d6;border-radius:8px;line-height:1.5}
.parts-index .catalog>aside select:hover{border-color:#a66c84}.parts-index .catalog>aside select:focus-visible{outline:2px solid #781735;outline-offset:3px;background:white}
.parts-index .catalog>aside .help{margin-top:24px;padding:18px;background:#faf4f7;border:1px solid #ead9e2;border-radius:10px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center}
.np-filter-help-icon{color:#781735;display:flex;align-items:center;justify-content:center}
.parts-index .catalog>aside .help h3{font-size:16px;line-height:1.4;margin:0;color:#48192c}
.parts-index .catalog>aside .help p{grid-column:1/-1;font-size:14px;line-height:1.65;margin:2px 0 4px;color:#66535e}
.parts-index .catalog>aside .help a{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;border:1px solid #781735;border-radius:7px;font-size:14px;font-weight:600;color:#781735;background:white;text-align:center}
.parts-index .catalog>aside .help a:hover{color:white;background:#781735}
.parts-index .catalog>aside .note{font-size:13px;line-height:1.65;margin:18px 0 0;color:#71636c}
@media(min-width:721px) and (max-width:1100px){.parts-index .catalog{grid-template-columns:250px minmax(0,1fr);gap:22px}.parts-index .catalog>aside{padding:18px}}
@media(max-width:720px){.parts-index .catalog{display:block}.parts-index .catalog>aside{padding:20px}.parts-index .filterhead h2{font-size:20px}.parts-index .catalog>aside select{font-size:16px}}

header .np-sales-headerlink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;background:#781735;color:#fff;border-radius:7px;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}header .np-sales-headerlink:focus-visible{outline:3px solid #af7190;outline-offset:3px}

@media(max-width:700px){header .np-sales-headerlink{padding:8px 10px;font-size:12px}}
/* Main public menu keeps uppercase; administrative menus use sentence case. */
nav[aria-label="MENU PRINCIPAL"]>a{font-family:Arial,Helvetica,sans-serif;font-size:14px!important;font-weight:600;line-height:1.4;letter-spacing:.025em;text-transform:uppercase}

/* Shared top navigation: consistent sentence case across all routes. */
body nav[aria-label="MENU PRINCIPAL"]>a{font:600 14px/1.4 Arial,Helvetica,sans-serif!important;text-transform:none!important;letter-spacing:0!important;min-height:46px;padding:13px 18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}
body nav[aria-label="MENU PRINCIPAL"]>a[aria-current="page"]{font-weight:600!important;color:#781735!important;background:#f8eff3}
