/* =========================================================
   TE PRIVACY LAYER V1
   Consent-first external media / analytics control.
   ========================================================= */
.te-privacy-button{
  position:fixed;z-index:97000;left:12px;bottom:12px;
  min-height:38px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;
  border:1px solid rgba(255,255,255,.08);border-radius:999px;
  color:rgba(255,255,255,.48);
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008)),rgba(7,18,28,.82);
  box-shadow:0 14px 38px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(18px) saturate(160%);cursor:pointer;
  font:700 .36rem/1 monospace;letter-spacing:.06em;
}
.te-privacy-button::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:#64f7a1;box-shadow:0 0 11px rgba(100,247,161,.35);
}
.te-privacy-button:hover{color:#fff;border-color:rgba(91,234,255,.20)}

.te-privacy{
  position:fixed;inset:0;z-index:99970;display:grid;place-items:end center;padding:12px;
  opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;
}
.te-privacy.is-open{opacity:1;visibility:visible;pointer-events:auto}
.te-privacy-backdrop{
  position:absolute;inset:0;border:0;background:rgba(3,8,13,.72);
  backdrop-filter:blur(26px) saturate(145%);
}
.te-privacy-panel{
  position:relative;z-index:2;width:min(760px,100%);overflow:hidden;
  border:1px solid rgba(255,255,255,.10);border-radius:32px;
  background:
    radial-gradient(circle at 0 0,rgba(91,234,255,.10),transparent 31%),
    radial-gradient(circle at 100% 100%,rgba(173,140,255,.07),transparent 34%),
    linear-gradient(180deg,rgba(10,24,37,.985),rgba(7,17,27,.99));
  box-shadow:0 46px 150px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.07);
}
.te-privacy-head{
  padding:17px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  border-bottom:1px solid rgba(255,255,255,.065);
}
.te-privacy-head span{color:rgba(91,234,255,.72);font:700 .37rem/1 monospace;letter-spacing:.09em}
.te-privacy-head h2{margin:8px 0 0;color:#fff;font-size:1.25rem;letter-spacing:-.04em}
.te-privacy-close{
  width:40px;height:40px;border:1px solid rgba(255,255,255,.09);border-radius:50%;
  color:#fff;background:rgba(255,255,255,.015);cursor:pointer;font-size:1.05rem;
}
.te-privacy-body{padding:17px 18px}
.te-privacy-intro{margin:0 0 13px;color:rgba(238,246,255,.52);font-size:.54rem;line-height:1.65}
.te-privacy-grid{display:grid;gap:7px}
.te-privacy-item{
  padding:12px 13px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;
  border:1px solid rgba(255,255,255,.065);border-radius:19px;
  background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.006));
}
.te-privacy-item strong{display:block;color:#fff;font-size:.58rem}
.te-privacy-item small{display:block;margin-top:5px;color:rgba(255,255,255,.32);font-size:.41rem;line-height:1.45}
.te-privacy-state{
  min-width:86px;min-height:34px;padding:0 10px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.075);border-radius:999px;
  color:rgba(255,255,255,.45);background:rgba(255,255,255,.012);
  font:700 .34rem/1 monospace;cursor:pointer;
}
.te-privacy-state.is-on{
  color:rgba(184,255,104,.78);border-color:rgba(184,255,104,.16);background:rgba(184,255,104,.025);
}
.te-privacy-state.is-locked{cursor:default;color:rgba(91,234,255,.62)}
.te-privacy-foot{
  padding:13px 18px 17px;display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.06);
}
.te-privacy-foot button{
  min-height:40px;padding:0 13px;border:1px solid rgba(255,255,255,.075);border-radius:999px;
  color:rgba(255,255,255,.56);background:rgba(255,255,255,.012);cursor:pointer;
  font:700 .37rem/1 monospace;
}
.te-privacy-foot button.primary{
  color:#071017;border-color:rgba(255,255,255,.18);
  background:linear-gradient(105deg,#5beaff,#ad8cff);
}
.te-consent-placeholder{
  min-height:220px;padding:18px;display:grid;place-items:center;text-align:center;
  border:1px solid rgba(255,255,255,.07);border-radius:22px;
  background:radial-gradient(circle at 50% 20%,rgba(91,234,255,.045),transparent 32%),rgba(7,17,26,.72);
}
.te-consent-placeholder strong{color:#fff;font-size:.65rem}
.te-consent-placeholder p{max-width:520px;margin:8px auto 12px;color:rgba(255,255,255,.36);font-size:.45rem;line-height:1.55}
.te-consent-placeholder button{
  min-height:38px;padding:0 12px;border:1px solid rgba(91,234,255,.16);border-radius:999px;
  color:rgba(91,234,255,.72);background:rgba(91,234,255,.025);cursor:pointer;
}
@media(max-width:680px){
  .te-privacy{padding:6px}.te-privacy-panel{border-radius:24px}
  .te-privacy-item{grid-template-columns:1fr}.te-privacy-state{width:max-content}
  .te-privacy-button{left:7px;bottom:76px}
}
