.pfmrm,
.pfmrm * {
	box-sizing: border-box;
}

.pfmrm {
	--pfmrm-accent: #ec0bbd;
	--pfmrm-accent-2: #8d32ff;
	--pfmrm-bg: #050521;
	--pfmrm-text: #fff;
	--pfmrm-muted: #aaaac7;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@media (min-width: 1024px) {
	body.pfmrm-offset-left,
	body.pfmrm-offset-right {
		box-sizing: border-box;
		width: 100%;
		transition: padding 320ms ease;
	}

	body.pfmrm-offset-left {
		padding-left: var(--pfmrm-desktop-offset, 438px) !important;
	}

	body.pfmrm-offset-right {
		padding-right: var(--pfmrm-desktop-offset, 438px) !important;
	}
}

.pfmrm__trigger {
	appearance: none;
	position: fixed;
	top: 50%;
	right: 18px;
	z-index: 999996;
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-height: 54px;
	margin: 0;
	padding: 8px 18px 8px 13px;
	border: 1px solid color-mix(in srgb, var(--pfmrm-accent) 65%, white 10%);
	border-radius: 999px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--pfmrm-bg) 91%, var(--pfmrm-accent-2)), color-mix(in srgb, var(--pfmrm-bg) 92%, black));
	box-shadow: 0 0 0 1px rgb(255 255 255 / 5%) inset, 0 12px 34px rgb(0 0 0 / 35%), 0 0 25px color-mix(in srgb, var(--pfmrm-accent) 30%, transparent);
	color: var(--pfmrm-text);
	cursor: pointer;
	transform: translateY(-50%);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, opacity 180ms ease;
	isolation: isolate;
}

.pfmrm--bottom .pfmrm__trigger {
	top: auto;
	bottom: 24px;
	transform: none;
}

.pfmrm--left .pfmrm__trigger {
	right: auto;
	left: 18px;
}

.pfmrm__trigger:hover,
.pfmrm__trigger:focus-visible {
	border-color: var(--pfmrm-accent);
	box-shadow: 0 0 0 1px rgb(255 255 255 / 8%) inset, 0 14px 38px rgb(0 0 0 / 40%), 0 0 34px color-mix(in srgb, var(--pfmrm-accent) 48%, transparent);
	transform: translateY(-50%) translateX(-3px);
	outline: none;
}

.pfmrm--bottom .pfmrm__trigger:hover,
.pfmrm--bottom .pfmrm__trigger:focus-visible {
	transform: translateX(-3px);
}

.pfmrm--left .pfmrm__trigger:hover,
.pfmrm--left .pfmrm__trigger:focus-visible {
	transform: translateY(-50%) translateX(3px);
}

.pfmrm--left.pfmrm--bottom .pfmrm__trigger:hover,
.pfmrm--left.pfmrm--bottom .pfmrm__trigger:focus-visible {
	transform: translateX(3px);
}

.pfmrm__trigger-glow {
	position: absolute;
	inset: 3px;
	z-index: -1;
	border-radius: inherit;
	background: radial-gradient(circle at 20% 10%, color-mix(in srgb, var(--pfmrm-accent) 22%, transparent), transparent 52%);
}

.pfmrm__hamburger {
	display: grid;
	place-content: center;
	gap: 4px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--pfmrm-accent-2), var(--pfmrm-accent));
	box-shadow: 0 0 18px color-mix(in srgb, var(--pfmrm-accent) 45%, transparent);
}

.pfmrm__hamburger i {
	display: block;
	width: 14px;
	height: 1.5px;
	border-radius: 2px;
	background: #fff;
}

.pfmrm__trigger-label {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .11em;
	line-height: 1;
	text-transform: uppercase;
}

.pfmrm__overlay {
	position: fixed;
	inset: 0;
	z-index: 999997;
	background: rgb(1 1 18 / 68%);
	backdrop-filter: blur(7px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 320ms ease;
}

.pfmrm__panel {
	position: fixed;
	top: 14px;
	right: 14px;
	bottom: 14px;
	z-index: 999998;
	width: min(410px, calc(100vw - 28px));
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--pfmrm-accent-2) 40%, rgb(255 255 255 / 12%));
	border-radius: 28px;
	background: linear-gradient(165deg, color-mix(in srgb, var(--pfmrm-bg) 91%, var(--pfmrm-accent-2)), var(--pfmrm-bg) 36%, color-mix(in srgb, var(--pfmrm-bg) 93%, black));
	box-shadow: -25px 20px 80px rgb(0 0 0 / 52%), 0 0 55px color-mix(in srgb, var(--pfmrm-accent-2) 20%, transparent), 0 0 0 1px rgb(255 255 255 / 4%) inset;
	color: var(--pfmrm-text);
	opacity: 0;
	transform: translateX(calc(100% + 46px)) scale(.985);
	transform-origin: right center;
	visibility: hidden;
	transition: transform 420ms cubic-bezier(.2, .8, .2, 1), opacity 300ms ease, visibility 0s linear 420ms;
}

