[hidden] { display: none !important; }

.factory-hero-image,
.application-card-image,
.featured-manufacturing-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.nav-products-details,
.header-search-details { position: relative; }
.nav-products-details > summary,
.header-search-details > summary { list-style: none; }
.nav-products-details > summary::-webkit-details-marker,
.header-search-details > summary::-webkit-details-marker { display: none; }
.nav-products-details[open] .nav-products-trigger { color: #d82732; }
.nav-products-details[open] .nav-products-trigger::after { transform: scaleX(1); }
.nav-products-details[open] .nav-products-trigger svg { transform: rotate(180deg); }

.header-products-popup,
.header-search-popup {
  position: absolute;
  z-index: 60;
  top: calc(100% + 1rem);
}
.header-products-popup { left: 0; }
.header-search-popup { right: 0; }

.product-record { display: flex; min-width: 0; }
.product-record > .catalog-card { width: 100%; }

dialog {
  margin: 0;
  padding: 0;
  border: 0;
}
/* Author-level dialog layout rules otherwise override the browser's default
   `dialog:not([open]) { display: none; }` rule. */
dialog:not([open]) {
  display: none !important;
}
dialog::backdrop {
  background: rgba(0, 0, 0, .62);
}
body:has(dialog[open]) { overflow: hidden; }

.product-dialog[open] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.quote-dialog[open] {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  margin: 0;
}

.quote-form[hidden],
.quote-success[hidden] { display: none !important; }
.quote-success:not([hidden]) { min-height: 100%; }

.button,
.dialog-inquiry {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  padding: .75rem 1rem;
  border: 1px solid #17171b;
  background: #17171b;
  color: #fff;
  cursor: pointer;
}

.header-search-form input { border: 0; outline: 0; }
.compact-menu-panel button { font: inherit; cursor: pointer; }

.manufacturer-footer {
  display: grid;
  grid-template-columns: .9fr 1.5fr .7fr;
  gap: 3rem;
  align-items: end;
  padding: 2.3rem var(--page-gutter);
  color: rgba(255, 255, 255, .55);
  background: #09090a;
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: .82rem;
  line-height: 1.7;
}
.manufacturer-footer .footer-brand { display: flex; flex-direction: column; }
.manufacturer-footer .footer-brand > span { margin-top: .75rem; }
.manufacturer-footer .footer-meta { display: flex; flex-direction: column; align-items: flex-end; gap: .4rem; }
.manufacturer-footer .footer-meta a { color: #fff; }

@media (max-width: 760px) {
  .header-search-details { display: none; }
  .product-dialog[open] { width: calc(100vw - 1.5rem); }
  .manufacturer-footer { grid-template-columns: 1fr; gap: 1.5rem; }
  .manufacturer-footer .footer-meta { align-items: flex-start; }
}
