[hidden]{display:none!important}
.site-header .nav-r28 .r51-language{position:relative;flex:none}
.site-header .nav-r28 .r51-language summary{display:flex;align-items:center;gap:.36rem;white-space:nowrap;min-height:42px;padding:0 .55rem}
.site-header .r51-language summary span[aria-hidden]{font-size:1rem}
.site-header .r51-language-links{min-width:128px;position:absolute;top:100%;right:0;z-index:15;display:grid;gap:1px;padding:6px;background:white;border:1px solid #c5d3de;border-radius:7px;box-shadow:0 8px 24px #17334a22}
.site-header .r51-language-links a{display:flex;align-items:center;min-height:40px;padding:4px 12px;border-radius:4px;color:#153956;text-decoration:none}
.site-header .r51-language-links a:hover,.site-header .r51-language-links a:focus-visible,.site-header .r51-language-links a[aria-current]{background:#edf3f8}
@media(max-width:1200px){.site-header .nav-r28 .r51-language{width:100%}.site-header .r51-language-links{position:static;box-shadow:none;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:6px}}
[data-mailer-gallery] .dp-gallery-frame .dp-thumbs{grid-template-columns:repeat(7,minmax(0,1fr))}
[data-mailer-gallery] .r51-gallery-video{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#16212a;max-height:none}
[data-mailer-gallery] .r51-video-thumb{position:relative;overflow:hidden}
.r51-video-thumb img{object-position:50% 46%}
.r51-play-badge{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#fff;background:#132c4a55;text-shadow:0 1px 3px #000;font-size:.66rem;font-weight:700;line-height:1}
.r51-play-icon{display:grid;place-items:center;border:1px solid #fff;border-radius:50%;background:#153956e8;width:28px;height:28px;font-size:.68rem;padding-left:2px}
@media(max-width:420px){.r51-play-badge{gap:1px;font-size:.52rem}.r51-play-icon{width:19px;height:19px;font-size:.48rem}}

.r51-play-icon{padding-left:0}.r51-play-icon::before{content:'';width:0;height:0;border-top:.30rem solid transparent;border-bottom:.30rem solid transparent;border-left:.46rem solid white;margin-left:.12rem}

@media (max-width: 700px) {
  /* Long translated text must stay within its mobile column. */
  main h1,
  main .hero .caption,
  main .guide-card,
  main .factory-video-grid figcaption,
  main .check-grid > div > span {
    overflow-wrap: anywhere;
  }
  main > .wrap.hero,
  main .guide-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Center the main links between the brand and contact actions on desktop. */
.site-header .nav-r28 > a[href$="/our-factory/"] > img {
  display: none;
}
.site-header .nav-r28 > details > summary,
.site-header .nav-r28 > a,
.site-header .nav-r28 > a[href$="/our-factory/"] {
  font-size: 16px;
  font-weight: 600;
}
.site-header .header-contacts > .contact-direct > .icon {
  width: 20px;
  height: 20px;
  flex: none;
}

@media (min-width: 1201px) {
  .site-header .header-row {
    display: grid;
    grid-template-columns: minmax(max-content, 1fr) max-content minmax(max-content, 1fr);
    gap: 16px;
  }
  .site-header .header-row > .logo {
    justify-self: start;
  }
  .site-header .header-row > .nav-r28 {
    justify-self: center;
    gap: clamp(14px, 1.55vw, 24px);
    margin-inline: 0;
  }
  .site-header .nav-r28 > details > summary,
  .site-header .nav-r28 > a,
  .site-header .nav-r28 > a[href$="/our-factory/"] {
    font-size: 15px;
  }
  .site-header .header-contacts {
    justify-self: end;
    margin-inline: 0;
  }
  .site-header .header-contacts > .contact-direct {
    font-size: 13px;
  }
  .site-header .header-contacts > .contact-direct > .icon {
    width: 21px;
    height: 21px;
  }
}

@media (min-width: 1341px) {
  .site-header .header-contacts {
    gap: 12px;
  }
  .site-header .header-contacts > .contact-direct {
    width: auto;
  }
  .site-header .header-contacts > .contact-direct > span {
    display: inline;
  }
}

/* Use the same spacing for image cards without reserving unused title lines. */
.r39-home-box-grid,
.visual-industry-grid,
.catalog-images,
.stock-grid,
.r48-insert-grid,
.dp-spec-list,
.dp-service-grid {
  --image-card-inset: clamp(12px, 1.45vw, 22px);
  --image-card-top: clamp(12px, 1.25vw, 18px);
  --image-card-bottom: clamp(14px, 1.4vw, 20px);
  --image-card-gap: clamp(8px, .75vw, 10px);
  --image-card-padding: var(--image-card-top) var(--image-card-inset) var(--image-card-bottom);
}

.r39-home-box-grid,
.visual-industry-grid {
  gap: clamp(13px, 1.7vw, 24px);
  align-items: stretch;
}

:is(#box-selection .r39-home-box-card, #industries .visual-industry-card) {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  color: #17344f;
  text-decoration: none;
  background: #fff;
  border: 1px solid #d7e2ea;
}
:is(#box-selection .r39-home-box-card, #industries .visual-industry-card):hover {
  border-color: #355c7b;
}
:is(#box-selection .r39-home-box-card, #industries .visual-industry-card):focus-visible {
  outline: 3px solid #7ca9c9;
  outline-offset: 3px;
}
:is(#box-selection .r39-home-box-card, #industries .visual-industry-card) > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
:is(#box-selection .r39-home-box-card, #industries .visual-industry-card) > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  min-height: 0;
  gap: var(--image-card-gap);
  padding: var(--image-card-padding);
}
:is(#box-selection .r39-home-box-card, #industries .visual-industry-card) h3 {
  min-height: 0;
  margin: 0;
  font-size: clamp(15px, 1.45vw, 19px);
  line-height: 1.28;
  overflow-wrap: anywhere;
}
:is(#box-selection .r39-home-box-card, #industries .visual-industry-card) span {
  margin: 0;
  font-size: clamp(12px, .95vw, 13px);
  line-height: 1.4;
  color: #17344f;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Keep the catalog label, description and link together when text wraps. */
.catalog-images {
  row-gap: clamp(18px, 1.7vw, 24px);
}
.catalog-images > .shape-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  grid-row: auto;
  gap: var(--image-card-gap);
  padding-bottom: var(--image-card-bottom);
  border: 1px solid #d7e2ea;
  background: #fff;
}
.catalog-images > .shape-card > :is(small, h3, p, .text-link) {
  margin: 0 var(--image-card-inset);
  overflow-wrap: anywhere;
}
.catalog-images > .shape-card > small {
  margin-top: calc(var(--image-card-top) - var(--image-card-gap));
}
.catalog-images > .shape-card > .text-link {
  align-self: flex-start;
  padding-top: 0;
  white-space: normal;
}

/* Match the same rhythm on cards with additional descriptive text. */
.stock-grid .stock-copy,
.dp-page .dp-service-grid .r45-service-copy {
  padding: var(--image-card-padding);
}
.stock-grid .stock-copy h3,
.stock-grid .stock-copy > p:not(.stock-availability) {
  margin-top: var(--image-card-gap);
}
.dp-page .dp-service-grid h3 {
  margin-bottom: var(--image-card-gap);
}
.dp-page .dp-spec-item .r45-spec-title,
#customize .r48-insert-card h4 {
  margin: var(--image-card-top) var(--image-card-inset) var(--image-card-gap);
}
.dp-page .dp-spec-item .r45-spec-description {
  padding: 0 var(--image-card-inset) var(--image-card-bottom);
}
#customize .r48-insert-card p {
  margin: 0 var(--image-card-inset) var(--image-card-bottom);
}
