/* PUCo – eigenes Cookie-Consent (1:1-Nachbau des Borlabs-Dialogs „Datenschutz-
   Präferenz") + Formular-Status + KI-Label. Farben exakt aus der ursprünglichen
   Borlabs-Konfiguration, Akzentfarbe an die Website angepasst: Stahlblau
   #4d648d / #56709d, Navy-Akzent #283655, Karten #f2f2f2, Footer #fafafa. */

#puco-cc{
  position:fixed;inset:0;z-index:2147483000;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
#puco-cc *{box-sizing:border-box;}
#puco-cc .puco-cc-backdrop{position:absolute;inset:0;background:rgba(18,24,38,.55);}
#puco-cc .puco-cc-box{
  position:relative;margin:5vh auto 0;background:#fff;color:#1d1d1d;
  border-radius:8px;box-shadow:0 14px 50px rgba(0,0,0,.32);
  display:flex;flex-direction:column;max-height:90vh;animation:puco-cc-in .26s ease;
}
#puco-cc .puco-cc-box.is-details{max-width:920px;width:calc(100% - 40px);}
#puco-cc .puco-cc-box.is-entrance{max-width:560px;width:calc(100% - 40px);margin-top:6vh;padding:24px 26px 20px;}
@keyframes puco-cc-in{from{opacity:0;transform:translateY(-14px);}to{opacity:1;transform:none;}}

/* Kopf */
#puco-cc .puco-cc-head{display:flex;align-items:center;gap:12px;padding:20px 24px 16px;border-bottom:1px solid #e6e6e6;}
#puco-cc .is-entrance .puco-cc-head{padding:0 0 14px;margin-bottom:14px;}
#puco-cc .puco-cc-logo{width:40px;height:40px;object-fit:contain;flex:0 0 auto;}
#puco-cc .puco-cc-title{margin:0;font-size:23px;font-weight:700;color:#253144;flex:1 1 auto;}
#puco-cc .puco-cc-headlinks{display:flex;gap:20px;margin-right:36px;}
#puco-cc .puco-cc-headlinks a{font-size:15px;color:#000;text-decoration:none;font-weight:500;}
#puco-cc .puco-cc-headlinks a:hover{text-decoration:underline;color:#1f1f1f;}
#puco-cc .puco-cc-x{position:absolute;top:12px;right:16px;z-index:2;border:0;background:none;font-size:30px;line-height:1;color:#283655;cursor:pointer;padding:0 4px;}
#puco-cc .puco-cc-x:hover{color:#000;}

/* Einleitung + Tabs */
#puco-cc .puco-cc-intro{margin:0;padding:16px 24px 14px;font-size:14.5px;line-height:1.6;color:#333;}
#puco-cc .puco-cc-tabs{display:flex;gap:2px;padding:0 24px;border-bottom:1px solid #e6e6e6;overflow-x:auto;}
#puco-cc .puco-cc-tab{
  appearance:none;border:1px solid transparent;border-bottom:0;background:#fff;color:#000;
  font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;
  padding:12px 20px;white-space:nowrap;border-radius:6px 6px 0 0;margin-bottom:-1px;
}
#puco-cc .puco-cc-tab:hover{color:#4d648d;}
#puco-cc .puco-cc-tab.is-active{background:#4d648d;color:#fff;border-color:#56709d;}

/* Inhaltsbereich (scrollt) */
#puco-cc .puco-cc-panel{flex:1 1 auto;overflow-y:auto;padding:18px 24px;min-height:140px;}
#puco-cc .puco-cc-toolbar{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:14px;}
#puco-cc .puco-cc-selbtn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;border:0;border-radius:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;background:#283655;color:#fff;transition:background .15s ease;}
#puco-cc .puco-cc-selbtn:hover{background:#000;}
#puco-cc .puco-cc-selico{width:15px;height:15px;flex:0 0 auto;}

/* Karte (Service-Gruppe / Service / Provider) */
#puco-cc .puco-cc-card{display:flex;gap:14px;align-items:flex-start;background:#f2f2f2;border-radius:6px;padding:16px 18px;margin-bottom:12px;}
#puco-cc .puco-cc-card-main{flex:1 1 auto;min-width:0;}
#puco-cc .puco-cc-card-aside{flex:0 0 auto;padding-top:2px;}
#puco-cc .puco-cc-card-head{display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
#puco-cc .puco-cc-card-title{font-size:15px;font-weight:700;color:#253144;}
#puco-cc .puco-cc-card-desc{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:#4d4d4d;}
#puco-cc .puco-cc-badge{font-size:11px;font-weight:600;color:#6b7280;background:#e6e6e6;border-radius:4px;padding:2px 8px;}
#puco-cc .puco-cc-muted{color:#6b7280;}

