/* ── Consent-Banner ───────────────────────────────────────────────────
   Wörtlich aus der Code-Injection von ddxconference.com übernommen,
   damit beide Seiten denselben Dialog zeigen. Laut den Kommentaren
   gehört das eigentlich in CCM19 > Themes > Custom CSS, aber das Feld
   hält auf dem Free-Plan nicht. Änderungen also hier UND dort.
   Quelle gezogen am 29.10.2026.
   Eine Abweichung: die Schrift. Auf Squarespace war Helvetica die
   Hausschrift, hier ist es Plus Jakarta Sans — ein Dialog in fremder
   Schrift fällt auf dieser Seite sofort auf. */

/* DDX consent banner layout. This belongs in CCM19 > Themes > Custom CSS,
   but that field does not persist on the Free plan: it reverts to the stored
   value on save. Colours and the bottom position ARE set in the theme; only
   layout and type live here. Scoped to .ccm-widget so the settings panel
   keeps CCM19's own layout. */
/* CCM19 gives the panel a fixed height from the theme (max-height 80%,
   height set by its own JS), which left a white strip below the content on
   desktop. The background repeats windowBackgroundColor from the theme: if
   that colour changes, change it here too. */
.ccm-widget .ccm-modal-inner{display:block !important;height:auto !important;min-height:0 !important;background:#0B0B0B !important;border-radius:0 !important;padding:0 !important;box-shadow:0 -18px 48px rgba(0,0,0,.45) !important;font-family:"Plus Jakarta Sans","Helvetica Neue",Helvetica,Arial,sans-serif}
.ccm-widget .ccm-modal--header,.ccm-widget .ccm-modal--body,.ccm-widget .ccm-modal--footer{width:100% !important;max-width:none !important;margin-inline:0 !important;padding-inline:max(clamp(16px,4vw,40px),calc((100% - 1360px)/2)) !important}
/* Language switch and close are absolute by default and land on the title. */
.ccm-widget .ccm-modal--header{display:flex !important;justify-content:flex-end !important;align-items:center !important;gap:14px !important;min-height:0 !important;padding-block:8px 0 !important}
.ccm-widget .ccm-widget--language-switch{position:static !important;display:flex !important;align-items:center;gap:6px;height:auto !important}
.ccm-widget .ccm-widget--language-switch img{width:14px;height:14px;opacity:.5}
.ccm-widget .ccm-widget--language-select{background:transparent !important;border:0 !important;font-size:11px !important;letter-spacing:.12em;text-transform:uppercase}
.ccm-widget .ccm-dismiss-button{position:static !important;height:auto !important;line-height:1 !important;background:transparent !important;border:0 !important;font-size:16px !important;opacity:.55}
.ccm-widget .ccm-modal--body{padding-block:22px 14px !important;display:grid !important;gap:16px;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.ccm-widget .ccm-modal--body{grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,56px);padding-block:26px 16px !important}}
/* min-height:150px leaves a hole under short copy and forces an inner
   scrollbar that cuts mid-word. */
