/* The language control remains separate from the navigation drawer. */
.semap-language { position:relative; z-index:3; flex:0 0 auto; margin-left:auto; margin-right:8px; color:#173a5e; font:inherit; }
.semap-language details { position:relative; }
.semap-language summary { display:flex; min-height:44px; align-items:center; justify-content:center; gap:7px; padding:0 8px; cursor:pointer; font-size:14px; line-height:1.2; white-space:nowrap; list-style:none; }
.semap-language summary::-webkit-details-marker { display:none; }
.semap-language summary::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px; }
.semap-language details[open] summary::after { transform:rotate(225deg); margin-top:3px; }
.semap-language ul { position:absolute; right:0; top:100%; z-index:4; min-width:9.5rem; margin:0; padding:4px; list-style:none; border:1px solid #b4c3d1; border-radius:4px; background:#fff; box-shadow:0 4px 12px rgba(20,40,60,.12); }
.semap-language a { display:flex; align-items:center; min-height:44px; padding:0 12px; color:#173a5e; text-decoration:none; white-space:nowrap; font-size:14px; }
.semap-language a:hover, .semap-language a[aria-current="page"] { background:#eaf0f5; }
.semap-language summary:focus-visible, .semap-language a:focus-visible { outline:2px solid #005fcc; outline-offset:2px; }
.semap-newsletter-notice { margin:.75rem 0 0; line-height:1.5; }
/* The preview footer is light; override the inherited white consent text. */
.semap-privacy-links, .semap-privacy-links .nav-link.white, .semap-privacy-links .semap-consent-pref { color:#173a5e; }
.semap-privacy-links { padding-bottom:10px; }
.semap-privacy-links .nav-link.white { opacity:1; }
.semap-privacy-links a:focus-visible, .semap-privacy-links .semap-consent-pref:focus-visible { outline:3px solid #005fcc; outline-offset:3px; }
@media (max-width:991px) {
  .semap-language { margin-right:0; }
  /* Anchor the open drawer below the actual header, keeping its controls clear. */
  .semap-nav[data-animation="over-right"] .w-nav-overlay { top:100%; }
}

/* Keep the newsletter field readable when its column becomes narrow. */
footer .grid-footer .column.last .form-hero-container { flex-wrap:wrap; gap:8px; border-radius:24px; }
footer .grid-footer .column.last .form-hero-container input[type="email"] { flex:1 1 12rem; width:auto; min-width:0; min-height:44px; }
footer .grid-footer .column.last .form-hero-container input[type="button"] { flex:0 0 auto; min-height:44px; }

/* Give related titles room before allowing cards to form another column. */
.semap-specialty[data-specialty="crt"] .related-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr)); }
@media (max-width:820px) {
  .semap-specialty[data-specialty="crt"] .related-card,
  .semap-specialty[data-specialty="cdi"] .related-card { flex-basis:min(100%,336px); }
}
@media (max-width:400px) {
  .semap-specialty[data-specialty="fa"] .clinical-related-grid>a,
  .semap-specialty[data-specialty="mp"] .clinical-related-grid>a { padding-inline:12px; gap:4px; }
  .semap-specialty[data-specialty="crt"] .related-card { padding-inline:16px; }
  .semap-specialty[data-specialty="crt"] .device-summary>div,
  .semap-specialty[data-specialty="crt"] .appointment-panel { padding-inline:16px; }
}
@media (max-width:350px) {
  /* At 320 px, these complete medical terms need about 240 px at 26 px. */
  .semap-specialty[data-specialty="crt"] .device-summary h2,
  .semap-specialty[data-specialty="crt"] .appointment-panel h2 { font-size:26px; }
}
