/* ==========================================================================
   Cultul Penticostal — pagină de lectură lungă (Figma „web-despre-penticostali”)
   Se încarcă doar pe /cultul-penticostal/. Conținut: template-parts/cultul/.
   Reguli: grila de 1280 px, Foco doar 900, cifre în Macha 700,
   Montserrat doar cu majuscule, fără carduri cu umbră.
   ========================================================================== */

.elim-cultul {
	--ink: var(--elim-ink);
	--plum: var(--elim-plum);
	--text: var(--elim-t-text);
	--muted: var(--elim-t-muted);
	--gold: var(--elim-gold);
	--orange: var(--elim-orange);
	--orange-a11y: #A65A12;
	--line: var(--elim-line);
	--sand: #E9E0DE;
	--mauve: #AD8E87;   /* pastilele cu anii (Figma, ca la Istoric) */
	--mauve-dark: #8F6E68;   /* 4,6:1 pe alb (AA pentru text mic) */
	--mist: var(--elim-fog);
	--ease: cubic-bezier(.22, .8, .2, 1);
	--icp-dur: 620ms;   /* = DURATION din cultul.js */
}

.icp {
	font-family: "macha", sans-serif;
	font-weight: 400;
	color: var(--text);
	font-synthesis: none;
}
/* Mărimile, rândurile și culorile textului vin din rolurile comune
   (assets/global/type.css): .elim-t-lead / -summary / -text / -note / -caption. */
.icp *, .icp *::before, .icp *::after { box-sizing: border-box; }
.icp :where(p) { margin: 0 0 1em; max-width: 72ch; }
.icp strong { font-weight: 700; color: var(--ink); }
.icp em { font-style: normal; color: var(--plum); }
.icp a { color: inherit; }

/* Eyebrow de secțiune (Introducere, Drumul unei credințe, Concluzie):
   Montserrat 800 · 15 / 1.2 · spațiere 0 · #FF8C1A · 8 px dedesubt — ca .title_section-top.
   Etichetele mici de element folosesc rolul comun .elim-t-label (assets/global/type.css);
   aici rămâne doar spațiul de deasupra, care ține de ritmul paginii. */
.icp-label {
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
	font-size: 15px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--orange);
	margin: 0 0 8px;
}
.icp .elim-t-label { margin-top: 0; margin-bottom: 8px; }


/* =========================================================================
   INTRODUCERE + NOTE
   ========================================================================= */
.icp-intro { max-width: 860px; margin: 0 0 48px; }
.icp-intro__top { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 14px; }
.icp-intro__top .icp-label { margin: 0; }
.icp-lead {
	margin-bottom: 24px !important;
}
.icp-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px;
	margin: 0 0 120px;
}
.icp-note { border-top: 1px solid var(--line); padding-top: 16px; margin: 0; }
.icp-note p { margin-bottom: 0; }
.icp-ch__inner .icp-note { margin: 28px 0 32px; max-width: 72ch; }

/* =========================================================================
   STRUCTURA: text + cuprins (cuprinsul vine din pluginul „Sumar tehnic”)
   ========================================================================= */
.icp__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 96px;
	align-items: start;
}
.icp__main { min-width: 0; }
.icp__layout > .toc-sidebar { margin-bottom: 0; }

/* Rândul de acțiuni al capitolului: deschide + timp de citire (ca pe articole) */
.icp-ch__actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin: 0; }
/* „CITEȘTE ÎN 3'” stă în dreapta titlului capitolului */
.icp-ch__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 32px;
}
.icp-ch__head > .icp-ch__num,
.icp-ch__head > .icp-ch__title { grid-column: 1; }
.icp-ch__head > .article-meta-right { grid-column: 2; grid-row: 2; align-self: center; margin-bottom: 24px; }
.icp-ch__end { display: flex; gap: 28px; flex-wrap: wrap; padding: 16px 0 4px; }

/* =========================================================================
   CAPITOLE
   ========================================================================= */
