/* ==========================================================================
   VIVORA — единична блог публикация
   Всичко е скоупнато към body.single-post, за да не изтича в други страници.
   Палитрата е същата като на началната (base.css на vivora-home).
   ========================================================================== */

body.single-post{
	--vp-ink:    #1A1C19;
	--vp-dgreen: #163224;
	--vp-green:  #34584A;
	--vp-teal:   #2A9D8F;
	--vp-mut:    #5B6560;
	--vp-line:   #E4E0DA;
	--vp-panel:  #FAFAF8;
	--vp-font:   'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	/* колоната беше 860px в 1585px страница — оттам идваше усещането за тясно */
	--vp-wide:   1340px;   /* снимки и широки блокове */
	--vp-read:   1040px;   /* текстова мярка */
}

/* --- лента за прогрес на четенето ---------------------------------------- */
.vp-progress{
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 9999;
	height: 3px;
	background: transparent;
	pointer-events: none;
}
.vp-progress__bar{
	display: block;
	width: 0;
	height: 100%;
	background: linear-gradient(90deg, var(--vp-teal), #59A97A 60%, #F4A261);
	transition: width .08s linear;
}

/* --- ширина на контейнерите ---------------------------------------------- */
body.single-post .elementor-location-single .e-con > .e-con-inner{
	max-width: var(--vp-wide) !important;
}

/* --- заглавна част -------------------------------------------------------- */
body.single-post .elementor-location-single h1{
	font-family: var(--vp-font);
	font-weight: 800;
	font-size: clamp(30px, 3.2vw, 52px);
	line-height: 1.1;
	letter-spacing: -0.5px;
	color: var(--vp-dgreen);
	text-wrap: balance;
}

/* ред с автор и дата */
body.single-post .elementor-widget-post-info .elementor-icon-list-text,
body.single-post .elementor-widget-post-info .elementor-post-info__item{
	font-family: var(--vp-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--vp-mut);
}

/* ==========================================================================
   ТЯЛО НА СТАТИЯТА
   ========================================================================== */
body.single-post [class*="elementor-widget-theme-post-"],
body.single-post .elementor-widget-text-editor{
	font-family: var(--vp-font);
}

/* текстът се центрира в по-тясна мярка вътре в широкия контейнер */
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > p,
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > h2,
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > h3,
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > ul,
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > ol,
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > blockquote{
	max-width: var(--vp-read);
	margin-inline: auto;
}

body.single-post [class*="elementor-widget-theme-post-"] p{
	font-family: var(--vp-font);
	font-size: clamp(17px, 1.3vw, 20.5px);
	line-height: 1.78;
	font-weight: 400;
	color: #2A2E2B;
	margin: 0 0 1.5em;
}

/* уводният абзац (той е <p><strong>…</strong></p>) води статията */
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > p:first-child{
	position: relative;
	font-size: clamp(19px, 1.55vw, 25px);
	line-height: 1.6;
	color: var(--vp-dgreen);
	padding-left: clamp(16px, 1.4vw, 24px);
	border-left: 3px solid var(--vp-teal);
	margin-bottom: clamp(30px, 2.6vw, 46px);
}
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > p:first-child strong{
	font-weight: 700;
}

body.single-post [class*="elementor-widget-theme-post-"] strong{
	font-weight: 700;
	color: var(--vp-dgreen);
}

/* --- подзаглавия ---------------------------------------------------------- */
body.single-post [class*="elementor-widget-theme-post-"] h2{
	font-family: var(--vp-font);
	font-size: clamp(24px, 2.4vw, 38px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.2px;
	color: var(--vp-dgreen);
	margin: clamp(44px, 4vw, 72px) 0 clamp(14px, 1.2vw, 22px);
	text-wrap: balance;
}
/* къса акцентна чертичка над всяко подзаглавие */
body.single-post [class*="elementor-widget-theme-post-"] h2::before{
	content: "";
	display: block;
	width: 44px;
	height: 3px;
	border-radius: 2px;
	background: var(--vp-teal);
	margin-bottom: clamp(14px, 1.2vw, 20px);
}

body.single-post [class*="elementor-widget-theme-post-"] h3{
	font-family: var(--vp-font);
	font-size: clamp(19px, 1.6vw, 26px);
	font-weight: 800;
	line-height: 1.25;
	color: var(--vp-dgreen);
	margin: clamp(30px, 2.6vw, 44px) 0 clamp(10px, .9vw, 16px);
}

/* --- списъци -------------------------------------------------------------- */
body.single-post [class*="elementor-widget-theme-post-"] ul,
body.single-post [class*="elementor-widget-theme-post-"] ol{
	margin: 0 auto clamp(22px, 2vw, 34px);
	padding-left: 0;
	list-style: none;
}
body.single-post [class*="elementor-widget-theme-post-"] li{
	position: relative;
	padding-left: 30px;
	margin-bottom: 12px;
	font-family: var(--vp-font);
	font-size: clamp(17px, 1.3vw, 20.5px);
	line-height: 1.7;
	color: #2A2E2B;
}
body.single-post [class*="elementor-widget-theme-post-"] ul > li::before{
	content: "";
	position: absolute;
	left: 6px;
	top: .68em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--vp-teal);
}
body.single-post [class*="elementor-widget-theme-post-"] ol{ counter-reset: vp; }
body.single-post [class*="elementor-widget-theme-post-"] ol > li{ counter-increment: vp; }
body.single-post [class*="elementor-widget-theme-post-"] ol > li::before{
	content: counter(vp);
	position: absolute;
	left: 0;
	top: .18em;
	width: 22px;
	height: 22px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(42, 157, 143, .14);
	color: #1F7A70;
	font-size: 12px;
	font-weight: 800;
}

/* --- снимки: широки, заоблени, с мек акцент ------------------------------- */
body.single-post [class*="elementor-widget-theme-post-"] figure.wp-block-image,
body.single-post [class*="elementor-widget-theme-post-"] figure{
	margin: clamp(34px, 3.4vw, 60px) auto;
	max-width: var(--vp-wide);
}
body.single-post [class*="elementor-widget-theme-post-"] figure img,
body.single-post [class*="elementor-widget-theme-post-"] p > img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 18px 44px rgba(22, 50, 36, .13);
}
body.single-post [class*="elementor-widget-theme-post-"] figcaption{
	max-width: var(--vp-read);
	margin: 14px auto 0;
	font-family: var(--vp-font);
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--vp-mut);
	text-align: center;
}

