.ies-cc[hidden]{display:none;}
.ies-cc{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-end;justify-content:flex-start;
  opacity:0;transition:opacity .28s ease;
  font-family:var(--body,'IBM Plex Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif);}
.ies-cc.is-visible{opacity:1;}
.ies-cc__scrim{position:absolute;inset:0;background:rgba(10,10,10,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.ies-cc__panel{position:relative;margin:0 0 clamp(16px,4vw,40px) clamp(16px,4vw,40px);
  width:calc(100% - 32px);max-width:460px;max-height:calc(100vh - 32px);overflow:auto;
  background:#141414;color:#EDEBE7;border:1px solid rgba(255,255,255,.08);border-radius:16px;
  padding:22px 22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.5);
  transform:translateY(12px);transition:transform .28s ease;}
.ies-cc.is-visible .ies-cc__panel{transform:none;}

.ies-cc__eyebrow{font-family:var(--mono,'IBM Plex Mono',ui-monospace,monospace);font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:#E8352A;margin:0 0 6px;}
.ies-cc__title{font-family:var(--display,'Archivo',sans-serif);font-weight:800;font-size:20px;line-height:1.15;margin:0 0 8px;color:#fff;}
.ies-cc__desc{font-size:13.5px;line-height:1.6;color:#C7C3BC;margin:0 0 14px;}
.ies-cc__desc a{color:#fff;text-decoration:underline;text-underline-offset:2px;}

.ies-cc__cats{display:flex;flex-direction:column;margin:0 0 14px;border-top:1px solid rgba(255,255,255,.08);}
.ies-cc__cat{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.ies-cc__cat-text{flex:1;min-width:0;}
.ies-cc__cat-text b{display:block;font-size:13.5px;font-weight:600;color:#fff;margin-bottom:3px;}
.ies-cc__cat-text>span{display:block;font-size:12px;line-height:1.5;color:#A7A29B;}
.ies-cc__always{font-family:var(--mono,'IBM Plex Mono',ui-monospace,monospace);font-size:9.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:#79D98F;margin-left:8px;vertical-align:middle;}

.ies-cc__cookies{list-style:none;margin:9px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;}
.ies-cc__cookies li{padding:8px 10px;background:rgba(255,255,255,.04);border-radius:8px;}
.ies-cc__cookies .cn{display:block;font-family:var(--mono,'IBM Plex Mono',ui-monospace,monospace);font-size:11px;color:#EDEBE7;word-break:break-word;}
.ies-cc__cookies .cm{display:block;font-size:10.5px;color:#8A857D;margin:1px 0 3px;}
.ies-cc__cookies .cp{display:block;font-size:11px;line-height:1.45;color:#9A948B;}

.ies-cc__switch{position:relative;flex:0 0 auto;width:40px;height:23px;display:inline-block;cursor:pointer;margin-top:1px;}
.ies-cc__switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.ies-cc__track{position:absolute;inset:0;background:#3a3a3a;border-radius:999px;transition:background .2s ease;}
.ies-cc__track:before{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .2s ease;}
.ies-cc__switch input:checked + .ies-cc__track{background:#E8352A;}
.ies-cc__switch input:checked + .ies-cc__track:before{transform:translateX(17px);}
.ies-cc__switch--locked{opacity:.55;cursor:not-allowed;}
.ies-cc__switch--locked input{cursor:not-allowed;}

.ies-cc__actions{display:flex;flex-wrap:wrap;gap:8px;}
.ies-cc__btn{flex:1 1 auto;min-width:106px;font-family:inherit;font-size:13px;font-weight:600;
  padding:10px 14px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:all .18s ease;}
.ies-cc__btn--primary{background:#E8352A;color:#fff;border-color:#E8352A;}
.ies-cc__btn--primary:hover{background:#C42117;border-color:#C42117;}
.ies-cc__btn--save{background:#fff;color:#141414;border-color:#fff;}
.ies-cc__btn--save:hover{background:#E9E9E9;}
.ies-cc__btn--ghost{background:transparent;color:#D8D4CD;border-color:rgba(255,255,255,.25);}
.ies-cc__btn--ghost:hover{border-color:#fff;color:#fff;}

@media (max-width:560px){
  .ies-cc{justify-content:center;}
  .ies-cc__panel{margin:0;width:100%;max-width:none;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;}
  .ies-cc__btn{flex:1 1 100%;}
}