.icp-ch { position: relative; margin: 0 0 96px; scroll-margin-top: 28px; }
.icp-ch__head { position: relative; padding-top: 30px; }
/* Linia capitolului; se umple cu auriu pe măsură ce citești */
.icp-ch__head::before,
.icp-ch__head::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: var(--line);
}
.icp-ch__head::after {
	background: var(--gold);
	transform-origin: left center;
	transform: scaleX(var(--p, 0));
	transition: transform .18s linear;
}
/* Eticheta perioadei: aceeași formă ca anii din Istoric (10 px + crestătură) */
.icp-ch__tag {
	position: absolute;
	z-index: 1;
	left: 0;
	top: -16.5px;
	display: flex;
	align-items: center;
	height: 36px;
	padding: 0 16px;
	border-radius: 10px;
	background: var(--mauve);
	box-shadow: 0 0 0 10px #fff;
	font-family: "macha", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #F3ECEA;
	white-space: nowrap;
	transition: background-color .35s var(--ease);
}
.icp-ch__tag::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -12px;
	width: 34px;
	height: 13px;
	margin-left: -17px;
	background: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39 13'%3E%3Cpath d='M39 0C19.554 0 19.5 12.933 19.5 13C19.5 12.933 19.446 0 0 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39 13'%3E%3Cpath d='M39 0C19.554 0 19.5 12.933 19.5 13C19.5 12.933 19.446 0 0 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.icp-ch.is-open .icp-ch__tag { background: var(--ink); }
.icp .icp-ch__num { margin-top: 30px; }
.icp-ch__title {
	font-family: "foco", sans-serif;
	font-weight: 900;
	font-size: 42px;   /* titlu de capitol: 42 · 36 · 28 (ca la În ce credem), sub titlul de secțiune (48) */
	line-height: 1.1;
	color: var(--plum);
	margin: 0 0 24px;
	max-width: 30ch;
}

/* „Pe scurt” — rezumatul, mereu vizibil */
.icp-gist { margin: 0 0 24px; }
.icp-gist .elim-t-summary { margin: 0; max-width: 66ch; }
.icp-gist strong { color: var(--plum); }


/* Corpul capitolului: se deschide lin (grid rows), fără sărituri */
.icp-ch__body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--icp-dur) var(--ease);
}
.icp-ch.is-open .icp-ch__body { grid-template-rows: 1fr; }
.icp-ch__inner {
	min-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity .4s var(--ease);
}
.icp-ch.is-open .icp-ch__inner { opacity: 1; transition-delay: .12s; }
.icp-ch__inner > :first-child { margin-top: 36px; }
.no-js .icp-ch__body, .icp-ch.no-collapse .icp-ch__body { grid-template-rows: 1fr; }
.no-js .icp-ch__inner { opacity: 1; }

/* subtitlurile din capitol: rolul de titlu (h3 în .elim-t-text, assets/global/type.css) */
.icp-ch__inner h3 { margin: 44px 0 12px; }
.icp .icp-when { margin-top: 48px; }
.icp-when + h3 { margin-top: 0; }

/* Citat scos din text */
.icp-quote { margin: 40px 0; padding: 0; border: 0; max-width: 30em; }
.icp-quote::before { content: ""; display: block; width: 48px; height: 3px; background: var(--gold); margin-bottom: 18px; }
.icp-quote p {
	font-family: "foco", sans-serif;
	font-weight: 900;
	font-size: 24px;
	line-height: 1.3;
	color: var(--plum);
	margin: 0;
}

/* Liste */
.icp-list { list-style: none; margin: 0 0 1.2em; padding: 0; max-width: 72ch; }
.icp-list li { position: relative; padding-left: 22px; margin: 0 0 10px; }
.icp-list li::before { content: ""; position: absolute; left: 2px; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.icp-list--dated li { padding-left: 64px; }
.icp-list--dated li::before { display: none; }
.icp-list--dated li > span:first-child {
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
	color: var(--plum);
	font-variant-numeric: tabular-nums;
}
.icp-list--dated li.is-local > span:first-child { color: var(--orange-a11y); }

/* In memoriam */
.icp-memoriam { list-style: none; margin: 28px 0 28px; padding: 0; max-width: 72ch; }
.icp-memoriam::before {
	/* același stil ca .elim-t-label */
	content: "In memoriam";
	display: block;
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--elim-t-label, #DAA769);
	margin-bottom: 8px;
}
.icp-memoriam li {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 16px;
	align-items: baseline;
	padding: 14px 0;
	border-top: 1px solid var(--line);
}
.icp-memoriam li:last-child { border-bottom: 1px solid var(--line); }
.icp-memoriam__name { font-weight: 700; font-size: 19px; color: var(--ink); }

/* Conducerea din 1951 */
.icp-roles { list-style: none; margin: 0 0 1.2em; padding: 0; max-width: 520px; }
.icp-roles li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.icp-roles li span:first-child { font-weight: 700; color: var(--ink); }
.icp-roles li span:last-child { color: var(--muted); }

/* Locurile de la Seminar */
.icp-seats { margin: 28px 0 32px; max-width: 560px; }
.icp-seats__row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 40px; align-items: center; gap: 12px; padding: 6px 0; }
.icp-seats__year, .icp-seats__n { font-weight: 700; color: var(--plum); font-variant-numeric: tabular-nums; }
.icp-seats__n { text-align: right; }
.icp-seats__dots { display: flex; flex-wrap: wrap; gap: 6px; }
.icp-seats__dots i {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--gold);
	transform: scale(0);
	transition: transform .4s var(--ease);
	transition-delay: calc(var(--i) * 45ms);
}
.icp-seats.is-in .icp-seats__dots i { transform: none; }
.icp-seats figcaption { margin-top: 10px; }

