/* ==========================================================================
   Szinvai — egyedi szekciók
   A színek és betűk a theme.json-ból jönnek (--wp--preset--* változók).
   Itt csak az van, amit a Site Editor nem tud beállítani.
   ========================================================================== */

:root {
	--sz-ease: cubic-bezier(.16, .7, .3, 1);
	--sz-radius: 14px;
}

/* --- kiskapitális címke hajszálvonallal ------------------------------- */
.sz-label {
	font-size: 15.5px !important;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sea);
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 1.1rem !important;
}
.sz-label::before {
	content: "";
	width: 22px;
	height: 1px;
	background: currentColor;
	flex: 0 0 auto;
}
.sz-dark .sz-label { color: var(--wp--preset--color--sea-mist); }

/* --- sötét szekció ---------------------------------------------------- */
.sz-dark {
	background: var(--wp--preset--color--night);
	color: #AEC1BA;
}
.sz-dark h1, .sz-dark h2, .sz-dark h3, .sz-dark h4 { color: #EDF3EF; }
.sz-dark p, .sz-dark li { color: #AEC1BA; }
.sz-dark a:not(.wp-element-button) { color: #E4EDE8; }

/* --- hero ------------------------------------------------------------- */
.sz-hero h1 { font-weight: 300; }
.sz-hero .sz-lead {
	font-size: 1.15rem;
	color: var(--wp--preset--color--muted);
}
.sz-hero .wp-block-image img { border-radius: 50% 50% 14px 14px / 32% 32% 14px 14px; }
.sz-hero-badge { display: flex; align-items: center; gap: 18px; }
.sz-hero-badge img { flex: 0 0 auto; }
.sz-hero-badge p { font-size: .9rem; color: var(--wp--preset--color--muted); margin: 0; }

/* --- jelek listája ---------------------------------------------------- */
.sz-signs { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--line); }
.sz-signs li {
	padding: 19px 0 19px 32px;
	border-bottom: 1px solid var(--wp--preset--color--line);
	position: relative;
	font-size: 1.02rem;
}
.sz-signs li::before {
	content: "";
	position: absolute;
	left: 2px; top: 31px;
	width: 9px; height: 9px;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--sea);
}

/* --- tünettáblázat (6 blokk) ------------------------------------------ */
.sz-areas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--wp--preset--color--line); }
.sz-areas > .wp-block-group { background: var(--wp--preset--color--bone); padding: 32px 30px 34px; margin: 0; }
.sz-areas h3 { font-size: 1.16rem; margin-bottom: .8rem; display: flex; align-items: center; gap: 11px; }
.sz-areas h3::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--sea); flex: 0 0 auto; }
.sz-areas ul { list-style: none; margin: 0; padding: 0; }
.sz-areas li { font-size: .95rem; color: var(--wp--preset--color--muted); padding: 6px 0; line-height: 1.6; }
.sz-tint .sz-areas > .wp-block-group { background: var(--wp--preset--color--bone-2); }

/* --- folyamat lépések ------------------------------------------------- */
.sz-step .sz-key {
	font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
	color: var(--wp--preset--color--sea-mist); display: block; margin-bottom: 1rem;
}

