/* static site: header CTA (was inline) */
.btn-header-reg{background-color:#4280DD!important;color:#FFFFFF!important;}
.btn-header-login{background-color:#2EC290!important;color:#FFFFFF!important;}
/* TOC: collapsed by default, checkbox right of title */
.toc-title-row{display:flex;align-items:center;justify-content:center;gap:0.5rem;flex-wrap:wrap;margin:0;padding:0;}
.toc-title-text{flex:0 1 auto;}
.toc-toggle{flex:0 0 auto;width:1.15rem;height:1.15rem;cursor:pointer;accent-color:#2ec290;}
.toc-panel{display:none;margin-top:0.75em;}
.toc-block:has(.toc-toggle:checked) .toc-panel{display:block;}
/* schema helper */
.publisher-hidden{display:none!important;}
/* FAQ answers hidden until toggled */
.expert-review-faq-item__answer{display:none;}
.expert-review-faq-item.expand .expert-review-faq-item__answer{display:block;}
.faq-answer{display:none;}
.faq-item.expand .faq-answer{display:block;}
/* FAQ semantic block — mirrors .expert-review-faq--style-simple-1 + --color-green-2 */
.faq-container{margin:2em 0}
.faq-container>h2{padding:1em 0;font-weight:700;font-size:1.4em;margin:0}
.faq-item{position:relative;margin-bottom:1.5em}
.faq-item:after,.faq-item:before{content:"";position:absolute;background:#518f11;-webkit-transition:.2s;transition:all .2s;pointer-events:none}
.faq-item:before{top:16px;left:9px;width:2px;height:10px}
.faq-item:after{top:20px;left:5px;width:10px;height:2px}
.faq-item.expand:before{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}
.faq-item.expand:after{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}
.faq-question{padding:10px 0 10px 35px;font-weight:700;line-height:1.5;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:0.5rem;font-size:1.05em}
.faq-question h3{margin:0;font-size:inherit;font-weight:inherit;flex:1;padding-right:30px}
.faq-arrow{display:none}
.faq-answer{font-size:.95em;padding-left:35px}
@media (min-width:768px){.faq-question{font-size:1.05em}}
/* wide tables: horizontal scroll, no column squeeze (all viewports) */
.entry-content-table-scroll{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;}
.entry-content .entry-content-table-scroll table{width:max-content!important;min-width:100%;max-width:none;table-layout:auto;}
.entry-content .entry-content-table-scroll table td,.entry-content .entry-content-table-scroll table th{white-space:normal;word-wrap:normal;overflow-wrap:normal;word-break:normal;}
/* legacy WP wrapper class */
.entry-content-table-wrap{font-weight:400;}
@media (max-width:991px){.main-navigation.open{display:block!important;}}
html{min-width:320px;}
/* Author box: responsive (stack on small screens, centered) */
@media (max-width:767px){
.author-box{flex-direction:column;align-items:center;text-align:center;max-width:100%;padding:16px 18px;gap:16px;}
.author-photo img{margin-top:0;}
.author-content{align-items:center;}
.author-dates{align-items:center;}
.author-socials{justify-content:center;flex-wrap:wrap;}
}
@media (min-width:320px) and (max-width:359px){
.author-box{padding:14px 16px;}
.author-name{font-size:17px;}
.author-role{font-size:14px;}
}
@media (min-width:360px) and (max-width:389px){
.author-box{max-width:100%;}
}
@media (min-width:390px) and (max-width:479px){
.author-box{max-width:520px;}
}
@media (min-width:480px) and (max-width:767px){
.author-box{max-width:540px;}
}
@media (min-width:768px) and (max-width:1023px){
.author-box{max-width:580px;}
}
@media (min-width:1024px) and (max-width:1279px){
.author-box{max-width:600px;}
}
@media (min-width:1280px) and (max-width:1439px){
.author-box{max-width:640px;}
}
@media (min-width:1440px){
.author-box{max-width:680px;}
}

/* ========== Welcome Bonus Banner (see js/main.js WB_CONFIG) ========== */
:root {
	--wb-bg: #080c15;
	--wb-bg-gradient: linear-gradient(135deg, #080c15 0%, #0f1624 55%, #152238 100%);
	--wb-accent: #fc634f;
	--wb-label-color: #ef8c26;
	--wb-title-color: #ffffff;
	--wb-subtitle-color: #abb8c3;
	--wb-cta-bg: #fc634f;
	--wb-cta-bg-hover: #ef8c26;
	--wb-cta-color: #ffffff;
	--wb-close-color: #ffffff;
	--wb-close-hover: #ef8c26;
	--wb-shadow: 0 -4px 36px rgba(252, 99, 79, 0.22);
	--wb-anim-speed: 0.5s;
	--wb-banner-stack: 0px;
}

.wb-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: var(--wb-bg-gradient);
	box-shadow: var(--wb-shadow);
	border-top: 2px solid var(--wb-accent);
	padding: 12px 16px 12px 14px;
	padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
	transform: translateY(110%);
	opacity: 0;
	pointer-events: none;
	transition:
		transform var(--wb-anim-speed) cubic-bezier(0.34, 1.56, 0.64, 1),
		opacity var(--wb-anim-speed) ease;
}

.wb-banner.wb-visible {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}

.wb-banner.wb-hidden {
	transform: translateY(110%);
	opacity: 0;
	pointer-events: none;
}

.wb-inner {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 12px;
	max-width: 960px;
	margin: 0 auto;
	position: relative;
	padding-right: 40px;
}

.wb-icon {
	font-size: clamp(1.75rem, 4vw, 2rem);
	line-height: 1;
	flex-shrink: 0;
	filter: drop-shadow(0 0 6px rgba(252, 99, 79, 0.45));
	animation: wb-pulse 2s ease-in-out infinite;
}

@keyframes wb-pulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}

.wb-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	min-width: 0;
}

.wb-label {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wb-label-color);
}

.wb-title {
	font-size: clamp(0.88rem, 2.8vw, 1.05rem);
	font-weight: 800;
	color: var(--wb-title-color);
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wb-subtitle {
	font-size: clamp(0.68rem, 2.2vw, 0.78rem);
	color: var(--wb-subtitle-color);
	line-height: 1.25;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.wb-cta {
	display: inline-block;
	flex-shrink: 0;
	padding: 9px 18px;
	border-radius: 6px;
	background: var(--wb-cta-bg);
	color: var(--wb-cta-color);
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	letter-spacing: 0.03em;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
	box-shadow: 0 2px 12px rgba(252, 99, 79, 0.35);
}

.wb-cta:hover {
	background: var(--wb-cta-bg-hover);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(252, 99, 79, 0.5);
}

.wb-cta:active {
	transform: translateY(0);
}

.wb-cta:focus {
	outline: none;
}

.wb-cta:focus-visible {
	outline: 2px solid var(--wb-accent);
	outline-offset: 3px;
}

.wb-close {
	position: absolute;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wb-close-color);
	font-size: 1.05rem;
	line-height: 1;
	padding: 8px;
	min-width: 40px;
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	transition: color 0.15s, transform 0.2s ease;
}

.wb-close:hover {
	color: var(--wb-close-hover);
	transform: translateY(-50%) rotate(90deg);
}

.wb-close:focus {
	outline: none;
}

.wb-close:focus-visible {
	outline: 2px solid var(--wb-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

.wb-countdown {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
	gap: 1px;
}

.wb-countdown-ring {
	position: relative;
	width: 42px;
	height: 42px;
}

.wb-countdown-ring svg {
	transform: rotate(-90deg);
}

.wb-countdown-ring circle.track {
	fill: none;
	stroke: rgba(255, 255, 255, 0.12);
	stroke-width: 3;
}

.wb-countdown-ring circle.progress {
	fill: none;
	stroke: var(--wb-accent);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 113;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 1s linear;
}

.wb-countdown-num {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1;
}

.wb-countdown-label {
	font-size: 0.52rem;
	color: var(--wb-subtitle-color);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ≤550: сетка — icon | text | ring; строка 2: CTA + close (361–550 с кольцом справа сверху) */
@media (max-width: 550px) {
	.wb-banner {
		padding: 10px 12px;
		padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
	}

	.wb-inner {
		display: grid;
		grid-template-columns: auto 1fr 44px;
		grid-template-rows: auto auto;
		gap: 8px 8px;
		align-items: start;
		padding-right: 0;
	}

	.wb-icon {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
	}

	.wb-text {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		padding-right: 4px;
	}

	.wb-title {
		white-space: normal;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.wb-countdown {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		align-self: start;
	}

	.wb-cta {
		grid-column: 1 / 3;
		grid-row: 2;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		white-space: normal;
	}

	.wb-close {
		grid-column: 3;
		grid-row: 2;
		position: static;
		transform: none;
		justify-self: end;
		align-self: center;
		top: auto;
		right: auto;
		width: 100%;
		max-width: 44px;
	}

	.wb-close:hover {
		transform: rotate(90deg);
	}
}

/* ≤360: таймер скрыт — текст на всю ширину рядом с иконкой, компактнее */
@media (max-width: 360px) {
	.wb-countdown {
		display: none !important;
	}

	.wb-text {
		grid-column: 2 / 4;
	}

	.wb-title {
		font-size: 0.85rem;
	}

	.wb-subtitle {
		font-size: 0.65rem;
	}

	.wb-icon {
		font-size: 1.5rem;
	}
}

/* Scroll-to-top: не перекрывается баннером */
body.wb-banner-on .scrolltop.js-scrolltop {
	bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--wb-banner-stack, 96px));
	transition: bottom 0.35s ease;
}