/* --- цитат ---------------------------------------------------------------- */
body.single-post [class*="elementor-widget-theme-post-"] blockquote{
	position: relative;
	background: var(--vp-panel);
	border: 1px solid var(--vp-line);
	border-left: 4px solid var(--vp-teal);
	border-radius: 0 16px 16px 0;
	padding: clamp(22px, 2.2vw, 34px);
	margin-block: clamp(30px, 2.8vw, 46px);
	font-style: normal;
}
body.single-post [class*="elementor-widget-theme-post-"] blockquote p{
	font-size: clamp(17px, 1.25vw, 20px);
	line-height: 1.65;
	color: var(--vp-dgreen);
	margin: 0;
}

body.single-post [class*="elementor-widget-theme-post-"] a:not(.elementor-button){
	color: var(--vp-green);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(52, 88, 74, .4);
	transition: color .2s ease, text-decoration-color .2s ease;
}
body.single-post [class*="elementor-widget-theme-post-"] a:not(.elementor-button):hover{
	color: var(--vp-teal);
	text-decoration-color: var(--vp-teal);
}

/* --- „Подобни статии“ ----------------------------------------------------- */
body.single-post .elementor-location-single h2:not([class*="elementor-heading"]),
body.single-post .elementor-widget-heading .elementor-heading-title{
	font-family: var(--vp-font);
}
body.single-post .elementor-widget-heading .elementor-heading-title{
	font-weight: 800;
	color: var(--vp-dgreen);
	letter-spacing: .2px;
}

/* --- мобилно -------------------------------------------------------------- */
@media (max-width: 767px){
	body.single-post{
		--vp-wide: 100%;
		--vp-read: 100%;
	}
	body.single-post [class*="elementor-widget-theme-post-"] figure img{
		border-radius: 14px;
		box-shadow: 0 10px 26px rgba(22, 50, 36, .12);
	}
	body.single-post [class*="elementor-widget-theme-post-"] h2::before{
		width: 36px;
	}
	body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > p:first-child{
		padding-left: 14px;
	}
}

@media (prefers-reduced-motion: reduce){
	.vp-progress__bar{ transition: none; }
}

/* ==========================================================================
   ДИЗАЙНЕРСКИ ПАС — по-модерен редакционен вид
   ========================================================================== */

/* --- заглавна част: категория, заглавие, мета --------------------------- */
body.single-post .vp-kicker{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 16px;
	margin-bottom: 18px;
	border-radius: 99px;
	background: rgba(42, 157, 143, .12);
	color: #1F7A70;
	font-family: var(--vp-font);
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .2s ease;
}
body.single-post .vp-kicker:hover{ background: rgba(42, 157, 143, .2); }

body.single-post .vp-read{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--vp-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--vp-mut);
}
body.single-post .vp-read::before{
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--vp-teal);
}

/* --- буквица на първия абзац след увода --------------------------------- */
body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > p:first-child + p::first-letter{
	float: left;
	margin: 6px 14px 0 0;
	font-size: 4.1em;
	line-height: .78;
	font-weight: 800;
	color: var(--vp-dgreen);
}

/* --- снимките дишат при посочване --------------------------------------- */
body.single-post [class*="elementor-widget-theme-post-"] figure{
	overflow: hidden;
	border-radius: 20px;
}
body.single-post [class*="elementor-widget-theme-post-"] figure img{
	transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}
body.single-post [class*="elementor-widget-theme-post-"] figure:hover img{
	transform: scale(1.025);
}

/* --- меки разделители между секциите ------------------------------------ */
body.single-post [class*="elementor-widget-theme-post-"] h2:not(:first-child)::after{
	content: none;
}

/* --- „Подобни статии“: карти с повдигане -------------------------------- */
body.single-post .elementor-widget-post-related_etheme_posts_carousel .etheme-post,
body.single-post .elementor-widget-post-related_etheme_posts_carousel article{
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--vp-line);
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
body.single-post .elementor-widget-post-related_etheme_posts_carousel .etheme-post:hover,
body.single-post .elementor-widget-post-related_etheme_posts_carousel article:hover{
	transform: translateY(-4px);
	border-color: rgba(42, 157, 143, .35);
	box-shadow: 0 16px 36px rgba(22, 50, 36, .12);
}
body.single-post .elementor-widget-post-related_etheme_posts_carousel img{
	border-radius: 0;
}

@media (max-width: 767px){
	body.single-post [class*="elementor-widget-theme-post-"] > .elementor-widget-container > p:first-child + p::first-letter{
		font-size: 3.4em;
		margin-right: 10px;
	}
	body.single-post .vp-kicker{ font-size: 10.5px; padding: 6px 13px; }
}