/* --- kutatási sáv ----------------------------------------------------- */
.sz-research {
	background: var(--wp--preset--color--night);
	color: #AEC1BA;
	border-radius: 16px;
	padding: 50px 54px;
}
.sz-research h2 { color: #EDF3EF; font-size: 1.85rem; }
.sz-research p { color: #AEC1BA; }
.sz-research .sz-free {
	display: inline-flex; align-items: center;
	background: rgba(122, 36, 80, .34);
	border: 1px solid rgba(212, 150, 180, .4);
	color: #F0CFDF;
	font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
	padding: 7px 15px; border-radius: 999px;
}
.sz-research .sz-crit { border-left: 1px solid rgba(226, 236, 232, .16); padding-left: 42px; }
.sz-research .sz-crit ul { list-style: none; margin: 0; padding: 0; }
.sz-research .sz-crit li { font-size: .94rem; padding: 8px 0 8px 22px; position: relative; line-height: 1.55; }
.sz-research .sz-crit li::before { content: ""; position: absolute; left: 0; top: 17px; width: 9px; height: 1px; background: var(--wp--preset--color--sea-mist); }

/* --- árkártyák -------------------------------------------------------- */
.sz-pricing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sz-price {
	background: var(--wp--preset--color--bone);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--sz-radius);
	padding: 32px 30px 34px;
	margin: 0;
}
.sz-price--lead { border-color: var(--wp--preset--color--plum); border-width: 1.5px; }
.sz-price h3 { font-size: 1.22rem; margin-bottom: .4rem; }
.sz-price .sz-dur { font-size: .88rem; color: var(--wp--preset--color--muted); margin-bottom: 1.1rem; }
.sz-price .sz-amt {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.1rem; font-weight: 300;
	color: var(--wp--preset--color--ink);
	line-height: 1; margin-bottom: 1.1rem;
}
.sz-price .sz-amt small {
	display: block; font-family: var(--wp--preset--font-family--body);
	font-size: .87rem; font-weight: 400; color: var(--wp--preset--color--sea); margin-top: 9px;
}
.sz-price ul { list-style: none; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--wp--preset--color--line); }
.sz-price li { font-size: .93rem; color: var(--wp--preset--color--muted); padding: 6px 0 6px 18px; position: relative; line-height: 1.55; }
.sz-price li::before { content: ""; position: absolute; left: 0; top: 16px; width: 7px; height: 1px; background: var(--wp--preset--color--sea); }

/* --- őszinteség kétoszlop --------------------------------------------- */
.sz-honest ul { list-style: none; margin: 0; padding: 0; }
.sz-honest li { padding: 12px 0 12px 26px; position: relative; font-size: .99rem; }
.sz-honest li::before { position: absolute; left: 0; top: 12px; }
.sz-honest--yes li::before { content: "—"; color: var(--wp--preset--color--sea-mist); }
.sz-honest--no li::before { content: "×"; color: rgba(159, 179, 170, .55); }
.sz-honest h3 { padding-bottom: 14px; border-bottom: 1px solid rgba(226, 236, 232, .16); }

/* --- GYIK (core/details) ---------------------------------------------- */
.wp-block-details.sz-faq {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 0;
	margin: 0;
}
.wp-block-details.sz-faq:first-of-type { border-top: 1px solid var(--wp--preset--color--line); }
.wp-block-details.sz-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 25px 46px 25px 0;
	position: relative;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.2rem; font-weight: 400;
	color: var(--wp--preset--color--ink);
	transition: color .3s var(--sz-ease);
}
.wp-block-details.sz-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.sz-faq summary:hover { color: var(--wp--preset--color--plum); }
.wp-block-details.sz-faq summary::after {
	content: "";
	position: absolute; right: 10px; top: 50%;
	width: 11px; height: 11px;
	border-right: 1px solid var(--wp--preset--color--plum);
	border-bottom: 1px solid var(--wp--preset--color--plum);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .4s var(--sz-ease);
}
.wp-block-details.sz-faq[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.wp-block-details.sz-faq p {
	padding: 0 56px 26px 0;
	color: var(--wp--preset--color--muted);
	font-size: 1.01rem;
}

/* --- blogkártyák ------------------------------------------------------ */
.sz-posts .wp-block-post {
	background: var(--wp--preset--color--bone-2);
	border-radius: var(--sz-radius);
	padding: 30px 28px 28px;
	border: 1px solid transparent;
	transition: border-color .35s var(--sz-ease), transform .35s var(--sz-ease);
}
.sz-posts .wp-block-post:hover { border-color: var(--wp--preset--color--line); transform: translateY(-3px); }
.sz-posts .wp-block-post-title { font-size: 1.18rem; line-height: 1.3; }
.sz-posts .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.sz-posts .wp-block-post-excerpt__excerpt { font-size: .94rem; color: var(--wp--preset--color--muted); }
.sz-posts .wp-block-post-terms { font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--sea); }
.sz-posts .wp-block-post-terms a { text-decoration: none; }

