/* =========================
   OCHRANA OSOBNÍCH ÚDAJŮ
   – navazuje na cenik.css (hero, barvy, písmo)
========================= */

/* nižší hero než u ceníku – tady se jde rovnou ke čtení */
.legal-hero {
  min-height: auto;
}

.legal-hero .pricing-hero-content {
  padding: 70px 0 90px;
}

.legal-hero .pricing-hero-content h1 {
  font-size: clamp(52px, 7vw, 100px);
}


/* SEKCE */

.legal {
  background: var(--sage);
  border-radius: 25px;
  padding: 85px 8% 95px;
}

.legal-container {
  max-width: 1100px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
  align-items: start;
}


/* OBSAH – drží se při scrollu */

.legal-nav {
  position: sticky;
  top: 100px;

  padding: 24px;

  background: rgba(251, 250, 246, .65);
  border-radius: 15px;
}

.legal-nav > span {
  display: block;
  margin-bottom: 14px;

  color: var(--sage-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 2.5px;
}

.legal-nav ol {
  list-style: none;
  counter-reset: legal;

  display: flex;
  flex-direction: column;
  gap: 4px;
}

.legal-nav li {
  counter-increment: legal;
}

.legal-nav a {
  display: flex;
  gap: 10px;

  padding: 7px 0;

  color: var(--forest);
  font-size: 13px;
  font-weight: 800;

  transition: transform .3s ease, color .3s ease;
}

.legal-nav a::before {
  content: counter(legal, decimal-leading-zero);
  color: #A48C78;
  font-size: 11px;
  font-weight: 900;
  padding-top: 1px;
}

.legal-nav a:hover {
  color: var(--sage-dark);
  transform: translateX(4px);
}


/* KARTY */

.legal-content {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.legal-card {
  scroll-margin-top: 100px;

  padding: 32px 34px;

  background: #FBFAF6;
  border: 1px solid rgba(59, 47, 42, .06);
  border-radius: 15px;

  box-shadow: 0 10px 28px rgba(59, 47, 42, .07);
}

.legal-number {
  display: block;

  color: #B8A492;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2px;
}

.legal-card h2 {
  margin: 6px 0 16px;

  color: var(--forest);
  font-size: 25px;
  font-weight: 900;
  letter-spacing: -.8px;
  line-height: 1.25;
}

.legal-card p,
.legal-card li {
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
}

.legal-card p + p,
.legal-card ul + p,
.legal-card p + ul {
  margin-top: 12px;
}

.legal-card strong {
  color: var(--forest);
  font-weight: 800;
}

.legal-card a {
  color: var(--forest);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: #B8A492;
  text-underline-offset: 3px;
}

.legal-card ul {
  list-style: none;

  display: flex;
  flex-direction: column;
  gap: 8px;
}

.legal-card ul li {
  position: relative;
  padding-left: 22px;
}

.legal-card ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;

  color: var(--sage-dark);
  font-weight: 900;
}

/* kontakt správce – bez fajfek, v rámečku */

.legal-card ul.legal-contact {
  gap: 2px;
  margin: 4px 0 14px;
  padding: 18px 20px;

  background: #F0EAE2;
  border: 1px solid #E6DDD2;
  border-radius: 12px;
}

.legal-card ul.legal-contact li {
  padding-left: 0;
}

.legal-card ul.legal-contact li::before {
  content: none;
}


/* TABLET A MOBIL */

@media (max-width: 900px) {
  .legal-container {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .legal-nav {
    position: static;
  }
}

@media (max-width: 760px) {
  .legal {
    padding: 60px 6%;
    border-radius: 22px;
  }

  .legal-hero .pricing-hero-content {
    padding: 40px 0 60px;
  }

  .legal-card {
    padding: 24px 22px;
  }

  .legal-card h2 {
    font-size: 22px;
  }

  .legal-card p,
  .legal-card li {
    font-size: 13px;
  }
}
