/* Юридические страницы: бумага и бирюзовые чернила, золото — только в орнаменте и линейках.
   Блок выбора внизу повторяет эмалевую плашку согласия с лендинга. */
:root {
  --paper: #fbf4e2; --ink: #16323b; --ink-2: #3f5a63; --rule: rgba(217, 154, 43, 0.6);
  --gold-1: #fbe08e; --gold-2: #f1c257; --gold-3: #d99a2b; --gold-ink: #2a1a06;
  --teal-1: #1b4651; --teal-2: #0d2a33; --teal-3: #071a20; --cream: #f6ebd2; --wax: #8e2f22;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 17px/1.65 "Alegreya Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--teal-1); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid var(--teal-1); outline-offset: 3px; border-radius: 3px; }
.defs { position: absolute; width: 0; height: 0; overflow: hidden; }

.top { max-width: 760px; margin: 0 auto; padding: 18px 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap; }
.top .home img { width: 124px; }
.top nav { display: flex; align-items: center; flex-wrap: wrap; gap: 0 18px; font-size: 15px; }
.top nav a { display: inline-flex; align-items: center; min-height: 44px; }
.langs { display: flex; gap: 0 10px; margin: 0; padding: 0 0 0 16px; list-style: none; border-left: 1px solid var(--rule); }
.langs a[aria-current] { font-weight: 800; text-decoration: none; color: var(--ink); }
.orn { display: block; width: 240px; height: 28px; margin: 14px auto 0; color: var(--gold-3); }

.doc { max-width: 760px; margin: 0 auto; padding: 4px 24px 48px; }
.doc h1 { margin: 22px 0 2px; font: italic 500 46px/1.08 Alegreya, Georgia, serif; color: var(--teal-2); }
.doc h1 + p { margin: 0 0 28px; color: var(--ink-2); font-size: 15px; }
.doc h2 { margin: 34px 0 8px; font: 700 22px/1.25 "Alegreya Sans", system-ui, sans-serif; color: var(--teal-2); }
.doc p, .doc ul { margin: 0 0 14px; max-width: 68ch; }
.doc ul { padding-left: 1.15em; }
.doc li { margin-bottom: 8px; }
.doc li::marker { color: var(--gold-3); }
.doc code { font: 600 0.9em/1 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--teal-2); }
.tbl { overflow-x: auto; margin: 6px 0 20px; }
.tbl table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; }
.tbl th { padding: 8px 16px 8px 0; border-bottom: 2px solid var(--rule); text-align: left; font-weight: 700; color: var(--teal-2); }
.tbl td { padding: 10px 16px 10px 0; border-bottom: 1px solid rgba(22, 50, 59, 0.14); vertical-align: top; }

/* выбор: тёмная эмаль, золотая кромка сверху, переключатели-печати */
.choices { position: relative; margin: 0; padding: 30px 24px 34px; background: linear-gradient(180deg, var(--teal-2), var(--teal-3)); color: #eef0e6; }
.choices::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(251, 224, 142, 0.7) 20%, rgba(251, 224, 142, 0.7) 80%, transparent); }
.choices > * { max-width: 712px; margin-left: auto; margin-right: auto; }
.choices h2 { margin-top: 0; margin-bottom: 4px; font-size: 19px; }
.choices p { margin-top: 0; margin-bottom: 12px; font-size: 15px; line-height: 1.5; }
.choices .hint { font-size: 14px; color: #c9d3cd; }
.choices .status:empty { display: none; }
.choices .note { padding: 8px 12px; border-left: 3px solid var(--gold-2); background: rgba(251, 224, 142, 0.08); font-size: 14px; }
.plats input:disabled + i, .acts button:disabled { opacity: 0.45; cursor: not-allowed; }
.plats { list-style: none; padding: 0; margin-bottom: 12px; }
.plats li { border-top: 1px solid rgba(251, 224, 142, 0.22); }
.plats li:last-child { border-bottom: 1px solid rgba(251, 224, 142, 0.22); }
.plats label { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; font-weight: 700; cursor: pointer; }
.plats input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.plats i { position: relative; flex: none; width: 54px; height: 30px; border-radius: 999px; background: #04131a;
  box-shadow: inset 0 0 0 1px rgba(251, 224, 142, 0.55), inset 0 2px 6px rgba(0, 0, 0, 0.65); transition: background 0.2s; }
.plats i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f7cf8a'%3E%3Cpath d='M12 11c3.3 0 6 2.8 6 5.2 0 2.3-2.3 2.8-3.8 2.3-.9-.3-1.4-.8-2.2-.8s-1.3.5-2.2.8C8.3 19 6 18.5 6 16.2 6 13.8 8.7 11 12 11z'/%3E%3Cellipse cx='5.6' cy='9.6' rx='2' ry='2.6'/%3E%3Cellipse cx='9.2' cy='5.9' rx='2' ry='2.7'/%3E%3Cellipse cx='14.8' cy='5.9' rx='2' ry='2.7'/%3E%3Cellipse cx='18.4' cy='9.6' rx='2' ry='2.6'/%3E%3C/svg%3E") 50% 55% / 14px no-repeat,
    radial-gradient(circle at 38% 32%, #b9483a, var(--wax) 55%, #5e1b12);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); filter: grayscale(0.9) brightness(0.75); transition: transform 0.22s cubic-bezier(.2, .8, .2, 1), filter 0.22s; }
.plats input:checked + i { background: linear-gradient(180deg, var(--gold-1), var(--gold-3)); box-shadow: inset 0 0 0 1px rgba(110, 66, 8, 0.6), inset 0 1px 0 rgba(255, 252, 230, 0.8); }
.plats input:checked + i::after { transform: translateX(24px); filter: none; }
.plats input:focus-visible + i { outline: 2px solid var(--gold-1); outline-offset: 3px; }
.acts { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.acts button { min-height: 46px; min-width: 132px; padding: 0 18px; border: 0; border-radius: 12px; font: 700 15px/1 "Alegreya Sans", system-ui, sans-serif; cursor: pointer;
  background: linear-gradient(180deg, var(--teal-1), var(--teal-2) 60%, var(--teal-3)); color: var(--cream); text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 240, 200, 0.18), inset 0 0 0 1px rgba(251, 224, 142, 0.55), inset 0 0 0 3px rgba(7, 26, 32, 0.9), inset 0 0 0 4px rgba(251, 224, 142, 0.18), 0 8px 20px -10px rgba(0, 0, 0, 0.7); }
.acts button:hover { background: linear-gradient(180deg, #24596a, #123742 60%, #0a222a); }
.acts button:focus-visible { outline: 2px solid var(--gold-1); outline-offset: 3px; }

.foot { padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); background: var(--teal-3); color: #cfd8d4; text-align: center; font-size: 13.5px; }
.foot p { margin: 0; }
.foot a { color: inherit; }

@media (max-width: 600px) {
  body { font-size: 16.5px; }
  .top { padding-top: 12px; }
  .top .home img { width: 104px; }
  .top nav { gap: 0 14px; font-size: 14.5px; }
  .doc h1 { font-size: 36px; }
  .acts button { flex: 1; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}