/* --- cikkek olvashatósága --------------------------------------------- */
.sz-article h2 { margin-top: 2.6rem; font-size: 1.72rem; }
.sz-article h3 { margin-top: 1.9rem; font-size: 1.24rem; }
.sz-article ul, .sz-article ol { padding-left: 1.3rem; }
.sz-article li { margin-bottom: .45rem; }
.sz-callout {
	background: var(--wp--preset--color--bone-2);
	border-left: 2px solid var(--wp--preset--color--sea);
	border-radius: 0 10px 10px 0;
	padding: 24px 28px;
	margin: 2.2rem 0;
}
.sz-callout p { margin: 0; font-size: 1rem; }
.sz-callout p + p { margin-top: .8rem; }
.sz-callout strong { color: var(--wp--preset--color--ink); }

/* --- aláírás-védjegy --------------------------------------------------- */
.sz-sig img { width: 118px; height: auto; }

/* --- reszponzív -------------------------------------------------------- */
@media (max-width: 1000px) {
	.sz-areas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
	.sz-areas { grid-template-columns: 1fr; }
	.sz-pricing { grid-template-columns: 1fr; }
	.sz-research { padding: 34px 28px; border-radius: var(--sz-radius); }
	.sz-research .sz-crit { border-left: none; border-top: 1px solid rgba(226, 236, 232, .16); padding-left: 0; padding-top: 30px; }
	.wp-block-details.sz-faq summary { font-size: 1.09rem; padding-right: 38px; }
	.wp-block-details.sz-faq p { padding-right: 10px; }
}

/* --- mozgásérzékenység ------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* ==========================================================================
   FEJLÉC
   ========================================================================== */
/* A sticky a sablonrész wrapperére kell: a belső elem a szülő dobozán
   belül ragad, és a wrapper pontosan olyan magas, mint a tartalma. */
header.wp-block-template-part,
body > header {
	position: sticky;
	top: 0;
	z-index: 90;
}
.sz-header {
	position: relative;
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: border-color .35s var(--sz-ease);
	padding-top: 0;
	padding-bottom: 0;
}
/* A homályos hátteret pszeudoelem adja. Ha a backdrop-filter magán a
   fejlécen ülne, tartalmazó blokká tenné, és a mobilmenü fixed overlayje
   nem a képernyőhöz, hanem a fejléchez igazodna — ettől nem takarna be
   mindent, és átlátszana rajta a tartalom. */
.sz-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(247, 244, 234, .9);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
}
.sz-header.is-stuck { border-bottom-color: var(--wp--preset--color--line); }
.sz-header-inner { min-height: 84px; gap: 24px; }
.sz-header-right { gap: 28px; }

/* aláírás-logó CSS-maszkkal — nem kell médiatárba tölteni */
.sz-brand { display: block; text-decoration: none; flex: 0 0 auto; color: var(--wp--preset--color--ink); }
.sz-sig {
	display: block;
	width: 84px;
	aspect-ratio: 440 / 297;
	background-color: currentColor;
	-webkit-mask: url("../img/alairas-navy.png") no-repeat center / contain;
	mask: url("../img/alairas-navy.png") no-repeat center / contain;
}
.sz-sig--light {
	-webkit-mask-image: url("../img/alairas-bone.png");
	mask-image: url("../img/alairas-bone.png");
}

/* navigáció */
.sz-nav a.wp-block-navigation-item__content {
	text-decoration: none;
	font-size: .97rem;
	color: var(--wp--preset--color--text);
	position: relative;
	padding: 4px 0;
}
.sz-nav a.wp-block-navigation-item__content::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: 0;
	height: 1px;
	background: var(--wp--preset--color--plum);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--sz-ease);
}
.sz-nav a.wp-block-navigation-item__content:hover::after { transform: scaleX(1); }

