/* rishi.chat (international version): sign-in, payment and error pages in the look of the landing
   (rishi-intl/landing): night header and footer, paper body, Forum for display type, Commissioner for text,
   thin brass outlines, nearly square corners. Values copied from the landing so the two sites read as one. */
:root {
  --night: #14122b; --night-soft: #1d1a36; --paper: #f6efe2; --card: #fcf7ee; --ink: #292538; --muted: #6f6573;
  --brass: #c9ab72; --brass-soft: #c9ab7255; --rust: #9b402d; --line: #d8cbb5; --light-line: #ffffff20;
  --display: 'Forum', Georgia, serif;
  --sans: 'Commissioner', Arial, 'Noto Sans Georgian', sans-serif;
  color-scheme: light;
}
html[lang=ka] { --display: 'Noto Sans Georgian', sans-serif; --sans: 'Noto Sans Georgian', 'Commissioner', Arial, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; }
body { min-height: 100vh; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); font: 16px/1.7 var(--sans); -webkit-font-smoothing: antialiased; }
main { flex: 1; }
a { color: inherit; }
img { max-width: 100%; }
.wrap { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.test-banner { padding: 5px 12px; text-align: center; background: #5a3e1f; color: #fbe9cc; font-size: 12px; }

/* header — the landing's, one to one */
.site-header { position: sticky; top: 0; z-index: 20; background: #14122bf5; border-bottom: 1px solid var(--light-line); color: var(--paper); backdrop-filter: blur(16px); }
.head { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 88px; }
.logo { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; text-decoration: none; }
.logo img { width: 39px; height: 39px; display: block; }
.wordmark { font: 400 37px/1 'Forum', Georgia, serif; letter-spacing: .055em; color: var(--paper); }
.head-nav { display: flex; gap: 28px; margin-left: auto; margin-right: 4px; font-size: 14px; color: #d4cbdc; }
.head-nav a, .foot-links a, .merchant a { text-decoration: none; }
.head-nav a:hover, .foot-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.head-right { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.language-switch { display: flex; gap: 6px; }
.lang-switch { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 8px 10px; border: 1px solid transparent; border-radius: 5px; color: #d4cbdc; font-size: 12px; text-decoration: none; white-space: nowrap; }
.lang-switch[aria-current] { border-color: #c9ab7255; background: #c9ab7209; color: #e2cda4; }
.lang-switch:hover { color: var(--paper); }
.flag { width: 20px; height: 14px; display: block; border-radius: 1px; }
.head-chat, .button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; padding: 9px 20px;
  border: 1px solid var(--brass); border-radius: 2px; background: #211e31; box-shadow: inset 0 0 0 3px var(--night);
  color: #f3e6ce; font: 400 13px/1.3 var(--sans); letter-spacing: .035em; text-decoration: none; cursor: pointer;
  transition: background .15s, color .15s;
}
.head-chat:after { content: '↗'; color: var(--brass); font-size: 13px; }
.head-chat:hover, .button:hover { background: #2b2740; color: #fff8ea; }

/* body sections */
.section { padding: 72px 0 88px; }
.container { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.auth-card, .narrow { max-width: 520px; }
.auth-card, .pay-card, .document {
  margin-inline: auto; padding: 44px 44px 40px; border: 1px solid var(--line); border-radius: 4px; background: var(--card);
  box-shadow: 0 20px 60px #2a22400d;
}
.auth-card:before, .pay-card:before, .document:before {
  content: ''; display: block; width: 46px; height: 46px; margin: -4px 0 22px;
  background: url('/static/img/logo-small.svg') center / contain no-repeat;
}
h1 { margin: 0 0 26px; font: 400 44px/1.1 var(--display); letter-spacing: -.02em; color: var(--ink); }
html[lang=ka] h1 { font-size: 32px; line-height: 1.35; letter-spacing: 0; }
.eyebrow { margin: 0 0 8px; color: var(--rust); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
p { margin: 0 0 18px; }
.small { font-size: 13px; color: var(--muted); line-height: 1.7; }
.auth-card > p, .document > p { font-size: 15px; color: var(--muted); }
.auth-card a, .document a:not(.button) { color: var(--ink); text-decoration: underline; text-decoration-color: var(--brass); text-underline-offset: 4px; }
.auth-card a:hover, .document a:not(.button):hover { color: var(--rust); }

/* forms */
form { display: flex; flex-direction: column; gap: 18px; margin: 0 0 24px; }
label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; letter-spacing: .04em; color: var(--muted); }
input[type=email], input[type=password], input[type=text], input:not([type]) {
  width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #cdbfa6; border-radius: 3px; background: #fffdf8;
  color: var(--ink); font: 16px/1.4 var(--sans); letter-spacing: 0; transition: border-color .15s, box-shadow .15s;
}
input:focus { outline: 0; border-color: var(--brass); box-shadow: 0 0 0 3px #c9ab7233; }
.checkbox { flex-direction: row; align-items: flex-start; gap: 12px; font-size: 14px; letter-spacing: 0; color: var(--ink); line-height: 1.6; }
.checkbox input { flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #211e31; }
form .small { margin: -6px 0 0; }
form .button { width: 100%; min-height: 52px; margin-top: 6px; font-size: 14px; }
.button-ghost { background: transparent; box-shadow: none; border-color: #b9a37a; color: var(--ink); }
.button-ghost:hover { background: #2a224008; color: var(--ink); }
.document p:has(> .button) { display: flex; flex-wrap: wrap; gap: 10px; }
.form-error { padding: 12px 14px; border: 1px solid #c7604a55; border-left: 3px solid #b0472f; border-radius: 3px; background: #b0472f0d; color: #7d2f1f; font-size: 14px; }
.notice { padding: 12px 14px; border: 1px solid var(--brass-soft); border-radius: 3px; background: #c9ab7214; font-size: 14px; }
.telegram-login { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.telegram-login p { font-size: 14px; color: var(--muted); }

/* payment card */
.details { display: grid; grid-template-columns: auto 1fr; gap: 10px 22px; margin: 0 0 24px; padding: 18px 0; border-block: 1px solid var(--line); font-size: 15px; }
.details dt { color: var(--muted); }
.details dd { margin: 0; }
.details b { font: 400 26px/1 var(--display); color: #6c483a; }
.payment-badges { display: flex; gap: 8px; }
.payment-badges span { padding: 3px 9px; border: 1px solid var(--line); border-radius: 2px; font-size: 12px; color: var(--muted); }

/* footer — the landing's */
.site-footer { background: #100e23; border-top: 1px solid var(--light-line); padding: 48px 0; color: #b5aabd; font-size: 12px; }
.foot-links { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-bottom: 28px; color: #e0d6e6; }
.merchant { line-height: 1.9; }
.merchant strong { color: var(--paper); font-weight: 500; }
.merchant a:hover { color: var(--brass); }
.cards { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin: 23px 0; }
.cards .small { color: #9f94ac; font-size: 11px; }
.disclaimer { font-size: 11px; color: #9f94ac; }
.copy { font-size: 11px; margin-top: 8px; color: #7f7590; }

@media (max-width: 1000px) { .head-nav { display: none; } }
@media (max-width: 700px) {
  .wrap, .container { width: calc(100% - 32px); }
  .head { min-height: 76px; gap: 10px; }
  .logo { gap: 8px; }
  .logo img { width: 30px; height: 30px; }
  .wordmark { font-size: 31px; }
  .head-right { gap: 8px; }
  .language-switch { gap: 0; }
  .lang-switch { padding: 7px 6px; gap: 5px; font-size: 11px; min-height: 36px; }
  .flag { width: 17px; height: 12px; }
  .head-chat { min-height: 36px; padding: 8px 12px; font-size: 12px; }
  .head-chat:after { display: none; }
  .section { padding: 28px 0 56px; }
  .auth-card, .pay-card, .document { padding: 30px 22px 28px; }
  h1 { font-size: 36px; }
  html[lang=ka] h1 { font-size: 27px; }
}
@media (max-width: 359px) { .wordmark { font-size: 26px; } .logo img { width: 26px; height: 26px; } .lang-switch span { display: none; } }

/* "Continue with Telegram": our button in the form's look (a secondary action: paper, brass rim) */
.tg-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 52px; padding: 12px 20px;
  border: 1px solid #b9a37a; border-radius: 2px; background: #fffdf8; color: var(--ink);
  font: 400 14px/1.3 var(--sans); letter-spacing: .035em; cursor: pointer; transition: background .15s, border-color .15s;
}
.tg-button svg { width: 20px; height: 20px; flex: none; fill: #2a88c4; }
.tg-button:hover { background: #f6eedf; border-color: var(--brass); }
.tg-button:disabled { opacity: .6; cursor: progress; }
.telegram-login .form-error { margin-top: 14px; }

/* The header already carries the brand on authentication pages. */
.auth-card:before { content: none; display: none; }
