/* =====================================================================
   Drymat Cookie Consent – DM26
   Google Consent Mode v2, granular (Notwendig / Statistik / Marketing)
   ===================================================================== */
:root{
  --cc-blue:#0068A3; --cc-blue-deep:#004B75; --cc-charcoal:#2d2d2d;
  --cc-grey:#f5f3f0; --cc-border:#e3e3e3; --cc-white:#fff;
  --cc-font:'Figtree',system-ui,-apple-system,sans-serif;
  --cc-font-head:'Urbanist',system-ui,sans-serif;
}
#dm-cc-root *{box-sizing:border-box;}
.dm-cc-hidden{display:none !important;}

/* Overlay (für Wall-Charakter: blockiert Interaktion bis Entscheidung) */
.dm-cc-overlay{
  position:fixed;inset:0;z-index:99998;
  background:rgba(20,30,40,.55);backdrop-filter:saturate(120%) blur(2px);
}

/* Banner */
.dm-cc-banner{
  position:fixed;z-index:99999;left:50%;bottom:24px;transform:translateX(-50%);
  width:min(960px,calc(100% - 32px));
  background:var(--cc-white);color:var(--cc-charcoal);
  border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);
  padding:28px 30px;font-family:var(--cc-font);font-size:15px;line-height:1.6;
}
.dm-cc-banner h2{
  font-family:var(--cc-font-head);font-size:21px;font-weight:700;
  margin:0 0 8px;color:var(--cc-charcoal);
}
.dm-cc-banner p{margin:0 0 18px;color:#444;}
.dm-cc-banner a{color:var(--cc-blue);text-decoration:underline;}
.dm-cc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.dm-cc-actions .dm-cc-spacer{flex:1 1 auto;}

.dm-cc-btn{
  font-family:var(--cc-font);font-size:15px;font-weight:600;cursor:pointer;
  border-radius:10px;padding:13px 22px;border:2px solid transparent;
  transition:background .2s,border-color .2s,color .2s;line-height:1;
}
.dm-cc-btn:focus-visible{outline:3px solid var(--cc-blue);outline-offset:2px;}
.dm-cc-btn--primary{background:var(--cc-blue);color:#fff;border-color:var(--cc-blue);}
.dm-cc-btn--primary:hover{background:var(--cc-blue-deep);border-color:var(--cc-blue-deep);}
.dm-cc-btn--secondary{background:#fff;color:var(--cc-charcoal);border-color:var(--cc-border);}
.dm-cc-btn--secondary:hover{background:var(--cc-grey);}
.dm-cc-btn--link{background:transparent;color:var(--cc-blue);border-color:transparent;text-decoration:underline;padding:13px 6px;}

/* Settings-Dialog */
.dm-cc-modal{
  position:fixed;z-index:100000;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(640px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;
  background:#fff;border-radius:16px;box-shadow:0 22px 60px rgba(0,0,0,.32);
  padding:30px;font-family:var(--cc-font);font-size:15px;line-height:1.6;color:var(--cc-charcoal);
}
.dm-cc-modal h2{font-family:var(--cc-font-head);font-size:22px;font-weight:700;margin:0 0 6px;}
.dm-cc-modal>p{color:#444;margin:0 0 20px;}
.dm-cc-group{border:1px solid var(--cc-border);border-radius:12px;padding:16px 18px;margin-bottom:14px;}
.dm-cc-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.dm-cc-group-head h3{font-family:var(--cc-font-head);font-size:16px;font-weight:700;margin:0;}
.dm-cc-group p{margin:8px 0 0;color:#555;font-size:14px;}

/* Toggle */
.dm-cc-switch{position:relative;display:inline-block;width:48px;height:26px;flex:0 0 auto;}
.dm-cc-switch input{opacity:0;width:0;height:0;}
.dm-cc-slider{position:absolute;cursor:pointer;inset:0;background:#c8ccd0;border-radius:26px;transition:.25s;}
.dm-cc-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.25s;}
.dm-cc-switch input:checked+.dm-cc-slider{background:var(--cc-blue);}
.dm-cc-switch input:checked+.dm-cc-slider:before{transform:translateX(22px);}
.dm-cc-switch input:disabled+.dm-cc-slider{background:var(--cc-blue);opacity:.55;cursor:not-allowed;}
.dm-cc-switch input:focus-visible+.dm-cc-slider{outline:3px solid var(--cc-blue);outline-offset:2px;}
.dm-cc-modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.dm-cc-modal-foot{margin-top:18px;font-size:13px;color:#777;}
.dm-cc-modal-foot a{color:var(--cc-blue);}

@media (max-width:600px){
  .dm-cc-banner{padding:22px 18px;bottom:0;border-radius:16px 16px 0 0;width:100%;}
  .dm-cc-actions .dm-cc-spacer{display:none;}
  .dm-cc-actions .dm-cc-btn{flex:1 1 100%;text-align:center;}
}