@media (max-width: 1023px) {
	.sz-header-inner { min-height: 74px; }
	.sz-header-right { gap: 14px; }
	.sz-sig { width: 66px; }
}
@media (max-width: 400px) {
	.sz-cta-sm .wp-block-button__link { font-size: .85rem; padding: .62rem 1.05rem; }
}

/* ==========================================================================
   LÁBLÉC
   ========================================================================== */
.sz-footer {
	background: var(--wp--preset--color--night-2);
	color: #8DA49C;
	border-top: 1px solid rgba(226, 236, 232, .08);
	font-size: .93rem;
}
.sz-footer .sz-brand--footer { color: #DDE8E2; }
.sz-footer .sz-sig { width: 118px; }
.sz-footer-tag { margin-top: 16px; max-width: 30ch; color: #88A099; font-size: .9rem; }
.sz-footer-top { padding-bottom: 38px; border-bottom: 1px solid rgba(226, 236, 232, .14); }
.sz-foot-head {
	font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
	color: var(--wp--preset--color--sea-mist); margin-bottom: 14px;
}
.sz-foot-list { list-style: none; margin: 0; padding: 0; }
.sz-foot-list li { padding: 5px 0; color: #AEC1BA; }
.sz-foot-list a { color: #AEC1BA; text-decoration: none; }
.sz-foot-list a:hover { color: #DDE8E2; text-decoration: underline; text-underline-offset: 3px; }
.sz-footer-note { padding-top: 22px; font-size: .8rem; color: #66827A; gap: 12px; }
.sz-footer-note p { margin: 0; }
.sz-footer-note a { color: #66827A; text-decoration: none; }
.sz-footer-note a:hover { color: #AEC1BA; }

/* ==========================================================================
   HERO — a portré boltíve és a mögötte lévő eltolt blokk
   ========================================================================== */
.sz-hero { padding-top: 4.5rem; padding-bottom: 2rem; }
.sz-hero h1 { font-weight: 300; }
.sz-portrait { position: relative; max-width: 440px; margin-left: auto; }
.sz-portrait::before {
	content: "";
	position: absolute;
	left: -26px; bottom: -26px;
	width: 58%; height: 52%;
	background: rgba(62, 117, 112, .13);
	border-radius: var(--sz-radius);
	z-index: 0;
}
.sz-portrait .wp-block-image { position: relative; z-index: 1; margin: 0; }
.sz-portrait .wp-block-image img {
	border-radius: 50% 50% 14px 14px / 32% 32% 14px 14px;
	width: 100%; height: auto; display: block;
}
@media (max-width: 900px) {
	.sz-portrait { max-width: 400px; margin-inline: auto; }
}

/* ==========================================================================
   OLDAL- ÉS CIKKFEJLÉCEK
   ========================================================================== */
.sz-page-head h1,
.sz-article-head h1 { font-size: clamp(2rem, 3.6vw, 2.9rem); }
.sz-article-cat a {
	font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--sea); text-decoration: none;
}
.sz-article-meta { font-size: .86rem; color: var(--wp--preset--color--muted); gap: 18px; }
.sz-article-meta p, .sz-article-meta time { margin: 0; }
.sz-article-cta {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.sz-archive-head h1 { font-size: clamp(2rem, 3.6vw, 2.9rem); margin: .8rem 0; }
.sz-related { border-top: 1px solid var(--wp--preset--color--line); }
.sz-related .sz-label { margin-bottom: 1.6rem !important; }
.wp-block-query-pagination { margin-top: 3rem; font-size: .93rem; }
.wp-block-query-pagination a { text-decoration: none; }

/* ==========================================================================
   BEÚSZÓ ANIMÁCIÓ
   ========================================================================== */
.sz-rv {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1s var(--sz-ease), transform 1s var(--sz-ease);
	transition-delay: var(--sz-d, 0ms);
	will-change: opacity, transform;
}
.sz-rv.is-in { opacity: 1; transform: none; will-change: auto; }
.sz-label::before {
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 1.1s var(--sz-ease) .15s;
}
.sz-rv.is-in .sz-label::before,
.sz-label.sz-rv.is-in::before,
.no-js .sz-label::before { transform: none; }

.no-js .sz-rv { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.sz-rv { opacity: 1 !important; transform: none !important; transition: none !important; }
	.sz-label::before { transform: none !important; }
}

/* ==========================================================================
   JAVÍTÁSOK
   ========================================================================== */

/* Körvonalas gomb sötét szekcióban — alapból sötét szövegű lenne */
.sz-dark .is-style-outline .wp-block-button__link,
.sz-research .is-style-outline .wp-block-button__link {
	color: #E4EDE8;
	border-color: rgba(226, 236, 232, .32);
}
.sz-dark .is-style-outline .wp-block-button__link:hover,
.sz-research .is-style-outline .wp-block-button__link:hover {
	border-color: #E4EDE8;
	background: rgba(255, 255, 255, .06);
	color: #fff;
}

/* Képblokk alapértelmezett figure-margója a saját csoportjainkban */
.sz-hero-badge .wp-block-image,
.sz-portrait .wp-block-image,
.creds .wp-block-image { margin: 0; }

/* A hero címsora kis kijelzőn ne lógjon ki */
@media (max-width: 560px) {
	.sz-hero h1 { font-size: 2.05rem; }
	.sz-hero { padding-top: 1.5rem; }
}

/* Az árkártyák és a tünettáblázat listái ne kapjanak behúzást */
.sz-price ul, .sz-areas ul, .sz-signs, .sz-foot-list, .sz-honest ul { padding-left: 0; }

/* A blogkártyák belső elemei ne kapjanak alsó margót */
.sz-posts .wp-block-post > *:last-child { margin-bottom: 0; }
.sz-posts .wp-block-post-terms { margin-bottom: .8rem; }

/* Fotó-helyőrző a főoldalon — cseréld képblokkra, ha megvan a felvétel */
.sz-photo-slot {
	background: rgba(62, 117, 112, .07);
	border: 1px dashed rgba(62, 117, 112, .3);
	border-radius: var(--sz-radius);
	color: var(--wp--preset--color--sea);
	font-size: .86rem;
	line-height: 1.6;
	padding: 3.2rem 2rem;
	margin: 0;
	aspect-ratio: 3 / 2;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.sz-mood { align-self: flex-start; }

/* GYIK a főoldalon: ne érjen hozzá a szomszédos szekcióhoz */
.wp-block-details.sz-faq + .wp-block-details.sz-faq { margin-top: 0; }

/* ==========================================================================
   KÉP- ÉS GOMBBIZTOSÍTÉK
   A blokkérvényesítési hibák elkerülése miatt a méretezés és a színezés
   itt történik, nem a blokk inline stílusában.
   ========================================================================== */

/* Minden képblokk tartsa az arányát — ez akadályozza meg a kör torzulását */
.wp-block-image img,
figure.wp-block-image img { height: auto; max-width: 100%; }

/* Stephens-Sarlós tanúsítvány */
.sz-badge { margin: 0; flex: 0 0 auto; }
.sz-badge img { width: 56px; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.sz-badge--lg img { width: 88px; }

/* Fejléc CTA — kisebb pirula */
.sz-cta-sm .wp-block-button__link {
	font-size: .92rem;
	padding: .7rem 1.4rem;
}

/* Világos gomb sötét háttéren */
.sz-btn-light .wp-block-button__link {
	background: var(--wp--preset--color--bone);
	color: var(--wp--preset--color--night);
}
.sz-btn-light .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--night-2); }

/* Vízszintes túlcsordulás kizárása — az alignfull 100vw-je ezt okozhatja,
   ha megjelenik a görgetősáv */
html, body { overflow-x: clip; max-width: 100%; }

/* Kisebb címsorváltozatok — inline betűméret helyett */
.sz-h-sm { font-size: 1.5rem !important; }
.sz-h-md { font-size: clamp(1.6rem, 2.6vw, 2rem) !important; }

/* ==========================================================================
   FEJLÉC — MOBILMENÜ ÉS FÓKUSZ
   ========================================================================== */

/* A CTA-pirula soha ne zsugorodjon és ne törjön betűnként */
.sz-header-cta { flex: 0 0 auto; margin: 0; }
.sz-cta-sm .wp-block-button__link { white-space: nowrap; display: inline-block; }
.sz-header-right { min-width: 0; }
.sz-brand { min-width: 0; }

/* A hamburger a WordPress alapértelmezése szerint csak 600 px alatt jelenne
   meg. 1024 px alatt viszont a hét menüpont már versenyez a CTA-val, ezért
   feljebb hozzuk a váltópontot. */
@media (max-width: 1023px) {
	.sz-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
	.sz-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}


/* Fókuszjelölés: bíbor, nem a böngésző fekete kerete — és csak billentyűzetnél */
:where(a, button, summary, input, textarea, select, details):focus {
	outline: none;
}
:where(a, button, summary, input, textarea, select, details):focus-visible {
	outline: 2px solid var(--wp--preset--color--plum);
	outline-offset: 3px;
	border-radius: 3px;
}
.wp-block-navigation-item__content:focus,
.wp-block-navigation__responsive-container-open:focus,
.wp-block-navigation__responsive-container-close:focus { outline: none; }
.wp-block-navigation-item__content:focus-visible,
.wp-block-navigation__responsive-container-open:focus-visible,
.wp-block-navigation__responsive-container-close:focus-visible {
	outline: 2px solid var(--wp--preset--color--plum);
	outline-offset: 4px;
}
/* Érintésnél se villanjon kiemelés */
a, button, summary { -webkit-tap-highlight-color: transparent; }

/* Kapcsolati adatsor a záró szekcióban */
.sz-contact-list ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(226, 236, 232, .16); }
.sz-contact-list li {
	border-bottom: 1px solid rgba(226, 236, 232, .16);
	padding: 17px 0;
	display: flex;
	gap: 22px;
	align-items: baseline;
	font-size: 1.02rem;
	color: #EDF3EF;
}
.sz-contact-list li > span {
	flex: 0 0 92px;
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--wp--preset--color--sea-mist);
}
.sz-contact-list a { color: #EDF3EF; text-decoration: none; }
.sz-contact-list a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) {
	.sz-contact-list li { flex-direction: column; gap: 5px; }
	.sz-contact-list li > span { flex: none; }
}

/* ==========================================================================
   A FEJLÉC / TARTALOM / LÁBLÉC KÖZÖTTI RÉS
   A WordPress a legfelső szintű blokkok közé automatikusan blockGap-et tesz.
   A szekcióknak saját belső térköze van, ezért itt nem kell.
   ========================================================================== */
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* ==========================================================================
   MOBIL- ÉS TABLETMENÜ
   Teljes képernyős, csontszín hátterű panel. A fejléc mintha átalakulna:
   ugyanott az aláírás, a hamburger helyén a bezárás.
   ========================================================================== */

/* Az elérhetőségek csak a panelen látszanak, az asztali sorban nem */
.sz-nav .sz-nav-contact { display: none; }

/* --- a hamburger gomb --- */
.sz-nav .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--ink);
	padding: 8px;
	margin-right: -8px;
	transition: opacity .3s var(--sz-ease);
}
.sz-nav .wp-block-navigation__responsive-container-open:hover { opacity: .6; }
.sz-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }

/* --- a panel --- */
.sz-nav .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--bone) !important;
	color: var(--wp--preset--color--ink) !important;
	padding: 0 !important;
	animation: szFade .32s var(--sz-ease) both;
}
@keyframes szFade { from { opacity: 0 } to { opacity: 1 } }

.sz-nav .is-menu-open .wp-block-navigation__responsive-close {
	max-width: none;
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	padding-left: var(--wp--style--root--padding-left, 1.4rem);
	padding-right: var(--wp--style--root--padding-right, 1.4rem);
	padding-bottom: env(safe-area-inset-bottom, 0px);
	padding-top: 0;
}
.sz-nav .is-menu-open .wp-block-navigation__responsive-dialog {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	max-width: 620px;
	margin-left: 0;
	margin-right: auto;
	width: 100%;
}

/* A panel tetején az aláírás — valódi, kattintható hivatkozás a kezdőlapra.
   (Korábban pszeudoelem volt, ezért nem lehetett rákattintani.) */
/* Az aláírás a panel tetején — pszeudoelemként rajzolva, a lista folyásában,
   flex elemként. Ez a változat stabil: nem tolja el a menüpontokat, és
   töréspontonként ugyanott marad. */
.sz-nav .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "";
	display: block;
	width: 66px;
	aspect-ratio: 440 / 297;
	flex: 0 0 auto;
	margin: 15px 0 0;   /* a fejlécben 74px-es sávban középen ül: (74-45)/2 ≈ 15 */
	background-color: var(--wp--preset--color--ink);
	-webkit-mask: url("../img/alairas-navy.png") no-repeat center / contain;
	mask: url("../img/alairas-navy.png") no-repeat center / contain;
}

