/* ==========================================================================
   SVĚTLÝ VZHLED PRÁVNÍCH A INFORMAČNÍCH STRÁNEK
   Tento soubor se načítá jako poslední a sjednocuje GDPR, autorská práva,
   publikaci fotografií a cookies s béžovým vzhledem hlavní stránky.
   ========================================================================== */

html{
  background: #eee3d2;
}

body.legal-page{
  --legal-bg: #eee3d2;
  --legal-card: rgba(255,250,240,.78);
  --legal-card-strong: rgba(255,250,240,.94);
  --legal-text: #181713;
  --legal-muted: #625a4e;
  --legal-line: rgba(104,86,56,.22);
  --legal-gold: #b77d22;
  --legal-teal: #5f9894;

  min-height: 100svh;
  margin: 0;
  padding: 0;
  background: var(--legal-bg);
  color: var(--legal-text);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.6;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

/* Ruší staré globální lepení a deformaci nadpisů. */
body.legal-page h1,
body.legal-page h2,
body.legal-page h3,
body.legal-page p{
  position: static;
  top: auto;
  z-index: auto;
  transform: none;
  color: inherit !important;
  font-family: inherit;
  letter-spacing: 0;
  text-align: left;
}

body.legal-page p,
body.legal-page li{
  font-size: 1rem;
}

/* Tlačítko zavření používá stejnou světlou paletu jako ostatní ovládání webu. */
body.legal-page .close-btn{
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 1000;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--legal-line);
  border-radius: 8px;
  background: var(--legal-card-strong);
  color: var(--legal-text);
  box-shadow: 0 8px 18px rgba(78,58,25,.12);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

body.legal-page .close-btn:hover,
body.legal-page .close-btn:focus-visible{
  transform: translateY(-1px);
  border-color: rgba(183,125,34,.7);
  background: #fffaf0;
  outline: none;
}

body.legal-page .close-btn svg{
  width: 21px;
  height: 21px;
}

/* Společná karta pro GDPR a autorská práva. */
body.legal-page .policy{
  display: block;
  max-width: 1040px;
  margin: 0 auto;
  padding: 72px 22px 48px;
}

body.legal-page .policy-card{
  width: 100%;
  margin: 0 auto;
  padding: 28px;
  overflow: hidden;
  border: 1px solid var(--legal-line);
  border-radius: 8px;
  background: var(--legal-card);
  color: var(--legal-text);
  box-shadow: 0 14px 32px rgba(78,58,25,.11);
}

body.legal-page .policy-card .policy-title{
  margin: 0 0 22px;
  color: var(--legal-text) !important;
  font-size: clamp(1.8rem, 4vw, 2.55rem);
  line-height: 1.1;
  font-weight: 900;
  text-align: center;
  text-transform: none;
}

body.legal-page .policy-table{
  --col-left: 210px;
  --gap: 18px;
  --divider: var(--legal-line);
  display: grid;
  gap: 12px;
}

body.legal-page .policy-table .row{
  display: grid;
  grid-template-columns: var(--col-left) minmax(0, 1fr);
  gap: var(--gap);
  padding: 16px 18px;
  border: 1px solid var(--legal-line);
  border-radius: 8px;
  background: rgba(255,255,255,.42);
  box-shadow: none;
  transition: border-color .18s ease, background-color .18s ease;
}

body.legal-page .policy-table .row::after{
  background: var(--legal-line);
}

body.legal-page .policy-table .row:hover,
body.legal-page .policy-table .row:focus-within{
  transform: none;
  border-color: rgba(183,125,34,.55);
  background: rgba(255,255,255,.62);
  box-shadow: none;
}

body.legal-page .policy-table .cell,
body.legal-page .policy-table .cell p,
body.legal-page .policy-table .cell li{
  min-width: 0;
  color: var(--legal-text);
  text-align: left;
  overflow-wrap: anywhere;
}

body.legal-page .policy-table .cell.head{
  color: var(--legal-gold);
  font-weight: 900;
}

body.legal-page .policy-card strong,
body.legal-page .policy-table .cell strong{
  color: var(--legal-text);
}

body.legal-page a{
  color: #8b5d18;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Samostatná jednodušší karta stránky Cookies. */
body.legal-page main.page-doc{
  display: block;
  max-width: 960px;
  margin: 0 auto;
  padding: 72px 22px 48px;
}

body.legal-page main.page-doc > header{
  margin: 0 0 18px !important;
}

body.legal-page main.page-doc h1{
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.55rem);
  line-height: 1.1;
  font-weight: 900;
  text-align: center;
}

body.legal-page main.page-doc .card{
  display: block;
  padding: 26px 28px;
  border: 1px solid var(--legal-line);
  border-radius: 8px;
  background: var(--legal-card);
  color: var(--legal-text);
  box-shadow: 0 14px 32px rgba(78,58,25,.11);
  backdrop-filter: none;
}

body.legal-page main.page-doc .card p,
body.legal-page main.page-doc .card li{
  color: var(--legal-muted);
  line-height: 1.75;
  text-align: left;
}

/* Stránka publikace fotografií má vlastní hlavičku a PDF náhled. */
body.legal-page.page-policy .wrap{
  width: min(100%, 1040px);
  max-width: 1040px;
  margin: 0 auto;
  padding: 38px 22px 44px;
  overflow: visible;
}

body.legal-page.page-policy .site-head{
  display: grid;
  justify-items: center;
  gap: 10px;
  margin: 0 0 24px;
  text-align: center;
}

body.legal-page.page-policy .site-head img{
  width: min(300px, 72vw);
  height: auto;
  display: block;
}

body.legal-page.page-policy .site-head h1{
  margin: 0;
  color: var(--legal-text) !important;
  font-size: clamp(1.8rem, 4vw, 2.55rem);
  line-height: 1.1;
  font-weight: 900;
  text-align: center;
}

body.legal-page.page-policy .policy-card{
  width: 100%;
  padding: 26px;
}

body.legal-page.page-policy .policy-card h2{
  margin: 0 0 14px;
  color: var(--legal-text) !important;
  font-size: clamp(1.25rem, 3vw, 1.7rem);
  line-height: 1.25;
  text-align: left;
  text-transform: none;
}

body.legal-page.page-policy .policy-card > p{
  color: var(--legal-muted) !important;
  font-size: 1rem;
  text-align: left;
}

body.legal-page.page-policy .highlight{
  margin: 16px 0;
  padding: 14px 16px;
  border-left: 4px solid var(--legal-gold);
  border-radius: 0 8px 8px 0;
  background: rgba(216,162,74,.13);
  color: var(--legal-text);
}

body.legal-page.page-policy .download{
  margin: 18px 0;
}

body.legal-page.page-policy .download a.button{
  padding: 10px 16px;
  border: 1px solid rgba(183,125,34,.55);
  border-radius: 8px;
  background: #d8a24a;
  color: #181713;
  text-decoration: none;
  box-shadow: none;
}

body.legal-page.page-policy .pdf-wrap.clean{
  border: 1px solid var(--legal-line);
  border-radius: 8px;
  background: #fffaf0;
}

body.legal-page.page-policy footer.copyright-bar{
  margin-top: 20px;
  padding: 12px 14px;
  border-top: 1px solid var(--legal-line);
  background: transparent;
  color: var(--legal-muted);
  font-size: .78rem;
}

@media (max-width: 720px){
  body.legal-page .policy,
  body.legal-page main.page-doc{
    padding: 66px 16px 36px;
  }

  body.legal-page .policy-card,
  body.legal-page main.page-doc .card,
  body.legal-page.page-policy .policy-card{
    padding: 20px 16px;
  }

  body.legal-page .policy-table .row{
    grid-template-columns: 1fr !important;
    gap: 6px;
    padding: 14px;
  }

  body.legal-page .policy-table .row::after{
    display: none;
  }

  body.legal-page.page-policy .wrap{
    padding: 28px 16px 36px;
  }

  body.legal-page.page-policy .pdf-frame{
    height: 430px;
  }
}

