/* Coburg — právne stránky (Privacy Policy, Terms of Service). Rozloženie a písmo podľa stránok
   dokumentov v aplikácii Coburg na Macu (.policy*): jeden stĺpec 680 px, nadpis Lora, podnadpisy
   Source Serif 4, text 16 px s riadkovaním 1,7. Farby a písma berie z app.css. */

@font-face {
  font-family: "Source Serif 4";
  src: url("/fonts/SourceSerif4.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

:root { --line: #e7e7e0; --inset: #f1f1ec; }

/* Stránka sa posúva pod pevnou bielou guličkou so šípkou doľava (Owner 12.10.2026, ako Settings na mobile); text sa hore
   stráca do stratena ako rozhovor v Chate — posúva sa len obsah, gulička stojí. */
.policy {
  --policy-top: calc(env(safe-area-inset-top) + 54px);
  position: fixed; inset: 0; overflow-y: auto; overscroll-behavior: none; -webkit-overflow-scrolling: touch;
  background: var(--workflow-canvas); color: var(--ink); font-family: var(--sans);
  font-size: 15px; line-height: 1.5; padding: var(--policy-top) 32px 96px; box-sizing: border-box;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.100) calc(var(--policy-top) * 0.0000 + 0.00px), rgba(0,0,0,0.134) calc(var(--policy-top) * 0.1250 + 3.00px), rgba(0,0,0,0.232) calc(var(--policy-top) * 0.2500 + 6.00px), rgba(0,0,0,0.378) calc(var(--policy-top) * 0.3750 + 9.00px), rgba(0,0,0,0.550) calc(var(--policy-top) * 0.5000 + 12.00px), rgba(0,0,0,0.722) calc(var(--policy-top) * 0.6250 + 15.00px), rgba(0,0,0,0.868) calc(var(--policy-top) * 0.7500 + 18.00px), rgba(0,0,0,0.966) calc(var(--policy-top) * 0.8750 + 21.00px), #000 calc(var(--policy-top) + 24px), #000 100%);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.100) calc(var(--policy-top) * 0.0000 + 0.00px), rgba(0,0,0,0.134) calc(var(--policy-top) * 0.1250 + 3.00px), rgba(0,0,0,0.232) calc(var(--policy-top) * 0.2500 + 6.00px), rgba(0,0,0,0.378) calc(var(--policy-top) * 0.3750 + 9.00px), rgba(0,0,0,0.550) calc(var(--policy-top) * 0.5000 + 12.00px), rgba(0,0,0,0.722) calc(var(--policy-top) * 0.6250 + 15.00px), rgba(0,0,0,0.868) calc(var(--policy-top) * 0.7500 + 18.00px), rgba(0,0,0,0.966) calc(var(--policy-top) * 0.8750 + 21.00px), #000 calc(var(--policy-top) + 24px), #000 100%);
}
/* gulička ako v Settings (shell.css .upgrade-close): 42 px, biela, jemný tieň, šípka back.svg */
.policy-back {
  position: fixed; top: calc(6px + env(safe-area-inset-top)); left: 16px; z-index: 2;
  display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%;
  background: #fff; color: var(--ink); box-shadow: 0 2px 12px rgba(20, 20, 15, .08); text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.policy-back-ic {
  width: 18px; height: 18px; background-color: currentColor;
  -webkit-mask: url("/icons/ui/back.svg") center / contain no-repeat; mask: url("/icons/ui/back.svg") center / contain no-repeat;
}
.policy-doc { max-width: 680px; margin: 0 auto; }
/* gulička so šípkou nahor (Owner 13.10.2026) — vzhľad ako .to-end v Chate (chat.css), hore v strede na úrovni guličky
   so šípkou doľava; ukáže sa až po posunutí nadol, ťuknutie vráti obsah na začiatok */
.policy-to-top {
  position: fixed; top: calc(9px + env(safe-area-inset-top)); left: 50%; z-index: 2; width: 36px; height: 36px;
  margin-left: -18px; padding: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 1px solid #e3e2de; background: #fff; color: #3d3d3a; box-shadow: 0 2px 8px rgba(20, 20, 15, .08);
  cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity .15s, transform .15s;
  -webkit-tap-highlight-color: transparent;
}
.policy-to-top.show { opacity: 1; pointer-events: auto; transform: none; }
@media (hover: hover) and (pointer: fine) { .policy-to-top:hover { background: #F4F3F1; } }
.policy-to-top-ic {
  width: 18px; height: 18px; background-color: currentColor;
  -webkit-mask: url("/icons/ui/arrow-up.svg") center / contain no-repeat; mask: url("/icons/ui/arrow-up.svg") center / contain no-repeat;
}
.policy-title {
  font-family: "Lora", Georgia, serif; font-weight: 400; font-size: 40px; line-height: 1.15;
  letter-spacing: -.01em; margin: 1.5em 0 0;
}
.policy-meta { font-size: 13px; color: var(--faint); margin: 10px 0 0; }
.policy-rule { border-top: 1px solid var(--line); margin: 22px 0 34px; }

.policy-body { color: var(--dim); font-size: 16px; line-height: 1.7; }
.policy-body p { margin: 0 0 18px; }
.policy-body h2 {
  font-family: "Source Serif 4", Georgia, serif; font-weight: 400; font-size: 27px; line-height: 1.2;
  letter-spacing: -.01em; color: var(--ink); margin: 44px 0 6px;
}
.policy-body h2 + p, .policy-body h2 + ul { margin-top: 12px; }
.policy-body h3 { font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--ink); margin: 28px 0 8px; }
.policy-body ul { margin: 0 0 18px; padding: 0; list-style: none; }
.policy-body li { position: relative; padding-left: 20px; margin: 0 0 8px; }
.policy-body li::before {
  content: ""; position: absolute; left: 5px; top: 11px; width: 4px; height: 4px;
  border-radius: 50%; background: var(--line2);
}
.policy-body strong { font-weight: 600; color: var(--ink); }
.policy-body a { color: var(--ink); text-underline-offset: 2px; }
.policy-note { font-style: italic; color: var(--faint); margin: 0 0 18px; }
.policy-address { font-style: normal; margin: 0 0 18px; }

.policy-tablewrap { overflow-x: auto; margin: 0 0 22px; border: 1px solid var(--line); border-radius: 10px; }
.policy-table { border-collapse: collapse; font-size: 13px; line-height: 1.5; width: 100%; min-width: 560px; }
.policy-table th, .policy-table td {
  text-align: left; vertical-align: top; padding: 10px 14px; border-bottom: 1px solid var(--line);
}
.policy-table thead th { color: var(--ink); font-weight: 600; background: var(--inset); }
.policy-table tbody tr:last-child td { border-bottom: none; }
.policy-table td { color: var(--dim); }

/* Veta pod prihlasovacími tlačidlami (ako v aplikácii: .login-legal). */
.login-legal { margin: 20px 0 0; font-size: 13px; color: var(--faint); text-align: center; line-height: 1.55; }
.login-legal a { color: var(--dim); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.login-legal a:hover { color: var(--ink); }
/* „Download desktop app“ pod pravidlami (Owner 7.10.2026, ako Claude): vzhľad prihlasovacích tlačidiel, šírka podľa textu */
.login-download-wrap { display: flex; justify-content: center; margin-top: 16px; }
.login-download-wrap:not(:has(> :not([hidden]))) { display: none; }  /* nič na stiahnutie (telefón) = žiadne miesto */
.login-download {
  display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 22px; box-sizing: border-box;
  border: 1px solid var(--line2); border-radius: 999px; background: var(--surface); color: var(--ink);
  font-size: 15px; font-weight: 500; text-decoration: none; transition: border-color .15s;
}
.login-download:hover { border-color: var(--faint); }
.login-download[hidden] { display: none; }
.login-download svg { width: 18px; height: 18px; flex: none; }
/* Karta „Získajte aplikáciu“ na telefóne (Owner 14.10.2026, ako Claude) */
.login-app {
  width: 100%; box-sizing: border-box; margin: 0 0 24px; padding: 20px; text-align: left;
  background: var(--surface); border: 1px solid var(--line2); border-radius: 24px;
}
.login-app[hidden] { display: none; }
.login-app-head { display: flex; align-items: center; gap: 12px; }
.login-app-icon { width: 40px; height: 40px; border-radius: 10px; flex: none; }
.login-app-title { font-size: 21px; font-weight: 600; color: var(--ink); }
.login-app-text { margin: 10px 0 16px; font-size: 15px; line-height: 1.45; color: var(--dim); }
/* „Stiahnuť“ ako piškótka v štýle Apple (Owner 14.10.2026): čierna, úplne zaoblená */
.login-app-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px; height: 50px; border-radius: 999px;
  background: var(--ink); color: var(--surface); font-size: 17px; font-weight: 600; letter-spacing: -.01em; text-decoration: none;
}
/* kým aplikácia nie je v obchode: celá karta v sivom tóne (aj čierne tlačidlo), nedá sa stlačiť */
.login-app.soon { filter: grayscale(1); opacity: .45; }
.login-app.soon .login-app-btn { cursor: default; pointer-events: none; }

@media (max-width: 440px) {
  .policy { padding: var(--policy-top) 16px 64px; }
  .policy-title { font-size: 32px; }
}
/* číslovaný zoznam (Help Center, Owner 16.10.2026): číslo namiesto bodky */
.policy-body ol { margin: 0 0 18px; padding: 0; list-style: none; counter-reset: pol; }
.policy-body ol > li { counter-increment: pol; padding-left: 24px; }
.policy-body ol > li::before { content: counter(pol) "."; background: none; width: auto; height: auto; border-radius: 0; top: 0; left: 0; color: var(--faint); }
