/* === Privacy Policy: Cyberpunk Neon Styles === */
.privacy-hero {
  position: relative;
  background: #18141d;
  min-height: 380px;
  padding-top: 2.5rem;
  padding-bottom: 4rem;
  overflow: hidden;
  z-index: 1;
}
.privacy-hero-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 0;
}
.neon-cityscape {
  position: absolute;
  left: 0; bottom: 0; right: 0;
  height: 200px;
  background: url('../images/neon-cityscape-bg.svg') center bottom/cover no-repeat, linear-gradient(180deg,#10ffd633 0,#231c2b 100%);
  opacity: 0.80;
  filter: blur(0.5px) brightness(1.03) saturate(1.18);
  z-index: 1;
}
.privacy-lock-anim {
  position: absolute;
  top: 2.5rem; right: 6%;
  z-index: 2;
  animation: floatLock 4s ease-in-out infinite alternate;
}
@keyframes floatLock {
  0% { transform: translateY(0) scale(1.0); filter: drop-shadow(0 0 24px #10ffd6e9); }
  100% { transform: translateY(-18px) scale(1.04); filter: drop-shadow(0 0 38px #40e0ffe0); }
}
.lock-svg { display: block; width: 108px; height: auto; }
.privacy-hero-content { z-index: 3; position: relative; text-align: left; }
.privacy-hero h1 {
  margin-bottom: var(--space-4);
}
.privacy-hero p {
  font-size: 1.22rem;
  color: var(--color-gray-100);
  max-width: 50ch;
}
.neon-accent {
  color: var(--color-primary-accent);
  text-shadow: 0 0 6px var(--color-primary-accent), 0 0 16px #40e0ffaa,0 0 24px #40e0ff44;
  font-weight: bold;
}
/* ---- Datatypes Section ---- */
.datatypes-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin: var(--space-8) 0 var(--space-4) 0;
  justify-content: center;
}
.datatype-card {
  background: linear-gradient(113deg,#252337 70%,#10ffd623 120%);
  box-shadow: var(--shadow-neon);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-8);
  color: var(--color-text);
  text-align: center;
  width: 210px; min-height: 172px;
  position: relative;
  outline: none;
  cursor: pointer;
  transition: box-shadow var(--transition), background var(--transition);
}
.datatype-card:focus-visible, .datatype-card:hover {
  box-shadow: 0 0 18px 2px var(--color-primary), var(--shadow-neon);
  background: linear-gradient(113deg,#18141d 60%,#10ffd64c 100%);
}
.datatype-icon {
  font-size: 2.4rem;
  margin-bottom: var(--space-3);
}
.datatype-title {
  font-size: 1.10rem;
  font-weight: 600;
}
.datatype-detail {
  font-size: 0.97rem;
  background: #231c2bb9;
  color: var(--color-primary-accent);
  border-radius: var(--radius);
  position: absolute;
  left: 2%; right: 2%;
  top: 68%;
  z-index: 3;
  padding: var(--space-2);
  transition: opacity var(--transition-fast);
  box-shadow: 0 2px 16px var(--color-primary-accent), var(--shadow-neon);
  opacity: 1;
}
.datatype-detail[hidden] {
  display: none;
}
.privacy-section-note {
  font-size: var(--font-size-sm);
  color: var(--color-gray-200);
  text-align: center;
  margin-bottom: var(--space-4);
}
/* Datatype Icons */
.icon-account,
.icon-order,
.icon-analytics,
.icon-cookie,
.icon-review {
  display: inline-block;
  width: 1.9em;
  height: 1.9em;
  vertical-align: middle;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.icon-account { background-image: url('../images/icon-user-neon.svg'); }
.icon-order { background-image: url('../images/icon-order-neon.svg'); }
.icon-analytics { background-image: url('../images/icon-analytics-neon.svg'); }
.icon-cookie { background-image: url('../images/icon-cookie-neon.svg'); }
.icon-review { background-image: url('../images/icon-review-neon.svg'); }

/* ---- Usage Flowchart ---- */
.usage-section { margin-bottom: var(--space-8); }
.usage-flowchart {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  margin: var(--space-6) 0 var(--space-4) 0;
  font-size: 1.06rem;
}
.usage-node {
  background: linear-gradient(94deg,#10ffd630 60%,#231c2b 100%);
  border: 2px solid var(--color-primary-accent);
  border-radius: 50px;
  color: var(--color-primary);
  font-weight: 600;
  padding: 0.9em 1.4em 0.8em 1.1em;
  box-shadow: 0 0 7px 0.6px var(--color-primary-accent);
  text-align: center;
  display: flex; flex-direction: column; align-items: center;
  min-width: 96px;
}
.flow-icon {
  display: block; margin-bottom: 0.34em;
  width: 1.3em; height: 1.3em;
  background-size: contain;
  background-repeat: no-repeat;
}
.icon-shield { background-image: url('../images/icon-shield-neon.svg'); }
.icon-promo { background-image: url('../images/icon-special-neon.svg'); }
.usage-arrow { font-size: 1.6em; color: var(--color-primary-accent); padding: 0 0.14em; }
.usage-details ul {
  list-style: disc inside;
  color: var(--color-text);
  margin-left: 1.1em;
  margin-top: var(--space-3);
}

/* ---- Sharing Partners Section ---- */
.sharing-partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
  margin-bottom: var(--space-4);
}
.partner-card {
  background: linear-gradient(110deg,#18141d 60%,#10ffd622 100%);
  border-radius: var(--radius-lg);
  box-shadow: 0 0 10px 1px #10ffd666;
  padding: var(--space-6);
  color: var(--color-text);
  text-align: center;
}
.partner-avatar {
  display: block;
  margin: 0 auto var(--space-2) auto;
  width: 54px; height: 54px;
  background-size: contain; background-repeat: no-repeat;
  filter: drop-shadow(0 0 10px #40e0ffaa);
}
.avatar-payments { background-image: url('../images/avatar-payments.svg'); }
.avatar-delivery { background-image: url('../images/avatar-delivery.svg'); }
.avatar-analytics { background-image: url('../images/avatar-analytics.svg'); }
.avatar-legal { background-image: url('../images/avatar-legal.svg'); }
.partner-name { font-weight: 600; font-size: 1.05em; color: var(--color-primary-accent); }
.partner-desc { font-size: 0.99em; color: var(--color-gray-100); margin-top: .3em; }
.sharing-disclaimer { color: var(--color-warning); font-size: var(--font-size-sm); margin: var(--space-2) 0 var(--space-4) 0; text-align: center; }

/* ---- User Rights Section ---- */
.control-center {
  text-align: center;
}
.user-rights-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  margin: var(--space-6) 0 var(--space-2) 0;
  padding: 0;
  list-style: none;
}
.user-right-btn {
  font-size: 1em;
  background: linear-gradient(98deg,#40e0ff33 60%,#18141d 100%);
  border: 2px solid var(--color-primary-accent);
  border-radius: var(--radius);
  color: var(--color-primary);
  font-weight: 600;
  padding: .75em 1.9em;
  box-shadow: 0 0 7px 2px #10ffd6aa;
  margin-bottom: var(--space-2);
  transition: background var(--transition-fast), color var(--transition-fast);
  outline: none;
  cursor: pointer;
}
.user-right-btn:focus-visible, .user-right-btn:hover {
  background: linear-gradient(90deg, var(--color-primary) 60%, var(--color-primary-accent));
  color: #18141d;
}
.control-links {
  margin: var(--space-4) 0 var(--space-2) 0;
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  justify-content: center;
}
.user-rights-desc {
  margin-top: var(--space-3);
  color: var(--color-gray-100);
  font-size: var(--font-size-base);
  min-height: 2.6em;
  max-width: 46ch;
  margin-left: auto;
  margin-right: auto;
}

/* ---- Security Section ---- */
.security-section {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.security-visuals {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  justify-content: left;
  padding-bottom: var(--space-4);
}
.security-shield-anim { animation: glowneon 4.5s infinite alternate; }
@keyframes glowneon {
  0% { filter: drop-shadow(0 0 12px #10ffd699); }
  100% { filter: drop-shadow(0 0 28px #40e0ffa2); }
}
.security-shield { width: 80px; height: auto; }
.security-firewall {
  display: block;
  width: 92px; height: 20px;
  background: linear-gradient(91deg, #10ffd6e6 0, #231c2b 100%);
  border-radius: 14px;
  box-shadow: 0 0 12px 2px #40e0ffbb, 0 2px 7px #18141da3;
  margin-left: 1em;
}
.neon-glow { box-shadow: 0 0 12px 3px #10ffd6bb, 0 1px 24px #40e0ff99; }
.security-desc ul {
  list-style: square inside;
  color: var(--color-text);
  margin-left: 1.3em;
  margin-bottom: var(--space-3);
}
.security-assurance { color: var(--color-primary-accent); font-size: 1.01em; font-weight: 500; text-shadow: 0 0 6px #10ffd655; }

/* ---- Policy Updates ---- */
.policy-update-section { margin-bottom: var(--space-8); }
.policy-update-row { display: flex; gap: var(--space-8); align-items: flex-start; flex-wrap: wrap; }
.policy-timeline { flex: 1 1 180px; }
.policy-tick { font-size: var(--font-size-sm); color: var(--color-gray-300); border-left: 3px solid var(--color-primary-accent); margin-bottom: var(--space-3); padding-left: var(--space-2); }
.tick-date { color: var(--color-primary-accent); font-family: var(--font-family-mono); margin-right: 0.5em; }
.policy-contact { flex: 2 1 270px; }
.policy-contact a { color: var(--color-primary-accent); text-decoration: underline; text-underline-offset: 2px; }
.policy-contact a:hover, .policy-contact a:focus-visible { color: var(--color-primary); }
.chatbot-avatar {
  display: inline-block;
  background: url('../images/avatar-chatbot.svg') center/contain no-repeat;
  width: 54px;
  height: 54px;
  margin-bottom: var(--space-2);
}
.policy-update-footnote {
  text-align: center;
  color: var(--color-gray-200);
  font-size: var(--font-size-sm);
  margin-top: var(--space-4);
}

/* ---- Section Responsive Layout ---- */
.privacy-section {
  padding: var(--space-8) 0;
  background: linear-gradient(110deg,#18141d 75%,#231c2b 100%);
}
@media (max-width: 1000px) {
  .privacy-hero-content { text-align: center; }
  .privacy-lock-anim { position: static; margin: 0 auto; display: block; }
  .privacy-hero { min-height: 310px; }
  .container { padding-left: var(--space-3); padding-right: var(--space-3); }
}
@media (max-width: 700px) {
  .privacy-hero { padding-bottom: 2.5rem; }
  .datatypes-grid, .user-rights-list, .control-links { flex-direction: column; }
  .privacy-lock-anim { display: none; }
  .usage-flowchart { flex-direction: column; gap: 0.6em; align-items: flex-start; }
  .sharing-partners-grid { grid-template-columns: 1fr; }
  .policy-update-row { flex-direction: column; gap: var(--space-4); }
  .security-visuals { flex-direction: column; gap: var(--space-4); margin-bottom: var(--space-3); }
}

/* ---- Accessibility adjustments ---- */
@media (prefers-reduced-motion: reduce) {
  .privacy-lock-anim, .security-shield-anim { animation: none !important; }
}
