:root {
  --color-page: #080a0d;
  --color-surface: #11151b;
  --color-surface-soft: #171d25;
  --color-text: #f5f7fa;
  --color-muted: #a7b0bd;
  --color-red: #ee343a;
  --color-red-hover: #f5575c;
  --color-blue: #0e93d1;
  --color-blue-hover: #5cb4dd;
  --color-border: rgba(255, 255, 255, 0.1);
  --font-main: Arial, Helvetica, sans-serif;
  --max-width: 1000px;
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-main);
  background: var(--color-page);
}
main { flex: 1; }

.page-content {
  width: min(calc(100% - 32px), var(--max-width));
  margin: 0 auto;
  padding: 52px 0 72px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 36px;
  color: var(--color-muted);
  font-size: 0.94rem;
}
.breadcrumb a { color: var(--color-blue-hover); }
.breadcrumb a:hover,
.breadcrumb a:focus { color: #fff; }

.privacy-hero { max-width: 850px; }
.privacy-hero h1 {
  margin: 0;
  font-size: clamp(2.25rem, 6vw, 4.6rem);
  line-height: 1;
}
.privacy-hero > p:last-child {
  margin: 22px 0 0;
  color: var(--color-muted);
  font-size: 1.08rem;
  line-height: 1.75;
}

.page-section { margin-top: 58px; }
.section-title {
  margin: 0 0 18px;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
}
.section-kicker {
  margin: 0 0 10px;
  color: var(--color-red);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.legal-section { scroll-margin-top: 120px; }
.legal-panel {
  padding: clamp(22px, 4vw, 36px);
  color: var(--color-muted);
  font-size: 1.02rem;
  line-height: 1.75;
  background: linear-gradient(180deg, rgba(17, 21, 27, 0.96), rgba(12, 15, 20, 0.96));
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}
.legal-panel > :first-child { margin-top: 0; }
.legal-panel > :last-child { margin-bottom: 0; }
.legal-panel p { max-width: 930px; margin: 0 0 18px; }
.legal-panel h3 {
  margin: 30px 0 10px;
  color: var(--color-text);
  font-size: 1.18rem;
}
.legal-panel a { color: var(--color-blue-hover); }
.legal-panel a:hover,
.legal-panel a:focus { color: #fff; }
.legal-panel code { color: #f6c5c7; overflow-wrap: anywhere; }
.legal-updated { color: var(--color-red); font-size: 0.92rem; font-weight: 700; }

.cookie-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0 28px;
}
.cookie-detail {
  padding: 20px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--color-border);
  border-radius: 14px;
}
.cookie-detail h3 { margin: 0 0 10px; }
.cookie-detail p { margin: 0; }

.privacy-cookie-controls { margin-top: 24px; }

.privacy-cookie-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  color: #fff;
  font: inherit;
  font-weight: 800;
  background: var(--color-blue);
  border: 1px solid var(--color-blue);
  border-radius: 999px;
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.privacy-cookie-button:hover,
.privacy-cookie-button:focus {
  background: var(--color-blue-hover);
  border-color: var(--color-blue-hover);
  transform: translateY(-1px);
}

@media (max-width: 820px) {
  .cookie-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .page-content { padding: 40px 0 56px; }
  .page-section { margin-top: 48px; }
  .legal-panel { padding: 20px; }
}
