/* 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:18px;
}

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

.mc-backdrop{position:absolute;inset:0;background:var(--mc-backdrop);backdrop-filter:saturate(180%) blur(6px);}

.mc-modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;}

.mc-card{
  width:min(860px,calc(100vw - 44px));
  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 18px 60px rgba(2,6,23,.25);
  overflow:hidden;
}

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

.mc-title{font-weight:750;font-size:22px;letter-spacing:-.02em;}
.mc-message{margin-top:8px;line-height:1.55;color:var(--mc-muted);font-size:15px;}

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

.mc-close{
  width:38px;height:38px;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;
}
.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:12px 22px;
  background:transparent;
  border:0;
  color:var(--mc-primary);
  font-weight:700;
  cursor:pointer;
}

.mc-details{
  padding:0 22px 10px;
}

.mc-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--mc-border);}
.mc-row:first-child{border-top:1px solid var(--mc-border);} /* keep separator under toggle */

.mc-row-label{font-size:18px;font-weight:760;letter-spacing:-.01em;}
.mc-row-desc{margin-top:4px;color:var(--mc-muted);font-size:13.5px;line-height:1.35;}

/* Switch */
.mc-switch{position:relative;display:inline-flex;align-items:center;}
.mc-switch input{opacity:0;position:absolute;inset:0;}
.mc-slider{
  width:52px;height:28px;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:22px;height:22px;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:27px;}
.mc-switch-locked{opacity:.65;cursor:not-allowed;}

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

.mc-btn{border-radius:999px;padding:10px 16px;font-weight:750;font-size:14px;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;}
.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 button */
.mc-fab{
  position:fixed;
  right:var(--mc-fab-right,18px);
  bottom:var(--mc-fab-bottom,88px);
  width:54px;height:54px;border-radius:18px;
  border:1px solid var(--mc-border);
  background:var(--mc-bg);
  box-shadow:0 16px 40px rgba(2,6,23,.20);
  cursor:pointer;
  z-index:999998;
}
.mc-fab:hover{border-color:color-mix(in srgb, var(--mc-primary) 50%, var(--mc-border));}
.mc-fab-icon{display:grid;place-items:center;width:100%;height:100%;}
.mc-fab svg{width:26px;height:26px;fill:var(--mc-primary);}

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

@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 */
@media (max-width: 640px){
  .mc-card{width:calc(100vw - 28px);} 
  .mc-title{font-size:20px;}
  .mc-row-label{font-size:16px;}
  .mc-actions{justify-content:stretch;}
  .mc-actions .mc-btn{flex:1;}
}
