/* Thummerer Interaktív Blog v1.4.4 */
.tib-page #content { padding-top: 0 !important; background: #0c0a0a; }
.tib {
	--tib-bg: #0c0a0a;
	--tib-bg-2: #151112;
	--tib-card: #1a1516;
	--tib-line: rgba(201, 169, 110, .22);
	--tib-gold: #c9a96e;
	--tib-gold-2: #e6cf9f;
	--tib-wine: #7a1f2b;
	--tib-wine-2: #a3283a;
	--tib-text: #f2ebe1;
	--tib-muted: #b3a89b;
	--tib-display: "EB Garamond", "Noto Serif", Georgia, serif;
	--tib-serif: "Noto Serif", Georgia, serif;
	--tib-sans: "Noto Sans Display", "Helvetica Neue", Arial, sans-serif;
	--tib-ease: cubic-bezier(.2, .7, .1, 1);
	--tib-gutter: clamp(16px, 4vw, 56px);
	background: var(--tib-bg);
	color: var(--tib-text);
	font-family: var(--tib-sans);
	overflow-x: clip;
	position: relative;
}
.tib *, .tib *::before, .tib *::after { box-sizing: border-box; }
.tib a { color: inherit; text-decoration: none; }
.tib img { max-width: 100%; display: block; }
.tib .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

.tib-eyebrow {
	font-family: var(--tib-sans);
	font-size: 12px;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--tib-gold);
	margin: 0 0 14px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.tib-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.tib-h2 {
	font-family: var(--tib-display);
	font-weight: 400;
	font-size: clamp(34px, 5vw, 64px);
	line-height: 1.02;
	margin: 0;
	color: var(--tib-text);
	letter-spacing: -.01em;
}
.tib-sub { color: var(--tib-muted); max-width: 560px; margin: 16px 0 0; font-size: 17px; line-height: 1.6; }
.tib-section { padding: clamp(40px, 5vw, 72px) var(--tib-gutter) 0; max-width: 1440px; margin: 0 auto; }
.tib-section:last-of-type, .tib-awards { padding-bottom: clamp(48px, 6vw, 88px); }
#tib-all, #tib-featured { scroll-margin-top: var(--tib-top, 52px); }
.tib-head { margin-bottom: clamp(20px, 3vw, 36px); }

