/* ── Cookie Banner ── */
.cc-banner{
  position:fixed;right:20px;bottom:20px;
  width:380px;max-width:calc(100vw - 40px);
  background:#fff;
  border:1px solid #ececec;border-radius:12px;
  padding:20px 22px;
  box-shadow:0 20px 60px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.06);
  z-index:9999;display:none;
  font-family:'Open Sans',sans-serif;
  animation:ccSlideUp .35s cubic-bezier(.22,1,.36,1) both;
}
.cc-banner.show{display:block}
@keyframes ccSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.cc-banner-title{font-size:15px;font-weight:700;color:#000;margin-bottom:6px}
.cc-banner-text{font-size:13.5px;line-height:1.5;color:#3d3d3d;margin-bottom:14px}
.cc-banner-text a{color:#a88a62;text-decoration:underline}
.cc-banner-actions{display:flex;flex-wrap:wrap;gap:8px}

.cc-btn{
  padding:10px 18px;font-family:'Open Sans',sans-serif;
  font-size:13px;font-weight:600;
  border:1px solid transparent;border-radius:5px;cursor:pointer;
  transition:all .15s;
}
.cc-btn-primary{
  background:#C0A279;color:#fff;flex:1 1 auto;
  box-shadow:0 2px 8px rgba(192,162,121,.3);
}
.cc-btn-primary:hover{background:#a88a62}
.cc-btn-ghost{
  background:#faf8f5;color:#3d3d3d;border-color:#ececec;
}
.cc-btn-ghost:hover{background:#ececec}

/* ── Settings Modal ── */
.cc-modal{
  display:none;position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  align-items:center;justify-content:center;padding:24px;
  opacity:0;transition:opacity .2s;
}
.cc-modal.open{display:flex;opacity:1}
.cc-modal-box{
  background:#fff;border-radius:12px;
  max-width:520px;width:100%;max-height:90vh;overflow-y:auto;
  box-shadow:0 24px 64px rgba(0,0,0,.3);
}
.cc-modal-header{padding:22px 28px 16px;border-bottom:1px solid #ececec}
.cc-modal-header h3{font-size:18px;font-weight:700;color:#000;margin-bottom:6px;letter-spacing:-.3px}
.cc-modal-header p{font-size:13px;color:#3d3d3d;line-height:1.5}
.cc-modal-body{padding:4px 28px}

.cc-cat{padding:16px 0;border-bottom:1px solid #ececec}
.cc-cat:last-child{border-bottom:none}
.cc-cat-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.cc-cat-name{font-size:14.5px;font-weight:700;color:#000;margin-bottom:4px}
.cc-cat-desc{font-size:12.5px;color:#3d3d3d;line-height:1.5}

.cc-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;margin-top:2px}
.cc-switch input{opacity:0;width:0;height:0}
.cc-slider{
  position:absolute;inset:0;cursor:pointer;
  background:#cccccc;border-radius:22px;transition:.2s;
}
.cc-slider::before{
  content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;
  background:#fff;border-radius:50%;transition:.2s;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.cc-switch input:checked + .cc-slider{background:#C0A279}
.cc-switch input:checked + .cc-slider::before{transform:translateX(18px)}
.cc-switch input:disabled + .cc-slider{background:#C0A279;opacity:.55;cursor:not-allowed}

.cc-modal-footer{
  padding:16px 28px 22px;display:flex;flex-direction:column;gap:8px;
  border-top:1px solid #ececec;
}
.cc-modal-footer .cc-btn{width:100%;padding:13px 18px;font-size:14px}

@media(max-width:640px){
  .cc-banner{left:12px;right:12px;bottom:12px;width:auto;padding:16px 18px}
  .cc-banner-actions{flex-direction:column}
  .cc-banner-actions .cc-btn{width:100%}
  .cc-modal{padding:0;align-items:flex-end}
  .cc-modal-box{border-radius:12px 12px 0 0;max-height:92vh}
}
