/* Small, shared refinements. Existing colors and page structure remain authoritative. */
html { scroll-padding-top: 7rem; }
:focus-visible { outline: 3px solid #0e5fa3; outline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 10000; background: white; color: #0b2f59; padding: .75rem 1.1rem; border: 2px solid #1c5769; }
.skip-link:focus { top: 1rem; }
img { max-width: 100%; }
.footer-social a { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; transition: background-color .15s; }
.footer-social svg { width: 18px; height: 18px; }
.footer-social a:hover { background: rgba(255,255,255,.12); }
.footer-social { --social-icon-cutout: #0b2f59; }
.products-card { border: 1px solid #dce4e9; transition: border-color .15s, box-shadow .15s; }
.products-card:hover, .products-card:focus-within { border-color: #8ca7b2; box-shadow: 0 6px 20px rgba(11,47,89,.07); }
.products-card .product-content { display: flex; flex-direction: column; flex: 1; }
.products-card .product-content > .btn { margin-top: auto; align-self: flex-start; }
.products-card img { object-fit: contain; }
.product-doc-link { min-height: 48px; }
.spec-grid { font-variant-numeric: tabular-nums; }
.spec-grid > div:nth-child(odd) { background: #f6f8fb; }
.spec-grid > div { padding: .7rem .85rem; }
.form-availability { padding: 1rem 1.2rem; border-left: 3px solid #1c5769; background: #f0f5f7; margin: 1.25rem 0; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[aria-invalid="true"] { border-color: #a52222 !important; }
.form-error { color: #a52222; font-size: .9rem; }
.catalog-search { display: flex; align-items: end; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.catalog-search label { flex: 1 1 220px; font-size: .85rem; font-weight: 600; }
.catalog-search input { display: block; width: 100%; min-height: 46px; border: 1px solid #b8c7d1; padding: .6rem .85rem; margin-top: .35rem; font: inherit; border-radius: 3px; }
.catalog-search button, .products-pagination button { min-height: 44px; min-width: 44px; }
.products-count, .documentation-count { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media (max-width: 600px) { .footer-social { gap: .6rem; } .spec-grid > div { overflow-wrap: anywhere; } }
.slider-toggle { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; padding: .5rem .8rem; border: 1px solid rgba(255,255,255,.65); border-radius: 3px; background: rgba(11,47,89,.75); color: white; cursor: pointer; font: inherit; font-size: .8rem; }
button.product-doc-link { width: 100%; text-align: left; font: inherit; cursor: pointer; background: transparent; }
button.product-doc-link:disabled { opacity: .6; cursor: progress; }
.document-status { max-width: 1136px; margin: 0 auto 2rem; padding: 0 2rem; font-size: .95rem; color: #1c5769; }
button.nav-label { font: inherit; font-size: .95rem; border: 0; background: transparent; padding: 0; }
.nav-products-label { display: flex; align-items: center; gap: .35rem; }
.nav-products-label button { min-width: 24px; min-height: 32px; justify-content: center; }

/* A native link covers each navigation card; secondary controls stay independent. */
.navigation-card { position: relative; isolation: isolate; cursor: pointer; }
.navigation-card .card-primary-link { position: static; }
.navigation-card .card-primary-link::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  border-radius: inherit; cursor: pointer;
}
.navigation-card :is(a:not(.card-primary-link), button, input, select, textarea, summary) {
  position: relative; z-index: 2;
}
.navigation-card:hover, .navigation-card:focus-within {
  transform: none; border-color: #8ca7b2;
  box-shadow: 0 6px 20px rgba(15, 31, 46, .12);
}
.navigation-card .card-primary-link:focus-visible { outline: none; }
.navigation-card .card-primary-link:focus-visible::after {
  outline: 3px solid #0e5fa3; outline-offset: -3px;
}
.navigation-card { transition: border-color .15s ease, box-shadow .15s ease; }
@media (prefers-reduced-motion: reduce) { .navigation-card { transition: none; } }
@media (max-width: 600px) {
  .series-grid { grid-template-columns: minmax(0, 1fr); }
  .series-grid .navigation-card { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 900px) {
  .series-grid .card-primary-link { width: 100%; min-width: 0; }
  .series-grid .product-card-content { min-width: 0; max-width: 100%; }
}

.configuration-selectors { display:flex; flex-wrap:wrap; gap:1rem; margin:2rem 0; }
.configuration-selectors label { display:flex; flex-direction:column; gap:.5rem; flex:1 1 180px; }
.configuration-selectors select { font:inherit; min-height:44px; padding:.5rem; max-width:100%; }
.engineering-chart { display:block; width:100%; height:auto; background:#fff; }
.engineering-notice { border-left:3px solid #1c5769; padding:.75rem; background:#f0f5f7; }
.product-section details { max-height:450px; overflow:auto; padding:1rem; }
.product-section table { width:100%; border-collapse:collapse; }
.product-section td,.product-section th { text-align:left; padding:.4rem; border-bottom:1px solid #ddd; }
.product-summary h1 { overflow-wrap:anywhere; }
