/* Master Cookie – modern UI */
:root{
  --mc-primary:#2563eb;
  --mc-bg:#ffffff;
  --mc-text:#0f172a;
  --mc-muted:#64748b;
  --mc-border:#e2e8f0;
  --mc-backdrop:rgba(2,6,23,0.55);
  --mc-radius:20px;
}

.mc-root{
  position:fixed;
  inset:0;
  z-index:999999;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  pointer-events:none;
}
.mc-root[hidden]{display:none!important;}

/* Desktop/Tablet: kein Vollbild-Backdrop, sondern kleiner Drawer unten rechts */
.mc-backdrop{display:none;}

.mc-modal{
  position:absolute;
  right:24px;
  bottom:24px;
  width:min(430px,calc(100vw - 48px));
  max-width:430px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:0;
  pointer-events:none;
}

.mc-card{
  width:100%;
  max-height:calc(100vh - 48px);
  background:var(--mc-bg);
  color:var(--mc-text);
  border:1px solid color-mix(in srgb, var(--mc-border) 90%, transparent);
  border-radius:var(--mc-radius);
  box-shadow:0 22px 70px rgba(2,6,23,.24), 0 2px 12px rgba(2,6,23,.10);
  overflow:auto;
  pointer-events:auto;
}

.mc-top{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding:18px 18px 8px;}

.mc-title{font-weight:780;font-size:19px;letter-spacing:-.025em;line-height:1.2;}
.mc-message{margin-top:7px;line-height:1.48;color:var(--mc-muted);font-size:13.5px;}

.mc-privacy{margin-top:9px;}
.mc-privacy a{color:var(--mc-primary);text-decoration:none;font-weight:650;font-size:13px;}
.mc-privacy a:hover{text-decoration:underline;}

.mc-close{
  width:34px;height:34px;border-radius:12px;
  border:1px solid var(--mc-border);
  background:color-mix(in srgb, var(--mc-bg) 94%, #000);
  color:var(--mc-muted);
  font-size:22px;line-height:0;
  display:grid;place-items:center;
  cursor:pointer;
  flex:0 0 auto;
}
.mc-close:hover{color:var(--mc-text);border-color:color-mix(in srgb, var(--mc-border) 55%, var(--mc-text));}

.mc-toggle-details{
  width:100%;
  text-align:left;
  padding:10px 18px;
  background:transparent;
  border:0;
  color:var(--mc-primary);
  font-weight:760;
  font-size:13.5px;
  cursor:pointer;
}

.mc-details{
  padding:0 18px 8px;
}

.mc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--mc-border);}
.mc-row:first-child{border-top:1px solid var(--mc-border);}

.mc-row-label{font-size:15.5px;font-weight:760;letter-spacing:-.01em;}
.mc-row-desc{margin-top:3px;color:var(--mc-muted);font-size:12.5px;line-height:1.34;}