/* Președinții Cultului: bară proporțională 1951 → 2026 */
.icp-leaders { margin: 8px 0 36px; }
.icp-leaders ol {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 64px 0 64px;
	height: 140px;
}
.icp-leaders ol::before { content: ""; position: absolute; left: 0; right: 0; top: 64px; height: 12px; background: var(--mist); border-radius: 6px; }
.icp-leaders li {
	position: absolute;
	top: 64px;
	left: calc((var(--from) - 1951) / 75 * 100%);
	width: calc((var(--to) - var(--from)) / 75 * 100%);
	height: 12px;
	margin: 0;
	padding: 0;
}
.icp-leaders li::before {
	content: "";
	position: absolute;
	inset: 0 1px;
	border-radius: 6px;
	background: var(--mauve);
	transform-origin: left;
	transform: scaleX(0);
	transition: transform .7s var(--ease);
	transition-delay: calc(var(--i, 0) * 160ms);
}
.icp-leaders li:nth-child(odd)::before { background: var(--plum); }
.icp-leaders li.is-now::before { background: var(--gold); }
.icp-leaders.is-in li::before { transform: none; }
.icp-leaders li > span { position: absolute; left: 1px; white-space: nowrap; line-height: 1.2; }
.icp-leaders__name { font-weight: 700; font-size: 16px; color: var(--ink); }
.icp-leaders__years { font-size: 14px; color: var(--muted); font-variant-numeric: tabular-nums; }
.icp-leaders li:nth-child(odd) .icp-leaders__name { bottom: 40px; }
.icp-leaders li:nth-child(odd) .icp-leaders__years { bottom: 22px; }
.icp-leaders li:nth-child(even) .icp-leaders__name { top: 22px; }
.icp-leaders li:nth-child(even) .icp-leaders__years { top: 42px; }
.icp-leaders li:last-child > span { left: auto; right: 1px; text-align: right; }
.icp-leaders figcaption { margin-top: 8px; }

/* Crezul */
.icp-creed {
	list-style: none;
	counter-reset: crez;
	margin: 32px 0 24px;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 48px;
}
.icp-creed > li { counter-increment: crez; position: relative; padding: 22px 0 8px; border-top: 1px solid var(--line); margin: 0; }
.icp-creed > li::before {
	content: counter(crez, decimal-leading-zero);
	display: block;
	font-weight: 700;
	font-size: 15px;
	color: var(--gold);
	font-variant-numeric: tabular-nums;
	margin-bottom: 6px;
}
.icp-creed > li:nth-child(5) { grid-column: 1 / -1; }
.icp-creed h3 { margin: 0 0 8px !important; font-size: 20px; }
.icp-fruit {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 0;
	max-width: none !important;
	margin: 18px 0 8px !important;
}
.icp-fruit span {
	font-weight: 500;
	font-size: 19px;
	color: var(--plum);
	opacity: .35;
	transition: opacity .5s var(--ease);
	transition-delay: calc(var(--i, 0) * 140ms);
}
.icp-fruit.is-in span { opacity: 1; }
.icp-fruit span:not(:last-of-type)::after { content: "·"; color: var(--gold); font-weight: 700; margin: 0 12px; }
.icp-fruit cite {
	flex-basis: 100%;
	font-style: normal;
	margin-top: 8px;
}

