/**
 * ReElementor — Личный кабинет (виджеты подсистемы Account).
 * Базовые стили: карточка профиля, формы, подписки, закладки, кнопки.
 */

.reelementor-account {
	--reelementor-account-accent: #2563eb;
	--reelementor-account-accent-hover: #1d4ed8;
	--reelementor-account-text: #1f2937;
	--reelementor-account-muted: #6b7280;
	--reelementor-account-border: #e5e7eb;
	--reelementor-account-bg: #ffffff;
	--reelementor-account-bg-soft: #f3f4f6;
	--reelementor-account-radius: 12px;
	box-sizing: border-box;
	color: var(--reelementor-account-text);
}

.reelementor-account * {
	box-sizing: border-box;
}

.reelementor-account__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 18px;
	border: 0;
	border-radius: 8px;
	background: var(--reelementor-account-accent);
	color: #fff;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .18s ease, color .18s ease;
}

.reelementor-account__button:hover {
	background: var(--reelementor-account-accent-hover);
	color: #fff;
	text-decoration: none;
}

.reelementor-account-error {
	padding: 12px 16px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: 8px;
	background: var(--reelementor-account-bg-soft);
	color: var(--reelementor-account-muted);
	font-size: 14px;
}

/* ---------- Блок «требуется вход» ---------- */

.reelementor-account-login {
	padding: 32px 24px;
	border: 1px dashed var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg-soft);
	text-align: center;
}

.reelementor-account-login__title {
	margin: 0 0 8px;
	font-size: 20px;
}

.reelementor-account-login__text {
	margin: 0 0 18px;
	color: var(--reelementor-account-muted);
}

/* ---------- Профиль ---------- */

.reelementor-account-profile__card {
	padding: 24px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
}

.reelementor-account-profile__avatar {
	width: 128px;
	height: 128px;
	margin-bottom: 14px;
	border-radius: 50%;
	overflow: hidden;
}

.reelementor-account-profile__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.reelementor-account-profile__name {
	margin: 0 0 4px;
	font-size: 22px;
	font-weight: 700;
}

.reelementor-account-profile__workplace {
	margin: 0 0 12px;
	color: var(--reelementor-account-muted);
	font-size: 14px;
}

.reelementor-account-profile__bio {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.55;
}

.reelementor-account-profile__socials,
.reelementor-account-profile__links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.reelementor-account-profile__links {
	margin-top: 12px;
}

.reelementor-account-profile__social a,
.reelementor-account-profile__link a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: 999px;
	background: var(--reelementor-account-bg-soft);
	color: var(--reelementor-account-text);
	font-size: 13px;
	text-decoration: none;
	transition: border-color .18s ease, color .18s ease;
}

.reelementor-account-profile__social a:hover,
.reelementor-account-profile__link a:hover {
	border-color: var(--reelementor-account-accent);
	color: var(--reelementor-account-accent);
}

.reelementor-account-profile--edit {
	margin-top: 16px;
	border-top: 1px solid var(--reelementor-account-border);
	padding-top: 16px;
}

.reelementor-account-profile__form {
	margin-top: 14px;
	display: grid;
	gap: 14px;
}

.reelementor-account-profile__field {
	display: grid;
	gap: 6px;
	margin: 0;
	border: 0;
	padding: 0;
	min-width: 0;
}

.reelementor-account-profile__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--reelementor-account-muted);
}

.reelementor-account-profile__field input[type="text"],
.reelementor-account-profile__field input[type="url"],
.reelementor-account-profile__field select,
.reelementor-account-profile__field textarea {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: 8px;
	background: var(--reelementor-account-bg);
	color: var(--reelementor-account-text);
	font: inherit;
}