/* Switch */
.mc-switch{position:relative;display:inline-flex;align-items:center;}
.mc-switch input{opacity:0;position:absolute;inset:0;}
.mc-slider{
  width:48px;height:26px;border-radius:999px;
  background:color-mix(in srgb, var(--mc-border) 80%, #000);
  border:1px solid var(--mc-border);
  position:relative;
  transition:all .18s ease;
}
.mc-slider:before{
  content:"";
  width:20px;height:20px;border-radius:999px;
  background:var(--mc-bg);
  position:absolute;top:50%;left:3px;transform:translateY(-50%);
  box-shadow:0 6px 18px rgba(2,6,23,.18);
  transition:all .18s ease;
}
.mc-switch input:checked + .mc-slider{
  background:color-mix(in srgb, var(--mc-primary) 86%, #000);
  border-color:color-mix(in srgb, var(--mc-primary) 70%, var(--mc-border));
}
.mc-switch input:checked + .mc-slider:before{left:23px;}
.mc-switch-locked{opacity:.65;cursor:not-allowed;}

.mc-actions{
  display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;
  padding:14px 18px 18px;
  border-top:1px solid var(--mc-border);
  background:color-mix(in srgb, var(--mc-bg) 96%, #000);
}

.mc-btn{border-radius:999px;padding:9px 14px;font-weight:760;font-size:13px;border:1px solid var(--mc-border);cursor:pointer;}
.mc-btn-primary{background:var(--mc-primary);border-color:color-mix(in srgb, var(--mc-primary) 75%, #000);color:#fff;box-shadow:0 10px 24px color-mix(in srgb, var(--mc-primary) 22%, transparent);}
.mc-btn-primary:hover{filter:brightness(.96);}
.mc-btn-ghost{background:transparent;color:var(--mc-text);}
.mc-btn-ghost:hover{background:color-mix(in srgb, var(--mc-border) 35%, transparent);}

/* Floating Cookie Icon wurde entfernt: Öffnen läuft jetzt ausschließlich über Header/Shortcode. */
.mc-fab{display:none!important;}

/* Header-Integration: [master_cookie_icon] */
.mc-settings-icon{
  appearance:none;
  -webkit-appearance:none;
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--mc-border);
  background:var(--mc-bg);
  color:var(--mc-primary);
  box-shadow:0 10px 26px rgba(2,6,23,.10);
  cursor:pointer;
  line-height:1;
  padding:0;
  vertical-align:middle;
}
.mc-settings-icon:hover{
  border-color:color-mix(in srgb, var(--mc-primary) 48%, var(--mc-border));
  transform:translateY(-1px);
}
.mc-settings-icon-inner{display:grid;place-items:center;width:100%;height:100%;}
.mc-settings-icon svg{width:23px;height:23px;fill:currentColor;}
.mc-settings-link{cursor:pointer;}

/* Animations */
.mc-anim-none{animation:none!important;}

@keyframes mcDrawerIn{from{opacity:0;transform:translate3d(34px,34px,0) scale(.96);}to{opacity:1;transform:translate3d(0,0,0) scale(1);}}
@keyframes mcDrawerOut{from{opacity:1;transform:translate3d(0,0,0) scale(1);}to{opacity:0;transform:translate3d(28px,28px,0) scale(.97);}}

@keyframes mcFlipIn{from{transform:perspective(900px) rotateX(18deg) translateY(18px) scale(.98);opacity:0;}to{transform:perspective(900px) rotateX(0) translateY(0) scale(1);opacity:1;}}
@keyframes mcFadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
@keyframes mcSlideIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}

@keyframes mcFlipOut{from{transform:perspective(900px) rotateX(0) translateY(0) scale(1);opacity:1;}to{transform:perspective(900px) rotateX(-12deg) translateY(10px) scale(.98);opacity:0;}}
@keyframes mcFadeOut{from{opacity:1;}to{opacity:0;}}
@keyframes mcSlideOut{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(18px);}}

/* Mobile bleibt wie gehabt: mittiges Modal mit Backdrop. Mobile Landscape wird ebenfalls als Mobile behandelt. */
@media (max-width: 640px), (pointer: coarse) and (max-width: 980px) and (max-height: 520px){
  .mc-root{pointer-events:auto;}
  .mc-backdrop{display:block;position:absolute;inset:0;background:var(--mc-backdrop);backdrop-filter:saturate(180%) blur(6px);}
  .mc-modal{position:absolute;inset:0;width:auto;max-width:none;display:flex;align-items:center;justify-content:center;padding:22px;pointer-events:auto;}
  .mc-card{width:calc(100vw - 28px);max-height:calc(100vh - 28px);border-radius:18px;box-shadow:0 18px 60px rgba(2,6,23,.25);}
  .mc-top{padding:22px 22px 10px;gap:18px;}
  .mc-title{font-size:20px;}
  .mc-message{font-size:15px;line-height:1.55;}
  .mc-toggle-details{padding:12px 22px;font-size:14px;}
  .mc-details{padding:0 22px 10px;}
  .mc-row{gap:18px;padding:14px 0;}
  .mc-row-label{font-size:16px;}
  .mc-row-desc{font-size:13.5px;}
  .mc-slider{width:52px;height:28px;}
  .mc-slider:before{width:22px;height:22px;}
  .mc-switch input:checked + .mc-slider:before{left:27px;}
  .mc-actions{justify-content:stretch;padding:18px 22px 22px;gap:10px;}
  .mc-actions .mc-btn{flex:1;}
  .mc-btn{padding:10px 16px;font-size:14px;}
}
