/* Дополнения к вёрстке «Кантри» (assets/css/style.css не трогаем):
   правовые страницы, форма обратной связи, плашка cookie.
   Цвета и шрифты — из токенов дизайн-системы отеля. */

mark.todo { background: var(--brand-facade-tint); color: var(--on-facade); padding: 0 4px; border-radius: var(--radius-sm); }

/* ---------- подвал: компания и правовые ссылки ---------- */
.ftr-legal { position: relative; margin-top: 48px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px 32px; flex-wrap: wrap; font-size: 13px; line-height: 20px; color: #cfe3d6; }
.ftr-legal ul { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 13px; }
.ftr-legal + .ftr-bot { margin-top: 24px; }

/* ---------- правовые страницы ---------- */
.doc-sec { padding-top: 56px; }
.doc { max-width: 820px; }
.doc h1 { font: 700 clamp(30px, 4vw, 46px)/1.1 var(--font-serif); letter-spacing: -.015em; margin: 0 0 12px; }
.doc h2 { font: 700 clamp(20px, 2.2vw, 26px)/1.25 var(--font-serif); margin: 40px 0 12px; }
.doc p { margin: 0 0 14px; }
.doc a { color: var(--link); }
.muted { color: var(--ink-muted); }
.operator { background: var(--surface-alt); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 14px 18px; }
.req { border-collapse: collapse; width: 100%; margin: 16px 0 24px; }
.req th, .req td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.req th { color: var(--ink-muted); font-weight: 500; width: 40%; }
.doc .req { font-size: 14px; line-height: 22px; display: block; overflow-x: auto; }
.doc .req tr:first-child th { color: var(--ink); background: var(--surface-alt); width: auto; }

/* ---------- форма обратной связи ---------- */
.cform-wrap { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.cform { background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: clamp(24px, 4vw, 40px); display: grid; gap: 18px; }
.cform-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cform input[type=text], .cform input[type=email], .cform textarea { width: 100%; font: 500 16px/24px var(--font-sans); color: var(--ink); background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius-md); padding: 12px 14px; }
.cform textarea { resize: vertical; min-height: 120px; }
.cform input:focus, .cform textarea:focus { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }
.cform .check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 22px; color: var(--ink-muted); }
.cform .check input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--brand-green-600); }
.cform .check a { color: var(--link); }
.cform .btn { justify-self: start; }
.errorlist { list-style: none; margin: 0; padding: 0; color: var(--danger); font-size: 14px; line-height: 20px; }
.ferr .errorlist { background: #fbeceb; border-radius: var(--radius-md); padding: 10px 14px; }
.msg { background: var(--brand-leaf); color: var(--brand-green-800); border-radius: var(--radius-md); padding: 12px 16px; font-weight: 600; }

/* ---------- плашка cookie ---------- */
.cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 40; max-width: 760px; margin: 0 auto; background: var(--surface-raised); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 10px 30px rgba(15,42,27,.2); padding: 16px 20px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; font-size: 14px; line-height: 21px; }
.cookie[hidden] { display: none; }
.cookie p { margin: 0; flex: 1 1 320px; }
.cookie a { color: var(--link); }

@media (max-width: 820px) {
  .cform-wrap { grid-template-columns: 1fr; }
  .cform-row { grid-template-columns: 1fr; }
  .ftr-legal { flex-direction: column; }
}
