/* TER Suite – Cookie Consent Banner */
:root {
  --ter-accent:  #00e5ff;
  --ter-bg:      #0d0d0d;
  --ter-text:    #e0e0e0;
  --ter-border:  rgba(255,255,255,0.08);
  --ter-radius:  10px;
}

#ter-cookie-banner {
  position: fixed;
  z-index: 99999;
  left: 0;
  right: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ter-text);
  background: var(--ter-bg);
  border-top: 2px solid var(--ter-accent);
  box-shadow: 0 -4px 32px rgba(0,0,0,.6);
  transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .35s ease;
}

#ter-cookie-banner.ter-pos--bottom { bottom: 0; transform: translateY(0); }
#ter-cookie-banner.ter-pos--top    { top: 0; bottom: auto; border-top: none; border-bottom: 2px solid var(--ter-accent); box-shadow: 0 4px 32px rgba(0,0,0,.6); }
#ter-cookie-banner.ter-hidden      { transform: translateY(110%); opacity: 0; pointer-events: none; }
#ter-cookie-banner.ter-pos--top.ter-hidden { transform: translateY(-110%); }

/* Modal overlay */
#ter-cookie-banner.ter-pos--modal {
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  transform: translate(-50%, -50%);
  width: min(560px, 94vw);
  border-top: none;
  border: 1px solid var(--ter-border);
  border-top: 3px solid var(--ter-accent);
  border-radius: var(--ter-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,.85);
}
#ter-cookie-banner.ter-pos--modal.ter-hidden {
  transform: translate(-50%, -48%);
  opacity: 0;
}
#ter-cookie-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  z-index: 99998;
}
#ter-cookie-overlay.ter-visible { display: block; }

.ter-cookie-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.ter-pos--modal .ter-cookie-inner { flex-direction: column; align-items: flex-start; gap: 14px; padding: 24px; }

.ter-cookie-text { flex: 1; min-width: 240px; }
.ter-cookie-text h3 { margin: 0 0 4px; font-size: 15px; font-weight: 700; color: #fff; }
.ter-cookie-text p  { margin: 0; opacity: .85; }
.ter-cookie-text a  { color: var(--ter-accent); }

.ter-cookie-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ter-btn {
  display: inline-block;
  padding: 9px 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: opacity .2s, transform .1s;
  white-space: nowrap;
}
.ter-btn:hover { opacity: .88; transform: translateY(-1px); }
.ter-btn:active { transform: translateY(0); }

.ter-btn--accept  { background: var(--ter-accent); color: #000; }
.ter-btn--reject  { background: rgba(255,255,255,.1); color: var(--ter-text); border: 1px solid rgba(255,255,255,.15); }
.ter-btn--manage  { background: transparent; color: var(--ter-accent); border: 1px solid var(--ter-accent); font-size: 12px; padding: 7px 14px; }

/* Manage preferences panel */
#ter-cookie-prefs {
  display: none;
  background: #131313;
  border-top: 1px solid var(--ter-border);
  padding: 20px 24px 24px;
  max-width: 1200px;
  margin: 0 auto;
}
#ter-cookie-prefs.ter-open { display: block; }
.ter-pos--modal #ter-cookie-prefs { border-top: 1px solid var(--ter-border); margin: 0; border-radius: 0 0 var(--ter-radius) var(--ter-radius); }

.ter-pref-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--ter-border);
  gap: 16px;
}
.ter-pref-row:last-child { border-bottom: none; }
.ter-pref-info h4 { margin: 0 0 2px; font-size: 13px; color: #fff; }
.ter-pref-info p  { margin: 0; font-size: 12px; opacity: .65; }

/* Toggle switch */
.ter-toggle { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; }
.ter-toggle input { opacity: 0; width: 0; height: 0; }
.ter-toggle-slider {
  position: absolute; inset: 0;
  background: rgba(255,255,255,.15);
  border-radius: 24px;
  cursor: pointer;
  transition: .3s;
}
.ter-toggle-slider:before {
  content: '';
  position: absolute;
  left: 3px; bottom: 3px;
  width: 18px; height: 18px;
  background: #fff;
  border-radius: 50%;
  transition: .3s;
}
.ter-toggle input:checked + .ter-toggle-slider { background: var(--ter-accent); }
.ter-toggle input:checked + .ter-toggle-slider:before { transform: translateX(20px); }
.ter-toggle input:disabled + .ter-toggle-slider { opacity: .5; cursor: not-allowed; }

.ter-prefs-save-wrap { margin-top: 16px; }

/* CCPA link */
#ter-ccpa-link {
  display: none;
  position: fixed;
  bottom: 16px;
  left: 16px;
  font-size: 11px;
  color: rgba(255,255,255,.45);
  z-index: 9999;
  text-decoration: none;
  background: rgba(0,0,0,.5);
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,.1);
}
#ter-ccpa-link:hover { color: var(--ter-accent); }
#ter-ccpa-link.ter-show { display: block; }

@media (max-width: 600px) {
  .ter-cookie-inner { flex-direction: column; align-items: stretch; }
  .ter-cookie-actions { flex-direction: column; }
  .ter-btn { text-align: center; }
}