.reelementor-account-profile__field input:focus,
.reelementor-account-profile__field select:focus,
.reelementor-account-profile__field textarea:focus {
	outline: none;
	border-color: var(--reelementor-account-accent);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

.reelementor-account-profile__avatar-upload {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.reelementor-account-profile__avatar-preview {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid var(--reelementor-account-border);
	background: var(--reelementor-account-bg-soft);
}

.reelementor-account-profile__avatar-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.reelementor-account-profile__avatar-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.reelementor-account-profile__avatar-actions .reelementor-account__button {
	padding: 8px 14px;
	font-size: 13px;
}

.reelementor-account-profile__rows {
	display: grid;
	gap: 8px;
}

.reelementor-account-profile__row {
	display: grid;
	grid-template-columns: 1fr 1.6fr auto;
	gap: 8px;
	align-items: center;
}

.reelementor-account-profile__row-remove {
	width: 34px;
	height: 34px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: 8px;
	background: var(--reelementor-account-bg);
	color: var(--reelementor-account-muted);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.reelementor-account-profile__row-remove:hover {
	border-color: #ef4444;
	color: #ef4444;
}

.reelementor-account-profile__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.reelementor-account-profile__status {
	font-size: 13px;
}

.reelementor-account-profile__status.is-ok {
	color: #16a34a;
}

.reelementor-account-profile__status.is-error {
	color: #dc2626;
}

@media (max-width: 480px) {
	.reelementor-account-profile__row {
		grid-template-columns: 1fr;
	}
}

/* ---------- Подписки ---------- */

.reelementor-account-subscriptions__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.reelementor-account-subscriptions__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
	flex-wrap: wrap;
}

.reelementor-account-subscriptions__name {
	font-weight: 600;
	color: var(--reelementor-account-text);
	text-decoration: none;
	flex: 1 1 auto;
	min-width: 120px;
}

.reelementor-account-subscriptions__name:hover {
	color: var(--reelementor-account-accent);
}

.reelementor-account-subscriptions__count {
	color: var(--reelementor-account-muted);
	font-size: 13px;
}

.reelementor-account-subscriptions__empty {
	color: var(--reelementor-account-muted);
}

/* ---------- Счётчик подписчиков отдельным виджетом ---------- */

.reelementor-subscriber-count {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
	color: inherit;
	line-height: 1.2;
}

.reelementor-subscriber-count--link {
	text-decoration: none;
	transition: opacity .18s ease;
}

.reelementor-subscriber-count--link:hover {
	opacity: .75;
}

.reelementor-subscriber-count__number {
	font-size: 24px;
	font-weight: 700;
	color: var(--reelementor-account-accent);
}

.reelementor-subscriber-count__suffix {
	color: var(--reelementor-account-muted);
	font-size: 14px;
}

.reelementor-subscriber-count__icon {
	display: inline-flex;
	align-items: center;
}

.reelementor-subscriber-count__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* ---------- Кнопки подписки ---------- */

.reelementor-account-subscribe {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border: 1px solid var(--reelementor-account-accent);
	border-radius: 999px;
	background: transparent;
	color: var(--reelementor-account-accent);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
	-webkit-appearance: none;
	appearance: none;
}

.reelementor-account-subscribe:hover {
	background: var(--reelementor-account-accent);
	color: #fff;
}

.reelementor-account-subscribe.is-subscribed {
	background: var(--reelementor-account-bg-soft);
	border-color: var(--reelementor-account-border);
	color: #16a34a;
}

.reelementor-account-subscribe.is-subscribed:hover {
	border-color: #16a34a;
	background: #f0fdf4;
	color: #16a34a;
}

.reelementor-account-subscribe.is-busy {
	opacity: .6;
	pointer-events: none;
}

.reelementor-account-subscribe__count {
	padding: 1px 8px;
	border-radius: 999px;
	background: rgba(37, 99, 235, .1);
	font-size: 12px;
}

.reelementor-account-subscribe.is-subscribed .reelementor-account-subscribe__count {
	background: rgba(22, 163, 74, .12);
}

.reelementor-account-subscribe-box {
	text-align: center;
}

/* ---------- Закладки ---------- */

.reelementor-account-bookmarks__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 12px;
}

.reelementor-account-bookmarks__item {
	position: relative;
	display: flex;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
	align-items: flex-start;
}

.reelementor-account-bookmarks__thumb {
	width: 84px;
	height: 84px;
	flex: 0 0 84px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--reelementor-account-bg-soft);
}

.reelementor-account-bookmarks__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.reelementor-account-bookmarks__body {
	flex: 1 1 auto;
	min-width: 0;
}

.reelementor-account-bookmarks__title {
	margin: 0 0 6px;
	font-size: 16px;
	line-height: 1.35;
}

.reelementor-account-bookmarks__title a {
	color: var(--reelementor-account-text);
	text-decoration: none;
}

.reelementor-account-bookmarks__title a:hover {
	color: var(--reelementor-account-accent);
}

.reelementor-account-bookmarks__subtitle {
	margin: 0 0 6px;
	color: var(--reelementor-account-muted);
	font-size: 13px;
	line-height: 1.45;
}

.reelementor-account-bookmarks__meta {
	margin-bottom: 4px;
	color: var(--reelementor-account-muted);
	font-size: 12px;
}

.reelementor-account-bookmarks__excerpt {
	color: var(--reelementor-account-muted);
	font-size: 13px;
	line-height: 1.5;
}