.ccm-widget .ccm-widget--text{min-height:0 !important;height:auto !important;overflow:visible !important}
.ccm-widget .ccm-inner-overflow{max-height:34vh !important;height:auto !important;overflow-y:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(#000 86%,transparent);mask-image:linear-gradient(#000 86%,transparent)}
.ccm-widget .ccm-inner-overflow::-webkit-scrollbar{display:none}
@media(min-width:900px){.ccm-widget .ccm-inner-overflow{max-height:none !important;-webkit-mask-image:none;mask-image:none}}
.ccm-widget .ccm-widget--title{font-size:clamp(15px,1.1vw,17px) !important;font-weight:700 !important;letter-spacing:-.01em !important;line-height:1.2 !important;margin:0 0 4px !important}
.ccm-widget .ccm-widget--introduction,.ccm-widget .ccm-widget--introduction *{font-size:12.5px !important;line-height:1.55 !important}
/* Three buttons, same size, one row: refusing stays as easy as agreeing. */
.ccm-widget .ccm-widget--buttons{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px !important;margin:0 !important}
@media(min-width:900px){.ccm-widget .ccm-widget--buttons{display:flex !important}.ccm-widget .ccm-widget--buttons button{min-width:148px}}
.ccm-widget .ccm-widget--buttons button{font:700 12.5px/1 "Helvetica Neue",Helvetica,Arial,sans-serif !important;letter-spacing:.01em !important;padding:13px 14px !important;border-radius:999px !important;border-width:1px !important;border-style:solid !important;cursor:pointer;transition:transform .15s ease}
.ccm-widget .ccm-widget--buttons button:hover{transform:translateY(-1px)}
.ccm-widget .ccm-modal--footer{display:flex !important;justify-content:space-between !important;align-items:center !important;flex-wrap:nowrap !important;gap:10px 20px !important;text-align:left !important;padding-block:12px 14px !important;border-top:1px solid rgba(244,243,239,.1)}
.ccm-widget .ccm-link-container{display:flex !important;gap:18px !important;flex-wrap:wrap;flex:0 1 auto !important;width:auto !important;margin:0 auto 0 0 !important;justify-content:flex-start !important}
.ccm-widget .ccm-link-container a{font-size:10.5px !important;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(244,243,239,.16)}
.ccm-widget .ccm-powered-by{flex:0 0 auto !important;width:auto !important;margin:0 !important;opacity:.45}
.ccm-widget .ccm-powered-by,.ccm-widget .ccm-powered-by a{font-size:9.5px !important;letter-spacing:.1em;text-decoration:none}
@media(max-width:620px){.ccm-widget .ccm-modal--footer{flex-wrap:wrap !important;justify-content:flex-start !important}.ccm-widget .ccm-powered-by{width:100% !important;text-align:left !important}}

/* Tweaks after the first design round. The two button colours belong in
   CCM19 > Themes (declineButton*), not here - move them when the dashboard
   is reachable. */
/* Reject: outline like Settings, but a full-strength border so it still
   reads as a primary choice next to the yellow Accept. */
.ccm-widget .ccm--decline-cookies{background:transparent !important;color:#F4F3EF !important;border-color:#F4F3EF !important}
/* Legal links: quiet grey, smaller. */
.ccm-widget .ccm-link-container a{color:rgba(244,243,239,.45) !important;font-size:9.5px !important;border-bottom-color:rgba(244,243,239,.12) !important}
.ccm-widget .ccm-link-container a:hover{color:rgba(244,243,239,.85) !important}
/* Body copy grey, not near-white: the title carries the weight. */
.ccm-widget .ccm-widget--introduction,.ccm-widget .ccm-widget--introduction *{color:rgba(244,243,239,.52) !important;opacity:1 !important}
/* CCM19 credit: grey, not yellow. Removing it entirely needs their paid
   whitelabel licence. */
.ccm-widget .ccm-powered-by,.ccm-widget .ccm-powered-by a{color:rgba(244,243,239,.3) !important;font-size:9px !important}
/* Language switch moves from the top right to the bottom left. The header
   row is reordered below the footer; the close button is pinned back to the
   top right so it stays where people look for it. */
.ccm-widget .ccm-modal-inner{display:flex !important;flex-direction:column !important;align-items:stretch !important}
.ccm-widget .ccm-modal--body{order:1 !important}
.ccm-widget .ccm-modal--footer{order:2 !important}
.ccm-widget .ccm-modal--header{order:3 !important;justify-content:space-between !important;padding-block:0 12px !important;min-height:0 !important}
.ccm-widget .ccm-widget--language-switch img{width:11px !important;height:11px !important;opacity:.38}
.ccm-widget .ccm-widget--language-select{font-size:9.5px !important;letter-spacing:.1em;color:rgba(244,243,239,.45) !important}
.ccm-widget .ccm-dismiss-button{position:static !important;opacity:.45}

/* ── Der Wiederöffner ─────────────────────────────────────────────────
   CCM19 klebt nach der Zustimmung ein gelbes Keks-Symbol unten links auf
   die Seite. Das ist größer und lauter als alles andere auf dieser Seite.
   Weg damit — die Einstellungen sind über den Link im Footer erreichbar,
   und widerrufen kann man die Zustimmung damit genauso. */
.ccm-settings-summoner--link,
.ccm-settings-summoner--icon,
.ccm-settings-summoner{display:none !important}

/* ── Das Einstellungsfenster ──────────────────────────────────────────
   Der Balken unten war gestaltet, dieses Fenster nicht: grauer Kasten,
   Systemschrift, runde Ecken. Hier bekommt es denselben Ton wie die
   Seite. `.ccm-root` ohne id ist das Fenster, `#ccm-widget` der Balken —
   deshalb greift das hier nicht in den Balken hinein. */
#ccm-control-panel{background:rgba(5,5,5,.72) !important;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#ccm-control-panel .ccm-modal-inner{
  background:#0B0B0B !important;color:#F4F3EF !important;
  border:1px solid rgba(244,243,239,.12) !important;border-radius:14px !important;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85) !important;
  font-family:"Plus Jakarta Sans","Helvetica Neue",Helvetica,Arial,sans-serif !important;
  max-width:620px !important;overflow:hidden !important}

#ccm-control-panel .ccm-modal--header{
  padding:clamp(22px,3vw,32px) clamp(20px,2.6vw,34px) 0 !important;
  border:0 !important;background:transparent !important}
