/* CP Cookie Consent - lightweight, theme-aware */

.cpcc-root{position:relative;z-index:99999}

.cpcc-panel{
  --cpcc-font: var(--cp-font, inherit);
  /* Accent can be a solid color OR a gradient string */
  --cpcc-accent: var(--cp-accent, linear-gradient(135deg,#ff5db1 0%,#b48cff 100%));
  --cpcc-accent-solid: var(--cp-accent-solid, #b33c8a);
  --cpcc-surface: var(--cp-surface, rgba(248,245,240,0.95));
  --cpcc-text: var(--cp-text, #2d2d2d);
  --cpcc-radius: var(--cp-radius, 26px);
  font-family: var(--cpcc-font);
  color: var(--cpcc-text);
}

.cpcc-backdrop{
  position:fixed;inset:0;
  background:rgba(0,0,0,0.45);
}

.cpcc-wrap{
  position:fixed;left:0;right:0;bottom:0;
  padding: 14px 14px 18px;
  display:flex;justify-content:center;
}

.cpcc-wrap[data-position="modal"]{
  top:0;bottom:0;align-items:center;
}

.cpcc-card{
  width:min(980px, calc(100vw - 28px));
  background: var(--cpcc-surface);
  border: 1px solid rgba(26,26,26,0.10);
  border-radius: var(--cpcc-radius);
  box-shadow: 0 28px 70px rgba(26,26,26,0.16), 0 1px 0 rgba(255,255,255,0.6) inset;
  overflow:hidden;
}

.cpcc-card-inner{padding: 18px 18px 16px;}

.cpcc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cpcc-title{font-size:18px;line-height:1.25;margin:0 0 6px;font-weight:800}
.cpcc-msg{font-size:14px;line-height:1.5;margin:0;color: rgba(45,45,45,0.92)}

.cpcc-brand{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.cpcc-logo{height:22px;width:auto;display:block}
.cpcc-brand-name{font-weight:900;font-size:13px;letter-spacing:0.02em;opacity:0.9}

.cpcc-close{
  border:1px solid rgba(0,0,0,0.10) !important;
  background: rgba(255,255,255,0.75) !important;
  color: var(--cpcc-text) !important;
  width:40px !important;
  height:40px !important;
  border-radius:14px !important;
  cursor:pointer !important;
  transition: all 0.15s ease !important;
  outline: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 20px !important;
}
.cpcc-close:hover{
  background: rgba(255,255,255,0.90) !important;
  border-color: rgba(179,60,138,0.20) !important;
}
.cpcc-close:focus{
  outline: none !important;
  box-shadow: none !important;
}

.cpcc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

.cpcc-btn{
  appearance:none !important;
  border:1px solid rgba(0,0,0,0.12) !important;
  background: #f8f5f0 !important;
  color: #2d2d2d !important;
  padding: 11px 16px !important;
  border-radius: 999px !important;
  font-weight:900 !important;
  font-size:14px !important;
  cursor:pointer !important;
  transition: transform 0.05s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.cpcc-btn:hover{
  background:#fff !important;
  border-color: rgba(179,60,138,0.25) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
  color: #2d2d2d !important;
}
.cpcc-btn:active{
  transform: translateY(1px) !important;
  box-shadow: none !important;
}

.cpcc-btn:focus{outline:0 !important}
.cpcc-btn:focus-visible{box-shadow: 0 0 0 3px rgba(179,60,138,0.22) !important}

.cpcc-btn-primary{
  border:0 !important;
  background: var(--cpcc-accent) !important;
  color:#fff !important;
  box-shadow: 0 14px 28px rgba(0,0,0,0.14) !important;
}
.cpcc-btn-primary:hover{
  filter: brightness(0.98) !important;
  background: var(--cpcc-accent) !important;
  color:#fff !important;
  box-shadow: 0 14px 28px rgba(0,0,0,0.14) !important;
}

.cpcc-link{
  color: var(--cpcc-accent-solid);
  text-decoration:none;
  font-weight:800;
}
.cpcc-link:hover{text-decoration:underline}

.cpcc-divider{height:1px;background:rgba(0,0,0,0.08)}

.cpcc-prefs{padding: 14px 18px 18px}
.cpcc-prefs h3{margin:0 0 10px;font-size:15px;font-weight:900}

.cpcc-cats{display:grid;gap:10px}

.cpcc-cat{
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(26,26,26,0.10);
  border-radius: 16px;
  padding: 12px 12px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
}
.cpcc-cat-title{margin:0;font-size:14px;font-weight:900}
.cpcc-cat-desc{margin:4px 0 0;font-size:13px;line-height:1.35;color: rgba(45,45,45,0.85)}

.cpcc-switch{flex:0 0 auto;display:flex;align-items:center;gap:10px}

.cpcc-toggle{
  width: 46px !important;
  height: 28px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,0.12) !important;
  background: rgba(0,0,0,0.08) !important;
  position:relative !important;
  cursor:pointer !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  box-shadow: none !important;
}
.cpcc-toggle:focus,
.cpcc-toggle:focus-visible,
.cpcc-toggle:active{
  outline: none !important;
  box-shadow: none !important;
  border-color: rgba(0,0,0,0.12) !important;
}
.cpcc-toggle[data-on="1"]{
  background: linear-gradient(135deg,rgba(255,93,177,0.25) 0%,rgba(180,140,255,0.25) 100%) !important;
  border-color: rgba(179,60,138,0.35) !important;
  outline: none !important;
  box-shadow: none !important;
}
.cpcc-toggle[data-on="1"]:focus,
.cpcc-toggle[data-on="1"]:focus-visible,
.cpcc-toggle[data-on="1"]:active{
  outline: none !important;
  box-shadow: none !important;
  border-color: rgba(179,60,138,0.35) !important;
}
.cpcc-knob{
  position:absolute !important;
  top:50% !important;
  left:3px !important;
  transform: translateY(-50%) !important;
  width:22px !important;
  height:22px !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow: 0 8px 18px rgba(0,0,0,0.18) !important;
  transition:left 0.12s ease, transform 0.12s ease !important;
}
.cpcc-toggle[data-on="1"] .cpcc-knob{
  left:21px !important;
  transform: translateY(-50%) !important;
}

.cpcc-badge{
  font-size:12px;font-weight:900;
  padding:6px 10px;border-radius:999px;
  background:rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.10);
}

.cpcc-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}

/* Shortcode button style */
.cpcc-shortcode-btn{
  appearance:none;
  background: linear-gradient(135deg,#ff5db1 0%,#b48cff 100%);
  color:#fff;
  border:0;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight:900;
  font-size:14px;
  cursor:pointer;
  box-shadow: 0 4px 12px rgba(179,60,138,0.25);
  transition: transform 0.05s ease, box-shadow 0.15s ease;
}
.cpcc-shortcode-btn:hover{
  box-shadow: 0 6px 16px rgba(179,60,138,0.35);
  transform: translateY(-1px);
}
.cpcc-shortcode-btn:active{transform: translateY(0)}

/* No floating manage button */

/* Responsive */
@media (min-width:720px){
  .cpcc-title{font-size:19px}
  .cpcc-card-inner{padding: 20px 20px 18px}
  .cpcc-prefs{padding: 16px 20px 20px}
}

@media (prefers-reduced-motion: reduce){
  .cpcc-btn, .cpcc-knob{transition:none}
}
