/**
 * Zoobiznes — переопределение стилей плагина Expert Review
 * (блок автора + попап «Задать вопрос»).
 *
 * Специфичность намеренно выше, чем у styles.min.css плагина,
 * чтобы перебить цветовые модификаторы (--color-blue-1 и т.п.).
 */

:root {
	--zb-paper: #FEFAEE;
	--zb-cream-soft: #FFFAEA;
	--zb-brand-light: #00A152;
	--zb-brand-hover: #00BA51;
	--zb-black: #041A19;
	--zb-ink: #072322;
	--zb-body-soft: rgba(0, 0, 0, 0.70);
	--zb-border: #DEDEDE;
	--zb-muted: #656565;
	--zb-positive: #00BA7D;
	--zb-negative: #E5533D;

	--zb-font-display: 'Geologica', sans-serif;
	--zb-font-body: 'Inter', sans-serif;
	--zb-font-mono: 'JetBrains Mono', monospace;
}

/* --------------------------------------------------------------------------
   Блок автора
   -------------------------------------------------------------------------- */

.expert-review,
.expert-review[class*="expert-review--color-"] {
	background: #fffefb !important;
	border: 1px solid var(--zb-border) !important;
	border-radius: 8px !important;
	margin: 2em 0 !important;
	box-sizing: border-box;
	box-shadow: none !important;
}

.expert-review .expert-review-expert {
	position: relative;
	padding: 24px 28px !important;
}

.expert-review .expert-review-expert-header,
.expert-review[class*="expert-review--color-"] .expert-review-expert-header {
	font-family: var(--zb-font-mono) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--zb-muted) !important;
	margin-bottom: 16px !important;
}

.expert-review .expert-review-expert-bio {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 16px;
}

@media (min-width: 768px) {
	.expert-review .expert-review-expert-bio {
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 24px;
	}

	/* Аватар по центру высоты текстового блока */
	.expert-review .expert-review-expert-bio__avatar {
		align-self: center;
	}

	/* Кнопка у низа описания, поднята на 10px */
	.expert-review .expert-review-expert-bio__button {
		align-self: flex-end !important;
		transform: translateY(-10px);
	}
}

.expert-review .expert-review-expert-bio__avatar,
.expert-review[class*="expert-review--color-"] .expert-review-expert-bio__avatar {
	position: relative;
	width: 72px !important;
	height: 72px !important;
	flex: 0 0 72px !important;
	max-width: 72px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	overflow: hidden;
	border: 1px solid var(--zb-border);
	background: var(--zb-paper) !important;
	background-image: none !important;
}

@media (min-width: 768px) {
	.expert-review .expert-review-expert-bio__avatar,
	.expert-review[class*="expert-review--color-"] .expert-review-expert-bio__avatar {
		width: 80px !important;
		height: 80px !important;
		flex: 0 0 80px !important;
		max-width: 80px !important;
	}
}

.expert-review .expert-review-expert-bio__avatar img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	display: block;
	background: transparent !important;
}

.expert-review .expert-review-expert-bio__body {
	position: relative;
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	line-height: 1.4 !important;
}

