/* Patent category cards: make patent name, number and application easy to scan. */
#patent-categories + .category-overview{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.6vw,28px);
}

#patent-categories + .category-overview .category-item{
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
  border-color:#eadde2;
  border-radius:18px;
  background:#fff;
}

#patent-categories + .category-overview .category-item h3{
  position:relative;
  margin:0;
  padding:18px 20px 16px 38px;
  border-bottom:1px solid #f0e4e9;
  background:linear-gradient(90deg,#fff3f8,#fff 78%);
  color:#201a1e !important;
  font-size:1.18rem;
  font-weight:800;
  line-height:1.4;
}

#patent-categories + .category-overview .category-item h3::before{
  content:"";
  position:absolute;
  left:20px;
  top:50%;
  width:5px;
  height:1.35em;
  border-radius:999px;
  background:var(--primary-color);
  transform:translateY(-50%);
}

#patent-categories + .category-overview .category-item > p{
  min-height:48px;
  margin:0;
  padding:16px 20px 12px;
  color:#6f656a;
  font-size:0.94rem;
  line-height:1.65;
}

#patent-categories + .category-overview .category-item ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0 20px 20px;
  list-style:none;
}

#patent-categories + .category-overview .category-item li{
  display:grid;
  gap:5px;
  margin:0;
  padding:11px 12px !important;
  border:1px solid #f1e5ea;
  border-radius:10px;
  background:#fff;
  color:#332d31;
  font-size:0.94rem;
  line-height:1.55;
}

#patent-categories + .category-overview .category-item li::before{
  display:none;
}

.patent-summary-title{
  color:#2e272b !important;
  font-weight:780;
  text-decoration:none;
}

a.patent-summary-title:hover,
a.patent-summary-title:focus-visible{
  color:var(--primary-color) !important;
  text-decoration:underline;
}

.patent-summary-meta{
  width:max-content;
  max-width:100%;
  padding:3px 9px;
  border-radius:999px;
  background:#f7eef2;
  color:#6b5961;
  font-size:0.82rem;
  font-weight:650;
  line-height:1.45;
}

.patent-summary-application{
  color:#6d6268;
  font-size:0.88rem;
  line-height:1.6;
}

.patent-summary-application a{
  color:var(--primary-dark) !important;
  font-weight:650;
  text-decoration:none;
}

.patent-summary-application a:hover,
.patent-summary-application a:focus-visible{
  color:var(--primary-color) !important;
  text-decoration:underline;
}

/* Innovation summary cards on patent pages. */
#innovation + .section-intro + .category-overview{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.6vw,28px);
}

.innovation-card{
  display:flex;
  flex-direction:column;
  padding:0 !important;
  overflow:hidden;
  border-color:#eadde2 !important;
  border-radius:18px !important;
  background:#fff !important;
}

.innovation-card h3{
  position:relative;
  margin:0 !important;
  padding:18px 20px 16px 38px !important;
  border-bottom:1px solid #f0e4e9;
  background:linear-gradient(90deg,#fff3f8,#fff 78%);
  color:#201a1e !important;
  font-size:1.18rem;
  font-weight:800;
  line-height:1.4;
}

.innovation-card h3::before{
  content:"";
  position:absolute;
  left:20px;
  top:50%;
  width:5px;
  height:1.35em;
  border-radius:999px;
  background:var(--primary-color);
  transform:translateY(-50%);
}

.innovation-card > p{
  min-height:46px;
  margin:0 !important;
  padding:16px 20px 10px !important;
  color:#6f656a !important;
  font-size:0.94rem !important;
  line-height:1.65;
}

.innovation-card ul{
  display:grid;
  gap:8px;
  margin:0 !important;
  padding:0 20px 20px !important;
  list-style:none;
}

.innovation-card li{
  display:grid !important;
  gap:4px;
  margin:0 !important;
  padding:11px 12px 11px 34px !important;
  border-bottom:0 !important;
  border:1px solid #f1e5ea;
  border-radius:10px;
  background:#fff;
  color:#332d31;
  font-size:0.94rem !important;
  line-height:1.55 !important;
}

.innovation-card li::before{
  left:12px !important;
  top:13px !important;
  transform:none !important;
  color:#2f8a3c !important;
}

.innovation-item-main{
  color:#30292d !important;
  font-weight:750;
  text-decoration:none;
}

a.innovation-item-main:hover,
a.innovation-item-main:focus-visible{
  color:var(--primary-color) !important;
  text-decoration:underline;
}

.innovation-item-note{
  color:#6d6268;
  font-size:0.88rem;
  line-height:1.55;
}

.innovation-item-note a{
  color:var(--primary-dark) !important;
  font-weight:650;
  text-decoration:none;
}

.innovation-item-note a:hover,
.innovation-item-note a:focus-visible{
  color:var(--primary-color) !important;
  text-decoration:underline;
}

/* Certification overview cards on patent pages. */
#certification-overview .certification-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(18px,2.6vw,28px);
  margin-top:clamp(20px,3vw,30px);
}

#certification-overview .certification-card{
  display:flex;
  flex-direction:column;
  grid-column:span 2;
  min-width:0;
  overflow:hidden;
  border:1px solid #eadde2;
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}