/* „Informationen anzeigen" */
#puco-cc .puco-cc-more{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#283655;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0;line-height:1.3;white-space:nowrap;}
#puco-cc .puco-cc-more:hover{color:#4d4d4d;}
#puco-cc .puco-cc-more-ico{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .15s ease;}
#puco-cc .puco-cc-card.is-open > .puco-cc-card-aside .puco-cc-more-ico,
#puco-cc .puco-cc-subsrv.is-open > .puco-cc-subsrv-head .puco-cc-more-ico{transform:rotate(-135deg);margin-top:2px;}
#puco-cc .puco-cc-details{display:none;margin-top:14px;padding-top:14px;border-top:1px solid #e6e6e6;}
#puco-cc .puco-cc-card.is-open > .puco-cc-card-main > .puco-cc-details{display:block;}
#puco-cc .puco-cc-subsrv.is-open > .puco-cc-details{display:block;}
#puco-cc .puco-cc-details-h{margin:0 0 8px;font-size:13px;font-weight:600;color:#253144;}
#puco-cc .puco-cc-svclist{margin:0;padding-left:18px;font-size:13px;line-height:1.7;color:#4d4d4d;}
#puco-cc .puco-cc-subsrv{padding:10px 0;border-bottom:1px solid #e6e6e6;}
#puco-cc .puco-cc-subsrv:last-child{border-bottom:0;padding-bottom:0;}
#puco-cc .puco-cc-subsrv-head{display:flex;align-items:center;gap:11px;}
#puco-cc .puco-cc-subsrv-txt{flex:1 1 auto;min-width:0;font-size:13.5px;color:#253144;}
#puco-cc .puco-cc-kv{margin:0 0 7px;font-size:13px;line-height:1.55;color:#333;}
#puco-cc .puco-cc-kv b{color:#253144;}
#puco-cc .puco-cc-kv a{color:#283655;word-break:break-all;}

/* Custom-Checkbox (Service-Gruppen) */
#puco-cc .puco-cc-check-wrap{position:relative;display:inline-flex;flex:0 0 auto;cursor:pointer;}
#puco-cc .puco-cc-check-input{position:absolute;left:0;top:0;opacity:0;width:22px;height:22px;margin:0;cursor:pointer;}
#puco-cc .puco-cc-check{width:22px;height:22px;border-radius:6px;background:#e6e6e6;border:2px solid #b6bbc2;position:relative;transition:background .15s ease,border-color .15s ease;}
#puco-cc .puco-cc-check-input:checked + .puco-cc-check{background:#4d648d;border-color:#56709d;}
#puco-cc .puco-cc-check-input:checked + .puco-cc-check::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
#puco-cc .puco-cc-check-input:indeterminate + .puco-cc-check{background:#4d648d;border-color:#56709d;}
#puco-cc .puco-cc-check-input:indeterminate + .puco-cc-check::after{content:"";position:absolute;left:4px;top:9px;width:12px;height:0;border-bottom:2px solid #fff;}
#puco-cc .puco-cc-check-input:disabled{cursor:default;}
#puco-cc .puco-cc-check-input:disabled + .puco-cc-check{background:#e6e6e6;border-color:#e6e6e6;}
#puco-cc .puco-cc-check-input:disabled:checked + .puco-cc-check::after{border-color:#999;}

/* Custom-Switch (Services) */
#puco-cc .puco-cc-switch-wrap{position:relative;display:inline-flex;flex:0 0 auto;cursor:pointer;}
#puco-cc .puco-cc-switch-input{position:absolute;left:0;top:0;opacity:0;width:46px;height:26px;margin:0;cursor:pointer;}
#puco-cc .puco-cc-switch{width:46px;height:26px;border-radius:13px;background:#e6e6e6;position:relative;transition:background .15s ease;}
#puco-cc .puco-cc-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#000;transition:transform .15s ease,background .15s ease;}
#puco-cc .puco-cc-switch-input:checked + .puco-cc-switch{background:#4d648d;}
#puco-cc .puco-cc-switch-input:checked + .puco-cc-switch::after{transform:translateX(20px);background:#fff;}
#puco-cc .puco-cc-switch-input:disabled{cursor:default;}