.expert-review .expert-review-expert-bio-name,
.expert-review .expert-review-expert-bio-name a,
.expert-review[class*="expert-review--color-"] .expert-review-expert-bio-name,
.expert-review[class*="expert-review--color-"] .expert-review-expert-bio-name a {
	font-family: var(--zb-font-display) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.04em !important;
	color: var(--zb-black) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.expert-review .expert-review-expert-bio-name a:hover {
	color: var(--zb-brand-light) !important;
}

.expert-review .expert-review-expert-bio-description {
	font-family: var(--zb-font-body) !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: var(--zb-body-soft) !important;
	opacity: 1 !important;
	margin-top: 6px !important;
	margin-right: 0 !important;
}

.expert-review .expert-review-expert-bio__button {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

.expert-review .expert-review-button,
.expert-review[class*="expert-review--color-"] .expert-review-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-family: var(--zb-font-mono) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: #FFFFFF !important;
	background: var(--zb-brand-light) !important;
	background-color: var(--zb-brand-light) !important;
	padding: 12px 20px !important;
	border-radius: 6px !important;
	white-space: nowrap;
	cursor: pointer;
	border: none !important;
	box-shadow: none !important;
	transition: background-color 0.2s ease, transform 0.1s ease;
	user-select: none;
	opacity: 1 !important;
}

.expert-review .expert-review-button:hover,
.expert-review .expert-review-button:focus,
.expert-review[class*="expert-review--color-"] .expert-review-button:hover,
.expert-review[class*="expert-review--color-"] .expert-review-button:focus {
	background: var(--zb-brand-hover) !important;
	background-color: var(--zb-brand-hover) !important;
	opacity: 1 !important;
	color: #FFFFFF !important;
}

.expert-review .expert-review-button:active {
	transform: translateY(1px);
}

/* --------------------------------------------------------------------------
   Попап
   -------------------------------------------------------------------------- */

.expert-review-popup-holder {
	position: fixed !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(4, 26, 25, 0.55) !important;
	backdrop-filter: blur(2px);
	z-index: 9998 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 16px !important;
	box-sizing: border-box;
}

.expert-review-popup {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	width: 100% !important;
	max-width: 460px !important;
	margin: 0 auto !important;
	font-size: 14px !important;
	transform: none !important;
	z-index: 9999 !important;
}

.expert-review-popup__close {
	position: absolute !important;
	top: 16px !important;
	right: 18px !important;
	font-family: var(--zb-font-body) !important;
	font-size: 24px !important;
	line-height: 1 !important;
	color: var(--zb-muted) !important;
	cursor: pointer;
	transition: color 0.2s ease;
	z-index: 10;
}

.expert-review-popup__close:hover {
	color: var(--zb-black) !important;
}

.expert-review-popup__content {
	background: var(--zb-cream-soft) !important;
	border: 1px solid var(--zb-border);
	border-radius: 12px;
	padding: 28px 24px !important;
	box-shadow: 0 16px 32px rgba(4, 26, 25, 0.12);
	position: relative;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.expert-review-popup__content {
		padding: 32px !important;
	}
}

.expert-review-popup__content label {
	display: block !important;
	width: 100% !important;
	font-family: var(--zb-font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--zb-black) !important;
	margin: 0 0 14px !important;
}

.expert-review-popup__content input[type="text"],
.expert-review-popup__content input[type="email"],
.expert-review-popup__content textarea {
	display: block !important;
	width: 100% !important;
	font-family: var(--zb-font-body) !important;
	font-size: 14px !important;
	color: var(--zb-ink) !important;
	background: #FFFFFF !important;
	border: 1px solid var(--zb-border) !important;
	border-radius: 6px !important;
	padding: 10px 12px !important;
	margin-top: 6px !important;
	line-height: 1.5 !important;
	box-sizing: border-box;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.expert-review-popup__content input[type="text"]:focus,
.expert-review-popup__content input[type="email"]:focus,
.expert-review-popup__content textarea:focus {
	color: var(--zb-ink) !important;
	background: #FFFFFF !important;
	border-color: var(--zb-brand-light) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 161, 82, 0.15) !important;
}

.expert-review-popup__content textarea {
	height: 96px !important;
	resize: vertical;
}

/* Согласие — без отдельного класса в разметке плагина */
.expert-review-popup__content label:has(input[type="checkbox"]),
.expert-review-popup__consent {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px;
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var(--zb-muted) !important;
	margin-top: 16px !important;
	margin-bottom: 0 !important;
	cursor: pointer;
}

.expert-review-popup__content input[type="checkbox"] {
	accent-color: var(--zb-brand-light);
	width: 16px;
	height: 16px;
	margin-top: 1px;
	flex: 0 0 auto;
}

/* Кнопки действий — без обёртки __actions */
.expert-review-popup__content button,
.expert-review-popup__submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle;
	font-family: var(--zb-font-mono) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #FFFFFF !important;
	background: var(--zb-brand-light) !important;
	background-color: var(--zb-brand-light) !important;
	border: 1px solid var(--zb-brand-light) !important;
	border-radius: 6px !important;
	padding: 12px 22px !important;
	margin-top: 20px;
	box-shadow: none !important;
	cursor: pointer;
	line-height: 1 !important;
	box-sizing: border-box;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.expert-review-popup__content button:hover,
.expert-review-popup__content button:focus,
.expert-review-popup__submit:hover,
.expert-review-popup__submit:focus {
	background: var(--zb-brand-hover) !important;
	background-color: var(--zb-brand-hover) !important;
	border-color: var(--zb-brand-hover) !important;
	opacity: 1 !important;
	color: #FFFFFF !important;
}

.expert-review-popup__actions {
	display: flex;
	align-items: center;
	margin-top: 20px;
}

.expert-review-popup__actions .expert-review-popup__submit,
.expert-review-popup__actions button,
.expert-review-popup__actions .expert-review-popup__cancel {
	margin-top: 0;
}

.expert-review-popup__cancel {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle;
	font-family: var(--zb-font-mono) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: var(--zb-muted) !important;
	background: transparent !important;
	border: 1px solid var(--zb-border) !important;
	border-radius: 6px !important;
	padding: 12px 22px !important;
	margin-top: 20px !important;
	margin-left: 12px !important;
	opacity: 1 !important;
	cursor: pointer;
	box-sizing: border-box;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.expert-review-popup__cancel:hover {
	color: var(--zb-black) !important;
	border-color: var(--zb-muted) !important;
	background: #FFFFFF !important;
	opacity: 1 !important;
}

.expert-review-popup .validation-failed,
.expert-review-popup .fail-message {
	font-family: var(--zb-font-body) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--zb-negative) !important;
	margin-top: 8px;
}

.expert-review-popup .success-message {
	font-family: var(--zb-font-body) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--zb-positive) !important;
	margin-top: 8px;
}

.expert-review-popup__loader {
	position: absolute !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	background: rgba(255, 250, 234, 0.7) !important;
	border-radius: 12px;
}

.expert-review-popup__loader span {
	position: absolute !important;
	top: calc(50% - 14px) !important;
	left: calc(50% - 14px) !important;
	width: 28px !important;
	height: 28px !important;
	border: 3px solid rgba(0, 161, 82, 0.2) !important;
	border-left-color: var(--zb-brand-light) !important;
	border-radius: 50% !important;
	animation: zb-expert-donut-spin 1s linear infinite !important;
	transform: translateZ(0);
}

@keyframes zb-expert-donut-spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
