/* Language controls are isolated to the selected CC company site. */
.cc .desktop-nav {
  gap:clamp(14px,2vw,28px);
}
.cc .contact-details {
  grid-template-columns:1.3fr 1fr .8fr 1.1fr;
}
.cc .cc-email {
  display:inline-block;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.cc .cc-language-menu {
  position:relative;
  font-size:11px;
}
.cc .cc-language-menu > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  cursor:pointer;
  list-style:none;
}
.cc .cc-language-menu > summary::-webkit-details-marker {
  display:none;
}
.cc .cc-language-menu > summary:focus-visible {
  outline:3px solid #14262f;
  outline-offset:4px;
}
.cc .cc-language-options {
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:155px;
  padding:8px;
  background:#f3f1eb;
  color:#14262f;
  border:1px solid #14262f40;
  box-shadow:0 12px 25px #14262f20;
  display:grid;
  gap:3px;
}
.cc .cc-language-options a {
  display:block;
  padding:11px 12px;
  font-size:12px;
  line-height:1.5;
}
.cc .cc-language-options a[aria-current="page"] {
  background:#dce5ce;
  font-weight:600;
}
.cc .cc-language-options a:hover {
  background:#e4e7de;
}
@media(max-width:1100px) {
  .cc .contact-details {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:800px) {
  .cc .contact-details {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cc .desktop-nav {
    gap:7px;
  }
  .cc .cc-language-menu {
    width:100%;
    border-top:1px solid #14262f30;
    margin-top:8px;
  }
  .cc .cc-language-menu > summary {
    min-height:48px;
    justify-content:flex-start;
    gap:18px;
    font-size:13px;
  }
  .cc .cc-language-options {
    position:static;
    box-shadow:none;
    margin-bottom:10px;
  }
}
@media(max-width:560px) {
  .cc .contact-details {
    grid-template-columns:minmax(0,1fr);
  }
  .cc .contact-details > div:first-child {
    grid-column:auto;
  }
  .cc:lang(de) .cc-hero h1 {
    font-size:clamp(48px,15vw,61px);
  }
}
