/* Cookie Consent (RODO) — banner + settings modal */

#sg-cookie-banner {
  position: fixed;
  bottom: 20px; left: 20px; right: 20px;
  max-width: 720px;
  margin: 0 auto;
  background: rgba(11, 14, 42, 0.97);
  border: 1px solid rgba(212, 168, 67, 0.25);
  border-radius: 14px;
  padding: 22px 24px;
  z-index: 9990;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(212, 168, 67, 0.08) inset;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transform: translateY(0);
  transition: transform .35s ease, opacity .35s ease;
  font-family: 'DM Sans', sans-serif;
}
#sg-cookie-banner.sg-hidden {
  transform: translateY(140%);
  opacity: 0;
  pointer-events: none;
}

.sg-cookie-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 600;
  color: #d4a843; margin-bottom: 8px;
}
.sg-cookie-text {
  font-size: 13px; color: #8a8fa8; line-height: 1.6; margin-bottom: 16px;
}
.sg-cookie-text a { color: #d4a843; text-decoration: none; border-bottom: 1px solid rgba(212,168,67,0.4); }
.sg-cookie-text a:hover { color: #f0cc7a; }

.sg-cookie-btns {
  display: flex; gap: 10px; flex-wrap: wrap;
}
.sg-cookie-btns button {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  letter-spacing: 0.5px;
  padding: 11px 22px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}
.sg-btn-accept {
  background: #d4a843; color: #060810;
  border: 1px solid #d4a843; font-weight: 500;
}
.sg-btn-accept:hover { background: #f0cc7a; transform: translateY(-1px); }

.sg-btn-reject {
  background: transparent; color: #8a8fa8;
  border: 1px solid rgba(212, 168, 67, 0.25);
}
.sg-btn-reject:hover { color: #f5f0e8; border-color: #8a8fa8; }

.sg-btn-settings {
  background: transparent; color: #d4a843;
  border: 1px solid rgba(212, 168, 67, 0.4);
}
.sg-btn-settings:hover { background: rgba(212,168,67,0.08); border-color: #d4a843; }

/* Settings modal */
#sg-cookie-modal {
  position: fixed; inset: 0;
  background: rgba(6, 8, 16, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  opacity: 1;
  transition: opacity .3s ease;
}
#sg-cookie-modal.sg-hidden { opacity: 0; pointer-events: none; }

.sg-modal-box {
  background: linear-gradient(135deg, #0b0e2a 0%, #111433 100%);
  border: 1px solid rgba(212, 168, 67, 0.25);
  border-radius: 14px;
  width: 100%; max-width: 640px;
  max-height: 88vh; overflow-y: auto;
  padding: 36px 36px 28px;
  font-family: 'DM Sans', sans-serif;
  box-shadow: 0 40px 100px rgba(0,0,0,0.7);
}

.sg-modal-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px; font-weight: 600;
  color: #d4a843; margin-bottom: 12px;
}
.sg-modal-intro {
  font-size: 13px; color: #8a8fa8; line-height: 1.6; margin-bottom: 24px;
}
.sg-modal-intro a { color: #d4a843; text-decoration: none; border-bottom: 1px solid rgba(212,168,67,0.4); }

.sg-cat {
  border: 1px solid rgba(212, 168, 67, 0.18);
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 12px;
  background: rgba(255,255,255,0.02);
}
.sg-cat-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
}
.sg-cat-name {
  font-size: 14px; font-weight: 500; color: #f5f0e8;
  letter-spacing: 0.3px;
}
.sg-cat-desc {
  font-size: 12px; color: #8a8fa8; line-height: 1.6; margin-top: 6px;
}

/* Toggle switch */
.sg-switch {
  position: relative; width: 42px; height: 22px; flex-shrink: 0;
}
.sg-switch input {
  opacity: 0; width: 0; height: 0;
}
.sg-slider {
  position: absolute; cursor: pointer; inset: 0;
  background: rgba(138, 143, 168, 0.3);
  border-radius: 22px;
  transition: background .25s;
}
.sg-slider::before {
  content: ''; position: absolute;
  width: 16px; height: 16px;
  left: 3px; top: 3px;
  background: #f5f0e8; border-radius: 50%;
  transition: transform .25s;
}
.sg-switch input:checked + .sg-slider { background: #d4a843; }
.sg-switch input:checked + .sg-slider::before { transform: translateX(20px); }
.sg-switch input:disabled + .sg-slider { background: rgba(212,168,67,0.5); cursor: not-allowed; }

.sg-modal-btns {
  display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px;
  justify-content: flex-end;
}
.sg-modal-btns button {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; padding: 11px 22px;
  border-radius: 6px; cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}

@media (max-width: 600px) {
  #sg-cookie-banner { left: 12px; right: 12px; bottom: 12px; padding: 18px 18px; }
  .sg-cookie-btns button { flex: 1; min-width: 0; }
  .sg-modal-box { padding: 28px 22px 22px; }
  .sg-modal-btns { flex-direction: column-reverse; }
  .sg-modal-btns button { width: 100%; }
}