#ccm-control-panel .ccm-modal--title{
  font-size:clamp(1.25rem,1rem + .8vw,1.7rem) !important;font-weight:800 !important;
  letter-spacing:-.04em !important;line-height:1.05 !important;color:#F4F3EF !important;
  margin:0 !important;text-transform:none !important}
#ccm-control-panel .ccm-modal--subline,
#ccm-control-panel .ccm-modal--subline *{
  color:rgba(244,243,239,.5) !important;font-size:13px !important;line-height:1.5 !important;
  margin:.6rem 0 0 !important}

#ccm-control-panel .ccm-modal--body{
  padding:clamp(16px,2vw,24px) clamp(20px,2.6vw,34px) !important;background:transparent !important}
/* Eine Zeile je Kategorie, getrennt durch eine Haarlinie statt durch Kästen. */
#ccm-control-panel .ccm-control-panel--purpose{
  padding:clamp(14px,1.6vw,19px) 0 !important;margin:0 !important;
  border:0 !important;border-top:1px solid rgba(244,243,239,.1) !important;
  background:transparent !important;font-size:15px !important;font-weight:700 !important;
  letter-spacing:-.015em !important;color:#F4F3EF !important}
#ccm-control-panel .ccm-control-panel--purpose:first-child{border-top:0 !important}
#ccm-control-panel .ccm-control-panel--purpose--description{
  color:rgba(244,243,239,.45) !important;font-size:12.5px !important;font-weight:400 !important;
  line-height:1.5 !important;margin-top:.45rem !important;max-width:52ch !important}
/* Das Fragezeichen neben der Kategorie. */
#ccm-control-panel .ccm-info-button{
  background:transparent !important;border:1px solid rgba(244,243,239,.25) !important;
  color:rgba(244,243,239,.55) !important;width:18px !important;height:18px !important;
  line-height:16px !important;font-size:11px !important;border-radius:50% !important;
  padding:0 !important;transition:color .25s,border-color .25s}
#ccm-control-panel .ccm-info-button:hover{
  color:#0A0A09 !important;background:var(--yellow,#FFF200) !important;
  border-color:var(--yellow,#FFF200) !important}

#ccm-control-panel .ccm-modal--footer{
  padding:clamp(16px,2vw,22px) clamp(20px,2.6vw,34px) clamp(20px,2.4vw,28px) !important;
  border-top:1px solid rgba(244,243,239,.1) !important;background:transparent !important;
  display:flex !important;gap:10px !important;justify-content:flex-end !important}
#ccm-control-panel .ccm-modal--footer button{
  border-radius:999px !important;padding:.78em 1.5em !important;font-size:13.5px !important;
  font-weight:700 !important;letter-spacing:-.01em !important;cursor:pointer !important;
  transition:background .25s,color .25s,border-color .25s}
#ccm-control-panel .ccm-modal--close{
  background:transparent !important;color:#F4F3EF !important;
  border:1px solid rgba(244,243,239,.3) !important}
#ccm-control-panel .ccm-modal--close:hover{border-color:#F4F3EF !important}
#ccm-control-panel .ccm--save-settings{
  background:var(--yellow,#FFF200) !important;color:#0A0A09 !important;border:0 !important}
#ccm-control-panel .ccm--save-settings:hover{filter:brightness(1.08)}

/* Der Schalter: aus ist eine graue Spur, an ist DDX-Gelb. */
#ccm-control-panel input.ccm-checkbox-type--switch{accent-color:var(--yellow,#FFF200)}
#ccm-control-panel input.ccm-checkbox-type--switch + label::before,
#ccm-control-panel input.ccm-checkbox-type--switch ~ label::before{
  background:rgba(244,243,239,.18) !important;border-color:rgba(244,243,239,.25) !important}
#ccm-control-panel input.ccm-checkbox-type--switch:checked + label::before,
#ccm-control-panel input.ccm-checkbox-type--switch:checked ~ label::before{
  background:var(--yellow,#FFF200) !important;border-color:var(--yellow,#FFF200) !important}

/* Lange Listen scrollen innen, nicht die Seite dahinter. */
#ccm-control-panel .ccm-modal--body{max-height:min(62svh,560px) !important;overflow-y:auto !important}
#ccm-control-panel .ccm-modal--body::-webkit-scrollbar{width:8px}
#ccm-control-panel .ccm-modal--body::-webkit-scrollbar-thumb{
  background:rgba(244,243,239,.18);border-radius:99px}