/* ---------- HERO ---------- */
.tib-hero {
	position: relative;
	display: grid;
	align-items: end;
	padding: clamp(48px, 8vh, 96px) var(--tib-gutter) clamp(40px, 6vh, 64px);
	overflow: hidden;
	isolation: isolate;
}
.tib-hero__bg {
	position: absolute; inset: -6%;
	background: #1a1214 center / cover no-repeat;
	transform: scale(1.08) translate3d(0, var(--tib-par, 0px), 0);
	animation: tib-kenburns 22s ease-in-out infinite alternate;
	z-index: -2;
	will-change: transform;
}
.tib-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(120% 80% at 20% 100%, rgba(122, 31, 43, .55), transparent 60%),
		linear-gradient(180deg, rgba(12, 10, 10, .35) 0%, rgba(12, 10, 10, .55) 50%, var(--tib-bg) 100%);
}
.tib-hero__grain {
	position: absolute; inset: 0; z-index: -1; opacity: .12; pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes tib-kenburns { from { scale: 1; } to { scale: 1.08; } }
.tib-hero { grid-template-columns: minmax(0, 1fr); }
.tib-hero__inner { max-width: 980px; min-width: 0; width: 100%; }
.tib-hero__title {
	font-family: var(--tib-display);
	font-weight: 400;
	font-size: clamp(38px, 4.6vw, 68px);
	line-height: .9;
	letter-spacing: -.02em;
	margin: 0 0 24px;
	color: #fff;
}
.tib-word { display: inline-block; }
.tib.js .tib-word { opacity: 0; transform: translateY(.5em) rotate(2deg); animation: tib-word 1.1s var(--tib-ease) forwards; animation-delay: calc(.15s + var(--i) * .12s); }
@keyframes tib-word { to { opacity: 1; transform: none; } }
.tib-hero__title .tib-word:last-child { font-style: italic; color: var(--tib-gold-2); }
.tib-hero__lead { font-family: var(--tib-serif); font-size: clamp(17px, 1.6vw, 21px); line-height: 1.6; color: #e8dfd3; max-width: 620px; margin: 0 0 20px; }
.tib-quick { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.tib-quick a { font-size: 13px; letter-spacing: .06em; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(230, 207, 159, .35); background: rgba(12, 10, 10, .35); backdrop-filter: blur(6px); color: var(--tib-text); transition: all .3s var(--tib-ease); }
.tib-quick a:hover { background: var(--tib-gold); border-color: var(--tib-gold); color: #1a1213; }
.tib-stats { list-style: none; display: flex; flex-wrap: wrap; gap: clamp(24px, 5vw, 64px); margin: 0; padding: 20px 0 0; border-top: 1px solid var(--tib-line); }
.tib-stats li { display: flex; flex-direction: column; gap: 6px; }
.tib-stats strong { font-family: var(--tib-display); font-weight: 400; font-size: clamp(40px, 5vw, 60px); line-height: 1; color: var(--tib-gold-2); }
.tib-stats span { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--tib-muted); }
.tib-scroll { position: absolute; right: var(--tib-gutter); bottom: 24px; display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--tib-muted); }
.tib-scroll i { width: 1px; height: 56px; background: linear-gradient(var(--tib-gold), transparent); position: relative; overflow: hidden; }
.tib-scroll i::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: #fff; animation: tib-drip 2.2s ease-in-out infinite; }
@keyframes tib-drip { to { top: 110%; } }

/* ---------- KÁRTYA ALAPOK ---------- */
.tib-badge {
	display: inline-block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
	padding: 7px 12px; border-radius: 999px; color: var(--tib-gold-2);
	background: rgba(12, 10, 10, .65); border: 1px solid var(--tib-line);
	backdrop-filter: blur(6px);
}
.tib-meta { display: flex; gap: 14px; flex-wrap: wrap; margin: 0; font-size: 12px; letter-spacing: .08em; color: var(--tib-muted); text-transform: uppercase; }
.tib-meta span::before { content: "·"; margin-right: 14px; color: var(--tib-gold); }
.tib-img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--tib-ease), filter .8s; }
.tib-img--empty { display: grid; place-items: center; background: radial-gradient(circle at 30% 30%, var(--tib-wine), #200c10); }
.tib-img--empty span { font-family: var(--tib-display); font-size: 96px; color: rgba(230, 207, 159, .35); }
.tib-tilt { --rx: 0deg; --ry: 0deg; --mx: 50%; --my: 50%; transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .5s var(--tib-ease); transform-style: preserve-3d; }
.tib-tilt::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .4s;
	background: radial-gradient(420px circle at var(--mx) var(--my), rgba(230, 207, 159, .16), transparent 45%);
}
.tib-tilt:hover::after { opacity: 1; }

/* ---------- KIEMELT ---------- */
.tib-featured__grid { display: grid; gap: 24px; grid-template-columns: 1.6fr 1fr; grid-template-rows: 1fr 1fr; min-height: min(62vh, 600px); }
.tib-feat { position: relative; border-radius: 4px; overflow: hidden; background: var(--tib-card); }
.tib-feat--big { grid-row: span 2; }
.tib-feat__link { display: block; height: 100%; position: relative; min-height: 300px; }
.tib-feat__media { position: absolute; inset: 0; }
.tib-feat__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(12, 10, 10, .92) 100%); }
.tib-feat__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(20px, 3vw, 40px); display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.tib-feat__title { font-family: var(--tib-display); font-weight: 400; margin: 0; color: #fff; font-size: clamp(22px, 2vw, 30px); line-height: 1.15; }
.tib-feat--big .tib-feat__title { font-size: clamp(30px, 3.6vw, 52px); }
.tib-feat__excerpt { margin: 0; color: #ddd3c6; max-width: 560px; line-height: 1.6; font-size: 16px; }
.tib-feat:hover .tib-img, .tib-card:hover .tib-img { transform: scale(1.06); }

/* ---------- IDŐVONAL ---------- */
.tib-awards { position: relative; }
.tib-awards::before { content: ""; position: absolute; inset: 0 -50vw; z-index: -1; background: radial-gradient(60% 50% at 50% 40%, rgba(122, 31, 43, .22), transparent 70%); }
.tib-timeline { list-style: none; margin: 0 auto; padding: 0; position: relative; max-width: 1100px; display: grid; grid-template-columns: 1fr 1fr; }
.tib-timeline__line { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--tib-line); transform: translateX(-50%); }
.tib-timeline__line span { position: absolute; left: 0; top: 0; width: 1px; height: calc(var(--tib-tl, 0) * 100%); background: linear-gradient(var(--tib-gold-2), var(--tib-wine-2)); box-shadow: 0 0 14px var(--tib-gold); }
.tib-tl { position: relative; padding: 0 48px 16px; }
.tib-tl--l { grid-column: 1; text-align: right; }
.tib-tl--r { grid-column: 2; }
.tib-tl__dot { position: absolute; top: 18px; width: 15px; height: 15px; border-radius: 50%; background: var(--tib-bg); border: 1px solid var(--tib-gold); transition: background .5s, box-shadow .5s; }
.tib-tl--l .tib-tl__dot { right: -7.5px; }
.tib-tl--r .tib-tl__dot { left: -7.5px; }
.tib-tl.is-in .tib-tl__dot { background: var(--tib-gold); box-shadow: 0 0 0 6px rgba(201, 169, 110, .15), 0 0 24px var(--tib-gold); }
.tib-tl__card { display: inline-block; padding: 18px 24px; border: 1px solid var(--tib-line); border-radius: 4px; background: linear-gradient(160deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)); transition: border-color .4s, transform .5s var(--tib-ease), background .4s; max-width: 460px; }
.tib-tl__card:hover { border-color: var(--tib-gold); transform: translateY(-4px); background: linear-gradient(160deg, rgba(201, 169, 110, .1), rgba(122, 31, 43, .08)); }
.tib-tl__year { font-family: var(--tib-display); font-size: 36px; line-height: 1; color: var(--tib-gold-2); display: block; margin-bottom: 8px; font-style: italic; }
.tib-tl__title { font-family: var(--tib-serif); font-weight: 400; font-size: 18px; line-height: 1.45; margin: 0 0 10px; color: var(--tib-text); }
.tib-tl time { font-size: 12px; letter-spacing: .1em; color: var(--tib-muted); }

