/**
 * theme.css — стили, ПРИНАДЛЕЖАЩИЕ теме (НЕ синхронизируются из дизайна).
 * Здесь адаптируем разметку плагинов под вёрстку дизайна — в основном Contact Form 7,
 * который оборачивает контролы в свои .wpcf7-* блоки и рендерит нативные select/file.
 * Грузится последним (после tokens → se-ui → main), поэтому переопределяет корректно.
 */

/* ============================================================
   Contact Form 7 → вид форм из дизайна
   ============================================================ */

/* CF7 оборачивает каждый контрол в инлайновый <span class="wpcf7-form-control-wrap">,
   из-за чего input/select/textarea не растягиваются на всю .field (и textarea «едет»).
   Делаем обёртку блоком, а сами контролы — на всю ширину. */
.field .wpcf7-form-control-wrap { display: block; }
.field .wpcf7-form-control { width: 100%; }

/* Нативный <select> без appearance:none игнорирует фон/рамку (системный вид).
   Приводим к виду .select__btn из дизайна + добавляем свой шеврон. */
.field select.wpcf7-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2393a3b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    cursor: pointer;
}
/* Выпадающий список рендерит ОС — делаем пункты читаемыми (тёмный текст на белом). */
.field select.wpcf7-select option { color: #0a1a2a; background: #fff; }

/* Загрузка файла: системный input скрыт визуально (sr-only), но рабочий — выбор открывает
   forms.js по клику на зону (кроме крестика). Текст/иконка/имя — обычный поток. */
.field-file { position: relative; cursor: pointer; }
.field-file .wpcf7-form-control-wrap,
.field-file input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* Выбранный файл: имя слева, крестик отмены справа (forms.js).
   Видимость — по классу .has-file на зоне (атрибут hidden перебивался бы display:flex). */
.field-file__picked { display: none; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-3); }
.field-file.has-file .field-file__picked { display: flex; }
.field-file.has-file .field-file__prompt { display: none; }
.field-file__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.field-file__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    border-radius: 50%;
    transition: background var(--duration-fast), color var(--duration-fast);
}
.field-file__clear:hover { background: rgba(255, 255, 255, 0.12); color: var(--color-cyan-soft); }
.field-file.has-file { border-style: solid; }

/* Чекбокс согласия: CF7 заворачивает в .wpcf7-acceptance — выравниваем как в дизайне. */
.field-checkbox .wpcf7-form-control-wrap { display: inline; }
.field-checkbox .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.field-checkbox .wpcf7-list-item-label { font-size: 13px; }

/* Сообщения валидации/статуса CF7 — компактные, в палитре темы. */
.wpcf7 form .wpcf7-response-output {
    margin: var(--space-4) 0 0;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    font-size: 13px;
}
.wpcf7-not-valid-tip { color: #ff9b9b; font-size: 12px; margin-top: 4px; display: block; }
.wpcf7 .wpcf7-spinner { margin: 0 auto; display: block; }

/* ============================================================
   Вводный абзац публикации — нативный блок «Цитата». Полоса висит на АБЗАЦАХ цитаты
   (blockquote p), а не на самом blockquote: при ошибочной вложенности «цитата в цитате»
   полосу получает только текст, без задвоения. font-size/line-height НЕ задаём — иначе
   blockquote p перебил бы .article-body p и увеличил текст. main.css не трогаем (синк из дизайна).
   ============================================================ */
section.publication-content blockquote p {
    font-style: normal;
    color: var(--color-text-primary);
    border-left: 2px solid var(--color-cyan);
    padding-left: var(--space-5);
    margin-bottom: var(--space-8);
}

/* Якорь «Связанные услуги» (с публикации → услуга на /services/#svc-ID): смещение под фикс. хедер */
.svc-card[id] { scroll-margin-top: 100px; }