/* Recensămintele */
.icp-census {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 56px;
	align-items: end;
	margin: 36px 0 40px;
}
.icp-census__bars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; height: 280px; align-items: end; }
.icp-census__bar { display: flex; flex-direction: column; align-items: stretch; height: 100%; justify-content: flex-end; }
.icp-census__col {
	display: block;
	height: calc(var(--v) / 450000 * 220px);
	background: var(--mist);
	border-radius: 10px 10px 0 0;
	transform-origin: bottom;
	transform: scaleY(0);
	transition: transform 1.1s var(--ease);
	transition-delay: calc(var(--i, 0) * 140ms);
}
.icp-census__bar.is-last .icp-census__col { background: var(--gold); }
.icp-census.is-in .icp-census__col { transform: none; }
.icp-census__n { font-family: "Montserrat", sans-serif; font-weight: 900; font-size: 20px; letter-spacing: -.01em; color: var(--gold); font-variant-numeric: tabular-nums; margin-bottom: 8px; white-space: nowrap; }
.icp-census__bar.is-last .icp-census__n { color: var(--plum); }
.icp-census__y { font-weight: 700; font-size: 15px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 8px; margin-top: 0; }
.icp-census__share p { margin: 0; }
.icp-census__big { display: block; font-family: "Montserrat", sans-serif; font-weight: 900; font-size: 52px; line-height: .9; letter-spacing: -.02em; color: var(--gold); margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.icp-census__grid { display: grid; grid-template-columns: repeat(12, 14px); gap: 7px; margin-bottom: 22px; }
.icp-census__grid i { width: 14px; height: 14px; border-radius: 50%; background: var(--line); transition: background-color .5s; }
.icp-census__grid i.is-one { background: var(--line); }
.icp-census.is-in .icp-census__grid i.is-one { background: var(--orange); transition-delay: 1.2s; }
.icp-census figcaption { grid-column: 1 / -1; }

/* =========================================================================
   CONCLUZIE + SURSE
   ========================================================================= */
.icp-end { margin: 24px 0 40px; scroll-margin-top: 28px; }
.icp-end__title { font-family: "foco", sans-serif; font-weight: 900; font-size: 42px; line-height: 1.1; color: var(--plum); margin: 0 0 24px; max-width: 24ch; }
.icp-sources { margin-top: 48px; border-top: 1px solid var(--line); padding-top: 18px; }
.icp-sources summary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	list-style: none;
	font-weight: 500;
	font-size: 16px;
	color: var(--plum);
}
.icp-sources summary::-webkit-details-marker { display: none; }
.icp-sources summary:focus { outline: none; }
.icp-sources summary:focus-visible span:first-child { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.icp-sources__ico {
	width: 11px;
	height: 6px;
	background: var(--gold);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 6'%3E%3Cpath d='M.22.22a.75.75 0 0 1 1.06 0L5.25 4.19 9.22.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0L.22 1.28a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 6'%3E%3Cpath d='M.22.22a.75.75 0 0 1 1.06 0L5.25 4.19 9.22.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0L.22 1.28a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .3s var(--ease);
}
.icp-sources[open] .icp-sources__ico { transform: scaleY(-1); }
.icp-sources ol { margin: 18px 0 16px; padding-left: 22px; max-width: 80ch; }
.icp-sources li { margin-bottom: 8px; }

/* Partea 2 începe după banda cu versetul */
.icp--p2 { padding-top: 24px; }


/* =========================================================================
   ALTE SURSE — patru casete, aceeași formă ca cuprinsul
   ========================================================================= */
.icp-sources-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	font-family: "macha", sans-serif;
}
.icp-sources-grid li { margin: 0; padding: 0; display: flex; }
.icp-src {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	padding: 32px 28px 28px;
	border: 3px solid var(--sand);
	border-radius: 34px;
	background: #fff;
	text-decoration: none;
	color: var(--text);
	transition: border-color .3s var(--ease);
}
.icp-src:hover, .icp-src:focus-visible { border-color: var(--gold); outline: none; }
.icp-src__logo { display: flex; align-items: center; height: 56px; margin-bottom: 22px; }
.icp-src__logo img { display: block; max-height: 56px; height: auto; }
.icp-src__logo img.is-invert { filter: invert(1); }
.icp-src__name { margin-bottom: 8px; }
.icp-src__desc { margin-bottom: 24px; flex: 1 1 auto; }
.icp-src .icp-act { margin-top: auto; }

