.manufacturer-card--typographic { display: flex; align-items: flex-end; min-height: 350px; border: 1px solid #bfdeec; background: linear-gradient(150deg, #fff 0%, #edf8fd 50%, #d7eef8 100%); color: #15384a; }
.manufacturer-card--typographic .manufacturer-card__shade { display: none; }
.manufacturer-card--typographic .manufacturer-card__content { position: relative; inset: auto; width: 100%; padding: 34px; gap: 18px; }
.manufacturer-card--typographic .manufacturer-card__name { line-height: 1.14; overflow-wrap: anywhere; }
.manufacturer-card--typographic .manufacturer-card__content > span:not(.manufacturer-card__name):not(.text-link) { color: #496775; }
.manufacturer-card--typographic .text-link { margin-top: 22px; color: #0c6c8d; }
.manufacturer-card--typographic:hover .text-link { color: #09475c; }
.manufacturer-card--typographic:hover { border-color: #78b8d0; }
.supplier-page { background: #f5fbfe; color: var(--ink); }
.supplier-page :is(h1, h2, h3, p, a, th, td) { overflow-wrap: anywhere; }
.supplier-page :is(section, article, nav, figure, .supplier-hero__copy) { min-width: 0; }
.supplier-page section[id], .supplier-product[id] { scroll-margin-top: 155px; }
.supplier-hero { padding: 36px 0 70px; border-bottom: 1px solid #d4e7f0; background: linear-gradient(120deg, #fff 15%, #edf8fd); }
.supplier-breadcrumbs { margin-bottom: 48px; color: #58717e; }
.supplier-breadcrumbs a:hover { color: #0c6c8d; text-decoration: underline; }
.supplier-hero__layout { display: grid; gap: 40px; align-items: center; }
.supplier-hero__layout--image { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.supplier-hero h1 { max-width: 950px; margin-bottom: 22px; font-size: clamp(2.65rem, 6vw, 5rem); line-height: 1.09; }
.supplier-page--filizol .supplier-hero h1 { font-size: clamp(2rem, 4.4vw, 3.6rem); }
.supplier-hero .lead { max-width: 740px; margin-bottom: 0; color: #496775; }
.supplier-logo { width: auto; max-width: min(310px, 100%); max-height: 96px; margin-bottom: 30px; object-fit: contain; object-position: left center; }
/* Show the supplied transparent logo at its visible bounds without altering its pixels. */
.supplier-logo-frame { position: relative; overflow: hidden; width: min(310px, 100%); aspect-ratio: 1168 / 263; margin-bottom: 30px; }
.supplier-logo-frame .supplier-logo { position: absolute; width: 164.383562%; max-width: none; max-height: none; height: auto; left: -28.167808%; top: -63.878327%; margin: 0; }
.supplier-hero__image { margin: 0; overflow: hidden; border: 1px solid #d4e7f0; border-radius: 22px; background: #fff; }
.supplier-hero__image img { width: 100%; max-height: 460px; object-fit: contain; }
.supplier-actions { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; margin-top: 30px; }
.supplier-actions .button { text-align: center; }
.supplier-button-secondary { border-color: #9fcbdf; background: #fff; color: #0c6c8d; }
.supplier-button-secondary:hover { background: #e4f3fa; color: #0c5f7b; }
.supplier-price-note { display: inline-block; margin: 22px 0 0; padding: 6px 14px; border: 1px solid #badce9; border-radius: 999px; background: #e9f6fc; color: #0c6c8d; font-weight: 750; }
.supplier-text-link { display: inline-flex; align-items: center; gap: 8px; width: fit-content; color: #0c6c8d; font-weight: 720; line-height: 1.4; }
.supplier-text-link:hover { color: #09475c; text-decoration: underline; text-underline-offset: 4px; }
.supplier-section-nav { background: #fff; border-bottom: 1px solid #d4e7f0; }
.supplier-section-nav .container { display: flex; flex-wrap: wrap; gap: 12px 28px; padding-block: 18px; }
.supplier-section-nav a { color: #3f6273; font-size: .92rem; font-weight: 650; }
.supplier-section-nav a:hover { color: #0c6c8d; }
.supplier-section { padding: clamp(48px, 6vw, 84px) 0; }
.supplier-section--white { background: #fff; }
.supplier-section h2 { margin-bottom: 22px; max-width: 900px; font-size: clamp(1.85rem, 3.9vw, 3.1rem); line-height: 1.14; }
.supplier-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.supplier-section-head h2 { margin-bottom: 0; }
.supplier-section-head > div { min-width: 0; }
.supplier-section-head > a { flex-shrink: 0; }
.supplier-about { display: grid; gap: 42px; }
.supplier-about--image { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: start; }
.supplier-prose { max-width: 900px; color: #496775; font-size: 1.08rem; line-height: 1.85; white-space: normal; }
.supplier-about__image { width: 100%; max-height: 480px; object-fit: contain; border: 1px solid #d4e7f0; border-radius: 18px; }
.supplier-archive-note { margin: 0 0 28px; padding: 18px 22px; border-left: 3px solid #58a8c8; background: #e7f4fb; color: #355968; font-size: .94rem; }
.supplier-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) auto; align-items: end; gap: 14px 20px; padding: 22px; margin-bottom: 26px; border: 1px solid #d4e7f0; border-radius: 18px; background: #fff; }
.supplier-filters label { display: grid; gap: 8px; min-width: 0; font-weight: 650; }
.supplier-filters input, .supplier-filters select { width: 100%; min-width: 0; padding: 12px; border: 1px solid #a8cadc; border-radius: 8px; background: #fff; color: #15384a; font: inherit; }
.supplier-filter-count { grid-column: 1 / -1; margin: 0; color: #496775; font-size: .92rem; }
.supplier-filters[hidden], .supplier-product[hidden], [data-supplier-no-results][hidden] { display: none; }
@media (max-width: 700px) { .supplier-filters { grid-template-columns: minmax(0, 1fr); padding: 18px; } }
.supplier-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.supplier-product-grid--single { grid-template-columns: minmax(0, 1fr); max-width: 850px; }
.supplier-product { overflow: hidden; border: 1px solid #d4e7f0; border-radius: 20px; background: #fff; box-shadow: 0 7px 24px rgba(12, 95, 123, .045); }
.supplier-product__image { display: grid; place-items: center; height: 270px; padding: 18px; border-bottom: 1px solid #e2eff5; background: #fff; }
.supplier-product__image img { width: 100%; height: 100%; max-height: 234px; object-fit: contain; }
.supplier-product__body { padding: clamp(20px, 3vw, 30px); }
.supplier-product h3 { margin-bottom: 16px; font-size: 1.65rem; line-height: 1.18; }
.supplier-product p, .supplier-product__description { color: #496775; }
.supplier-product__body > .eyebrow { color: #0c6c8d; font-size: .72rem; }
.supplier-product__description { margin-bottom: 20px; font-size: .94rem; line-height: 1.75; }
.supplier-specs { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 22px 0; font-size: .87rem; line-height: 1.6; }
.supplier-specs caption { padding-bottom: 10px; text-align: left; color: #15384a; font-size: .92rem; font-weight: 720; }
.supplier-specs :is(th, td) { padding: 11px 12px; border-block: 1px solid #dceaf2; text-align: left; vertical-align: top; }
.supplier-specs th { width: 54%; font-weight: 500; color: #486674; }
.supplier-specs td { font-weight: 650; color: #15384a; }
.supplier-specs tr:nth-child(odd) { background: #f4fafe; }
.supplier-product__request { padding-top: 18px; margin-top: 22px; border-top: 1px solid #d4e7f0; }
.supplier-product__actions { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; margin-top: 26px; }
.supplier-product__actions .supplier-text-link { font-size: .9rem; }
.supplier-files { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.supplier-file { display: grid; grid-template-columns: 60px minmax(0, 1fr) 20px; align-items: center; gap: 16px; padding: 22px; border: 1px solid #cfe3ed; border-radius: 16px; background: #fff; transition: border-color .18s ease, background .18s ease; }
.supplier-file:hover { border-color: #78b8d0; background: #f1faff; }
.supplier-file__type { display: grid; place-items: center; min-height: 60px; padding: 4px; border-radius: 12px; background: #e9f5fb; color: #0c6c8d; font-size: .8rem; font-weight: 800; overflow-wrap: anywhere; }
.supplier-file__copy { min-width: 0; }
.supplier-file strong { display: block; color: #15384a; font-size: .98rem; line-height: 1.45; }
.supplier-file small { display: block; margin-top: 7px; color: #597784; font-size: .81rem; line-height: 1.5; }
.supplier-file__arrow { color: #0c6c8d; font-size: 1.4rem; }
.supplier-files-note { margin: 20px 0 0; color: #597784; font-size: .92rem; }
.supplier-documents { background: #eaf5fa; }
.supplier-document-group { margin-top: 32px; }
.supplier-document-group h3 { margin-bottom: 20px; font-size: 1.3rem; letter-spacing: -.015em; }
.supplier-empty { margin: 0; padding: 22px; border: 1px dashed #b3d5e5; border-radius: 14px; background: #f8fcff; color: #496775; }
.supplier-empty p { margin-bottom: 10px; }
.supplier-order { background: #f5fbfe; border-top: 1px solid #d4e7f0; }
.supplier-order .order-intro { position: static; }
.supplier-order .lead { font-size: 1.05rem; color: #496775; }
.supplier-order__contacts { display: grid; gap: 9px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #cfe3ed; }
.supplier-order__contacts span { color: #597784; font-size: .9rem; }
.supplier-order__contacts a { width: fit-content; color: #0c6c8d; font-weight: 720; }
.product-certificates { margin: 18px 0; padding: 14px; border: 1px solid #cde4ee; border-radius: 12px; background: #f4fbff; font-size: .9rem; }
.product-certificates summary { color: #086987; cursor: pointer; font-weight: 700; }
.product-certificates summary:focus-visible { outline: 2px solid #1287ae; outline-offset: 4px; }
.product-certificate-links { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 14px; }
.product-certificate-links li { min-width: 0; }
.product-certificate-links a { color: #096785; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; line-height: 1.5; }
.product-certificate-links small { display: block; margin-top: 4px; color: #526d7a; }
.product-certificates p { margin: 12px 0 0; }
.isoroc-intro > *, .isoroc-feature-grid > *, .isoroc-product-card, .isoroc-product-card .product-card__body { min-width: 0; }
.isoroc-intro :is(h2, h3), .isoroc-product-card :is(h3, dd) { overflow-wrap: anywhere; }
.supplier-order .order-form { border-color: #cfe3ed; background: #fff; box-shadow: 0 12px 35px rgba(12, 95, 123, .07); }
.supplier-order .inquiry-form label > span { color: #355968; }
.supplier-order .inquiry-form :is(input:not([type="checkbox"]), select, textarea) { border-color: #bdd9e7; background: #f8fcff; color: #15384a; }
.supplier-order .inquiry-form :is(input, textarea)::placeholder { color: #6b8490; }
.supplier-order .inquiry-form :is(input, select, textarea):focus { border-color: #1287ae; outline: 2px solid rgba(18, 135, 174, .18); outline-offset: 1px; }
.supplier-order .inquiry-form select option { background: #fff; color: #15384a; }
.supplier-order .inquiry-form .consent { color: #496775; }
.supplier-page a:focus-visible { outline: 3px solid #1287ae; outline-offset: 4px; }
@media (max-width: 900px) {
  .supplier-hero__layout--image, .supplier-about--image, .supplier-order .order-layout { grid-template-columns: minmax(0, 1fr); }
  .supplier-hero__image { max-width: 700px; }
  .supplier-files { grid-template-columns: minmax(0, 1fr); }
  .supplier-section-head { align-items: start; flex-direction: column; gap: 16px; }
}
@media (max-width: 620px) {
  .supplier-hero { padding-top: 24px; padding-bottom: 44px; }
  .supplier-breadcrumbs { margin-bottom: 32px; font-size: .77rem; }
  .supplier-hero h1 { font-size: clamp(2.4rem, 12vw, 3.5rem); }
  .supplier-product-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .supplier-product__image { height: 240px; }
  .supplier-product__image img { max-height: 204px; }
  .supplier-section-nav .container { gap: 10px 20px; }
  .supplier-section-nav a { font-size: .85rem; }
  .supplier-file { grid-template-columns: 46px minmax(0, 1fr) 16px; padding: 16px; gap: 12px; }
  .supplier-file__type { min-height: 48px; font-size: .7rem; }
  .supplier-specs :is(th, td) { padding: 10px 8px; }
  .supplier-archive-note { padding: 16px; }
  .supplier-order .order-form { padding: 20px; }
  .supplier-page section[id], .supplier-product[id] { scroll-margin-top: 120px; }
}
