/* Final delivery gates: customer typography, pagination and content components. */
:root {
  --delivery-page-inline: max(20px, calc((100vw - 1440px) / 2));
}

[hidden] {
  display: none !important;
}

@media (min-width: 701px) {
  body:not(.page-admin) main h1 {
    max-width: 900px;
    font-size: clamp(40px, 4vw, 56px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
  }

  body:not(.page-admin) main h2,
  body:not(.page-admin) main .section-lead h2 {
    font-size: clamp(28px, 2.55vw, 36px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.035em !important;
  }

  .hero-lead,
  .sub-hero-lead,
  .section-lead > p,
  .product-index-hero-copy > p:last-of-type,
  .category-hero-copy > p:last-of-type {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }
}

@media (max-width: 700px) {
  body:not(.page-admin) main h1 {
    max-width: 100%;
    font-size: 32px !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance;
  }

  body:not(.page-admin) main h2,
  body:not(.page-admin) main .section-lead h2 {
    font-size: clamp(32px, 9vw, 34px) !important;
    line-height: 1.2 !important;
    letter-spacing: -.03em !important;
  }

  .hero-lead,
  .sub-hero-lead,
  .section-lead > p,
  .product-index-hero-copy > p:last-of-type,
  .category-hero-copy > p:last-of-type,
  .category-product-card small,
  .product-archive-card small {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .product-index-hero-copy,
  .category-hero-copy,
  .platform-experience .sub-hero > div:first-child,
  .platform-experience.page-applications .sub-hero > div:first-child {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

.category-product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.category-product-card {
  min-height: 650px;
}

.category-product-card figure {
  min-height: 330px;
}

.category-product-card figure img {
  height: 285px;
}

.category-pagination {
  margin-top: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.category-pagination button {
  min-width: 46px;
  min-height: 46px;
  padding: 0 14px;
  color: #243138;
  background: #fff;
  border: 1px solid #c6d0d4;
  font: inherit;
  cursor: pointer;
}

.category-pagination button[aria-current="page"] {
  color: #fff;
  background: #07365f;
  border-color: #07365f;
}

.category-pagination button:disabled {
  color: #9aa6ab;
  background: #e8ecec;
  cursor: not-allowed;
}

.category-pagination-status {
  margin-top: 14px;
  color: #68777d;
  text-align: center;
  font-size: 13px;
}

.credential-carousel {
  position: relative;
}

.credential-carousel-viewport {
  overflow: hidden;
}

.credential-carousel .credential-grid {
  display: flex !important;
  gap: 1px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  background: transparent;
}

.credential-carousel .credential-grid::-webkit-scrollbar {
  display: none;
}

.credential-carousel .credential-card {
  flex: 0 0 calc(25% - 1px);
  scroll-snap-align: start;
}

.credential-card dl {
  margin: 18px 0 0;
  display: grid;
  gap: 8px;
}

.credential-card dl div {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  font-size: 12px;
  line-height: 1.5;
}

.credential-card dt {
  color: #90a7b4;
}

.credential-card dd {
  margin: 0;
  color: #fff;
}

.credential-carousel-controls {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.credential-carousel-controls button {
  width: 46px;
  height: 46px;
  color: #fff;
  background: #07365f;
  border: 1px solid rgba(255, 255, 255, .35);
  cursor: pointer;
}

.credential-carousel-controls span {
  min-width: 74px;
  color: #b9c9d1;
  text-align: center;
  font-size: 12px;
}

.news-detail {
  padding: 90px var(--delivery-page-inline) 130px;
  background: #fff;
}

.news-detail header {
  max-width: 940px;
  margin: 0 auto 54px;
}

.news-detail-meta {
  margin-bottom: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  color: #66767d;
  font-size: 14px;
}

.news-detail-cover {
  width: min(1120px, 100%);
  aspect-ratio: 16 / 9;
  margin: 0 auto 54px;
  display: block;
  object-fit: cover;
}

.news-detail-body {
  max-width: 820px;
  margin: 0 auto;
  color: #26343a;
  font-size: 17px;
  line-height: 1.85;
  white-space: pre-line;
}

.news-detail-back {
  max-width: 820px;
  margin: 54px auto 0;
  padding-top: 24px;
  border-top: 1px solid #d6dddf;
}

@media (max-width: 960px) {
  .category-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .credential-carousel .credential-card {
    flex-basis: calc(50% - 1px);
  }
}

@media (max-width: 700px) {
  .category-product-grid {
    grid-template-columns: 1fr;
  }

  .category-product-card {
    min-height: 0;
  }

  .category-pagination {
    margin-top: 28px;
  }

  .credential-carousel .credential-card {
    flex-basis: 84%;
  }

  .credential-carousel-viewport {
    margin-right: -20px;
  }

  .news-detail {
    padding: 54px 20px 90px;
  }

  .news-detail-body {
    font-size: 15px;
    line-height: 1.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .credential-carousel .credential-grid {
    scroll-behavior: auto !important;
  }
}