#certification-overview .certification-card:nth-child(4),
#certification-overview .certification-card:nth-child(5){
  grid-column:span 2;
}

#certification-overview .certification-card:nth-child(4){
  grid-column:2 / span 2;
}

#certification-overview .certification-card:nth-child(5){
  grid-column:4 / span 2;
}

#certification-overview .certification-card h3{
  position:relative;
  margin:0;
  padding:18px 20px 16px 38px;
  border-bottom:1px solid #f0e4e9;
  background:linear-gradient(90deg,#fff3f8,#fff 78%);
  color:#201a1e !important;
  font-size:clamp(1.08rem,1.8vw,1.22rem);
  font-weight:800;
  line-height:1.35;
}

#certification-overview .certification-card h3::before{
  content:"";
  position:absolute;
  left:20px;
  top:50%;
  width:5px;
  height:1.35em;
  border-radius:999px;
  background:var(--primary-color);
  transform:translateY(-50%);
}

#certification-overview .certification-card h3 a{
  color:inherit;
  text-decoration:none;
}

#certification-overview .certification-card h3 a:hover,
#certification-overview .certification-card h3 a:focus-visible{
  color:var(--primary-color);
  text-decoration:underline;
}

#certification-overview .certification-card > p{
  margin:0;
  padding:16px 20px 0;
  color:#5f565b;
  font-size:0.95rem;
  line-height:1.72;
}

#certification-overview .certification-card > p:not(.certification-products){
  min-height:118px;
}

#certification-overview .certification-card > p:not(.certification-products) strong{
  color:#30292d;
  font-weight:800;
}

#certification-overview .certification-products{
  display:grid;
  gap:10px;
  margin-top:auto !important;
  padding:16px 20px 20px !important;
  border-top:1px solid #f3e7ec;
  color:#7a6a72 !important;
  font-size:0.9rem !important;
  line-height:1.55 !important;
}

#certification-overview .certification-products > span:first-child{
  color:#6f656a;
  font-weight:750;
}

#certification-overview .certification-product-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

#certification-overview .certification-products a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid #efd7e2;
  border-radius:999px;
  background:#fff8fb;
  color:var(--primary-dark);
  font-weight:700;
  text-decoration:none;
}

#certification-overview .certification-products a:hover,
#certification-overview .certification-products a:focus-visible{
  border-color:var(--primary-color);
  color:var(--primary-color);
  text-decoration:none;
}

@media (max-width:960px){
  #patent-categories + .category-overview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #innovation + .section-intro + .category-overview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #certification-overview .certification-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #certification-overview .certification-card,
  #certification-overview .certification-card:nth-child(4),
  #certification-overview .certification-card:nth-child(5){
    grid-column:auto;
  }

  #certification-overview .certification-card > p:not(.certification-products){
    min-height:132px;
  }
}

@media (max-width:620px){
  main.container:not(.home-page) :is(.category-overview,.contact-methods-grid,.company-info-grid,.downloads-grid,.solution-links,.patent-grid) > :is(.category-item,.contact-method,.company-card,.download-card,.solution-category,.patent-category) > :is(h2,h3,h4):first-child{
    padding-left:36px;
  }

  main.container:not(.home-page) :is(.category-overview,.contact-methods-grid,.company-info-grid,.downloads-grid,.solution-links,.patent-grid) > :is(.category-item,.contact-method,.company-card,.download-card,.solution-category,.patent-category) > :is(h2,h3,h4):first-child::before{
    left:18px;
  }

  #patent-categories + .category-overview{
    grid-template-columns:1fr;
  }

  #innovation + .section-intro + .category-overview{
    grid-template-columns:1fr;
  }

  #certification-overview .certification-grid{
    grid-template-columns:1fr;
  }

  #certification-overview .certification-card > p:not(.certification-products){
    min-height:0;
  }

  #certification-overview .certification-card h3{
    padding-left:36px;
  }

#certification-overview .certification-card h3::before{
  left:18px;
}

  #patent-categories + .category-overview .category-item h3{
    padding-left:36px;
  }

  #patent-categories + .category-overview .category-item h3::before{
    left:18px;
  }

  .innovation-card h3{
    padding-left:36px !important;
  }

  .innovation-card h3::before{
    left:18px;
  }
}

/* Design system rollout: certification content is technical evidence, not a CTA. */
#certification-overview .certification-card{
  border-color:var(--border-soft);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-soft);
}

#certification-overview .certification-card h3{
  border-bottom-color:var(--border-soft);
  background:#f7f8f7;
  color:#202124;
}

#certification-overview .certification-card h3::before{
  background:var(--tech-blue);
}

#certification-overview .certification-card > p{
  color:#4f5459;
}

#certification-overview .certification-card > p:not(.certification-products) strong{
  color:#202124;
}

#certification-overview .certification-products{
  border-top-color:var(--border-soft);
  background:#fff;
}

#certification-overview .certification-products a{
  border-color:#c8dce8;
  border-radius:var(--radius-pill);
  background:#f3f8fb;
  color:#1d5f87;
}

#certification-overview .certification-products a:hover,
#certification-overview .certification-products a:focus-visible{
  border-color:var(--tech-blue);
  background:#eaf4f9;
  color:#155478;
}
