/* =========================================================
   Rechtstexte: Impressum, Datenschutz, Cookie-Richtlinie (EU)
   Quellen: Hello-Elementor reset.css/theme.css 3.5.1, Elementor post-297/post-3,
   Complianz document.min.css 7.5.5 (Cookie-Richtlinie)
   ========================================================= */

/* ---------- Fließtext-Typografie wie Hello-Elementor-Reset (base.css setzt h/p/ul auf 0) ---------- */
.lg-content h1, .lg-content h2, .lg-content h3,
.lg-content h4, .lg-content h5, .lg-content h6 {
  margin-block: .5rem 1rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
}
.lg-content h1 { font-size: 2.5rem; }
.lg-content h2 { font-size: 2rem; }
.lg-content h3 { font-size: 1.75rem; }
.lg-content h4 { font-size: 1.5rem; }
.lg-content h5 { font-size: 1.25rem; }
.lg-content h6 { font-size: 1rem; }
.lg-content p { margin-block: 0 .9rem; }
.lg-content ul { list-style: disc; margin-block: 0; padding-inline-start: 40px; }
.lg-content strong { font-weight: bolder; }
.lg-content a { color: #c36; }
.lg-content a:hover, .lg-content a:active { color: #336; }

/* ---------- Impressum (Shortcode-Widget, volle Inhaltsbreite) ---------- */
.lg-impressum { display: flow-root; }

/* ---------- Datenschutz (Heading- + Text-Editor-Widget) ---------- */
.lg-ds {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.lg-ds-title {
  margin: 0 0 0 20px;
  font-family: var(--f-heading);
  font-size: 65px;
  font-weight: 600;
  line-height: 1.2em;
  color: var(--c-primary);
}
.lg-ds-text {
  margin: 0 20px;
  font-family: var(--f-text);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  text-align: start;
  color: #000000CC;
}

/* ---------- Cookie-Richtlinie: Hello-Theme-Seitenlayout (kein Elementor) ---------- */
.lg-site-main { width: 100%; margin-inline: auto; }
.lg-entry-title {
  margin-block: .5rem 1rem;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.2;
}
.lg-content.lg-cmplz a { text-decoration: underline; }

/* Complianz-Dokument */
.lg-cmplz { max-width: 800px; font-size: 14px; }
.lg-cmplz h2, .lg-cmplz h3 {
  margin-block: 15px 10px;
  padding-bottom: 10px;
  font-size: 22px;
  text-align: left;
}
.lg-cmplz p, .lg-cmplz li { font-size: 14px; margin-top: 0; }
.lg-cmplz ul { margin-left: 15px; margin-bottom: 15px; }
.lg-cmplz a[target="_blank"]::after {
  content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==");
  margin: 0 3px 0 5px;
}
.lg-cmplz a:focus { border: 1px solid #000; padding: 2px; }

/* 6. Platzierte Cookies – Aufklapp-Liste je Dienst */
.ck-service, .ck-category { background-color: rgba(239, 239, 239, .25); }
.ck-service[open], .ck-category[open] { padding-bottom: 1px; }
.lg-cmplz summary {
  display: grid;
  align-items: center;
  column-gap: 15px;
  margin: 5px 0;
  padding: 5px 10px;
  background-color: rgba(239, 239, 239, .5);
  cursor: pointer;
  list-style: none;
}
.lg-cmplz summary::-webkit-details-marker { display: none; }
.lg-cmplz summary::after {
  content: "";
  width: 18px;
  height: 18px;
  margin: 3px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z'/%3E%3C/svg%3E") no-repeat;
  background-size: cover;
  transition: transform .5s ease;
}
.lg-cmplz details[open] > summary::after { transform: rotate(180deg); }

/* Kopfzeile Dienst: Name | Kategorien | (Platz der versteckten Einwilligungs-Checkbox) | Pfeil */
.ck-service > summary { grid-template-columns: 2fr auto 25px; }
.ck-service > summary h3 {
  margin: 0;
  padding: 0 5px;
  font-size: 18px;
}
.ck-cats {
  margin-right: 30px; /* 2 × 15px Spaltenabstand der ausgeblendeten Label-/Checkbox-Spalten */
  font-size: 14px;
  text-align: right;
}
.ck-use, .ck-share {
  display: inline-block;
  width: calc(50% - 35px);
  padding: 0 15px 15px;
  vertical-align: top;
}
/* h4: Elementor-Kit (Farbe, Gewicht) + Complianz (15px, Abstände, text-transform: initial) */
.lg-cmplz .ck-service h4 {
  margin: 5px 0;
  padding: 0 15px;
  font-family: var(--f-heading);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-align: left;
  color: var(--c-primary);
}
.lg-cmplz .ck-service p { padding: 0 15px; }

/* Cookie-Tabelle je Zweck (Raster wie Complianz: Kopfzeile + Name | Ablaufdatum | Funktion) */
.ck-purpose {
  display: grid;
  gap: 1px;
  margin-bottom: 10px;
  border: 1px solid #dadada;
  background-color: #dadada;
}
.lg-cmplz .ck-purpose h4 { margin: 0; padding: 20px 30px; background: #fff; }
.ck-cookies {
  display: grid;
  grid-template-columns: repeat(3, auto); /* Original: grid-template-Kurzform setzt die 1fr-Spalten zurück → auto */
  gap: 1px;
  margin: 0;
}
.ck-cookies dt, .ck-cookies dd {
  margin: 0;
  padding: 15px;
  background: #fff;
  min-width: 0;
}
.ck-cookies dt { font-size: 14px; font-weight: 500; line-height: 1.2; background: #f7f7f7; }
.ck-cookies dt:nth-of-type(3n+1) { grid-area: 1 / 1; }
.ck-cookies dt:nth-of-type(3n+2) { grid-area: 1 / 2; }
.ck-cookies dt:nth-of-type(3n) { grid-area: 1 / 3; }
.lg-cmplz .ck-cookies a { font-size: 14px; }

/* 7.1 Einwilligungseinstellungen (statisch; im Original per JS/REST von Complianz geladen) */
.ck-consent { margin-top: 10px; }
.ck-category:not(:last-child) { margin-bottom: 5px; }
.lg-cmplz .ck-category > summary {
  grid-template-columns: 1fr auto 25px;
  column-gap: 10px;
  margin: 0;
}
.lg-cmplz .ck-category > summary::after {
  width: 25px;
  height: 25px;
  margin: 0;
  background-size: auto 18px;
  background-position: center;
}
.ck-always { font-size: 12px; color: green; }
.ck-category input { display: block; margin: 3px 0 3px 4px; }
.lg-cmplz .ck-category p { margin: 0; padding: 10px; }

@media (max-width: 600px) {
  .ck-use, .ck-share { width: 100%; }
  .ck-cookies { grid-template-columns: 100px 1fr; }
  .ck-cookies dt { grid-area: auto !important; line-height: 1.8; background: #fff; }
  .ck-cookies > :nth-child(12n+1), .ck-cookies > :nth-child(12n+2), .ck-cookies > :nth-child(12n+3),
  .ck-cookies > :nth-child(12n+4), .ck-cookies > :nth-child(12n+5), .ck-cookies > :nth-child(12n+6) {
    background: #f7f7f7;
  }
}

/* Hello-Theme-Inhaltsbreiten (eigene Breakpoints des Themes) */
@media (max-width: 575px) {
  .lg-site-main, .lg-entry-title { padding-inline: 10px; }
}
@media (min-width: 576px) { .lg-site-main { max-width: 500px; } }
@media (min-width: 768px) { .lg-site-main { max-width: 600px; } }
@media (min-width: 992px) { .lg-site-main { max-width: 800px; } }
@media (min-width: 1200px) { .lg-site-main { max-width: 1140px; } }

/* ---------- Tablet ≤ 1024px ---------- */
@media (max-width: 1024px) {
  .lg-ds-title { font-size: 45px; }
  .lg-ds-text { line-height: 1.5; }
}

/* ---------- Mobil ≤ 767px ---------- */
@media (max-width: 767px) {
  .lg-ds-title { font-size: 28px; line-height: 1.1em; }
  .lg-ds-text { line-height: 1.4; }
}