/* ---------- ARCHÍVUM ---------- */
.tib-toolbar {
	position: sticky; top: var(--tib-top, 52px); z-index: 5;
	display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between;
	padding: 16px 0; margin-bottom: 8px;
	background: linear-gradient(var(--tib-bg) 75%, rgba(12, 10, 10, 0));
}
.tib-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.tib-chip {
	font: inherit; font-size: 13px; letter-spacing: .06em; cursor: pointer;
	color: var(--tib-text); background: transparent; border: 1px solid var(--tib-line);
	padding: 10px 16px; border-radius: 999px; transition: all .3s var(--tib-ease);
}
.tib-chip small { color: var(--tib-muted); margin-left: 4px; font-size: 11px; }
.tib-chip:hover { border-color: var(--tib-gold); }
.tib-chip.is-active { background: var(--tib-gold); color: #1a1213; border-color: var(--tib-gold); }
.tib-chip.is-active small { color: #3b2a22; }
.tib-chip:focus-visible, .tib-search input:focus-visible, .tib-more:focus-visible, .tib a:focus-visible { outline: 2px solid var(--tib-gold-2); outline-offset: 3px; }
.tib-search { position: relative; flex: 0 1 320px; min-width: 220px; }
.tib-search svg { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: var(--tib-gold); stroke-width: 1.6; }
.tib-search input {
	width: 100%; font: inherit; font-size: 15px; color: var(--tib-text);
	background: rgba(255, 255, 255, .04); border: 1px solid var(--tib-line); border-radius: 999px;
	padding: 12px 18px 12px 42px; transition: border-color .3s, background .3s; -webkit-appearance: none;
}
.tib-search input::placeholder { color: var(--tib-muted); }
.tib-search input:focus { border-color: var(--tib-gold); background: rgba(255, 255, 255, .07); outline: none; }
.tib-count { color: var(--tib-muted); font-size: 13px; letter-spacing: .08em; margin: 0 0 28px; }
.tib-count span { color: var(--tib-gold-2); }

.tib-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 22px); }
@media (max-width: 1100px) { .tib-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tib-grid { grid-template-columns: 1fr; } }
.tib-card { position: relative; background: var(--tib-card); border-radius: 4px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .04); }
.tib-card__link { display: flex; flex-direction: column; height: 100%; }
.tib-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.tib-card__media .tib-badge { position: absolute; left: 12px; top: 12px; font-size: 10px; padding: 6px 10px; }
.tib-card__body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.tib-card__title { font-family: var(--tib-display); font-weight: 400; font-size: 20px; line-height: 1.2; margin: 0; color: var(--tib-text); transition: color .3s; }
.tib-card:hover .tib-card__title { color: var(--tib-gold-2); }
.tib-card__excerpt { margin: 0; color: var(--tib-muted); font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tib-card__more { margin-top: auto; padding-top: 6px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--tib-gold); }
.tib-card__more i { display: inline-block; font-style: normal; transition: transform .4s var(--tib-ease); }
.tib-card:hover .tib-card__more i { transform: translateX(6px); }
.tib.js .tib-card.is-hidden { display: none; }
.tib-card.is-pop { animation: tib-pop .6s var(--tib-ease) both; }
@keyframes tib-pop { from { opacity: 0; transform: translateY(24px) scale(.98); } }
.tib-empty { text-align: center; color: var(--tib-muted); padding: 48px 0; font-family: var(--tib-serif); font-size: 19px; }
.tib-more-wrap { text-align: center; margin-top: 32px; }
.tib-more, .tib-btn {
	font: inherit; font-size: 13px; letter-spacing: .22em; text-transform: uppercase; cursor: pointer;
	display: inline-block; padding: 18px 40px; border-radius: 999px; border: 1px solid var(--tib-gold);
	background: transparent; color: var(--tib-gold-2); position: relative; overflow: hidden; isolation: isolate;
	transition: color .4s var(--tib-ease);
}
.tib-more::before, .tib-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tib-gold); transform: translateY(101%); transition: transform .5s var(--tib-ease); }
.tib-more:hover, .tib-btn:hover { color: #1a1213; }
.tib-more:hover::before, .tib-btn:hover::before { transform: none; }

/* ---------- CTA ---------- */
.tib-cta { padding: clamp(56px, 8vw, 110px) var(--tib-gutter); text-align: center; background: radial-gradient(70% 90% at 50% 0%, rgba(122, 31, 43, .45), transparent 70%), var(--tib-bg-2); border-top: 1px solid var(--tib-line); }
.tib-cta__inner { max-width: 720px; margin: 0 auto; }
.tib-cta p { color: var(--tib-muted); font-family: var(--tib-serif); font-size: 18px; margin: 18px 0 36px; }
.tib-intro { padding-top: 48px; }
.tib-prose { max-width: 760px; color: var(--tib-muted); line-height: 1.7; }

/* ---------- MEGJELENÉS GÖRGETÉSRE (csak JS mellett, így JS nélkül is minden látszik) ---------- */
.tib.js .tib-reveal { opacity: 0; transform: translateY(36px); transition: opacity 1s var(--tib-ease), transform 1s var(--tib-ease); transition-delay: var(--d, 0s); }
.tib.js .tib-reveal.is-in { opacity: 1; transform: none; }
.tib.js .tib-hero .tib-reveal { transition-duration: 1.4s; }

/* ---------- RESZPONZÍV ---------- */
@media (max-width: 900px) {
	.tib-featured__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; min-height: 0; }
	.tib-feat--big { grid-column: 1 / -1; grid-row: auto; }
	.tib-feat__link { min-height: 300px; }
	.tib-feat--big .tib-feat__link { min-height: 440px; }
	.tib-timeline { grid-template-columns: 1fr; }
	.tib-timeline__line { left: 7px; }
	.tib-tl, .tib-tl--l, .tib-tl--r { grid-column: 1; grid-row: auto !important; text-align: left; padding: 0 0 14px 36px; }
	.tib-tl--l .tib-tl__dot, .tib-tl--r .tib-tl__dot { left: 0; right: auto; }
	.tib-tl__card { display: block; max-width: none; }
	.tib-scroll { display: none; }
	.tib-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin: 0 calc(var(--tib-gutter) * -1); padding: 0 var(--tib-gutter); width: calc(100% + var(--tib-gutter) * 2); scroll-snap-type: x proximity; scroll-padding-inline: var(--tib-gutter); }
	.tib-chips::-webkit-scrollbar { display: none; }
	.tib-chip { white-space: nowrap; scroll-snap-align: start; }
	.tib-search { flex: 1 1 100%; min-width: 0; }
}
@media (max-width: 640px) {
	.tib { -webkit-tap-highlight-color: transparent; }
	.tib-hero { padding-top: 36px; padding-bottom: 32px; }
	.tib-hero__title { font-size: clamp(34px, 10vw, 44px); margin-bottom: 12px; }
	.tib-hero__lead { font-size: 16px; }
	.tib-eyebrow { font-size: 11px; letter-spacing: .24em; }
	.tib-quick { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--tib-gutter) * -1) 24px; padding: 0 var(--tib-gutter); }
	.tib-quick::-webkit-scrollbar { display: none; }
	.tib-quick a { white-space: nowrap; }
	.tib-stats { gap: 28px; padding-top: 20px; }
	.tib-stats strong { font-size: 36px; }
	.tib-stats span { font-size: 10px; letter-spacing: .14em; }
	.tib-h2 { font-size: clamp(30px, 9vw, 40px); }
	/* Kiemelt cikkek: lapozható sor */
	.tib-featured__grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--tib-gutter); scrollbar-width: none; margin: 0 calc(var(--tib-gutter) * -1); padding: 0 var(--tib-gutter) 4px; }
	.tib-featured__grid::-webkit-scrollbar { display: none; }
	.tib-feat, .tib-feat--big { flex: 0 0 86%; scroll-snap-align: start; }
	.tib-feat__link, .tib-feat--big .tib-feat__link { min-height: 420px; }
	.tib-feat__body { padding: 20px; gap: 10px; }
	.tib-feat__title, .tib-feat--big .tib-feat__title { font-size: 24px; }
	.tib-feat__excerpt { display: none; }
	/* Szűrősáv */
	.tib-toolbar { gap: 10px; padding: 10px 0 12px; }
	.tib-chip { padding: 9px 14px; font-size: 13px; }
	.tib-search input { padding: 11px 16px 11px 40px; font-size: 16px; } /* 16px: iOS nem nagyít rá */
	.tib-count { margin-bottom: 16px; }
	/* Kártyák */
	.tib-grid { gap: 16px; }
	.tib-card__media { aspect-ratio: 16 / 10; }
	.tib-card__body { padding: 18px 18px 20px; gap: 8px; }
	.tib-card__title { font-size: 22px; }
	.tib-card__excerpt { font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.tib-meta { font-size: 11px; gap: 10px; }
	.tib-meta span::before { margin-right: 10px; }
	.tib-tl__year { font-size: 28px; }
	.tib-tl__title { font-size: 16px; }
	.tib-more, .tib-btn { width: 100%; padding: 16px 24px; }
	.tib-cta p { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.tib *, .tib *::before, .tib *::after { animation: none !important; transition: none !important; }
	.tib.js .tib-reveal, .tib.js .tib-word { opacity: 1; transform: none; }
	.tib-tilt { transform: none; }
}

/* =====================================================================
 * CIKKOLDAL (v1.3.0)
 * ===================================================================== */
.tib-single { --tib-paper: #f7f2ea; --tib-ink: #2b2324; --tib-ink-2: #5d5051; --tib-wine-ink: #6b1a26; }
.tib-progress { position: fixed; left: 0; right: 0; top: var(--tib-top, 0px); height: 3px; z-index: 50; pointer-events: none; }
.tib-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--tib-gold), var(--tib-wine-2)); box-shadow: 0 0 10px rgba(201, 169, 110, .6); }