.pfmrm--left .pfmrm__panel {
	right: auto;
	left: 14px;
	box-shadow: 25px 20px 80px rgb(0 0 0 / 52%), 0 0 55px color-mix(in srgb, var(--pfmrm-accent-2) 20%, transparent), 0 0 0 1px rgb(255 255 255 / 4%) inset;
	transform: translateX(calc(-100% - 46px)) scale(.985);
	transform-origin: left center;
}

.admin-bar .pfmrm__panel {
	top: 46px;
}

.pfmrm[data-open="true"] .pfmrm__overlay {
	opacity: 1;
	pointer-events: auto;
}

.pfmrm[data-open="true"] .pfmrm__panel {
	opacity: 1;
	transform: translateX(0) scale(1);
	visibility: visible;
	transition-delay: 0s;
}

@media (min-width: 1024px) {
	.pfmrm--persistent .pfmrm__trigger,
	.pfmrm--persistent .pfmrm__overlay,
	.pfmrm--persistent .pfmrm__close {
		display: none;
	}

	.pfmrm--persistent .pfmrm__panel {
		opacity: 1;
		transform: none;
		visibility: visible;
		transition: none;
	}

	.pfmrm--persistent[data-persistent-active="true"] .pfmrm__panel {
		top: var(--pfmrm-desktop-top, 14px);
		bottom: auto;
		height: var(--pfmrm-desktop-height, calc(100vh - 28px));
		transform: scale(var(--pfmrm-desktop-scale, 1));
		will-change: transform;
	}

	.pfmrm--left.pfmrm--persistent[data-persistent-active="true"] .pfmrm__panel {
		right: auto;
		left: var(--pfmrm-desktop-edge, 14px);
		transform-origin: left top;
	}

	.pfmrm--right.pfmrm--persistent[data-persistent-active="true"] .pfmrm__panel {
		right: var(--pfmrm-desktop-edge, 14px);
		left: auto;
		transform-origin: right top;
	}
}

.pfmrm[data-open="true"] .pfmrm__trigger {
	opacity: 0;
	pointer-events: none;
}

body.pfmrm-is-open {
	overflow: hidden;
}

.pfmrm__panel-inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 24px;
	scrollbar-color: color-mix(in srgb, var(--pfmrm-accent) 50%, transparent) transparent;
	scrollbar-width: thin;
}

.pfmrm__ambient {
	position: absolute;
	z-index: 0;
	width: 270px;
	height: 270px;
	border-radius: 50%;
	filter: blur(5px);
	opacity: .42;
	pointer-events: none;
}

.pfmrm__ambient--one {
	top: -155px;
	right: -105px;
	background: radial-gradient(circle, var(--pfmrm-accent) 0, transparent 68%);
}

.pfmrm__ambient--two {
	bottom: -190px;
	left: -110px;
	background: radial-gradient(circle, var(--pfmrm-accent-2) 0, transparent 67%);
}

.pfmrm__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.pfmrm__brand {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.pfmrm__brand:hover,
.pfmrm__brand:focus {
	color: inherit;
}

.pfmrm__brand-logo {
	display: block;
	overflow: hidden;
	width: 205px;
	max-width: 100%;
	padding: 2px 8px;
	border: 1px solid rgb(255 255 255 / 7%);
	border-radius: 18px;
	background: radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--pfmrm-accent-2) 12%, transparent), transparent 72%);
	box-shadow: 0 12px 28px rgb(0 0 0 / 16%), 0 0 24px color-mix(in srgb, var(--pfmrm-accent-2) 10%, transparent);
}

.pfmrm__brand-logo img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 0 9px color-mix(in srgb, var(--pfmrm-accent-2) 22%, transparent));
	transition: filter 200ms ease, transform 200ms ease;
}

.pfmrm__brand:hover .pfmrm__brand-logo img,
.pfmrm__brand:focus-visible .pfmrm__brand-logo img {
	filter: drop-shadow(0 0 14px color-mix(in srgb, var(--pfmrm-accent) 38%, transparent));
	transform: scale(1.018);
}

.pfmrm__close {
	appearance: none;
	position: relative;
	display: block;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 13%);
	border-radius: 50%;
	background: rgb(255 255 255 / 6%);
	color: #fff;
	cursor: pointer;
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.pfmrm__close::before,
.pfmrm__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 17px;
	height: 1.5px;
	border-radius: 2px;
	background: currentColor;
}