/* Partea 2 începe după banda cu versetul */
.icp--p2 { padding-top: 24px; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1199px) {
	.icp__layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 56px; }
	.icp-sources-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}
/* Aceeași limită ca pe articole: sub 992 px cuprinsul trece deasupra textului */
@media (max-width: 991px) {
	.icp__layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.icp--p1 .icp__layout > .toc-sidebar { order: -1; margin-bottom: 56px; }
	.icp--p2 .icp__layout > .toc-sidebar { display: none; }
	.icp-notes { grid-template-columns: 1fr 1fr; gap: 32px; }
	.icp-notes .icp-note:first-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.icp-intro { margin-bottom: 40px; }
	.icp-intro__top { flex-wrap: wrap; }
	.icp-notes { grid-template-columns: 1fr; gap: 24px; margin-bottom: 88px; }
	.icp-ch { margin-bottom: 72px; }
	.icp-ch__title, .icp-end__title { font-size: 28px; }
	.icp-quote p { font-size: 21px; }
	.icp-memoriam li { grid-template-columns: 1fr; gap: 2px; }
	.icp-creed { grid-template-columns: 1fr; }
	.icp-census { grid-template-columns: 1fr; gap: 32px; }
	.icp-census__bars { height: 240px; gap: 10px; }
	.icp-census__col { height: calc(var(--v) / 450000 * 180px); }
	.icp-census__n { font-size: 16px; }
	.icp-list--dated li { padding-left: 52px; }
	/* Președinții: listă verticală pe telefon */
	.icp-leaders ol { height: auto; padding: 0; }
	.icp-leaders ol::before { display: none; }
	.icp-leaders li { position: relative; top: auto; left: auto; width: auto; height: auto; display: grid; grid-template-columns: 6px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--line); }
	.icp-leaders li::before { position: static; inset: auto; width: 6px; height: 18px; align-self: center; transform: none; border-radius: 3px; }
	.icp-leaders li > span, .icp-leaders li:last-child > span { position: static; text-align: left; }
	.icp-seats__dots i { width: 11px; height: 11px; }
	.icp-sources-grid { grid-template-columns: 1fr; gap: 16px; }
	.icp-src { padding: 24px 22px 22px; border-radius: 28px; }
}



/* =========================================================================
   DRUMUL UNEI CREDINȚE — pe toată lățimea (rupe grila intenționat,
   ca banda de citire a Bibliei de pe Acasă). Textul rămâne pe linia grilei.
   ========================================================================= */
