/* Package 7: global accessibility, responsive and performance quality layer */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(0,93,109,.34);outline-offset:3px}
:where(button,.btn,.btn-primary,.btn-secondary,.header-cta,.mobile-cta){touch-action:manipulation}
:where(input,select,textarea){font-size:16px}
[hidden]{display:none!important}
img{display:block}
svg{flex-shrink:0}
.page-body{isolation:isolate}

/* Prevent long technical content from creating page-level overflow. */
:where(.product-page,.category-content,.secondary-page,.contact-card,.resource-card,.search-result-copy,.document-card)>*{min-width:0}
:where(h1,h2,h3,p,a,strong,small,td,th){overflow-wrap:anywhere}
:where(.table-wrap,.variant-table-wrap,.product-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}

/* Stable, accessible controls. */
:where(input,select,textarea){color:#102230}
:where(input,select,textarea)::placeholder{color:#7a8994;opacity:1}
:where(input,select,textarea):disabled{cursor:not-allowed;background:#eef2f4;color:#697985}
:where(button,a).is-disabled,[aria-disabled="true"]{pointer-events:none;opacity:.6}

/* Search announcements and keyboard states. */
.search-results[aria-hidden="true"]{display:none}
.search-results.has-results{display:block}
.search-item:focus-visible{position:relative;z-index:2}

/* Contact form feedback and bot trap. */
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-notice{display:flex;align-items:flex-start;gap:10px;margin:14px 0 20px;padding:13px 14px;border:1px solid;border-radius:12px;font-size:14px;line-height:1.55}
.form-notice svg{width:20px;height:20px;margin-top:1px}
.form-notice-success{border-color:#a9d8c0;background:#edf9f2;color:#12613d}
.form-notice-error{border-color:#efc0bd;background:#fff2f1;color:#8d241d}

/* Improve perceived performance for below-the-fold public sections. */
@supports(content-visibility:auto){
  .home-section,.secondary-section,.product-page>section{content-visibility:auto;contain-intrinsic-size:1px 560px}
}

/* Print only useful technical content. */
@media print{
  .site-header,.footer,.mobile-nav,.mobile-menu-btn,.header-cta,.rfq-btn,.secondary-hero-actions,.error-actions{display:none!important}
  body,.page-body{background:#fff!important;color:#000!important}
  .page-body{padding:0!important}
  a{text-decoration:none!important}
  .card,.contact-card,.resource-card,.document-card,.search-result-card{box-shadow:none!important;break-inside:avoid}
}

/* Respect user motion and transparency preferences. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(prefers-contrast:more){
  :root{--line:#9aa8b2;--muted:#4c5b66}
  :where(.card,.entry-card,.category-card,.product-card,.contact-card,.resource-card,.document-card,.search-result-card){border-width:2px}
}

@media(max-width:680px){
  :root{--gutter:16px}
  .page-body{padding-left:16px;padding-right:16px}
  :where(.btn,.btn-primary,.btn-secondary,.header-cta,.mobile-cta,button){min-height:44px}
  .secondary-hero h1{font-size:clamp(32px,10vw,46px)}
}
