/* ============================================================
   Adatvédelmi irányelvek oldal stílusok
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; font-family: "Inter", Arial, sans-serif; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  min-height: 100vh;
  background-color: #000000;
  color: #ffffff;
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

::selection { background: #00D4FF; color: #000000; }
a { color: inherit; text-decoration: none; }
a.legal-link { color: #00D4FF; text-decoration: underline; text-underline-offset: 4px; font-weight: 600; }
a.legal-link:hover { color: #00a8cc; }

.skip-link {
  position: absolute; left: -9999px; top: 0.75rem; z-index: 10000;
  padding: 0.5rem 1rem; border-radius: 9999px;
  background: #ffffff; color: #000000;
  font-weight: 600; font-size: 0.875rem; text-decoration: none;
}
.skip-link:focus { left: 0.75rem; outline: 2px solid #00D4FF; outline-offset: 2px; }

.privacy-close-btn {
  position: fixed; top: 1rem; right: 1rem; z-index: 50;
  width: 2.5rem; height: 2.5rem;
  border-radius: 9999px;
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: #f3f4f6;
  color: #4b5563;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.privacy-close-btn:hover { background: #e5e7eb; color: #111827; }
@media (min-width: 640px) { .privacy-close-btn { top: 1rem; right: 1.5rem; } }

.page-wrap { position: relative; min-height: 100vh; padding: 4rem 1rem; }
@media (min-width: 640px) { .page-wrap { padding: 5rem 1.5rem; } }
.content { max-width: 56rem; margin: 0 auto; }

.page-header { margin-bottom: 1rem; padding-right: 3rem; }
@media (min-width: 640px) { .page-header { padding-right: 0; } }
.icon-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
@media (min-width: 640px) { .icon-row { display: inline-flex; margin-bottom: 0; } }

h1 {
  font-size: clamp(2.35rem, 6.2vw, 3.75rem); font-weight: 400;
  text-transform: none; letter-spacing: -0.035em; color: #fff;
  line-height: 1.08;
}
@media (max-width: 720px) { h1 { font-size: 38px; line-height: 1.16; } }

.date { margin-bottom: 2rem; font-size: 0.875rem; color: #a3a3a3; }

.card-outer {
  border-radius: 1rem; border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04); padding: 1.5rem; margin-bottom: 1.5rem;
}
@media (min-width: 640px) { .card-outer { padding: 2rem; } }

.card-inner {
  border-radius: 0.75rem; border: 1px solid rgba(255,255,255,0.1);
  background: rgba(0,0,0,0.35); padding: 1.5rem; margin-top: 1rem;
}
.card-inner + .card-inner { margin-top: 1rem; }

h2 {
  font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 400;
  text-transform: none; letter-spacing: -0.02em; color: #fff;
  margin-bottom: 1rem; line-height: 1.15;
}

p { color: #a3a3a3; margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }
ul.list-disc { list-style: disc; padding-left: 1.5rem; }
ul.list-disc li { color: #a3a3a3; margin-bottom: 0.5rem; }
ul.list-none { list-style: none; }
ul.list-none li { color: #a3a3a3; margin-bottom: 0.25rem; }
strong { color: rgba(255,255,255,0.9); }
.label-strong { font-weight: 600; color: #fff; margin-bottom: 0.75rem; display: block; }

.page-footer {
  margin-top: 3rem; display: flex; flex-direction: column;
  align-items: stretch; justify-content: space-between; gap: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.1); padding-top: 2rem;
}
@media (min-width: 640px) { .page-footer { flex-direction: row; align-items: center; } }

.footer-links { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 640px) { .footer-links { flex-direction: row; align-items: center; gap: 2rem; } }

.nav-link-legal {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.875rem; font-weight: 600; color: #00D4FF; transition: color 0.2s;
}
.nav-link-legal:hover { color: #00a8cc; }

.copyright { font-size: 0.75rem; color: #a3a3a3; text-align: center; }
@media (min-width: 640px) { .copyright { text-align: right; } }