.icp-way {
	--step: 200px;          /* distanța dintre opriri pe șină (= STEP din cultul.js) */
	position: relative;
	margin: 0 0 120px;
	overflow: hidden;
}
.icp-way__in { width: min(var(--elim-grid, 1280px), 100% - 2 * var(--elim-gutter, 20px)); margin-inline: auto; }
.icp-way__head { display: flex; align-items: baseline; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.icp-way__head .icp-label { margin: 0; }
.icp-way__sub { margin: 0 !important; }

/* Șina: oprirea activă stă mereu în centrul ecranului; restul curg spre margini */
.icp-way__railwrap {
	position: relative;
	height: 78px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}
.icp-way__rail {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	transform: translateX(var(--x, 0px));
	transition: transform .8s var(--ease);
}
.icp-way__rail::before,
.icp-way__rail::after {
	content: "";
	position: absolute;
	top: 17px;
	height: 3px;
	pointer-events: none;
}
/* linia punctată continuă dincolo de margini, în ambele sensuri */
.icp-way__rail::before {
	left: -3000px;
	right: -3000px;
	background: radial-gradient(circle, var(--gold) 1.5px, transparent 1.7px) 0 50% / 10px 3px repeat-x;
}
/* porțiunea parcursă: de la Ierusalim până la oprirea activă */
.icp-way__rail::after {
	left: calc(var(--step) / 2);
	width: var(--kpx, 0px);
	background: var(--gold);
	border-radius: 3px;
	transition: width .8s var(--ease);
}
.icp-way__stop {
	position: relative;
	z-index: 1;
	flex: 0 0 var(--step);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	color: var(--plum);
}
.icp-way__stop:hover, .icp-way__stop:focus { background: none; outline: none; }
/* eticheta de an: forma din Istoric (10 px, vârf curbat) */
.icp-way__year {
	position: relative;
	display: flex;
	align-items: center;
	height: 36px;
	padding: 0 14px;
	border-radius: 10px;
	background: var(--mauve);
	box-shadow: 0 0 0 8px #fff;
	font-family: "macha", sans-serif;
	font-weight: 700;
	font-size: 17px;
	line-height: 1;
	color: #F3ECEA;
	white-space: nowrap;
	transition: background-color .3s var(--ease), color .3s;
}
.icp-way__year::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -12px;
	width: 34px;
	height: 13px;
	margin-left: -17px;
	background: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39 13'%3E%3Cpath d='M39 0C19.554 0 19.5 12.933 19.5 13C19.5 12.933 19.446 0 0 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39 13'%3E%3Cpath d='M39 0C19.554 0 19.5 12.933 19.5 13C19.5 12.933 19.446 0 0 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.icp-way__stop.is-past .icp-way__year { background: var(--gold); color: var(--ink); }
.icp-way__stop:hover .icp-way__year { background: var(--mauve-dark); color: #fff; }
.icp-way__stop.is-active .icp-way__year { background: var(--ink); color: #fff; }
.icp-way__place { font-family: "macha", sans-serif; font-weight: 500; font-size: 17px; line-height: 1.2; color: var(--plum); white-space: nowrap; transition: color .25s; }
.icp-way__stop.is-active .icp-way__place { font-weight: 700; color: var(--ink); }
.icp-way__stop:focus-visible .icp-way__place { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }

/* Scena: harta din puncte pe toată lățimea, textul pe linia grilei */
.icp-way__stage { position: relative; height: clamp(500px, 40vw, 620px); margin-top: 8px; }
.icp-way__map { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: hidden; touch-action: pan-y; }
.icp-way__map .todo { fill: none; stroke: var(--mauve); stroke-opacity: .55; stroke-width: 1.6; stroke-dasharray: 1 7; stroke-linecap: round; }
.icp-way__map .done { fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-linecap: round; }
.icp-way__map .pt { fill: #fff; stroke: var(--mauve); stroke-width: 2; }
.icp-way__map .pt.is-past { fill: var(--gold); stroke: var(--gold); }
.icp-way__map .pt.is-active { fill: var(--ink); stroke: var(--ink); }
.icp-way__map .ring { fill: none; stroke: var(--orange); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: icpPulse 2.4s var(--ease) infinite; }
.icp-way__map .traveler { fill: var(--orange); }
.icp-way__map .region { font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 56px; letter-spacing: 0; text-transform: uppercase; fill: var(--line); text-anchor: middle; opacity: 0; }
@keyframes icpPulse { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(2.8); opacity: 0; } }
.icp-way__map .lbl { font-family: "macha", sans-serif; font-weight: 700; font-size: 16px; fill: var(--ink); paint-order: stroke; stroke: #fff; stroke-width: 6px; stroke-linejoin: round; }
.icp-way__map .lbl-dim { font-weight: 500; font-size: 14px; fill: var(--muted); }
.icp-way__map .lbl-year { font-family: "macha", sans-serif; font-weight: 700; font-size: 13px; fill: var(--orange-a11y); paint-order: stroke; stroke: #fff; stroke-width: 6px; }

.icp-way__content {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	pointer-events: none;
}
.icp-way__content > * { pointer-events: auto; }
.icp-way__panels { display: grid; max-width: 440px; }
.icp-way__panel { grid-area: 1 / 1; display: flex; flex-direction: column; align-items: flex-start; }
.icp-way__panel[hidden] { display: none; }
.icp-way__panel.is-in { animation: icpWayIn .55s var(--ease) both; }
@keyframes icpWayIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.icp-way__where { margin: 0 0 8px !important; }
.icp-way__title { font-family: "foco", sans-serif; font-weight: 900; font-size: 48px; line-height: 1.1; color: var(--plum); margin: 0 0 16px; }
.icp-way__text { margin: 0 0 12px !important; }
.icp-way__km { margin: 0 0 22px !important; min-height: 1.4em; }
.icp-way__km b { font-weight: 700; color: var(--plum); font-variant-numeric: tabular-nums; }

.icp-way__nav { display: flex; align-items: center; gap: 12px; margin-top: 36px; }
.icp-way__count { font-family: "macha", sans-serif; font-weight: 500; font-size: 15px; color: var(--muted); font-variant-numeric: tabular-nums; margin-left: 6px; }
.icp-way__count b { font-weight: 700; color: var(--plum); }
/* Pornește / oprește drumul: inel auriu care se umple până la oprirea următoare */
.icp-way__play i {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	background: var(--plum);
	/* play (oprit) / pauză (cât rulează): iconițele Haicon, ca săgețile */
	-webkit-mask: var(--haicon-play) center / contain no-repeat;
	        mask: var(--haicon-play) center / contain no-repeat;
}
.icp-way__play[aria-pressed="true"] i {
	-webkit-mask-image: var(--haicon-pause);
	        mask-image: var(--haicon-pause);
}
.icp-way__play:hover i { background: var(--ink); }
.icp-way__ring { position: absolute; inset: -1px; width: 40px; height: 40px; transform: rotate(-90deg); pointer-events: none; }
.icp-way__ring circle { fill: none; stroke: var(--orange); stroke-width: 2; stroke-dasharray: 122.6; stroke-dashoffset: 122.6; }
.icp-way__play.is-ticking .icp-way__ring circle { animation: icpTick var(--tick, 6s) linear forwards; }
@keyframes icpTick { to { stroke-dashoffset: 0; } }

/* Kilometrajul drumului, pe marginea dreaptă a grilei */
.icp-way__odo {
	position: absolute;
	z-index: 1;
	right: max(var(--elim-gutter, 20px), (100% - var(--elim-grid, 1280px)) / 2);
	bottom: 28px;
	margin: 0 !important;
	display: grid;
	grid-template-columns: auto auto;
	align-items: baseline;
	column-gap: 6px;
	text-align: right;
	pointer-events: none;
}
.icp-way__odo-k { grid-column: 1 / -1; }
.icp-way__odo b { font-family: "macha", sans-serif; font-weight: 700; font-size: 44px; line-height: 1; color: var(--plum); font-variant-numeric: tabular-nums; }
.icp-way__odo-u { font-family: "macha", sans-serif; font-weight: 500; font-size: 18px; color: var(--plum); }

@media (max-width: 1199px) {
	.icp-way__title { font-size: 42px; }
	.icp-way__panels { max-width: 380px; }
}
/* Sub 992 px: harta sus, textul dedesubt */
@media (max-width: 991px) {
	.icp-way { --step: 140px; }
	.icp-way__stage { height: auto; }
	.icp-way__map { position: relative; height: 340px; }
	.icp-way__content { height: auto; padding-top: 24px; }
	.icp-way__panels { max-width: 640px; }
	.icp-way__nav { margin-top: 28px; }
	.icp-way__odo { top: 16px; bottom: auto; }
	.icp-way__odo b { font-size: 32px; }
}
@media (max-width: 767px) {
	.icp-way { --step: 112px; margin-bottom: 56px; }
	.icp-way__place { font-size: 15px; }
	.icp-way__year { font-size: 15px; padding: 0 10px; }
	.icp-way__map { height: 280px; }
	.icp-way__title { font-size: 34px; }
	.icp-way__odo b { font-size: 26px; }
	.icp-way__odo-u { font-size: 15px; }
	.icp-way__map .region { font-size: 30px; }
	/* pe telefon: doar cercul cu minutele, pe rândul „Capitolul …” */
	.icp-ch__head > .article-meta-right { grid-row: 1; margin: 22px 0 0; }
	.icp-ch__head > .article-meta-right .meta-reading-label { display: none; }
}

/* Banda cu versetul (Elementor): citatul pe trei rânduri, ca în Figma,
   ca „Citește Biblia” să rămână sub el, în dreapta. */
.elim-cultul .gray-details .elementor-widget-heading .elementor-heading-title { max-width: 960px; margin-inline: auto; }

@media (prefers-reduced-motion: reduce) {
	.icp *, .icp *::before, .icp *::after { transition: none !important; animation: none !important; }
}

@media (min-width: 768px) and (max-width: 1024px) { .icp-ch__title, .icp-end__title { font-size: 36px; } }
