/* РиалЭнерго — кастомные стили поверх Halcyonic. main.css не править. */

/* Honeypot */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Ошибки и подсказки форм */
.field-error { color: #c0392b; font-size: 0.9em; margin: 0.35em 0 0; min-height: 0; }
.field-error:empty { display: none; }
.field-hint { font-size: 0.9em; margin: 0.35em 0 0; opacity: 0.8; }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #c0392b !important; }

/* Статус формы */
.form-status:empty { display: none; }
.form-status { padding: 0.8em 1em; margin: 0 0 1.5em; border-left: 4px solid #2e7d32; background: #f1f8f1; }
.form-status.is-error { border-left-color: #c0392b; background: #fdf2f1; }

/* Кнопка выбора файлов: label поверх скрытого input */
.custom-file-button {
	background-color: #f7f7f7 !important;
	background-image: none !important;
	box-shadow: inset 0 0 0 2px #c87d55 !important;
	cursor: pointer;
	display: inline-block;
}
.custom-file-button:hover {
	background-color: #ffffff !important;
	background-image: none !important;
}

/* Минимальная область нажатия и размер шрифта полей (iOS) */
input[type="text"], input[type="tel"], input[type="email"], textarea { font-size: 16px; }
.phone-link { display: inline-block; min-height: 44px; line-height: 44px; font-size: 1.2em; }

/* Логотип-картинка в шапке (вместо текстового h1 из шаблона) */
#header #logo { position: absolute; left: 0; bottom: 35px; }
#header #logo a { text-decoration: none; line-height: 0; }
#header #logo img { display: block; height: 60px; width: auto; }
/* Клон логотипа в мобильной панели заголовка (main.js копирует #logo) */
#titleBar .title a { text-decoration: none; }
#titleBar .title img { height: 28px; width: auto; vertical-align: middle; }

/* Главный баннер: h1 + подзаголовок */
#banner h1 { position: static; font-size: 2.5em; line-height: 1.2em; margin: 0 0 0.4em 0; }
#banner p { font-size: 1.35em; }
@media screen and (max-width: 980px) {
	#banner p { font-size: 1.2em; }
}
@media screen and (max-width: 736px) {
	#banner h1 { font-size: 2em; }
	#banner p { font-size: 1.1em; }
	.button { display: block; width: 100%; }
}

/* Заголовок сабстраницы (в шаблоне стилизован только h2) */
#content h1 { font-size: 2em; color: #373f42; margin: 0 0 0.25em 0; }

/* Кнопка (в шаблоне есть только .button-large) */
.button {
	display: inline-block;
	background-image: linear-gradient(to bottom, #ed391b, #ce1a00);
	background-color: #ed391b;
	color: #fff;
	text-decoration: none;
	font-size: 1.15em;
	font-weight: 300;
	height: 2.2em;
	line-height: 2.2em;
	padding: 0 28px;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.75), inset 0 2px 0 0 rgba(255, 192, 192, 0.5), inset 0 0 0 2px rgba(255, 96, 96, 0.85), 3px 3px 3px 1px rgba(0, 0, 0, 0.15);
	text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.5);
}
.button:hover {
	background-image: linear-gradient(to bottom, #fd492b, #de2a10);
	background-color: #fd492b;
	color: #fff;
}
.button:active {
	background-image: linear-gradient(to bottom, #ce1a00, #ed391b);
	background-color: #ce1a00;
}
.button:disabled { opacity: 0.6; cursor: default; }
.button.alt {
	background-image: none;
	background-color: #1b2432;
}
.button.alt:hover {
	background-image: none;
	background-color: #2c3a52;
}

/* Форма контактов: поля в стиле карточек шаблона */
#contact-form label { display: block; margin: 0 0 0.35em 0; color: #373f42; }
#contact-form input[type="text"],
#contact-form input[type="tel"],
#contact-form input[type="email"],
#contact-form textarea {
	width: 100%;
	padding: 0.7em 0.8em;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 0.35em;
	background: #fff;
	color: #373f42;
}
/* main.css сбрасывает appearance у всех input — возвращаем нативный чекбокс */
#contact-form input[type="checkbox"] { -webkit-appearance: checkbox; appearance: auto; margin-right: 0.6em; }
#contact-form label[for="consent"] { display: inline; }

/* Демо-блок ИИ-поиска (embedding-search.html) */
.search-demo { border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.5em; background: #eef2f4; padding: 1.2em 1.4em; margin: 0 0 2em 0; }
.search-demo .sd-label { font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.1em; color: #8d9ca3; margin: 0; }
.search-demo .sd-query { font-size: 1.2em; color: #373f42; margin: 0.2em 0 1em 0; padding-bottom: 0.7em; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.search-demo .sd-hit { background: #fff; border-left: 4px solid #2e7d32; box-shadow: 2px 2px 2px 1px rgba(128, 128, 128, 0.1); padding: 0.8em 1em; margin: 0 0 0.8em 0; }
.search-demo .sd-hit.analog { border-left-color: #c87d55; }
.search-demo .sd-hit p { margin: 0; }
.search-demo .sd-hit .sd-diff { font-size: 0.9em; color: #8d9ca3; margin: 0.3em 0 0 0; }

/* Тарифы (index.html) */
.tariff-price { font-size: 1.6em; color: #ED391B; margin: 0 0 1em 0; }

.button, input[type="submit"], input[type="reset"] { color: #ffffff !important; text-shadow: none !important; }

#content, #tariffs, .wrapper { margin-top: 40px !important; margin-bottom: 40px !important; }

/* Фон футера светлый (#D4D9DD): белый текст невидим — тёмно-синий с медным подчёркиванием */
#footer a { color: #1b2432 !important; border-bottom: 1px dotted #c87d55; }
#footer a:hover { color: #c87d55 !important; }

/* Тёмный текст на светлой кнопке выбора файлов (перебивает белый цвет правила .button выше) */
#contact-form .custom-file-button { color: #1b2432 !important; }