.pfmrm__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.pfmrm__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.pfmrm__close:hover,
.pfmrm__close:focus-visible {
	border-color: color-mix(in srgb, var(--pfmrm-accent) 70%, white);
	background: color-mix(in srgb, var(--pfmrm-accent) 18%, transparent);
	outline: none;
	transform: rotate(5deg);
}

.pfmrm__account {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 14px;
	border: 1px solid rgb(255 255 255 / 10%);
	border-radius: 19px;
	background: linear-gradient(135deg, rgb(255 255 255 / 9%), rgb(255 255 255 / 3%));
	box-shadow: 0 14px 30px rgb(0 0 0 / 16%);
	backdrop-filter: blur(12px);
}

.pfmrm__avatar,
.pfmrm__guest-icon {
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	border-radius: 16px;
}

.pfmrm__avatar {
	padding: 2px;
	background: linear-gradient(145deg, var(--pfmrm-accent), var(--pfmrm-accent-2));
	box-shadow: 0 0 20px color-mix(in srgb, var(--pfmrm-accent) 25%, transparent);
}

.pfmrm__avatar img {
	display: block;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	object-fit: cover;
}

.pfmrm__guest-icon {
	display: grid;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--pfmrm-accent-2) 48%, white 8%);
	background: color-mix(in srgb, var(--pfmrm-accent-2) 16%, transparent);
}

.pfmrm__guest-icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: #fff;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.pfmrm__account-copy {
	min-width: 0;
	margin-right: auto;
}

.pfmrm__account-copy small,
.pfmrm__account-copy strong {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pfmrm__account-copy small {
	margin-bottom: 3px;
	color: var(--pfmrm-muted);
	font-size: 11px;
	line-height: 1.2;
}

.pfmrm__account-copy strong {
	font-size: 14px;
	font-weight: 780;
	line-height: 1.25;
}

.pfmrm__account-actions {
	display: grid;
	gap: 5px;
	text-align: right;
}

.pfmrm__account-actions a,
.pfmrm__login {
	color: color-mix(in srgb, var(--pfmrm-accent) 78%, white);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}

.pfmrm__account-actions a:hover,
.pfmrm__account-actions a:focus,
.pfmrm__login:hover,
.pfmrm__login:focus {
	color: #fff;
	text-decoration: underline;
}

.pfmrm__login {
	flex: 0 0 auto;
	padding: 9px 13px;
	border: 1px solid color-mix(in srgb, var(--pfmrm-accent) 42%, transparent);
	border-radius: 999px;
}

.pfmrm__embed {
	position: relative;
	width: 100%;
	max-width: 100%;
	padding: 12px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--pfmrm-accent-2) 32%, rgb(255 255 255 / 9%));
	border-radius: 17px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--pfmrm-accent-2) 11%, transparent), rgb(255 255 255 / 3%));
	box-shadow: 0 12px 26px rgb(0 0 0 / 13%);
}

.pfmrm__embed > * {
	max-width: 100%;
}

/* Центральный шорткод подстраивается под реальное содержимое без пустой высоты. */
.pfmrm__embed[data-pfmrm-embed] {
	display: flex;
	align-items: stretch;
	min-height: 0;
	padding: 10px;
}

.pfmrm__embed[data-pfmrm-embed] > *:not(iframe) {
	flex: 1 1 auto;
	width: 100%;
	height: auto !important;
	margin-block: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	min-width: 0;
	min-height: 0 !important;
	max-height: none !important;
}

/* Некоторые плагины добавляют ещё одну обёртку с фиксированной высотой. */
.pfmrm__embed[data-pfmrm-embed] > *:not(iframe) > :where(div, section, article):first-child {
	height: auto !important;
	margin-block: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	min-height: 0 !important;
	max-height: none !important;
}

.pfmrm__embed[data-pfmrm-embed] :where(div, section, article) {
	min-width: 0;
}

