*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	background: var(--tb-bg);
	color: var(--tb-ink);
	font-family: var(--tb-font-body);
	font-size: 17px;
	line-height: 1.55;
	overflow-x: hidden;
	overflow-x: clip; /* a lap vízszintesen soha ne csússzon el (a hidden programból görgethető) */
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--tb-ink); }
a:hover { color: var(--tb-sage); }
h1, h2, h3, h4 { line-height: 1.12; margin: 0; font-family: var(--tb-font-head); font-weight: 800; letter-spacing: -1px; text-wrap: balance; }
p { margin: 0 0 1em; }
em { font-style: normal; }
:focus-visible { outline: 3px solid var(--tb-sage); outline-offset: 3px; border-radius: 4px; }
button { font: inherit; }

.tb-skip { position: absolute; left: -9999px; top: 0; background: var(--tb-ink); color: var(--tb-bg); padding: 12px 18px; z-index: 100; }
.tb-skip:focus { left: 12px; top: 12px; }
.tb-nowrap { white-space: nowrap; }

.tb-wrap { max-width: var(--tb-wrap); margin-inline: auto; padding-inline: var(--tb-gutter); }
.tb-wrap--narrow { max-width: var(--tb-wrap); }
.tb-sec { padding-block: 56px; }
@media (min-width: 900px) { .tb-sec { padding-block: 72px; } }

/* Tartalmi oldalak */
.tb-page { padding: 56px 0 96px; }
.tb-page__title { font-size: var(--tb-h2); line-height: 1.02; margin-bottom: 28px; }
.tb-content { font-size: 18px; line-height: 1.7; }
.tb-content h2 { font-size: 32px; margin: 1.6em 0 .5em; }
.tb-content h3 { font-size: 24px; margin: 1.4em 0 .4em; }
.tb-content img { border-radius: var(--tb-r-md); }
.tb-article__img { margin-bottom: 28px; border-radius: var(--tb-r-lg); overflow: hidden; }
.tb-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--tb-sage); }
.tb-postlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 28px; }
.tb-postcard h2 { font-size: 24px; margin: 12px 0 6px; }
.tb-postcard h2 a { text-decoration: none; }
.tb-postcard__img img { border-radius: var(--tb-r-md); aspect-ratio: 4/3; object-fit: cover; width: 100%; }

/* Hosszú szövegek (jogi oldalak, bemutatkozás): az oldal teljes szélességű, a folyószöveg sora olvasható marad */
.tb-content:not(.tb-content--wide) { max-width: 1200px; }

/* Bejelentkezve: az admin-sáv oldal-ikonja maradjon kicsi */
#wpadminbar img.site-icon { width: 20px !important; height: 20px !important; max-width: 20px !important; display: inline-block !important; }

/* A díszítő elemek (hero-folt, ferde szalag) ne tegyék szélesebbé a lapot – így nincs mihez vízszintesen elgörgetni */
#tb-main, .tb-footer, .tb-header, .tb-announce, .tb-topbar { overflow-x: clip; }
/* A vízszintes sávokban (kártya-körhinta, kategóriák, csempék) a képernyőolvasó-szövegek (abszolút pozíció) a lap szélességét növelték,
   ezért a lap oldalra elgörgethetővé vált. A sávok és kártyák saját pozicionálási keretet kapnak. */
.tb-card, .tb-cardrail, .tb-catrail, .tb-tiles, .tb-marquee, .tb-cardrail__item { position: relative; }
