/*
Theme Name: Соприкосновение 2027
Theme URI: http://0-vi.com/
Author: Соприкосновение
Author URI: http://0-vi.com/
Description: Тема лагеря «Соприкосновение» на сезон 2027 — тринадцать разделов одной страницей, аккордеоны и карусели, блок подписки на соцсети. Без Elementor и без ACF: тексты и одиночные фотографии правятся в Настройщике, команда, ведущие, подростки, отзывы, вопросы и мероприятия года — собственные типы записей с понятными полями.
Version: 2.1.2
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: soprikosnovenie
Tags: custom-colors, custom-menu, custom-logo, featured-images, translation-ready, right-sidebar

Соприкосновение — базовый слой стилей: подключение шрифта, переменные,
сброс и типографика. Компоненты и секции лежат в assets/css/theme.css.
Цвета и часть размеров переопределяет PHP (Настройщик → «Соприкосновение»).
*/

/* --------------------------------------------------------------------------
   Шрифт Manrope (свободная лицензия SIL OFL 1.1).
   Файл лежит рядом, в assets/fonts/. Внешние CDN не используются.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Manrope';
  src: url('assets/fonts/manrope-var.ttf') format('truetype-variations'),
       url('assets/fonts/manrope-var.ttf') format('truetype');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

/* --------------------------------------------------------------------------
   Playfair Display (свободная лицензия SIL OFL 1.1) — крупные надписи
   подвала. Файлы рядом, в assets/fonts/. Внешние CDN не используются.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Playfair Display';
  src: url('assets/fonts/playfair-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('assets/fonts/playfair-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

/* --------------------------------------------------------------------------
   Переменные оформления
   -------------------------------------------------------------------------- */
:root {
  --spk-accent:        #1f6f78;  /* основной акцент: заголовки, кнопки */
  --spk-accent-hover:  #14545c;  /* заливка кнопки при наведении */
  --spk-accent-soft:   #e2eff0;  /* мягкая подложка */
  --spk-ink:           #17201f;  /* основной текст */
  --spk-muted:         #5b6664;  /* второстепенный текст */
  --spk-line:          #d9e0dc;  /* границы и разделители */
  --spk-bg:            #ffffff;  /* фон страницы */
  --spk-bg-alt:        #f2f2f2;  /* фон чередующихся секций */
  --spk-dark:          #10201f;  /* подвал */
  --spk-radius:        0;        /* прямые углы — принцип референса */

  --spk-max:           1200px;   /* ширина контента */
  --spk-gutter:        20px;
  --spk-header-h:      60px;
  --spk-font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
              'Helvetica Neue', 'Noto Sans', Arial, sans-serif;
  --spk-font-display: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* --------------------------------------------------------------------------
   Сброс
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--spk-header-h) + 16px);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--spk-bg);
  color: var(--spk-ink);
  font-family: var(--spk-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
table { border-collapse: collapse; width: 100%; }

a { color: var(--spk-accent); text-decoration: none; }
a:hover, a:focus { color: var(--spk-accent-hover); text-decoration: underline; }

:focus-visible { outline: 3px solid var(--spk-accent); outline-offset: 2px; }

/* --------------------------------------------------------------------------
   Типографика
   Референс: плотные крупные заголовки Manrope с отрицательным трекингом.
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .5em;
  font-weight: 600;
  color: var(--spk-accent);
  letter-spacing: -.02em;
  line-height: 1.05;
}

h1 { font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: -.025em; line-height: 1.1; }
h2 { font-size: clamp(1.6rem, 3.6vw, 2.4rem); letter-spacing: -.02em; line-height: 1.15; }
h3 { font-size: clamp(1.15rem, 2vw, 1.35rem); letter-spacing: -.01em; line-height: 1.3; }
h4 { font-size: 1.075rem; line-height: 1.35; }

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

strong, b { font-weight: 700; }
small { font-size: .85rem; }

/* Скрытый текст для скринридеров */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--spk-accent); color: #fff;
  padding: 12px 18px;
}
.skip-link:focus { left: 0; color: #fff; text-decoration: none; }

.alignleft  { float: left;  margin: 0 1.4em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.4em; }
.aligncenter { margin-left: auto; margin-right: auto; }

/* --------------------------------------------------------------------------
   Доступность: уважаем системную настройку «меньше движения»
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