.pfmrm__embed[data-pfmrm-embed] :where(h1, h2, h3, h4, h5, h6, p) {
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.pfmrm__embed[data-pfmrm-embed] :where(img, video) {
	height: auto;
	object-fit: cover;
}

.pfmrm__embed--cta {
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.pfmrm__embed iframe,
.pfmrm__embed img,
.pfmrm__embed video {
	display: block;
	max-width: 100%;
}

.pfmrm__nav {
	min-height: 0;
	margin-top: 10px;
}

.pfmrm__list,
.pfmrm__list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pfmrm__list {
	display: grid;
	gap: 8px;
}

.pfmrm__list li {
	position: relative;
	margin: 0;
	padding: 0;
}

.pfmrm__list > li > a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 11px 47px 11px 17px;
	border: 1px solid transparent;
	border-radius: 16px;
	background: rgb(255 255 255 / 4.5%);
	color: #f8f8ff;
	font-size: 14px;
	font-weight: 760;
	line-height: 1.25;
	text-decoration: none;
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.pfmrm__list > li > a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	border-top: 1.5px solid color-mix(in srgb, var(--pfmrm-accent) 80%, white);
	border-right: 1.5px solid color-mix(in srgb, var(--pfmrm-accent) 80%, white);
	transform: translateY(-50%) rotate(45deg);
	transition: transform 180ms ease;
}

.pfmrm__list > li > a:hover,
.pfmrm__list > li > a:focus-visible,
.pfmrm__list > .current-menu-item > a,
.pfmrm__list > .current_page_item > a {
	border-color: color-mix(in srgb, var(--pfmrm-accent) 34%, transparent);
	background: linear-gradient(100deg, color-mix(in srgb, var(--pfmrm-accent) 15%, transparent), rgb(255 255 255 / 6%));
	color: #fff;
	outline: none;
	transform: translateX(-3px);
}

.pfmrm__list > li > a:hover::after,
.pfmrm__list > li > a:focus-visible::after {
	transform: translate(3px, -50%) rotate(45deg);
}

.pfmrm__list .sub-menu,
.pfmrm__list .children {
	display: grid;
	gap: 5px;
	padding: 7px 10px 2px 20px;
}

.pfmrm__list .sub-menu a,
.pfmrm__list .children a {
	display: block;
	padding: 7px 10px;
	border-radius: 9px;
	color: var(--pfmrm-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.pfmrm__list .sub-menu a:hover,
.pfmrm__list .children a:hover,
.pfmrm__list .sub-menu a:focus,
.pfmrm__list .children a:focus {
	background: rgb(255 255 255 / 5%);
	color: #fff;
}

.pfmrm__cta {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 56px;
	padding: 13px 17px 13px 20px;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 17px;
	background: linear-gradient(110deg, var(--pfmrm-accent-2), var(--pfmrm-accent));
	box-shadow: 0 14px 30px color-mix(in srgb, var(--pfmrm-accent) 20%, transparent);
	color: #fff;
	font-size: 13px;
	font-weight: 850;
	letter-spacing: .035em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.pfmrm__cta::before {
	content: "";
	position: absolute;
	inset: -50%;
	background: linear-gradient(100deg, transparent 35%, rgb(255 255 255 / 28%) 50%, transparent 65%);
	transform: translateX(-70%) rotate(12deg);
	transition: transform 600ms ease;
}

.pfmrm__cta:hover,
.pfmrm__cta:focus-visible {
	box-shadow: 0 17px 38px color-mix(in srgb, var(--pfmrm-accent) 33%, transparent);
	color: #fff;
	outline: none;
	transform: translateY(-2px);
}

.pfmrm__cta:hover::before,
.pfmrm__cta:focus-visible::before {
	transform: translateX(70%) rotate(12deg);
}

.pfmrm__cta span,
.pfmrm__cta svg {
	position: relative;
	z-index: 1;
}

.pfmrm__cta svg {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.pfmrm__footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 10px;
	transform: translateY(6px);
	color: color-mix(in srgb, var(--pfmrm-muted) 80%, transparent);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

.pfmrm__live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pfmrm-accent);
	box-shadow: 0 0 10px var(--pfmrm-accent);
	animation: pfmrm-pulse 1.8s ease-in-out infinite;
}

@keyframes pfmrm-pulse {
	0%, 100% { opacity: .4; transform: scale(.85); }
	50% { opacity: 1; transform: scale(1.15); }
}

@media (max-width: 600px) {
	.pfmrm__trigger {
		right: 10px;
		min-height: 49px;
		padding: 7px;
		border-radius: 50%;
	}

	.pfmrm--left .pfmrm__trigger {
		right: auto;
		left: 10px;
	}

	.pfmrm__hamburger {
		width: 34px;
		height: 34px;
	}

	.pfmrm__trigger-label {
		display: none;
	}

	.pfmrm__panel {
		top: 8px;
		right: 8px;
		bottom: 8px;
		width: calc(100vw - 16px);
		border-radius: 22px;
	}

	.pfmrm--left .pfmrm__panel {
		right: auto;
		left: 8px;
	}

	.admin-bar .pfmrm__panel {
		top: 54px;
	}

	.pfmrm__panel-inner {
		gap: 16px;
		padding: 18px;
	}

	.pfmrm__brand-logo {
		width: 175px;
	}

	.pfmrm__embed[data-pfmrm-embed] {
		padding: 9px;
	}

	.pfmrm__account-actions {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pfmrm *,
	.pfmrm *::before,
	.pfmrm *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

@supports not (color: color-mix(in srgb, black, white)) {
	.pfmrm__trigger { border-color: #9b238d; }
	.pfmrm__panel { border-color: #482068; }
	.pfmrm__account-actions a,
	.pfmrm__login { color: #ff61dd; }
}
