/* Eigene Websiteanpassung; die nativen CCM19-Zustände und Aktionen bleiben erhalten. */
.ccm-root,
.ccm-root button,
.ccm-root input,
.ccm-root select {
  font-family: "Inter", sans-serif !important;
}

#ccm-widget.ccm--alignment--center {
  align-items: center !important;
  justify-content: center !important;
}

.ccm-root #ccm-widget .ccm-modal-inner {
  position: fixed !important;
  top: 50dvh !important;
  left: 50% !important;
  bottom: auto !important;
  right: auto !important;
  inset-block-end: auto !important;
  inset-inline-end: auto !important;
  transform: translate(-50%, -50%) !important;
  width: calc(100% - 32px) !important;
  max-width: 720px !important;
  height: auto !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  border-radius: 12px;
}

#ccm-widget .ccm-widget--logo {
  display: flex !important;
  justify-content: center;
  align-items: center;
  height: auto !important;
  min-height: 52px;
  max-height: none !important;
  margin: 20px 24px 12px;
}

#ccm-widget .ccm-widget--logo img {
  display: block !important;
  width: min(280px, 72vw) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain;
}

#ccm-widget .ccm-widget--title {
  font-family: "Inter Tight", "Inter", sans-serif !important;
  font-size: clamp(20px, 3vw, 26px);
  line-height: 1.25;
}

/* Dieser Rechtsblock liegt im bestehenden Elementor-Hintergrund, keine separate Leiste. */
#cnr-flexofon-consent-footer {
  max-width: 1140px;
  margin: 28px auto 0;
  padding: 24px 20px;
  border-top: 1px solid rgb(255 255 255 / 30%);
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}

#cnr-flexofon-legal-title { margin: 0 0 12px; color: inherit; font-family: inherit; font-size: 18px; font-weight: 600; line-height: 1.4; }
#cnr-flexofon-consent-footer ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
#cnr-flexofon-consent-footer a { color: inherit; text-decoration: underline; }
#cnr-flexofon-consent-footer a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

@media (max-width: 640px) {
  #ccm-widget .ccm-widget--logo { display: flex !important; margin: 16px 20px 8px; }
  #ccm-widget .ccm-widget--logo img { display: block !important; width: min(220px, 70vw) !important; }
  #ccm-widget .ccm-modal--body { padding-inline: 16px; }
  #ccm-widget .ccm-widget--text { font-size: 14px; line-height: 1.5; }
}

/* Nur bei tatsächlich vorhandenem sichtbarem eigenem Link und nativer CCM-Aktion. */
.cnr-flexofon-consent-footer-ready #ccm-settings-summoner,
.cnr-flexofon-consent-footer-ready .ccm-settings-summoner {
  display: none !important;
}
