/* VseSMI — правки от читателей. Селекторы усилены, чтобы стили темы (кнопки, поля) их не перебивали. */
.vsl-list button.vsl-fb-dt, button.vsl-fb-open, .vsl-fb-dialog button {
	box-shadow: none; text-shadow: none; text-transform: none; letter-spacing: normal;
	min-height: 0; min-width: 0; font-family: inherit; -webkit-appearance: none; appearance: none;
}
.vsl-fb-dialog { color-scheme: light; opacity: 1; }
.vsl-fb-dialog, .vsl-fb-dialog * { box-sizing: border-box; }
.vsl-list dt.vsl-fb-has { position: relative; padding-right: 30px; }
.vsl-list button.vsl-fb-dt {
	position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	width: 26px; height: 26px; padding: 4px; margin: 0;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%; background: transparent; color: #8a94a3;
	cursor: pointer; line-height: 0; opacity: 0; transition: opacity .15s, color .15s, background-color .15s;
}
.vsl-list dt.vsl-fb-hover button.vsl-fb-dt,
.vsl-list button.vsl-fb-dt:focus-visible { opacity: 1; }
.vsl-list button.vsl-fb-dt:hover, .vsl-list button.vsl-fb-dt:focus-visible { color: #2f6db5; background: rgba(47, 109, 181, .1); }
.vsl-list button.vsl-fb-dt:focus-visible { outline: 2px solid #2f6db5; outline-offset: 1px; }
/* Сенсорные экраны: наведения нет, иконка видна всегда, но бледная. */
@media (hover: none) {
	.vsl-list button.vsl-fb-dt { opacity: .5; width: 32px; height: 32px; right: -4px; }
	.vsl-list dt.vsl-fb-has { padding-right: 34px; }
}

.vsl-fb-bottom { margin: 20px 0 30px; }
button.vsl-fb-open {
	padding: 0; margin: 0; border: 0; background: none; cursor: pointer;
	font: inherit; color: #2f6db5; text-decoration: none; border-radius: 0;
	border-bottom: 1px dashed currentColor; line-height: 1.3; height: auto; width: auto;
}
button.vsl-fb-open:hover { color: #e66212; }
button.vsl-fb-open:focus-visible { outline: 2px solid #2f6db5; outline-offset: 3px; }

/* Страница под открытым окном не прокручивается. */
html.vsl-fb-lock, html.vsl-fb-lock body { overflow: hidden !important; }

/* Окно: размер фиксирован, при смене вкладок не меняется. */
.vsl-fb-dialog {
	width: min(520px, calc(100vw - 24px));
	height: min(540px, calc(100vh - 24px)); height: min(540px, calc(100dvh - 24px));
	max-height: none; padding: 0; border: 0; border-radius: 10px; overflow: hidden;
	background: #fff; color: #1d2430; box-shadow: 0 18px 50px rgba(15, 25, 40, .28);
	font-size: 15px; line-height: 1.45; overscroll-behavior: contain;
}
.vsl-fb-dialog[open] { display: flex; flex-direction: column; animation: vsl-fb-in .16s ease-out; }
.vsl-fb-dialog::backdrop { background: rgba(20, 28, 40, .55); }
@keyframes vsl-fb-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .vsl-fb-dialog[open] { animation: none; } .vsl-fb-dt { transition: none; } }

.vsl-fb-form, .vsl-fb-picker, .vsl-fb-done { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; margin: 0; }
.vsl-fb-form { padding: 18px 20px 16px; }
.vsl-fb-form[hidden], .vsl-fb-picker[hidden] { display: none; }
.vsl-fb-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex: 0 0 auto; }
.vsl-fb-head h2 { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 700; color: inherit; flex: 1 1 auto; min-width: 0; }
.vsl-fb-dialog button.vsl-fb-x, .vsl-fb-dialog button.vsl-fb-back {
	width: 34px; height: 34px; flex: 0 0 34px; border: 0; border-radius: 50%;
	font-size: 26px; line-height: 1; cursor: pointer; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
}
.vsl-fb-dialog button.vsl-fb-back { font-size: 30px; margin-left: -8px; padding-bottom: 3px; }
.vsl-fb-context { margin: 4px 0 14px; color: #5b6575; font-size: 14px; flex: 0 0 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vsl-fb-context b { color: #1d2430; }
.vsl-fb-dialog span.icon:before { margin-right: 6px; }
.vsl-fb-context span.icon:before { margin-right: 5px; vertical-align: -3px; }

.vsl-fb-body { display: flex; flex-direction: column; gap: 14px; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 2px; margin: -2px; }
.vsl-fb-types { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.vsl-fb-types legend { padding: 0; margin: 0 0 6px; font-weight: 600; font-size: 14px; }
.vsl-fb-type { display: inline-flex; cursor: pointer; margin: 0; }
.vsl-fb-type[hidden] { display: none; }
.vsl-fb-dialog .vsl-fb-type input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.vsl-fb-dialog .vsl-fb-type span {
	display: inline-block; padding: 6px 12px; border: 1px solid #cfd6df; border-radius: 16px;
	font-size: 14px; line-height: 1.25; color: #2b3442; background: #fff;
}
.vsl-fb-dialog .vsl-fb-type:hover span { border-color: #2f6db5; }
.vsl-fb-dialog .vsl-fb-type input:checked + span { background: #2f6db5; border-color: #2f6db5; color: #fff; }
.vsl-fb-type input:focus-visible + span { outline: 2px solid #2f6db5; outline-offset: 2px; }

.vsl-fb-row { display: flex; flex-direction: column; gap: 5px; }
.vsl-fb-row[hidden] { display: none; }
.vsl-fb-row-comment { flex: 1 1 auto; min-height: 0; }
.vsl-fb-row label, .vsl-fb-label { font-weight: 600; font-size: 14px; }
.vsl-fb-row label b, .vsl-fb-label b { color: #c2410c; font-weight: 600; }
.vsl-fb-dialog .vsl-fb-row input, .vsl-fb-dialog .vsl-fb-row textarea, .vsl-fb-dialog button.vsl-fb-select {
	width: 100%; max-width: none; margin: 0; padding: 0 12px;
	border: 1px solid #c3cbd6; border-radius: 8px; background: #fff; color: #1d2430; box-shadow: none;
	font: inherit; font-size: 16px; line-height: 1.4; /* 16px — чтобы iPhone не увеличивал страницу при вводе */
}
.vsl-fb-dialog .vsl-fb-row input { height: 44px; }
.vsl-fb-dialog .vsl-fb-row textarea { flex: 1 1 auto; height: auto; min-height: 96px; padding: 10px 12px; resize: none; display: block; }
.vsl-fb-dialog .vsl-fb-row input:focus, .vsl-fb-dialog .vsl-fb-row textarea:focus, .vsl-fb-dialog button.vsl-fb-select:focus-visible {
	outline: none; border-color: #2f6db5; box-shadow: 0 0 0 3px rgba(47, 109, 181, .2);
}
/* Кнопка выбора сайта — выглядит как поле со стрелкой. */
.vsl-fb-dialog button.vsl-fb-select {
	height: 44px; display: flex; align-items: center; text-align: left; cursor: pointer;
	padding-right: 36px; position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.vsl-fb-dialog button.vsl-fb-select:after {
	content: ""; position: absolute; right: 14px; top: 50%; width: 8px; height: 8px; margin-top: -6px;
	border-right: 2px solid #6b7585; border-bottom: 2px solid #6b7585; transform: rotate(45deg);
}
.vsl-fb-dialog button.vsl-fb-select.is-empty { color: #8a94a3; }
.vsl-fb-select-v { overflow: hidden; text-overflow: ellipsis; }
.vsl-fb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.vsl-fb-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; flex: 0 0 auto; }
.vsl-fb-msg { margin: 0; font-size: 14px; color: #5b6575; flex: 1 1 auto; min-width: 0; }
.vsl-fb-msg.is-error { color: #b42318; }
.vsl-fb-dialog button.vsl-fb-send {
	flex: 0 0 auto; height: 44px; border: 0; border-radius: 8px;
	font: inherit; font-weight: 600; font-size: 15px; line-height: 1.3; cursor: pointer; width: auto;
}
.vsl-fb-dialog button.vsl-fb-send:disabled { opacity: .6; cursor: wait; }
.vsl-fb-dialog button.vsl-fb-send:focus-visible { outline: 2px solid #2f6db5; outline-offset: 2px; }
.vsl-fb-done { padding: 20px; align-items: center; justify-content: center; text-align: center; }
.vsl-fb-done p { margin: 0 0 18px; font-size: 17px; max-width: 32ch; }

/* Список сайтов для выбора */
.vsl-fb-picker { padding: 14px 0 0; }
.vsl-fb-picker .vsl-fb-head { padding: 0 16px 0 20px; }
.vsl-fb-dialog .vsl-fb-search {
	flex: 0 0 auto; margin: 12px 20px 6px; width: auto; height: 42px; padding: 0 12px;
	border: 1px solid #c3cbd6; border-radius: 8px; background: #f6f8fa; color: #1d2430; font: inherit; font-size: 16px; box-shadow: none;
}
.vsl-fb-dialog .vsl-fb-search:focus { outline: none; border-color: #2f6db5; background: #fff; box-shadow: 0 0 0 3px rgba(47, 109, 181, .2); }
.vsl-fb-pick-list {
	list-style: none; margin: 8px 0 0; padding: 0 10px 12px; flex: 1 1 auto; min-height: 0;
	overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border-top: 1px solid #eef1f5;
}
.vsl-fb-pick-list li { margin: 0; padding: 0; list-style: none; }
.vsl-fb-pick-list li[hidden] { display: none; }
.vsl-fb-pick-list li:before { content: none; }
.vsl-fb-pick-sec {
	position: sticky; top: 0; z-index: 1; background: #fff;
	padding: 12px 10px 6px !important; font-size: 12px; font-weight: 600; color: #6b7585; text-transform: uppercase; letter-spacing: .05em;
}
.vsl-fb-dialog button.vsl-fb-pick-item {
	display: flex; align-items: center; gap: 2px; width: 100%; min-height: 46px; padding: 8px 10px; margin: 0;
	border: 0; border-radius: 8px; text-align: left; cursor: pointer; font: inherit; font-size: 16px; line-height: 1.3;
}
.vsl-fb-pick-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vsl-fb-pick-host { flex: 0 1 auto; margin-left: 10px; color: #8a94a3; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 45%; }
.vsl-fb-pick-empty { margin: 16px 20px; color: #6b7585; }
.vsl-fb-pick-empty[hidden] { display: none; }

@media (max-width: 480px) {
	.vsl-fb-dialog { height: min(560px, calc(100vh - 24px)); height: min(560px, calc(100dvh - 24px)); }
	.vsl-fb-form { padding: 16px 16px 14px; }
	.vsl-fb-picker .vsl-fb-head { padding: 0 12px 0 16px; }
	.vsl-fb-dialog .vsl-fb-search { margin: 12px 16px 6px; }
	.vsl-fb-pick-list { padding: 0 6px 12px; }
	.vsl-fb-head h2 { font-size: 19px; }
}

/* Некоторые темы задают кнопкам фон и цвет очень «сильными» селекторами — фиксируем свои значения. */
.vsl-list button.vsl-fb-dt { background: transparent !important; color: #8a94a3 !important; border: 0 !important; padding: 4px !important; }
.vsl-list button.vsl-fb-dt:hover, .vsl-list button.vsl-fb-dt:focus-visible { background: rgba(47, 109, 181, .1) !important; color: #2f6db5 !important; }
button.vsl-fb-open { background: transparent !important; color: #2f6db5 !important; border: 0 !important; border-bottom: 1px dashed currentColor !important; padding: 0 !important; }
button.vsl-fb-open:hover { color: #e66212 !important; }
.vsl-fb-dialog button.vsl-fb-x, .vsl-fb-dialog button.vsl-fb-back { background: transparent !important; color: #5b6575 !important; border: 0 !important; }
.vsl-fb-dialog button.vsl-fb-x:hover, .vsl-fb-dialog button.vsl-fb-back:hover { background: #eef1f5 !important; color: #1d2430 !important; }
.vsl-fb-dialog button.vsl-fb-send { background: #2f6db5 !important; color: #fff !important; border: 0 !important; padding: 0 22px !important; }
.vsl-fb-dialog button.vsl-fb-send:hover { background: #255a97 !important; }
.vsl-fb-dialog button.vsl-fb-select { background: #fff !important; color: #1d2430 !important; border: 1px solid #c3cbd6 !important; padding: 0 36px 0 12px !important; }
.vsl-fb-dialog button.vsl-fb-select.is-empty { color: #8a94a3 !important; }
.vsl-fb-dialog button.vsl-fb-pick-item { background: transparent !important; color: #1d2430 !important; border: 0 !important; }
.vsl-fb-dialog button.vsl-fb-pick-item:hover, .vsl-fb-dialog button.vsl-fb-pick-item:focus-visible { background: #f0f4fa !important; outline: none; }
.vsl-fb-dialog button.vsl-fb-pick-item[aria-selected="true"] { background: #e3edf9 !important; color: #1f4f8f !important; }

.vsl-fb-dialog button.vsl-fb-select:focus, .vsl-fb-dialog button.vsl-fb-pick-item:focus, .vsl-fb-dialog button.vsl-fb-x:focus, .vsl-fb-dialog button.vsl-fb-back:focus { outline: none; }
.vsl-fb-dialog button.vsl-fb-x:focus-visible, .vsl-fb-dialog button.vsl-fb-back:focus-visible { box-shadow: 0 0 0 2px #2f6db5; }