.reelementor-account-bookmarks__item .reelementor-account-bookmark {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 34px;
	height: 34px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: 50%;
	background: var(--reelementor-account-bg);
	color: var(--reelementor-account-muted);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.reelementor-account-bookmarks__item .reelementor-account-bookmark:hover {
	border-color: #ef4444;
	color: #ef4444;
}

.reelementor-account-bookmarks__empty {
	color: var(--reelementor-account-muted);
}

/* ---------- Автор: профиль / сообщения ---------- */

.reelementor-account-author__empty,
.reelementor-account-author-stats__empty,
.reelementor-account-author-relations__empty,
.reelementor-account-author-posts__empty {
	color: var(--reelementor-account-muted);
}

/* ---------- Автор: статистика ---------- */

.reelementor-account-author-stats__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

.reelementor-account-author-stats__stat {
	display: grid;
	gap: 4px;
	padding: 16px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
	text-align: center;
}

.reelementor-account-author-stats__value {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
}

.reelementor-account-author-stats__label {
	color: var(--reelementor-account-muted);
	font-size: 13px;
}

.reelementor-account-author-stats__top {
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
	padding: 16px;
}

.reelementor-account-author-stats__top-title {
	margin: 0 0 10px;
	font-size: 15px;
}

.reelementor-account-author-stats__top-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 8px;
}

.reelementor-account-author-stats__top-item {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.reelementor-account-author-stats__top-link {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--reelementor-account-text);
	text-decoration: none;
	font-size: 14px;
}

.reelementor-account-author-stats__top-link:hover {
	color: var(--reelementor-account-accent);
}

.reelementor-account-author-stats__top-views {
	flex: 0 0 auto;
	color: var(--reelementor-account-muted);
	font-size: 12px;
}

/* ---------- Автор: подписчики и подписки ---------- */

.reelementor-account-author-relations {
	display: grid;
	gap: 18px;
}

.reelementor-account-author-relations__section {
	padding: 16px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
}

.reelementor-account-author-relations__title {
	margin: 0 0 10px;
	font-size: 15px;
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.reelementor-account-author-relations__count {
	color: var(--reelementor-account-muted);
	font-size: 13px;
	font-weight: 400;
}

.reelementor-account-author-relations__hint {
	margin: 0;
	color: var(--reelementor-account-muted);
	font-size: 13px;
}

.reelementor-account-author-relations__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.reelementor-account-author-relations__avatar {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid var(--reelementor-account-border);
}

.reelementor-account-author-relations__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.reelementor-account-author-relations__item--name {
	width: 100%;
}

.reelementor-account-author-relations__name {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--reelementor-account-text);
	text-decoration: none;
	font-size: 13px;
}

.reelementor-account-author-relations__name:hover {
	color: var(--reelementor-account-accent);
}

.reelementor-account-author-relations__name .reelementor-account-author-relations__avatar-img {
	width: 32px;
	height: 32px;
	border-radius: 50%;
}

/* ---------- Автор: записи ---------- */

.reelementor-account-author-posts__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 12px;
}

.reelementor-account-author-posts__item {
	position: relative;
	display: flex;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
	align-items: flex-start;
}

.reelementor-account-author-posts__thumb {
	width: 84px;
	height: 84px;
	flex: 0 0 84px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--reelementor-account-bg-soft);
}

.reelementor-account-author-posts__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.reelementor-account-author-posts__body {
	flex: 1 1 auto;
	min-width: 0;
}

.reelementor-account-author-posts__title {
	margin: 0 0 6px;
	font-size: 16px;
	line-height: 1.35;
}

.reelementor-account-author-posts__title a {
	color: var(--reelementor-account-text);
	text-decoration: none;
}

.reelementor-account-author-posts__title a:hover {
	color: var(--reelementor-account-accent);
}

.reelementor-account-author-posts__subtitle {
	margin: 0 0 6px;
	color: var(--reelementor-account-muted);
	font-size: 13px;
	line-height: 1.45;
}

.reelementor-account-author-posts__meta {
	display: flex;
	gap: 12px;
	margin-bottom: 4px;
	color: var(--reelementor-account-muted);
	font-size: 12px;
}

.reelementor-account-author-posts__excerpt {
	color: var(--reelementor-account-muted);
	font-size: 13px;
	line-height: 1.5;
}

/* ---------- Кабинет: уведомления ---------- */

.reelementor-account-notifications {
	display: grid;
	gap: 14px;
}

