/* Оболочка своей страницы (docs/page-mode.md): вид меток по умолчанию. Шрифт и цвет — от лендинга (inherit);
   подключается до стилей лендинга, поэтому лендинг может переопределить любой класс .sd-* своими правилами. */

/* Согласие на ПДн в форме. Двойной класс — сильнее правил лендинга вида «.form label {…}», которые писались для полей */
[data-sd-consent] { grid-column: 1 / -1; }
.sd-consent.sd-consent { display: flex; gap: 10px; align-items: flex-start; font: inherit; font-size: 0.9375em; line-height: 1.45; color: inherit; text-align: left; cursor: pointer; }
.sd-consent.sd-consent input { flex: none; appearance: auto; width: 20px; height: 20px; min-height: 0; margin: 0.1em 0 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; accent-color: currentColor; cursor: pointer; }
.sd-consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Ошибка поля и «не отправилось» */
/* Цвет ошибки — переменная: на светлом лендинге задайте :root { --sd-error: #b3261e; } */
.sd-error.sd-error { margin: 6px 0 0; font-size: 0.875em; line-height: 1.4; color: var(--sd-error, #ff8a80); }
[aria-invalid="true"] { outline: 2px solid var(--sd-error, #ff8a80); outline-offset: 2px; }
.sd-senderr { grid-column: 1 / -1; margin: 4px 0; padding: 14px 16px; border: 1px solid currentColor; font-size: 0.9375em; line-height: 1.45; text-align: left; }
.sd-senderr__title { margin: 0 0 4px; font-weight: 600; }
.sd-senderr__text { margin: 0 0 10px; }
.sd-senderr__actions { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; }
.sd-senderr .sd-senderr__actions a, .sd-senderr .sd-senderr__actions button { width: auto; height: auto; min-height: 24px; margin: 0; font: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Реквизиты и документы в подвале (метка data-sd-legal; разделители « · » — в разметке) */
[data-sd-legal] { font-size: 0.875em; line-height: 1.6; }
[data-sd-legal] a, .sd-legal__cookies { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.sd-legal__cookies { font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.sd-legal__demo { display: block; margin-top: 0.25em; }

/* Ловушка для ботов: поле спрятано от людей и скринридеров */
.sd-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Баннер cookies — только с Метрикой или интерактивной картой */
.sd-cookie { position: fixed; inset: auto 16px 16px; z-index: 100; max-width: 560px; margin-inline: auto; padding: 16px 18px; background: #141414; color: #f5f5f5; font: 15px/1.45 system-ui, sans-serif; box-shadow: 0 8px 32px rgb(0 0 0 / 0.35); }
.sd-cookie__text { margin: 0 0 12px; }
.sd-cookie a { color: inherit; }
.sd-cookie__actions { display: flex; gap: 8px; margin: 0; }
.sd-cookie button { min-height: 44px; padding: 0 16px; font: inherit; border: 1px solid #f5f5f5; background: none; color: inherit; cursor: pointer; }
.sd-cookie button[data-v="1"] { background: #f5f5f5; color: #141414; }
