/* ACB Consent Manager
   Согласие на внешние сервисы (Google Maps, Google reCAPTCHA).
   Ничего не пишется на устройство до действия пользователя. */

/* ---------- нижняя панель ---------- */
.acb-cc {
	box-sizing: border-box;
	position: fixed;
	z-index: 100000;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: rgba(45, 45, 45, .96);
	color: #fff;
	font-size: 15px;
	line-height: 1.45;
	transform: translateY(110%);
	transition: transform .35s ease;
}
.acb-cc.is-open { transform: translateY(0); }
.acb-cc[hidden] { display: none; }

.acb-cc__inner {
	box-sizing: border-box;
	width: 80%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 18px 20px 20px;
}
.acb-cc__title {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
}
.acb-cc__text { margin: 0 0 14px; }
.acb-cc__text a,
.acb-cc__opt-desc a { color: #fff; text-decoration: underline; }
.acb-cc__text a:hover,
.acb-cc__opt-desc a:hover { color: #ddd; text-decoration: none; }

/* ---------- переключатели категорий ---------- */
.acb-cc__opts {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
}
.acb-cc__opt { flex: 1 1 240px; min-width: 220px; }
.acb-cc__opt label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	cursor: pointer;
	font-weight: 700;
	margin: 0;
}
.acb-cc__opt input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	cursor: pointer;
}
.acb-cc__opt input[type="checkbox"]:disabled { cursor: default; opacity: .65; }
.acb-cc__opt input[type="checkbox"]:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.acb-cc__opt-desc {
	display: block;
	margin: 3px 0 0 27px;
	font-weight: 400;
	font-size: 13px;
	color: #d6d6d6;
}

/* ---------- кнопки: три равнозначные ---------- */
.acb-cc__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.acb-cc__btn {
	box-sizing: border-box;
	flex: 0 1 auto;
	min-width: 190px;
	padding: 11px 18px;
	border: 1px solid #fff;
	border-radius: 2px;
	background: #fff;
	color: #2d2d2d;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.acb-cc__btn:hover { background: #ddd; }
.acb-cc__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.acb-cc__link {
	margin-left: auto;
	color: #fff;
	text-decoration: underline;
	font-size: 14px;
}
.acb-cc__link:hover { color: #ddd; text-decoration: none; }

/* панель не должна перекрывать подвал */
body.acb-cc-visible .copyright-bord { padding-bottom: 25px !important; }

/* ---------- модальное окно для отдельного сервиса ---------- */
.acb-ccm {
	position: fixed;
	z-index: 100001;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, .6);
}
.acb-ccm[hidden] { display: none; }
.acb-ccm__box {
	box-sizing: border-box;
	width: 100%;
	max-width: 560px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 24px;
	background: #fff;
	color: #4d4d4d;
	border-radius: 3px;
	box-shadow: 0 6px 30px rgba(0, 0, 0, .35);
}
.acb-ccm__title {
	margin: 0 0 12px;
	font-size: 19px;
	font-weight: 700;
	color: #272727;
}
.acb-ccm__text { margin: 0 0 12px; font-size: 15px; line-height: 1.5; }
.acb-ccm__text a { color: #272727; text-decoration: underline; }
.acb-ccm__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}
.acb-ccm__btn {
	box-sizing: border-box;
	padding: 11px 18px;
	border: 1px solid #2d2d2d;
	border-radius: 2px;
	background: #2d2d2d;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.acb-ccm__btn:hover { background: #4d4d4d; }
.acb-ccm__btn--ghost { background: #fff; color: #2d2d2d; }
.acb-ccm__btn--ghost:hover { background: #eee; }
.acb-ccm__btn:focus-visible { outline: 2px solid #272727; outline-offset: 2px; }

/* ---------- пояснение о защите данных в форме ---------- */
.acb-form-note {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: #6a6a6a;
}
.acb-form-note a { text-decoration: underline; }

/* ---------- подпись под полем капчи ---------- */
.acb-captcha-note {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: #6a6a6a;
}
.acb-captcha-note[hidden] { display: none; }

/* ---------- заглушка вместо заблокированного контента ---------- */
.acb-ph {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 24px;
	min-height: 260px;
	/* фон — собственная фотография производства, затемнена градиентом,
	   чтобы текст поверх читался; надписи остаются настоящим текстом */
	background:
		linear-gradient(rgba(20, 24, 28, .5), rgba(20, 24, 28, .5)),
		#e8e8e6 url("../images/consent/tour-preview.jpg") center / cover no-repeat;
	border: 1px solid #d0d0d0;
	text-align: center;
}
.acb-ph__veil {
	box-sizing: border-box;
	max-width: 420px;
	padding: 18px 20px;
	background: rgba(255, 255, 255, .93);
	border-radius: 3px;
}
.acb-ph__text { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: #4d4d4d; }
.acb-ph__btn {
	padding: 10px 18px;
	border: 1px solid #2d2d2d;
	border-radius: 2px;
	background: #2d2d2d;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.acb-ph__btn:hover { background: #4d4d4d; }
.acb-ph__btn:focus-visible { outline: 2px solid #272727; outline-offset: 2px; }

@media (max-width: 700px) {
	.acb-cc__inner { width: 92%; padding: 14px 0 16px; }
	.acb-cc__btn { flex: 1 1 100%; min-width: 0; }
	.acb-cc__link { margin: 6px auto 0; }
}

/* --- ПРАВКА ACB: подпись под изображением новости --- */
.acb-media { margin: 0; }
.acb-media-credit {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.4;
	color: #6a6a6a;
}
.acb-media-credit .acb-ai-note {
	display: inline-block;
	padding: 1px 7px;
	margin-right: 8px;
	border: 1px solid #c9c9c9;
	border-radius: 2px;
	background: #f4f4f4;
}
