/* Shared styles for legal / contact pages — matches Landing.html palette */
:root{
  --paper:#F5F2EC;
  --paper-2:#EBE7DD;
  --paper-card:#FFFEFB;
  --ink:#181715;
  --ink-2:#3A3733;
  --mute:#7A746B;
  --line:#D9D3C6;
  --coral:#FF6A3D;
  --coral-ink:#C2421E;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:clip}
body{
  font-family:'Onest', system-ui, sans-serif;
  background:var(--paper);
  color:var(--ink);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.wrap{max-width:780px;margin:0 auto;padding:0 24px}

/* Top nav */
nav.top{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;                        /* fix: перенос при узком экране */
  padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:48px;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;text-decoration:none;color:var(--ink)}
.logo .dot{
  width:28px;height:28px;border-radius:8px;background:var(--ink);
  display:grid;place-items:center;color:var(--paper);font-size:14px;font-weight:700;
  transform:rotate(-6deg);
}
.back-link{
  color:var(--ink-2);text-decoration:none;font-size:15px;
  display:inline-flex;align-items:center;gap:6px;
}
.back-link:hover{color:var(--coral-ink)}

/* Page header */
.page-head{margin-bottom:40px}
.kicker{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:12px;color:var(--coral-ink);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;
}
h1{
  font-size:clamp(32px, 4.5vw, 44px);line-height:1.1;
  letter-spacing:-0.02em;font-weight:700;margin:0 0 12px;
}
.page-meta{color:var(--mute);font-size:14px}

/* Body content */
.content{padding-bottom:80px}
.content h2{
  font-size:22px;font-weight:700;letter-spacing:-0.01em;
  margin:40px 0 14px;
}
.content h2:first-child{margin-top:0}
.content h3{
  font-size:17px;font-weight:600;
  margin:24px 0 8px;color:var(--ink);
}
.content p{margin:0 0 14px;color:var(--ink-2)}
.content ul,.content ol{margin:0 0 14px;padding-left:22px;color:var(--ink-2)}
.content li{margin-bottom:6px}
.content a{color:var(--coral-ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.content a:hover{color:var(--coral)}
.content b,.content strong{color:var(--ink)}
.content code{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:14px;background:var(--paper-2);
  padding:2px 6px;border-radius:6px;
}

/* Contact card — явный сброс ссылочных стилей из .content a */
.contact-card{
  background:var(--paper-card);border:1px solid var(--line);
  border-radius:18px;padding:24px 28px;margin:18px 0;
  display:flex;align-items:center;gap:18px;
  text-decoration:none;color:inherit;          /* fix: убираем подчёркивание и coral-цвет */
  transition:border-color .15s ease, box-shadow .15s ease;
}
.contact-card:hover{
  border-color:var(--coral-ink);
  box-shadow:0 4px 16px -8px rgba(194,66,30,.15);
}
.contact-card .ico{
  width:44px;height:44px;border-radius:12px;background:var(--paper-2);
  display:grid;place-items:center;flex-shrink:0;font-size:20px;
}
.contact-card .label{font-size:13px;color:var(--mute);margin-bottom:2px}
.contact-card .val{font-size:18px;font-weight:600;color:var(--ink)}
.contact-card:hover .val{color:var(--coral-ink)}

/* Footer */
footer.legal-footer{
  border-top:1px solid var(--line);padding:24px 0 40px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;color:var(--mute);gap:16px;flex-wrap:wrap;
}
footer.legal-footer a{color:var(--ink-2);text-decoration:none}
footer.legal-footer a:hover{color:var(--coral-ink)}
footer.legal-footer .links{
  display:flex;flex-wrap:wrap;
  gap:0 20px;                                   /* fix: gap вместо margin-left на каждой ссылке */
}

/* Mobile */
@media (max-width: 640px){
  nav.top{margin-bottom:32px}
  .page-head{margin-bottom:28px}
  .content h2{margin-top:32px}
  footer.legal-footer{flex-direction:column;align-items:flex-start;gap:14px}
  footer.legal-footer .links{flex-direction:column;gap:10px 0}
  .contact-card{padding:18px 20px;gap:14px}
}

/* ============================================================
   LANGUAGE SWITCHER  (shared across all pages)
   ============================================================ */
.lang-switch{
  display:inline-flex;
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:999px;
  padding:3px;
  gap:2px;
  flex-shrink:0;
}
.lang-btn{
  background:transparent;border:none;cursor:pointer;font-family:inherit;
  padding:6px 12px;border-radius:999px;
  color:var(--ink-2);font-size:13px;font-weight:600;
  display:flex;align-items:center;gap:5px;
  transition:all .2s ease;white-space:nowrap;
}
.lang-btn.active{background:var(--ink);color:var(--paper)}
.lang-btn:not(.active):hover{color:var(--ink)}
.lang-flag{font-size:15px;line-height:1}

/* Hide the lang-content block that doesn't match the active language */
.lang-content{transition:none}

@media (max-width:640px){
  .lang-btn{padding:5px 9px;font-size:12px}
  nav.top{justify-content:space-between}
}