/* Fejléc */
.tib-art-hero { position: relative; padding: clamp(28px, 4vw, 48px) var(--tib-gutter) 0; text-align: center; isolation: isolate; }
.tib-art-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 80% at 50% 0%, rgba(122, 31, 43, .5), transparent 70%), var(--tib-bg); }
.tib-art-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: clamp(60px, 9vw, 130px); z-index: -1; background: var(--tib-paper); }
.tib-art-hero__inner { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.tib-back { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--tib-muted); transition: color .3s; margin-bottom: 4px; }
.tib-back:hover { color: var(--tib-gold-2); }
.tib-back i { font-style: normal; display: inline-block; transition: transform .3s var(--tib-ease); }
.tib-back:hover i { transform: translateX(-4px); }
.tib-art-title { font-family: var(--tib-display); font-weight: 400; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.12; letter-spacing: -.01em; margin: 0; color: #fff; text-wrap: balance; }
.tib-art-meta { justify-content: center; }
.tib-art-cover { max-width: 860px; margin: clamp(22px, 3vw, 34px) auto 0; border-radius: 6px; overflow: hidden; box-shadow: 0 24px 50px -22px rgba(0, 0, 0, .6); }
.tib-art-cover__img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

/* Olvasófelület */
.tib-paper { background: var(--tib-paper); color: var(--tib-ink); padding: clamp(32px, 5vw, 64px) var(--tib-gutter) clamp(48px, 7vw, 96px); }
.tib-prose { max-width: 700px; margin: 0 auto; font-family: var(--tib-sans); font-size: 19px; line-height: 1.75; color: var(--tib-ink); }
.tib-prose > *:first-child { margin-top: 0; }
.tib-prose p { margin: 0 0 1.3em; font-size: inherit; line-height: inherit; color: inherit; }
.tib-prose > p:first-of-type { font-family: var(--tib-display); font-size: 1.32em; line-height: 1.5; color: #3b2a2c; margin-bottom: 1.4em; }
.tib-prose > p:first-of-type strong, .tib-prose > p:first-of-type b { font-weight: 500; }
.tib-prose strong, .tib-prose b { font-weight: 600; color: #1f1819; }
.tib-prose h2, .tib-prose h3, .tib-prose h4 { font-family: var(--tib-display); font-weight: 500; color: var(--tib-wine-ink); line-height: 1.2; letter-spacing: -.005em; }
.tib-prose h2 { font-size: clamp(28px, 3vw, 36px); margin: 1.8em 0 .6em; padding-top: 22px; position: relative; }
.tib-prose h2::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 2px; background: var(--tib-gold); }
.tib-prose h3 { font-size: 26px; margin: 1.6em 0 .5em; }
.tib-prose h4 { font-size: 21px; margin: 1.4em 0 .4em; }
.tib-prose a { color: var(--tib-wine-ink); text-decoration: underline; text-decoration-color: rgba(201, 169, 110, .8); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
.tib-prose a:hover { color: var(--tib-wine-2); text-decoration-color: var(--tib-wine-2); }
.tib-prose ul, .tib-prose ol { margin: 0 0 1.4em; padding-left: 1.3em; }
.tib-prose li { margin: .35em 0; }
.tib-prose li::marker { color: var(--tib-gold); }
.tib-prose blockquote { margin: 1.8em 0; padding: 6px 0 6px 28px; border-left: 2px solid var(--tib-gold); font-family: var(--tib-display); font-style: italic; font-size: 1.3em; line-height: 1.5; color: #3b2a2c; }
.tib-prose img { max-width: 100%; height: auto; border-radius: 4px; }
.tib-prose figure, .tib-prose .wp-caption { max-width: 100% !important; margin: 2em auto !important; text-align: center; }
.tib-prose figure img, .tib-prose .wp-caption img, .tib-prose p > img:only-child { display: block; margin: 0 auto; }
.tib-prose figcaption, .tib-prose .wp-caption-text { font-size: 14px; line-height: 1.5; color: var(--tib-ink-2); font-style: italic; margin-top: 12px; text-align: center; }
.tib-prose hr { border: 0; height: 1px; background: rgba(43, 35, 36, .15); margin: 2.4em 0; }
.tib-prose iframe, .tib-prose video { max-width: 100%; border-radius: 4px; }
.tib-prose table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: .9em; }
.tib-prose td, .tib-prose th { border-bottom: 1px solid rgba(43, 35, 36, .15); padding: 10px 8px; text-align: left; }

/* Megosztás */
.tib-share { max-width: 700px; margin: clamp(36px, 5vw, 56px) auto 0; padding-top: 28px; border-top: 1px solid rgba(43, 35, 36, .14); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.tib-share__label { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--tib-ink-2); margin-right: 6px; }
.tib-share__btn { font: inherit; font-size: 13px; letter-spacing: .04em; cursor: pointer; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(107, 26, 38, .3); background: transparent; color: var(--tib-wine-ink); text-decoration: none; transition: all .25s var(--tib-ease); }
.tib-share__btn:hover { background: var(--tib-wine-ink); color: #fff; border-color: var(--tib-wine-ink); }

/* Hasonló cikkek */
.tib-related { padding-top: clamp(56px, 7vw, 96px); }
.tib-rel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 22px); }
.tib-rel-back { text-align: center; margin: 36px 0 0; }

@media (max-width: 900px) {
	.tib-rel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tib-rel-grid .tib-card:nth-child(3) { display: none; }
}
@media (max-width: 640px) {
	.tib-art-title { font-size: clamp(28px, 8vw, 36px); }
	.tib-art-cover { margin-left: calc(var(--tib-gutter) * -1); margin-right: calc(var(--tib-gutter) * -1); border-radius: 0; }
	.tib-art-cover__img { aspect-ratio: 4 / 3 !important; }
	.tib-prose { font-size: 17px; line-height: 1.7; }
	.tib-prose > p:first-of-type { font-size: 1.25em; }
	.tib-prose h2 { font-size: 26px; }
	.tib-rel-grid { grid-template-columns: 1fr; }
	.tib-rel-grid .tib-card:nth-child(3) { display: block; }
	.tib-share__label { width: 100%; margin-bottom: 4px; }
}
/* A téma stílusainak felülírása a cikkoldalon */
.tib-single .tib-art-cover__img { width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; margin: 0 !important; }
.tib-single .tib-prose strong, .tib-single .tib-prose b { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.tib-single .tib-prose > p:first-of-type strong, .tib-single .tib-prose > p:first-of-type b { font-weight: 500 !important; color: inherit; }
.tib-single .tib-prose h2, .tib-single .tib-prose h3, .tib-single .tib-prose h4 { font-weight: 500 !important; font-family: var(--tib-display) !important; }
.tib-single .tib-prose p, .tib-single .tib-prose li { font-family: var(--tib-sans) !important; }
.tib-single .tib-prose > p:first-of-type { font-family: var(--tib-display) !important; }
.tib-single .tib-card__media img { margin: 0 !important; width: 100% !important; height: 100% !important; }

/* ---------- v1.4: képek magazinstílusban ---------- */
.tib-single .tib-prose .tib-fig { position: relative; margin: 2.4em 0 !important; text-align: center; }
.tib-single .tib-prose .tib-fig img { display: block; margin: 0 auto !important; border-radius: 4px; box-shadow: 0 22px 44px -24px rgba(43, 20, 24, .55); position: relative; z-index: 1; }
/* Fekvő kép: kilóg a szövegoszlopból */
.tib-single .tib-prose .tib-fig--wide { margin-left: -90px !important; margin-right: -90px !important; }
.tib-single .tib-prose .tib-fig--wide img { width: 100% !important; height: auto !important; }
/* Álló kép: jobbra úsztatva, arany keret-árnyékkal */
.tib-single .tib-prose .tib-fig--tall { float: right; width: 44%; max-width: 340px !important; margin: .4em -70px 1.2em 36px !important; }
.tib-single .tib-prose .tib-fig--tall img { width: 100% !important; height: auto !important; }
.tib-single .tib-prose .tib-fig--tall img { box-shadow: -16px 16px 0 -1px var(--tib-paper), -16px 16px 0 0 rgba(201, 169, 110, .85), 0 22px 44px -24px rgba(43, 20, 24, .55) !important; }
.tib-single .tib-prose .tib-fig figcaption, .tib-single .tib-prose .tib-fig .wp-caption-text { text-align: left; font-size: 13.5px; padding-left: 14px; border-left: 2px solid var(--tib-gold); margin-top: 16px; }
.tib-single .tib-prose h2 { clear: both; }
/* Megjelenés görgetésre */
.tib.js .tib-prose .tib-fig { opacity: 0; transform: translateY(30px) scale(.98); transition: opacity 1s var(--tib-ease), transform 1.1s var(--tib-ease); }
.tib.js .tib-prose .tib-fig.is-in { opacity: 1; transform: none; }
.tib.js .tib-prose h2::before { width: 0; transition: width .9s var(--tib-ease) .1s; }
.tib.js .tib-prose h2.is-in::before { width: 44px; }

/* ---------- v1.4: "borral telő" olvasásjelző ---------- */
.tib-progress { height: 4px; background: rgba(122, 31, 43, .15); }
.tib-progress span { background: linear-gradient(90deg, #4a0d17, #8e1f30 70%, #c0394f); box-shadow: 0 0 12px rgba(163, 40, 58, .65); }
.tib-wine { position: fixed; z-index: 40; left: max(16px, calc(50% - 350px - 96px)); top: 50%; transform: translateY(-50%); width: 34px; height: min(46vh, 380px); display: flex; flex-direction: column; align-items: center; gap: 10px; opacity: 0; transition: opacity .5s; pointer-events: none; }
.tib-wine.is-on { opacity: 1; }
.tib-wine__tube { position: relative; flex: 1; width: 10px; border-radius: 10px; background: rgba(107, 26, 38, .1); border: 1px solid rgba(107, 26, 38, .25); overflow: hidden; }
.tib-wine__fill { position: absolute; left: 0; right: 0; top: 0; height: 0; background: linear-gradient(180deg, #c0394f 0%, #8e1f30 40%, #4a0d17 100%); border-radius: 10px; box-shadow: inset 0 0 6px rgba(0, 0, 0, .25); }
.tib-wine__fill::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #8e1f30; }
.tib-wine__pct { font-family: var(--tib-display); font-size: 15px; color: var(--tib-wine-ink); letter-spacing: .04em; }
.tib-wine__glass { width: 26px; height: 34px; }
@media (max-width: 1099px) { .tib-wine { display: none; } }
@media (max-width: 1000px) {
	.tib-single .tib-prose .tib-fig--wide { margin-left: 0 !important; margin-right: 0 !important; }
	.tib-single .tib-prose .tib-fig--tall { margin-right: 0 !important; }
}
@media (max-width: 640px) {
	.tib-single .tib-prose .tib-fig--tall { float: none; width: 78%; max-width: none !important; margin: 2em auto !important; }
	.tib-single .tib-prose .tib-fig--tall img { box-shadow: -12px 12px 0 -1px var(--tib-paper), -12px 12px 0 0 rgba(201, 169, 110, .85), 0 18px 36px -20px rgba(43, 20, 24, .5) !important; }
	.tib-single .tib-prose .tib-fig--wide { margin-left: calc(var(--tib-gutter) * -1) !important; margin-right: calc(var(--tib-gutter) * -1) !important; }
	.tib-single .tib-prose .tib-fig--wide img { border-radius: 0; }
	.tib-single .tib-prose .tib-fig--wide figcaption { margin-left: var(--tib-gutter); margin-right: var(--tib-gutter); }
}
@media (prefers-reduced-motion: reduce) { .tib.js .tib-prose .tib-fig { opacity: 1; transform: none; } }
/* A téma lábléc-ikonjai a késleltetett betöltés előtt 300 px szélesek, ez mobilon kitolta az oldalt */
.tib-page .socials a.social img { width: 28px !important; height: 28px !important; max-width: 28px !important; object-fit: contain; }
.tib-page { overflow-x: clip; }