/* Tabellen (Cookies / Historie) */
#puco-cc .puco-cc-tablewrap{overflow-x:auto;margin-top:10px;}
#puco-cc .puco-cc-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:520px;}
#puco-cc .puco-cc-table th,#puco-cc .puco-cc-table td{text-align:left;padding:7px 9px;border-bottom:1px solid #f0f0f0;vertical-align:top;color:#333;}
#puco-cc .puco-cc-table th{background:#fafafa;font-weight:700;color:#253144;white-space:nowrap;}
#puco-cc .puco-cc-table tr:nth-child(even) td{background:#fafafa;}
#puco-cc .puco-cc-histtable tr:nth-child(even) td{background:transparent;}
#puco-cc .puco-cc-histtable td{border-bottom:0;vertical-align:top;line-height:1.55;}
#puco-cc .puco-cc-histtable .puco-cc-uidrow td{text-align:center;font-size:11.5px;color:#6b7280;letter-spacing:.02em;padding:3px 9px 14px;border-bottom:1px solid #e6e6e6;}
#puco-cc .puco-cc-yes{color:#1e6b34;font-weight:600;}
#puco-cc .puco-cc-no{color:#a72828;font-weight:600;}
#puco-cc .puco-cc-empty{font-size:14px;color:#6b7280;padding:24px 0;text-align:center;}

/* Footer-Buttons */
#puco-cc .puco-cc-footer{display:flex;gap:10px;padding:16px 24px;background:#fafafa;border-top:1px solid #e6e6e6;border-radius:0 0 8px 8px;flex-wrap:wrap;}
#puco-cc .puco-cc-btn{flex:1 1 auto;cursor:pointer;border:0;border-radius:6px;padding:13px 16px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.25;background:#4d648d;color:#fff;transition:background .15s ease;}
#puco-cc .puco-cc-btn:hover{background:#253144;}

/* Einstiegs-Banner */
#puco-cc .puco-cc-ebody p{margin:0 0 10px;font-size:14px;line-height:1.55;color:#4d4d4d;}
#puco-cc .puco-cc-ebody a{color:#283655;text-decoration:underline;}
#puco-cc .puco-cc-ebtns{display:flex;flex-direction:column;gap:8px;margin-top:16px;}
#puco-cc .is-entrance .puco-cc-btn{flex:0 0 auto;}
#puco-cc .puco-cc-prefs{display:block;width:100%;margin-top:8px;background:none;border:0;color:#283655;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;padding:6px;text-align:center;}
#puco-cc .puco-cc-prefs:hover{color:#4d4d4d;text-decoration:underline;}
#puco-cc .puco-cc-links{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:14px;}
#puco-cc .puco-cc-links a{font-size:12.5px;color:#6b7280;text-decoration:none;}
#puco-cc .puco-cc-links a:hover{text-decoration:underline;}
#puco-cc .puco-cc-links span{color:#c9c9c9;}

@media (max-width:640px){
  #puco-cc .puco-cc-box.is-details,#puco-cc .puco-cc-box.is-entrance{margin:0;border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%;}
  #puco-cc .puco-cc-head{flex-wrap:wrap;padding:16px 16px 12px;}
  #puco-cc .puco-cc-headlinks{width:100%;margin:8px 0 0 52px;gap:16px;}
  #puco-cc .puco-cc-title{font-size:20px;}
  #puco-cc .puco-cc-intro,#puco-cc .puco-cc-tabs,#puco-cc .puco-cc-panel,#puco-cc .puco-cc-footer{padding-left:16px;padding-right:16px;}
  #puco-cc .puco-cc-footer{flex-direction:column;}
}

/* Rückmeldung nach dem Absenden des Kontaktformulars */
.puco-form-status{
  margin-top:16px;padding:13px 18px;border-radius:4px;font-size:15px;line-height:1.5;display:none;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.puco-form-status.ok{display:block;background:#e6f4ea;color:#1e6b34;border:1px solid #b7dfc4;}
.puco-form-status.err{display:block;background:#fdecea;color:#8a1c1c;border:1px solid #f5c2c0;}

/* ------------------------------------------------------------------ *
 *  KI-Label: Kennzeichnung KI-generierter Bilder (Dateien "-ki-generiert").
 *  Wird per puco.js auf jedes solche Bild gesetzt – auch in Übersichten/Teasern.
 * ------------------------------------------------------------------ */
.puco-ki-wrap{position:relative;display:inline-block;max-width:100%;line-height:0;vertical-align:top;}
.puco-ki-anchor{position:relative;}
.puco-ki-badge{
  position:absolute;left:6px;bottom:6px;z-index:6;pointer-events:none;
  background:rgba(40,54,85,.82);color:#fff;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:11px;line-height:1;font-weight:600;letter-spacing:.02em;
  padding:5px 7px;border-radius:4px;white-space:nowrap;
  box-shadow:0 1px 4px rgba(0,0,0,.28);
}
@media (max-width:782px){
  .puco-ki-badge{font-size:10px;padding:4px 6px;left:5px;bottom:5px;}
}