.reelementor-account-notifications__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.reelementor-account-notifications__title {
	margin: 0;
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.reelementor-account-notifications__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 11px;
	background: var(--reelementor-account-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.reelementor-account-notifications__mark-all {
	border: 1px solid var(--reelementor-account-border);
	background: var(--reelementor-account-bg);
	color: var(--reelementor-account-text);
	border-radius: var(--reelementor-account-radius);
	padding: 6px 12px;
	font-size: 13px;
	cursor: pointer;
}

.reelementor-account-notifications__mark-all:hover {
	border-color: var(--reelementor-account-accent);
	color: var(--reelementor-account-accent);
}

.reelementor-account-notifications__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.reelementor-account-notifications__item {
	padding: 14px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
	display: grid;
	gap: 8px;
}

.reelementor-account-notifications__item.is-unread {
	border-color: var(--reelementor-account-accent);
	background: var(--reelementor-account-bg-soft);
}

.reelementor-account-notifications__item.is-unread .reelementor-account-notifications__message {
	font-weight: 600;
}

.reelementor-account-notifications__message {
	margin: 0;
	color: var(--reelementor-account-text);
	font-size: 14px;
	line-height: 1.45;
}

.reelementor-account-notifications__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	color: var(--reelementor-account-muted);
	font-size: 12px;
}

.reelementor-account-notifications__type {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 11px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: 4px;
	padding: 1px 6px;
}

.reelementor-account-notifications__mark {
	margin-left: auto;
	border: 0;
	background: none;
	color: var(--reelementor-account-accent);
	padding: 0;
	font-size: 12px;
	cursor: pointer;
}

.reelementor-account-notifications__mark:hover {
	text-decoration: underline;
}

.reelementor-account-notifications__empty {
	color: var(--reelementor-account-muted);
}

.reelementor-account-notifications__settings {
	padding: 12px 14px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
}

.reelementor-account-notifications__setting {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	cursor: pointer;
}

/* ---------- Редактор статей ---------- */

.reelementor-account__button-danger {
	background: #dc2626;
}

.reelementor-account__button-danger:hover {
	background: #b91c1c;
}

.reelementor-account-editor {
	display: grid;
	gap: 24px;
}

.reelementor-account-editor__section-title {
	margin: 0 0 12px;
	font-size: 18px;
}

.reelementor-account-editor__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.reelementor-account-editor__item {
	padding: 14px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
	display: grid;
	gap: 10px;
}

.reelementor-account-editor__meta {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.reelementor-account-editor__title {
	font-weight: 600;
	font-size: 15px;
	color: var(--reelementor-account-text);
}

.reelementor-account-editor__status {
	font-size: 12px;
	color: var(--reelementor-account-accent);
	border: 1px solid var(--reelementor-account-border);
	border-radius: 4px;
	padding: 1px 6px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.reelementor-account-editor__date {
	color: var(--reelementor-account-muted);
	font-size: 12px;
}

.reelementor-account-editor__actions {
	display: flex;
	gap: 8px;
}

.reelementor-account-editor__edit {
	border: 1px solid var(--reelementor-account-border);
	background: var(--reelementor-account-bg);
	color: var(--reelementor-account-text);
	border-radius: 6px;
	padding: 6px 12px;
	font-size: 13px;
	cursor: pointer;
}

.reelementor-account-editor__edit:hover {
	border-color: var(--reelementor-account-accent);
	color: var(--reelementor-account-accent);
}

.reelementor-account-editor__empty {
	color: var(--reelementor-account-muted);
}

.reelementor-account-editor__form-wrap {
	padding: 20px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: var(--reelementor-account-radius);
	background: var(--reelementor-account-bg);
}

.reelementor-account-editor__form {
	display: grid;
	gap: 14px;
}

.reelementor-account-editor__field {
	display: grid;
	gap: 6px;
}

.reelementor-account-editor__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--reelementor-account-text);
}

.reelementor-account-editor__field input[type="text"],
.reelementor-account-editor__field select,
.reelementor-account-editor__field textarea {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--reelementor-account-border);
	border-radius: 8px;
	background: #fff;
	color: var(--reelementor-account-text);
	font-size: 14px;
	line-height: 1.5;
}

.reelementor-account-editor__field input:focus,
.reelementor-account-editor__field select:focus,
.reelementor-account-editor__field textarea:focus {
	outline: none;
	border-color: var(--reelementor-account-accent);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.reelementor-account-editor__status {
	font-size: 13px;
	margin: 0;
}

.reelementor-account-editor__status.is-ok {
	color: #16a34a;
}

.reelementor-account-editor__status.is-error {
	color: #dc2626;
}