/* Fölé egy láthatatlan, kattintható réteg, ami a kezdőlapra visz.
   A pszeudoelemre nem lehet kattintani, a navigációs menü tartalma pedig az
   adatbázisban él (a témafájl módosítása nem írja felül) — ezért ezt a
   hivatkozást a téma JavaScriptje szúrja be a panel megnyitásakor. */
.sz-home-hit {
	position: absolute;
	top: 15px;
	left: 0;
	width: 86px;
	height: 55px;
	z-index: 4;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	background: transparent;
}
.sz-home-hit:focus-visible { outline: 2px solid var(--wp--preset--color--plum); outline-offset: 4px; text-indent: 0; }

/* bezárás gomb — a hamburger helyén */
.sz-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 26px;
	right: -8px;
	color: var(--wp--preset--color--ink);
	padding: 8px;
	transition: transform .35s var(--sz-ease), opacity .3s var(--sz-ease);
}
.sz-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover {
	transform: rotate(90deg);
	opacity: .7;
}
.sz-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }

.sz-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	flex: 1 1 auto;
	display: flex;
	align-items: stretch;
	padding: clamp(30px, 7vh, 64px) 0 34px;
	overflow-y: auto;
}
.sz-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	width: 100%;
	gap: 0;
	/* A fejlécben a menü jobbra zárt (justifyContent: right). A WordPress ezt a
	   nyitott panelen align-items-szé fordítja át, amitől a menüpontok jobbra
	   csúsznának. Itt visszaállítjuk balra zártra. */
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-align: flex-start;
	--navigation-layout-justify: flex-start;
	align-items: stretch !important;
	justify-content: flex-start !important;
	text-align: left;
}
.sz-nav .is-menu-open .wp-block-navigation-item,
.sz-nav .is-menu-open .wp-block-navigation-item__content { text-align: left; }

