/* ================================================================
   PRIVACY POLICY PAGE -- privacy.css
   ================================================================ */

/* -- HERO ------------------------------------------------------- */
.pp-hero {
  position: relative;
  padding: 120px 0 70px;
  overflow: hidden;
  text-align: center;
}
.pp-hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%,   rgba(0,212,255,.10) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 15% 80%,  rgba(0,255,136,.07) 0%, transparent 50%),
    radial-gradient(ellipse 45% 40% at 85% 70%,  rgba(191,95,255,.07) 0%, transparent 50%);
}
.pp-hero-inner {
  position: relative; z-index: 1;
  max-width: 760px; margin: 0 auto;
}
.pp-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(0,212,255,.07);
  border: 1px solid rgba(0,212,255,.22);
  border-radius: 30px; padding: .35rem 1.1rem;
  font-size: .72rem; font-weight: 700;
  color: #00d4ff; letter-spacing: .5px;
  text-transform: uppercase; margin-bottom: 1.4rem;
}
.pp-badge i { font-size: .82rem; }
.pp-hero-title {
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 900; color: #fff;
  letter-spacing: -.5px; line-height: 1.1;
  margin-bottom: 1.2rem;
}
.pp-hero-meta {
  display: inline-flex; align-items: center; gap: 1rem;
  flex-wrap: wrap; justify-content: center;
  margin-bottom: 0;
}
.pp-meta-badge {
  display: inline-flex; align-items: center; gap: .45rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 8px; padding: .35rem .9rem;
  font-size: .78rem; color: rgba(180,192,220,.65);
  font-weight: 500;
}
.pp-meta-badge i { font-size: .82rem; }
.pp-meta-badge.gdpr { border-color: rgba(0,255,136,.25); color: var(--neon); background: rgba(0,255,136,.06); }
.pp-meta-badge.gdpr i { color: var(--neon); }
.pp-meta-badge.updated i { color: #00d4ff; }

/* -- QUICK SUMMARY STRIP ---------------------------------------- */
.pp-summary {
  padding: 0 0 60px;
}
.pp-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media (max-width: 900px) {
  .pp-summary-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .pp-summary-grid { grid-template-columns: 1fr; }
}
.pp-sum-card {
  background: rgba(14,22,44,.8);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px; padding: 1.4rem 1.2rem;
  text-align: center;
  transition: border-color .2s, transform .2s;
}
.pp-sum-card:hover {
  border-color: rgba(0,255,136,.2);
  transform: translateY(-3px);
}
.pp-sum-ico {
  width: 46px; height: 46px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; margin: 0 auto 1rem;
}
.pp-sum-ico.neon   { background: rgba(0,255,136,.1);   border: 1px solid rgba(0,255,136,.2);   color: var(--neon); }
.pp-sum-ico.blue   { background: rgba(0,212,255,.1);   border: 1px solid rgba(0,212,255,.2);   color: #00d4ff; }
.pp-sum-ico.purple { background: rgba(191,95,255,.1);  border: 1px solid rgba(191,95,255,.2);  color: #bf5fff; }
.pp-sum-ico.gold   { background: rgba(255,209,102,.1); border: 1px solid rgba(255,209,102,.2); color: #ffd166; }
.pp-sum-title {
  font-size: .9rem; font-weight: 700; color: #fff;
  margin-bottom: .3rem;
}
.pp-sum-sub {
  font-size: .77rem; color: rgba(150,160,190,.6);
  line-height: 1.55;
}

/* -- MAIN LAYOUT ------------------------------------------------ */
.pp-main {
  padding: 0 0 100px;
}
.pp-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .pp-layout { grid-template-columns: 1fr; }
  .pp-toc-wrap { display: none; }
}

/* -- TABLE OF CONTENTS ------------------------------------------ */
.pp-toc-wrap {
  position: sticky;
  top: 90px;
}
.pp-toc {
  background: rgba(14,22,44,.8);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  padding: 1.4rem;
  backdrop-filter: blur(12px);
}
.pp-toc-head {
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .8px;
  color: rgba(120,128,165,.55);
  margin-bottom: 1rem;
  display: flex; align-items: center; gap: .45rem;
}
.pp-toc-head i { color: #00d4ff; }
.pp-toc-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: .15rem;
}
.pp-toc-list a {
  display: flex; align-items: center; gap: .55rem;
  padding: .45rem .7rem;
  border-radius: 8px;
  font-size: .8rem; color: rgba(160,170,200,.55);
  text-decoration: none;
  transition: all .18s;
  border: 1px solid transparent;
  line-height: 1.4;
}
.pp-toc-list a:hover {
  color: #fff;
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.06);
}
.pp-toc-list a.active {
  color: var(--neon);
  background: rgba(0,255,136,.06);
  border-color: rgba(0,255,136,.18);
}
.pp-toc-list a .toc-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: 5px;
  background: rgba(255,255,255,.06);
  font-size: .65rem; font-weight: 700;
  flex-shrink: 0;
  transition: background .18s;
}
.pp-toc-list a.active .toc-num {
  background: rgba(0,255,136,.18);
  color: var(--neon);
}
.pp-toc-divider {
  height: 1px;
  background: rgba(255,255,255,.06);
  margin: .7rem 0;
}
.pp-toc-contact {
  margin-top: 1rem;
  padding: .85rem 1rem;
  background: rgba(0,255,136,.05);
  border: 1px solid rgba(0,255,136,.15);
  border-radius: 10px;
  text-align: center;
}
.pp-toc-contact p {
  font-size: .72rem; color: rgba(150,160,190,.6);
  margin: 0 0 .5rem;
  line-height: 1.5;
}
.pp-toc-contact a {
  font-size: .78rem; font-weight: 700; color: var(--neon);
  text-decoration: none;
}
.pp-toc-contact a:hover { text-decoration: underline; }

/* -- CONTENT SECTIONS ------------------------------------------- */
.pp-sections {
  display: flex; flex-direction: column; gap: 1.5rem;
}

.pp-section {
  background: rgba(14,22,44,.8);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 20px;
  padding: 2rem 2.25rem;
  backdrop-filter: blur(12px);
  scroll-margin-top: 100px;
  transition: border-color .2s;
}
.pp-section:hover {
  border-color: rgba(255,255,255,.11);
}
.pp-section:target {
  border-color: rgba(0,212,255,.25);
  box-shadow: 0 0 0 1px rgba(0,212,255,.08), 0 8px 40px rgba(0,212,255,.06);
}

.pp-sec-head {
  display: flex; align-items: flex-start; gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.pp-sec-ico {
  width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; flex-shrink: 0;
}
.pp-sec-ico.neon   { background: rgba(0,255,136,.1);   border: 1px solid rgba(0,255,136,.2);   color: var(--neon); }
.pp-sec-ico.blue   { background: rgba(0,212,255,.1);   border: 1px solid rgba(0,212,255,.2);   color: #00d4ff; }
.pp-sec-ico.purple { background: rgba(191,95,255,.1);  border: 1px solid rgba(191,95,255,.2);  color: #bf5fff; }
.pp-sec-ico.gold   { background: rgba(255,209,102,.1); border: 1px solid rgba(255,209,102,.2); color: #ffd166; }
.pp-sec-ico.red    { background: rgba(255,71,87,.1);   border: 1px solid rgba(255,71,87,.2);   color: #ff4757; }
.pp-sec-ico.orange { background: rgba(255,140,66,.1);  border: 1px solid rgba(255,140,66,.2);  color: #ff8c42; }

.pp-sec-label {
  font-size: .65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .7px; color: rgba(120,128,165,.5);
  margin-bottom: .3rem;
}
.pp-sec-title {
  font-size: 1.15rem; font-weight: 800; color: #fff;
  letter-spacing: -.2px; line-height: 1.2;
  margin: 0;
}

.pp-body {
  font-size: .88rem; color: rgba(180,190,220,.7);
  line-height: 1.8;
}
.pp-body p { margin-bottom: 1rem; }
.pp-body p:last-child { margin-bottom: 0; }
.pp-body strong { color: rgba(220,228,255,.9); font-weight: 700; }
.pp-body a { color: var(--neon); text-decoration: none; }
.pp-body a:hover { text-decoration: underline; }

/* -- DATA TABLE ------------------------------------------------- */
.pp-data-table {
  width: 100%; border-collapse: collapse;
  margin: 1.25rem 0; font-size: .83rem;
}
.pp-data-table th {
  text-align: left; padding: .65rem 1rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px;
  color: rgba(150,162,200,.7);
}
.pp-data-table td {
  padding: .75rem 1rem;
  border: 1px solid rgba(255,255,255,.05);
  color: rgba(180,190,220,.65);
  vertical-align: top;
  line-height: 1.6;
}
.pp-data-table tr:hover td {
  background: rgba(255,255,255,.02);
}
.pp-data-table td strong {
  color: rgba(220,228,255,.85); font-weight: 700;
}

/* -- RIGHTS GRID ------------------------------------------------ */
.pp-rights-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .9rem;
  margin-top: 1.25rem;
}
@media (max-width: 640px) {
  .pp-rights-grid { grid-template-columns: 1fr; }
}
.pp-right-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px; padding: 1rem 1.1rem;
  transition: border-color .18s;
}
.pp-right-card:hover { border-color: rgba(0,212,255,.2); }
.pp-right-head {
  display: flex; align-items: center; gap: .6rem;
  margin-bottom: .5rem;
}
.pp-right-head i {
  font-size: .9rem; color: #00d4ff;
}
.pp-right-head strong {
  font-size: .88rem; color: #fff; font-weight: 700;
}
.pp-right-desc {
  font-size: .78rem; color: rgba(150,162,200,.6); line-height: 1.6;
}

/* -- INFO BOXES ------------------------------------------------- */
.pp-infobox {
  display: flex; align-items: flex-start; gap: .85rem;
  padding: .9rem 1.1rem;
  border-radius: 12px;
  margin: 1.1rem 0;
  font-size: .83rem; line-height: 1.65;
}
.pp-infobox i {
  font-size: 1rem; flex-shrink: 0; margin-top: .1rem;
}
.pp-infobox.neon {
  background: rgba(0,255,136,.06);
  border: 1px solid rgba(0,255,136,.18);
  color: rgba(180,220,200,.75);
}
.pp-infobox.neon i { color: var(--neon); }
.pp-infobox.blue {
  background: rgba(0,212,255,.06);
  border: 1px solid rgba(0,212,255,.18);
  color: rgba(180,210,225,.75);
}
.pp-infobox.blue i { color: #00d4ff; }
.pp-infobox.purple {
  background: rgba(191,95,255,.06);
  border: 1px solid rgba(191,95,255,.18);
  color: rgba(200,180,225,.75);
}
.pp-infobox.purple i { color: #bf5fff; }
.pp-infobox.gold {
  background: rgba(255,209,102,.06);
  border: 1px solid rgba(255,209,102,.18);
  color: rgba(225,210,180,.75);
}
.pp-infobox.gold i { color: #ffd166; }

/* -- INLINE LIST ------------------------------------------------ */
.pp-list {
  list-style: none; margin: .9rem 0; padding: 0;
  display: flex; flex-direction: column; gap: .5rem;
}
.pp-list li {
  display: flex; align-items: flex-start; gap: .65rem;
  font-size: .86rem; color: rgba(180,190,220,.65);
  line-height: 1.65;
}
.pp-list li i {
  font-size: .78rem; flex-shrink: 0; margin-top: .28rem;
}
.pp-list li i.neon   { color: var(--neon); }
.pp-list li i.blue   { color: #00d4ff; }
.pp-list li i.purple { color: #bf5fff; }
.pp-list li i.gold   { color: #ffd166; }
.pp-list li i.red    { color: #ff4757; }

/* -- LEGAL BASIS GRID ------------------------------------------- */
.pp-basis-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .9rem;
  margin-top: 1.1rem;
}
@media (max-width: 580px) {
  .pp-basis-grid { grid-template-columns: 1fr; }
}
.pp-basis-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; padding: 1rem 1.1rem;
}
.pp-basis-card .pp-basis-art {
  font-size: .68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .5px; color: #00d4ff; margin-bottom: .35rem;
}
.pp-basis-card .pp-basis-name {
  font-size: .88rem; font-weight: 700; color: #fff; margin-bottom: .3rem;
}
.pp-basis-card .pp-basis-desc {
  font-size: .77rem; color: rgba(150,162,200,.6); line-height: 1.55;
}

/* -- COOKIE TABLE ----------------------------------------------- */
.pp-cookie-list {
  display: flex; flex-direction: column; gap: .7rem;
  margin-top: 1rem;
}
.pp-cookie-item {
  display: grid;
  grid-template-columns: 140px 70px 1fr;
  gap: .75rem; align-items: center;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: .8rem 1rem;
  font-size: .82rem;
}
@media (max-width: 580px) {
  .pp-cookie-item { grid-template-columns: 1fr; }
}
.pp-cookie-name { font-weight: 700; color: #fff; font-family: monospace; font-size: .83rem; }
.pp-cookie-type {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .2rem .6rem;
  border-radius: 6px;
  font-size: .68rem; font-weight: 700;
}
.pp-cookie-type.essential {
  background: rgba(0,255,136,.1); color: var(--neon);
  border: 1px solid rgba(0,255,136,.2);
}
.pp-cookie-type.analytics {
  background: rgba(0,212,255,.1); color: #00d4ff;
  border: 1px solid rgba(0,212,255,.2);
}
.pp-cookie-desc { color: rgba(160,172,210,.6); }

/* -- CONTACT CARD INSIDE SECTION ------------------------------- */
.pp-contact-card {
  background: rgba(0,212,255,.05);
  border: 1px solid rgba(0,212,255,.18);
  border-radius: 16px; padding: 1.5rem 1.75rem;
  margin-top: 1.25rem;
}
.pp-contact-row {
  display: flex; align-items: center; gap: .9rem;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  font-size: .86rem;
}
.pp-contact-row:last-child { border-bottom: none; padding-bottom: 0; }
.pp-contact-row:first-child { padding-top: 0; }
.pp-contact-row i {
  width: 32px; height: 32px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,212,255,.1); border: 1px solid rgba(0,212,255,.2);
  color: #00d4ff; font-size: .85rem; flex-shrink: 0;
}
.pp-contact-label {
  font-size: .72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .4px; color: rgba(120,132,165,.55);
  margin-bottom: .1rem;
}
.pp-contact-val {
  color: rgba(200,210,240,.8); font-weight: 500;
}
.pp-contact-val a {
  color: var(--neon); text-decoration: none;
}
.pp-contact-val a:hover { text-decoration: underline; }

/* -- THIRD PARTY LIST ------------------------------------------- */
.pp-third-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: .85rem; margin-top: 1.1rem;
}
@media (max-width: 580px) {
  .pp-third-grid { grid-template-columns: 1fr; }
}
.pp-third-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; padding: 1rem 1.1rem;
  transition: border-color .18s;
}
.pp-third-card:hover { border-color: rgba(191,95,255,.2); }
.pp-third-name {
  font-size: .9rem; font-weight: 700; color: #fff;
  margin-bottom: .25rem;
}
.pp-third-purpose {
  font-size: .72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .4px; color: #bf5fff;
  margin-bottom: .4rem;
}
.pp-third-desc {
  font-size: .78rem; color: rgba(150,162,200,.6); line-height: 1.55;
}

/* -- RETENTION TABLE -------------------------------------------- */
.pp-retention-grid {
  display: flex; flex-direction: column; gap: .6rem;
  margin-top: 1.1rem;
}
.pp-retention-row {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 1rem; align-items: center;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: .8rem 1rem;
}
@media (max-width: 500px) {
  .pp-retention-row { grid-template-columns: 1fr; }
}
.pp-retention-data { font-size: .85rem; color: rgba(190,200,230,.7); }
.pp-retention-data strong { color: #fff; display: block; margin-bottom: .15rem; }
.pp-retention-period {
  text-align: right; font-size: .82rem; font-weight: 700;
  color: var(--neon);
}
@media (max-width: 500px) {
  .pp-retention-period { text-align: left; }
}

/* -- RESPONSIVE ------------------------------------------------- */
@media (max-width: 768px) {
  .pp-section { padding: 1.5rem 1.4rem; }
  .pp-hero { padding: 100px 0 50px; }
}
