:root{
  --pcg-cookie-cream:#FFF7ED;
  --pcg-cookie-peach:#FFD6A5;
  --pcg-cookie-terracotta:#C2410C;
  --pcg-cookie-turquoise:#14B8A6;
  --pcg-cookie-ink:#2B1E1A;
  --pcg-cookie-text:#5B4035;
}

.pcg-cookie-banner-center[hidden],
.pcg-cookie-settings-panel[hidden],
.pcg-cookie-main[hidden]{
  display:none !important;
}

.pcg-cookie-banner-center{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) translateY(28px);
  width:min(92vw, 520px);
  max-height:calc(100vh - 48px);
  overflow:auto;
  background:rgba(255,247,237,.98);
  color:var(--pcg-cookie-text);
  border:1px solid rgba(194,65,12,.22);
  border-radius:24px;
  box-shadow:0 24px 80px rgba(43,30,26,.24);
  padding:22px;
  z-index:2147483000;
  font-family:Inter, Arial, sans-serif;
  font-size:15px;
  line-height:1.55;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}

.pcg-cookie-banner-center.show{
  transform:translateX(-50%) translateY(0);
  opacity:1;
  pointer-events:auto;
}

.pcg-cookie-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.pcg-cookie-title{
  color:var(--pcg-cookie-ink);
  font-size:22px;
  line-height:1.15;
  font-weight:800;
  margin:0;
  letter-spacing:-.02em;
}

.pcg-cookie-text{
  color:var(--pcg-cookie-text) !important;
  margin:0 0 18px;
  font-size:15px;
  line-height:1.65;
}

.pcg-cookie-text a{
  color:var(--pcg-cookie-terracotta);
  text-decoration:underline;
  font-weight:700;
}

.pcg-cookie-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}

.pcg-cookie-buttons .pcg-manage{
  grid-column:1 / -1;
}

.pcg-cookie-btn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(194,65,12,.25);
  border-radius:999px;
  padding:12px 16px;
  background:#fff;
  color:var(--pcg-cookie-ink);
  font-size:14px;
  line-height:1.2;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.pcg-cookie-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(43,30,26,.12);
}

.pcg-cookie-btn:focus-visible,
.pcg-cookie-icon:focus-visible,
.pcg-cookie-back-btn:focus-visible{
  outline:3px solid rgba(20,184,166,.35);
  outline-offset:3px;
}

.pcg-cookie-btn.pcg-accept{
  background:linear-gradient(135deg, var(--pcg-cookie-terracotta), var(--pcg-cookie-turquoise));
  color:#fff;
  border-color:transparent;
}

.pcg-cookie-btn.pcg-reject,
.pcg-cookie-btn.pcg-manage{
  background:#FFF1DE;
}

.pcg-cookie-settings-header{
  justify-content:flex-start;
}

.pcg-cookie-back-btn{
  appearance:none;
  -webkit-appearance:none;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  border:1px solid rgba(194,65,12,.22);
  background:#fff;
  color:var(--pcg-cookie-ink);
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.pcg-cookie-toggle-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 0;
  border-top:1px solid rgba(194,65,12,.16);
}

.pcg-toggle-title{
  color:var(--pcg-cookie-ink);
  font-weight:800;
  font-size:15px;
  margin-bottom:4px;
}

.pcg-toggle-desc{
  color:var(--pcg-cookie-text);
  font-size:13px;
  line-height:1.45;
}

.pcg-toggle-switch{
  position:relative;
  display:inline-flex;
  width:54px;
  height:30px;
  flex:0 0 54px;
}

.pcg-toggle-switch input{
  opacity:0;
  width:0;
  height:0;
}

.pcg-slider{
  position:absolute;
  inset:0;
  cursor:pointer;
  background:#E8D8C9;
  border-radius:999px;
  transition:.2s ease;
  border:1px solid rgba(43,30,26,.12);
}

.pcg-slider:before{
  content:"";
  position:absolute;
  width:24px;
  height:24px;
  left:3px;
  top:2px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 8px rgba(43,30,26,.22);
  transition:.2s ease;
}

.pcg-toggle-switch input:checked + .pcg-slider{
  background:var(--pcg-cookie-turquoise);
}

.pcg-toggle-switch input:checked + .pcg-slider:before{
  transform:translateX(23px);
}

.pcg-toggle-switch input:disabled + .pcg-slider{
  background:var(--pcg-cookie-terracotta);
  cursor:not-allowed;
  opacity:.85;
}

.pcg-cookie-save{
  width:100%;
  margin-top:12px;
}

.pcg-cookie-icon{
  position:fixed;
  left:20px;
  bottom:20px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(194,65,12,.25);
  border-radius:50%;
  background:#FFF7ED;
  box-shadow:0 16px 40px rgba(43,30,26,.18);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  z-index:2147482999;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease;
}

.pcg-cookie-icon.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

@media (max-width:575px){
  .pcg-cookie-banner-center{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    transform:translateY(28px);
    padding:18px;
    border-radius:20px;
  }

  .pcg-cookie-banner-center.show{
    transform:translateY(0);
  }

  .pcg-cookie-title{
    font-size:19px;
  }

  .pcg-cookie-buttons{
    grid-template-columns:1fr;
  }

  .pcg-cookie-buttons .pcg-manage{
    grid-column:auto;
  }

  .pcg-cookie-btn{
    width:100%;
    min-height:46px;
  }

  .pcg-cookie-toggle-item{
    align-items:flex-start;
  }

  .pcg-cookie-icon{
    left:14px;
    bottom:14px;
    width:48px;
    height:48px;
  }
}