/* --- menüpontok --- */
.sz-nav .is-menu-open .wp-block-navigation-item {
	border-bottom: 1px solid var(--wp--preset--color--line);
	opacity: 0;
	transform: translateY(14px);
	animation: szSlideIn .55s var(--sz-ease) forwards;
}
@keyframes szSlideIn { to { opacity: 1; transform: none } }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .08s }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .14s }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .20s }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: .26s }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: .32s }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(7) { animation-delay: .38s }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(8) { animation-delay: .46s }
.sz-nav .is-menu-open .wp-block-navigation-item:nth-child(9) { animation-delay: .50s }

.sz-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.55rem, 6.2vw, 2.1rem);
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--ink);
	padding: clamp(15px, 3.4vh, 44px) 0;
	transition: color .25s var(--sz-ease), padding-left .35s var(--sz-ease);
}
.sz-nav .is-menu-open .wp-block-navigation-item__content:hover,
.sz-nav .is-menu-open .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--plum);
	padding-left: 8px;
}
.sz-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }

/* --- elérhetőségek a panel alján --- */
.sz-nav .is-menu-open .sz-nav-contact {
	display: block;
	border-bottom: none;
}
.sz-nav .is-menu-open .sz-nav-contact--first {
	margin-top: auto;
	padding-top: clamp(22px, 4.5vh, 40px);
	/* Nincs külön felső vonal: az utolsó menüpont alatti hajszálvonal
	   zárja le a listát, két vonal egymás alatt zavaró lenne. */
	border-top: none;
}
.sz-nav .is-menu-open .sz-nav-contact .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 500;
	color: var(--wp--preset--color--sea);
	padding: 7px 0;
	letter-spacing: .01em;
}
.sz-nav .is-menu-open .sz-nav-contact .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--plum);
	padding-left: 0;
}

/* --- tablet: nagyobb betű, több levegő --- */
@media (min-width: 601px) and (max-width: 1023px) {

	.sz-nav .is-menu-open .wp-block-navigation-item__content { font-size: 2.15rem; }

}

/* --- alacsony képernyő (fekvő telefon): sűrűbb --- */
@media (max-height: 560px) {
	.sz-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 18px; }
	.sz-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding: 14px 0 18px; }
	.sz-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.1rem; padding: 7px 0; }
	.sz-nav .is-menu-open .sz-nav-contact--first { padding-top: 13px; }
	.sz-nav .is-menu-open .sz-nav-contact .wp-block-navigation-item__content { font-size: .9rem; padding: 3px 0; }
}

@media (prefers-reduced-motion: reduce) {
	.sz-nav .is-menu-open .wp-block-navigation-item { animation: none; opacity: 1; transform: none; }
	.sz-nav .wp-block-navigation__responsive-container.is-menu-open { animation: none; }
}

/* ==========================================================================
   EGYSÉGES SZÉLESSÉG
   A fejléc, a lábléc és minden szekció ugyanazt a szélességet használja.
   A szövegblokkokra nincs külön korlát: a hasábok és rácsok tördelik a
   sorokat ott, ahol arra szükség van.
   ========================================================================== */
.sz-flow > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.sz-article.sz-flow > *:not(.alignwide):not(.alignfull) {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* ==========================================================================
   ELREJTŐZŐ FEJLÉC KIS KIJELZŐN
   Lefelé görgetve kiúszik, felfelé görgetve visszatér. Asztali nézetben
   nem aktív, és mozgásérzékenységre beállított rendszeren sem.
   ========================================================================== */
/* FONTOS: itt nem használunk transform-ot és will-change-et. Mindkettő
   tartalmazó blokká tenné a fejlécet a fixed pozíciójú gyerekei számára,
   és ettől a mobilmenü overlayje nem a képernyőhöz igazodna — vagyis ki
   sem nyílna rendesen. A ragadós fejléc "top" értékét animáljuk helyette. */
header.wp-block-template-part,
body > header {
	transition: top .38s var(--sz-ease);
}
@media (max-width: 1023px) {
	header.wp-block-template-part.is-hidden,
	body > header.is-hidden {
		top: -120px;
	}
}
@media (prefers-reduced-motion: reduce) {
	header.wp-block-template-part,
	body > header {
		transition: none;
	}
	header.wp-block-template-part.is-hidden,
	body > header.is-hidden {
		top: 0;
	}
}
