/* RolliPolli Service Sections – frontend stílusok
   A React oldal tipográfiai tokenjeit tükrözi. */

.rpsv-section {
	--rpsv-brand: #da3831;
	--rpsv-ink: #004a6b;
	--rpsv-ink-deep: #055078;
	--rpsv-sun: #ffbf2d;
	--rpsv-cream: #fdf6ec;
	--rpsv-cream-deep: #f7ead6;
	--rpsv-card: #ffffff;
	--rpsv-radius: 2rem;
	--rpsv-shadow-soft: 0 10px 30px rgba(5, 80, 120, 0.08);
	--rpsv-shadow-lift: 0 24px 60px rgba(5, 80, 120, 0.14);

	--rpsv-h1-size: 68px;
	--rpsv-h1-line: 71px;
	--rpsv-h2-size: 48px;
	--rpsv-h2-line: 48px;
	--rpsv-h3-size: 24px;
	--rpsv-h3-line: 28px;
	--rpsv-body-size: 18px;
	--rpsv-body-line: 29px;

	position: relative;
	padding: 88px 0;
	color: var(--rolli-text, #4f606d);
	font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
	font-size: var(--rpsv-body-size);
	line-height: var(--rpsv-body-line);
}

.rpsv-section--tight { padding: 40px 0; }

.rpsv-section--dark {
	background: var(--rpsv-ink-deep);
	color: #fff;
}
.rpsv-section--dark .rpsv-heading,
.rpsv-section--dark .rpsv-muted { color: #fff; }
.rpsv-section--dark .rpsv-muted { opacity: .8; }

.rpsv-container {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
}
.rpsv-narrow { max-width: 860px; }
.rpsv-center { text-align: center; }
.rpsv-center-text { text-align: center; }

/* Címsorok */
.rpsv-heading {
	font-family: "Fraunces", Georgia, serif;
	font-weight: 600;
	color: var(--rpsv-ink);
	margin: 0 0 .4em;
	letter-spacing: -0.01em;
}
h1.rpsv-heading { font-size: var(--rpsv-h1-size); line-height: var(--rpsv-h1-line); }
h2.rpsv-heading { font-size: var(--rpsv-h2-size); line-height: var(--rpsv-h2-line); }
h3.rpsv-heading { font-size: var(--rpsv-h3-size); line-height: var(--rpsv-h3-line); }
h4.rpsv-heading { font-size: 20px; line-height: 26px; }
h5.rpsv-heading,
h6.rpsv-heading { font-size: 18px; line-height: 24px; }
div.rpsv-heading,
span.rpsv-heading,
p.rpsv-heading { display: block; font-size: var(--rpsv-h2-size); line-height: var(--rpsv-h2-line); }

/* Kiemelés */
.rpsv-mark {
	position: relative;
	display: inline;
	background-image: linear-gradient(transparent 62%, var(--rpsv-sun) 62%, var(--rpsv-sun) 92%, transparent 92%);
	padding: 0 .06em;
}
.rpsv-mark--ink { background-image: linear-gradient(transparent 62%, rgba(255, 191, 45, .65) 62%, rgba(255, 191, 45, .65) 92%, transparent 92%); }
.rpsv-mark--color { background: none; color: var(--rpsv-brand); }

.rpsv-head { margin-bottom: 40px; }
.rpsv-head.rpsv-center { margin-left: auto; margin-right: auto; max-width: 760px; }

.rpsv-chip {
	display: inline-block;
	padding: 6.4px 13.6px;
	border-radius: 999px;
	/* Lovable eyebrow-chip: halvány barack (#feeccd) + ink, 600, tight letter — NEM sárga. */
	background: #feeccd;
	color: #004a6b;
	font-size: 12.5px;
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: .25px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.rpsv-lead { font-size: 20px; line-height: 32px; margin: 0 0 16px; }
.rpsv-lead--quote { font-style: italic; }
.rpsv-muted { opacity: .75; font-size: 16px; line-height: 26px; }
/* Felépítés záró „sáv" a szekció RÉSZEként (nem külön szekció): sárga, KÖZÉPRE igazítva,
   csillag nélkül, közel a kártyákhoz. */
.rpsv-steps { border-bottom: 1px solid rgba(5, 80, 120, 0.1); }
.rpsv-note {
	margin-top: 28px;
	background: rgba(255, 191, 45, .25);
	border-radius: var(--rpsv-radius);
	padding: 20px 28px;
	text-align: center;
}
.rpsv-note p { margin: 0; font-weight: 600; color: var(--rpsv-ink-deep); }

/* ÉLŐNYÖK / FEJLŐDÉS „benefit" kártyák — GLOBÁLIS (minden szolgáltatás-aloldalon automatikusan).
   Megkülönböztetés: a benefit-kártyáknak NINCS gombjuk → `:not(:has(.rpsv-card-cta))`. A korosztály-
   választó kártyák (Melyik csoportot – gombosak) így NEM érintettek, megtartják a saját stílusukat. */
/* Kártya (Lovable BenefitCard pontos adatai): fehér, 28px radius, 24px padding, 2-rétegű árnyék, középre. */
.rpsv-cards-grid:not(:has(.rpsv-card-cta)) .rpsv-card {
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 1px 2px rgba(5, 80, 120, .06), 0 8px 24px rgba(5, 80, 120, .06);
	padding: 24px;
	text-align: center !important;   /* a widget card_align kontroll felülírása */
}
/* Ikonos kör: 56×56, teljes kör, sun/30 háttér, ikon #055078 / 28px. (`.rpsv-card` a nagyobb
   specifikusságért, hogy a lentebbi alap-tile szabályt felülírja.) */
.rpsv-cards-grid:not(:has(.rpsv-card-cta)) .rpsv-card .rpsv-icon--tile {
	width: 56px; height: 56px;
	border-radius: 9999px;
	background: rgba(255, 191, 45, .30);
	color: #055078;
	align-self: center;
	margin-bottom: 0;
	display: flex; align-items: center; justify-content: center;
}
.rpsv-cards-grid:not(:has(.rpsv-card-cta)) .rpsv-card .rpsv-icon--tile svg { width: 28px; height: 28px; }
/* Címsor (h3): Fraunces / 600 / 18.4px / 20.8px / #055078; ikon → címsor térköz 20px (mt-5). */
.rpsv-cards-grid:not(:has(.rpsv-card-cta)) .rpsv-card-title {
	font-family: Fraunces, ui-serif, Georgia, serif;
	font-weight: 600; font-size: 18.4px; line-height: 20.8px;
	color: #055078;
	margin-top: 20px; margin-bottom: 0;
}
/* Szöveg (p): PJS / 400 / 15.2px / 24px / #0d1c27; címsor → szöveg térköz 12px (mt-3). */
.rpsv-cards-grid:not(:has(.rpsv-card-cta)) .rpsv-card p:not(.rpsv-card-label) {
	font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	font-weight: 400; font-size: 15.2px; line-height: 24px;
	color: #0d1c27;
	margin-top: 12px; margin-bottom: 0;
}

/* Gombok */
.rpsv-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.rpsv-btn-row--center { justify-content: center; }
.rpsv-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 24px;
	border-radius: 999px;
	/* Lovable BrandButton: 14px/600/tracking-wide(.35px). */
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.35px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.rpsv-btn--primary { background: var(--rpsv-brand); color: #fff; box-shadow: var(--rpsv-shadow-soft); }
.rpsv-btn--ghost { background: #fefdfb; color: var(--rpsv-ink); border: 2px solid currentColor; }
.rpsv-btn:hover { transform: translateY(-2px); box-shadow: var(--rpsv-shadow-lift); }
.rpsv-section--dark .rpsv-btn--ghost { color: #fff; }

/* Ikonok */
.rpsv-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--rpsv-ink);
}
.rpsv-icon svg, .rpsv-icon i { width: 28px; height: 28px; font-size: 24px; fill: currentColor; }
/* Lucide ikonok kontúrosak (nem kitöltöttek) — felülírjuk a fill:currentColor-t */
.rpsv-icon svg.lucide { fill: none; stroke: currentColor; }
.rpsv-icon--round {
	width: 56px; height: 56px;
	border-radius: 999px;
	background: rgba(255, 191, 45, .3);
	flex: none;
}
.rpsv-icon--soft {
	width: 48px; height: 48px;
	border-radius: 16px;
	background: var(--rpsv-cream-deep);
	flex: none;
}
.rpsv-icon--inline { margin-right: 8px; }

/* === Lovable 1:1 ikon-stílusok === */
/* „Amit a program fejleszt” fejlesztési ikonok: fehér lap, 22px, piros lucide (36×36) */
.rpsv-checkgrid .rpsv-icon {
	width: 36px; height: 36px;
	border-radius: 22px;
	background: #ffffff;
	box-shadow: var(--rpsv-shadow-soft);
	color: rgb(224, 64, 57);
	flex: none;
}
.rpsv-checkgrid .rpsv-icon svg { width: 18px; height: 18px; }

/* Csoport-kártya ikonok: 48×48, 30px lekerekítés, kártyánként külön pasztell tónus */
.rpsv-cards .rpsv-card .rpsv-icon--tile {
	width: 48px; height: 48px;
	border-radius: 30px;
	flex: none;
	margin-bottom: 4px;
}
.rpsv-cards .rpsv-card .rpsv-icon--tile svg { width: 24px; height: 24px; }
/* Szertorna-oldal (page-id-29) csoport-kártyái: kártyánként külön pasztell tónus */
.page-id-29 .rpsv-cards .rpsv-card:nth-child(1) .rpsv-icon--tile { background: rgba(226, 69, 59, .102); color: rgb(224, 64, 57); }
.page-id-29 .rpsv-cards .rpsv-card:nth-child(2) .rpsv-icon--tile { background: rgba(248, 189, 63, .302); color: rgb(0, 74, 107); }
.page-id-29 .rpsv-cards .rpsv-card:nth-child(3) .rpsv-icon--tile { background: rgba(0, 69, 108, .102); color: rgb(0, 74, 107); }

/* Szolgáltatásaink áttekintő (page-id-81) — Lovable 1:1 méretek/színek */
/* Ikon: 64×64 navy lekerekített négyzet (radius 30px), fehér 28px egyedi ikon */
.page-id-81 .rpsv-cards .rpsv-card .rpsv-icon--tile {
	width: 64px; height: 64px; border-radius: 30px;
	background: rgb(0, 74, 107); color: #fff;
}
.page-id-81 .rpsv-cards .rpsv-card .rpsv-icon--tile .rpsv-svgicon,
.page-id-81 .rpsv-cards .rpsv-card .rpsv-icon--tile svg { width: 28px; height: 28px; }
/* Kártya lekerekítés 28px */
.page-id-81 .rpsv-card { border-radius: 28px; }
/* Címke: piros, 14px, 600, uppercase, betűköz 0.7px (magasabb specificitás, hogy verje a .rpsv-card p szabályt) */
.page-id-81 .rpsv-cards .rpsv-card p.rpsv-card-label { color: rgb(224, 64, 57); font-size: 14px; font-weight: 600; letter-spacing: .7px; }
/* Kártyacím: 30px */
.page-id-81 .rpsv-card-title { font-size: 30px; }
/* Leírás + idézet: halvány navy-szürke (79,96,109), normál vastagság, 18px */
.page-id-81 .rpsv-cards .rpsv-card p { color: rgb(79, 96, 109); font-weight: 400; font-size: 18px; }

/* Kártyák (közös) */
.rpsv-card,
.rpsv-group-card,
.rpsv-price-card,
.rpsv-step {
	background: var(--rpsv-card);
	border-radius: var(--rpsv-radius);
	box-shadow: var(--rpsv-shadow-soft);
	padding: 28px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.rpsv-card:hover,
.rpsv-group-card:hover,
.rpsv-price-card:hover { transform: translateY(-4px); box-shadow: var(--rpsv-shadow-lift); }

/* Hero */
/* Lovable dekoratív foltok: sárga jobb-fent + piros lent (33%). A mix-blend-mode:multiply +
   blur(64px) adja a lágy, „papírba ivódó" hatást. A tartalom z-index:1-gyel a foltok fölött. */
/* Lovable PageShell: a hero alján teljes szélességű vékony vonal (border-b border-brand-ink/10). */
.rpsv-hero { overflow: hidden; border-bottom: 1px solid rgba(5, 80, 120, 0.1); }
.rpsv-hero > * { position: relative; z-index: 1; }
/* Hero alcím = a főoldali heroval AZONOS méret: 18px / 29px (nem a generikus 20px/32px). */
.rpsv-hero .rpsv-lead { font-size: 18px; line-height: 29px; }
/* Hero ALATTI bevezető szekció: ugyanolyan alsó vonal, mint a hero (Lovable). */
.rpsv-intro { border-bottom: 1px solid rgba(5, 80, 120, 0.1); }
/* Bevezető szöveg betűi: PJS / 500 / 20px / 30px / ink-navy (oklch 0.386 0.086 235.6). */
.rpsv-intro p {
	font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	font-weight: 500; font-size: 20px; line-height: 30px;
	color: #004a6b;
	color: oklch(0.386 0.086 235.6);
}
/* A szöveg SZIMMETRIKUSAN üljön a szekcióban: a border ugyanolyan messze legyen a szöveg ALATT,
   mint amennyire FELETT (a külső bekezdés-margókat kinullázzuk, a térközt a szekció-padding adja). */
.rpsv-intro p:first-child { margin-top: 0; }
.rpsv-intro p:last-child { margin-bottom: 0; }
/* Bekezdés-stílusok: alap (rpsv-intro-strong) = a fenti bázis (PJS 500 / 20px / 30px / navy).
   Normál (könnyű body) bekezdés: PJS 400 / 16.8px / 27.2px / muted (Lovable text-[1.05rem]). */
.rpsv-intro p + p { margin-top: 20px; }
.rpsv-intro p.rpsv-intro-normal {
	font-weight: 400;
	font-size: 16.8px;
	line-height: 27.2px;
	color: #4f606d;
}
/* A címsor-alatti egyszerű „Bevezető szöveg" (rpsv-lead) az intro szekcióban is a
   GLOBÁLIS bevezető-formázást kapja (nem az intro-bekezdés 500/navy stílust). */
.rpsv-intro .rpsv-lead {
	font-weight: 400;
	font-size: 20px;
	line-height: 32px;
	color: #4f606d;
}
.rpsv-hero::before,
.rpsv-hero::after {
	content: ""; position: absolute; border-radius: 9999px;
	filter: blur(64px); mix-blend-mode: multiply; pointer-events: none; z-index: 0;
}
.rpsv-hero::before { top: -40px; right: -40px; width: 256px; height: 256px; background: rgba(255, 191, 45, .20); }
.rpsv-hero::after { bottom: -40px; left: 33.3333%; width: 288px; height: 288px; background: rgba(218, 56, 49, .15); }
.rpsv-hero-grid { display: grid; gap: 40px; grid-template-columns: 1.05fr .95fr; align-items: center; }
/* Profil/hero fotó — Lovable: 4:3, 40px lekerekített, enyhén (1°) döntött kártya krém
   háttéren; a képes esetre szűkítve, hogy üres médiánál ne legyen látható doboz. */
.rpsv-hero-media { position: relative; }
/* Lovable: vastag FEHÉR keretes, lekerekített kép, lágy árnyékkal — NINCS döntés/folt. */
/* Lovable (PageShell.tsx): a hero kép 1°-ra döntve (rotate-1), hoverre kiegyenesedik (rotate-0). */
.rpsv-hero-media:has(img) { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 40px; background: #fff; border: 10px solid #fff; box-shadow: var(--rpsv-shadow-lift); transform: rotate(1deg); transition: transform .4s ease; }
.rpsv-hero-media:has(img):hover { transform: rotate(0deg); }
.rpsv-hero-media img { width: 100%; height: 100%; border-radius: 30px; object-fit: cover; box-shadow: none; }
.rpsv-hero-badge {
	position: absolute;
	left: 16px; bottom: 16px;
	display: flex; align-items: center; gap: 12px;
	background: #fff;
	border-radius: 20px;
	padding: 14px 18px;
	box-shadow: var(--rpsv-shadow-lift);
}
.rpsv-hero-bullets, .rpsv-bullets { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 12px; }
.rpsv-hero-bullets li, .rpsv-bullets li { display: flex; gap: 12px; align-items: flex-start; }
/* Hero pipás lista = a főoldali heroval AZONOS: 2 oszlop + kis PIROS pipa (nincs kör). */
.rpsv-hero-bullets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; margin-top: 24px; }
.rpsv-hero-bullets li { gap: 10px; }
.rpsv-hero-bullets .rpsv-check {
	width: auto; height: auto; margin-top: 2px; flex: none;
	border-radius: 0; background: none; color: var(--rpsv-brand);
	font-size: 17px; font-weight: 700; line-height: 1;
}
@media (max-width: 720px) { .rpsv-hero-bullets { grid-template-columns: 1fr; } }
.rpsv-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--rpsv-brand); margin-top: 10px; flex: none; }

/* Split */
.rpsv-split-grid { display: grid; gap: 40px; grid-template-columns: 1fr 1fr; align-items: center; }
/* Sárga dekor-elem a program-kép jobb felső sarka MÖGÖTT — Lovable szerint LEKEREKÍTETT NÉGYZET
   (nem kör). Lágy (blur + multiply), a kép mögé (z-index 0), kissé kilóg jobbra-felfelé. */
.rpsv-split-media { position: relative; }
.rpsv-split-media img { position: relative; z-index: 1; }
.rpsv-split-media::before {
	content: "";
	position: absolute;
	top: -34px; right: -34px;
	width: 210px; height: 210px;
	border-radius: 48px;            /* lekerekített NÉGYZET, nem kör — ÉLES szél, nincs blur */
	background: rgba(255, 191, 45, .28);
	pointer-events: none;
	z-index: 0;
}
.rpsv-split-media img { width: 100%; border-radius: var(--rpsv-radius); object-fit: cover; box-shadow: var(--rpsv-shadow-lift); }
.rpsv-split-grid.is-reversed .rpsv-split-media { order: 2; }

/* Rácsok */
.rpsv-cards-grid,
.rpsv-groups-grid,
.rpsv-price-grid,
.rpsv-steps-grid,
.rpsv-gallery-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rpsv-groups-grid, .rpsv-price-grid { gap: 24px; }

/* Kis piros címke (korosztály) – Kiss Ernő spec (Lovable): PJS / 800 / 14px / 20px / brand piros. */
.rpsv-card-label {
	display: block; text-transform: uppercase; letter-spacing: .7px;
	font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	font-weight: 800; font-size: 14px; line-height: 20px;
	color: #da3831; color: oklch(0.607 0.198 27.3);
}
/* A kártyák flex-oszlopok (a grid egyenlő magasra húzza őket) → a CTA gomb margin-top:auto-val
   ALULRA kerül, így minden kártyán EGY VONALBAN áll, a szöveg hosszától függetlenül. */
.rpsv-cards-grid .rpsv-card { display: flex; flex-direction: column; }
/* Kártya-CTA: GLOBÁLIS piros gomb (nem szöveg-link) – teljes szélességű a kártyában. */
.rpsv-card-cta { width: 100%; justify-content: center; margin-top: auto; }
.rpsv-card-cta .rps-arrow { transition: transform .18s ease; }
.rpsv-card-cta:hover .rps-arrow { transform: translateX(3px); }

/* Csoportkártyák */
/* Csoportok szekció: az alsó vonalat a gombsor ::after-je adja (nincs külön section-border,
   hogy a gombsor a 2 vonal KÖZÖTT középen legyen). A section alsó paddingját nullázzuk. */
.rpsv-groups { padding-bottom: 0; }
/* A kártyák alatti gombsor KÜLÖN „szekció"-ként: teljes szélességű felső vonal (a kártyák alá),
   térköz, majd a gombok; a szekció alsó bordere zárja alul. Lovable-sorrend: Órarend balra, piros jobbra. */
.rpsv-groups-cta {
	flex-direction: row-reverse;
	margin-top: 56px;
	padding: 48px 0;              /* EGYENLŐ felül/alul → a gombok a 2 vonal KÖZÖTT középen */
	position: relative;
}
/* Felső és alsó teljes szélességű vonal a gombsor köré (a gombok pontosan középen). */
.rpsv-groups-cta::before,
.rpsv-groups-cta::after {
	content: ""; position: absolute; left: 50%; transform: translateX(-50%);
	width: 100vw; height: 1px; background: rgba(5, 80, 120, 0.1); pointer-events: none;
}
.rpsv-groups-cta::before { top: 0; }
.rpsv-groups-cta::after { bottom: 0; }
/* A csoport-pipa = a főoldali (start) hero pipája: kis PIROS ✓, nincs piros kör-háttér. */
.rpsv-groups .rpsv-check {
	width: auto; height: auto; margin-top: 2px; flex: none;
	border-radius: 0; background: none; color: var(--rpsv-brand);
	font-size: 17px; font-weight: 700; line-height: 1;
}
.rpsv-group-head { display: flex; gap: 16px; align-items: center; margin-bottom: 18px; }
.rpsv-group-head .rpsv-heading { margin-bottom: 4px; }
.rpsv-group-rows { display: grid; gap: 12px; margin-bottom: 18px; }
.rpsv-group-row { background: var(--rpsv-cream); border-radius: 18px; padding: 14px 18px; }
.rpsv-group-row-name { font-weight: 700; margin: 0 0 2px; }
.rpsv-group-row p { margin: 0; font-size: 16px; line-height: 25px; }

/* Pipás listák */
.rpsv-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.rpsv-checklist li { display: flex; gap: 10px; align-items: flex-start; }
.rpsv-check {
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px; flex: none; margin-top: 3px;
	border-radius: 999px; background: var(--rpsv-brand); color: #fff;
	font-size: 13px; font-weight: 700;
}
.rpsv-checkgrid { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Lovable: a fejlesztési területek SIMA lista (nem kártyák) — nincs fehér doboz/árnyék.
   Szöveg: PJS / 400 / 18px / 29px / ink-navy 85% (az ikon PIROS marad, saját színnel). */
.rpsv-checkgrid li {
	display: flex; gap: 12px; align-items: center; background: none; border-radius: 0; padding: 0; box-shadow: none;
	font-weight: 400; font-size: 18px; line-height: 29px;
	color: rgba(0, 74, 107, .85);
	color: oklab(0.386 -0.0485872 -0.0709598 / 0.85);
}
/* Felsorolás alatti záró szöveg: PJS / 400 / 18px / 29px / ink-navy 75%. */
.rpsv-check-section .rpsv-lead.rpsv-center-text {
	font-weight: 400; font-size: 18px; line-height: 29px;
	color: rgba(0, 74, 107, .75);
	color: oklab(0.386 -0.0485872 -0.0709598 / 0.75);
}

/* Lépések */
.rpsv-step { text-align: center; position: relative; }
.rpsv-step-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 999px;
	background: var(--rpsv-brand); color: #fff; font-weight: 700;
	margin-bottom: 14px;
}
.rpsv-step-arrow { color: var(--rpsv-sun); align-self: center; font-size: 24px; }

/* Sávok */
.rpsv-banner {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	border-radius: var(--rpsv-radius);
	padding: 22px 28px;
	background: rgba(255, 191, 45, .25);
}
.rpsv-banner p { margin: 0; font-weight: 600; }
.rpsv-banner .rpsv-heading { margin: 0 0 4px; }
.rpsv-banner--brand { background: var(--rpsv-brand); color: #fff; }
.rpsv-banner--brand .rpsv-heading { color: #fff; }
.rpsv-banner--ink { background: var(--rpsv-ink-deep); color: #fff; }
.rpsv-banner--ink .rpsv-heading { color: #fff; }
.rpsv-banner--cream { background: var(--rpsv-cream-deep); }
.rpsv-banner .rpsv-btn-row { margin: 0 0 0 auto; }

/* Árak */
/* Árazás (rpsv_pricing) – Lovable szülinap: sötét #055078 szekció, fehér kártyák + „Jó tudni" doboz. */
.rpsv-section.rpsv-pricing.rpsv-section--dark { background: #055078; }
.rpsv-pricing .rpsv-head .rpsv-chip { background: #ffbf2d !important; color: #055078 !important; }
.rpsv-pricing .rpsv-head .rpsv-heading { color: #fff; }
.rpsv-pricing .rpsv-price-grid { margin-top: 48px; }
.rpsv-pricing .rpsv-price-card { background: #fff !important; color: #055078; border-radius: 28px; padding: 32px; box-shadow: 0 4px 24px rgba(0,74,107,.08), 0 1px 3px rgba(0,74,107,.05); text-align: left; }
.rpsv-price-ic { width: 48px; height: 48px; border-radius: 16px; background: rgba(218,56,49,.10); display: flex; align-items: center; justify-content: center; color: #da3831; flex: none; }
.rpsv-price-ic svg, .rpsv-price-ic i { width: 24px; height: 24px; font-size: 22px; color: #da3831; }
.rpsv-price-card:nth-child(2) .rpsv-price-ic { background: rgba(255,191,45,.30); color: #004a6b; }
.rpsv-price-card:nth-child(2) .rpsv-price-ic svg, .rpsv-price-card:nth-child(2) .rpsv-price-ic i { color: #004a6b; }
.rpsv-price-label { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; font-size: 16px; color: #da3831; margin: 20px 0 0; letter-spacing: -.01em; }
.rpsv-price { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 36px; line-height: 40px; color: #055078; margin: 8px 0 0; }
.rpsv-price-text { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 18px; line-height: 29px; color: rgba(5,80,120,.8); margin: 12px 0 0; }
.rpsv-price-note { margin-top: 32px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.2); border-radius: 24px; padding: 24px 28px; text-align: left; }
.rpsv-price-note-title { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: #ffbf2d; margin: 0; }
.rpsv-price-note ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.rpsv-price-note li { position: relative; padding-left: 18px; font-family: "Plus Jakarta Sans", sans-serif; font-size: 18px; line-height: 29px; color: rgba(255,255,255,.85); }
.rpsv-price-note li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: #ffbf2d; }

/* Menetrend / idővonal (rpsv_timeline) – Lovable szülinap: krém 2-oszlopos, sárga dot+badge, jobb kép. */
.rpsv-section.rpsv-timeline { background: #FAF8F3; padding: 80px 0; }
.rpsv-timeline .rpsv-timeline-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-timeline .rpsv-timeline-inner { padding: 0 32px; } }
.rpsv-timeline-grid { display: grid; gap: 40px; grid-template-columns: 1fr; align-items: center; }
@media (min-width: 1024px) { .rpsv-timeline--split .rpsv-timeline-grid { grid-template-columns: 1fr 1fr; } }
.rpsv-timeline-head .rpsv-chip { background: rgba(255,191,45,.3) !important; color: #004a6b !important; }
.rpsv-timeline .rpsv-timeline-head .rpsv-heading { color: #004a6b; font-size: 48px; line-height: 52px; margin: 20px 0 0; }
.rpsv-timeline-lead { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 18px; line-height: 29px; color: rgba(0,74,107,.85); margin: 20px 0 0; }
.rpsv-timeline-list { list-style: none; margin: 32px 0 0; padding: 0 0 0 24px; position: relative; border-left: 2px solid rgba(255,191,45,.3); display: grid; gap: 28px; }
.rpsv-timeline-list li { position: relative; }
.rpsv-timeline-dot { position: absolute; left: -33px; top: 6px; width: 16px; height: 16px; border-radius: 50%; background: #ffbf2d; border: 2px solid #fff; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
.rpsv-timeline-time { display: inline-block; background: rgba(255,191,45,.2); color: #004a6b; font-family: "Plus Jakarta Sans", sans-serif; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; padding: 6px 12px; border-radius: 999px; }
.rpsv-timeline .rpsv-timeline-title.rpsv-heading { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 20px; line-height: 26px; color: #004a6b; margin: 10px 0 0; }
.rpsv-timeline-text { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 16px; line-height: 24px; color: rgba(0,74,107,.75); margin: 6px 0 0; }
.rpsv-timeline-media { position: relative; }
.rpsv-timeline-blob { position: absolute; left: -20px; top: -20px; width: 256px; height: 288px; border-radius: 48px; background: #da3831; filter: blur(64px); mix-blend-mode: multiply; opacity: .12; pointer-events: none; }
.rpsv-timeline .rpsv-timeline-img { position: relative; width: 100% !important; height: 400px !important; border-radius: 32px; object-fit: cover; box-shadow: 0 8px 24px rgba(0,74,107,.12); display: block; }
@media (max-width: 1023px) { .rpsv-timeline .rpsv-timeline-img { height: 280px !important; } .rpsv-timeline-blob { display: none; } }

/* Galéria */
.rpsv-gallery-grid figure { margin: 0; }
.rpsv-gallery-grid img { width: 100%; height: 260px; object-fit: cover; border-radius: var(--rpsv-radius); box-shadow: var(--rpsv-shadow-soft); }

/* Videó */
.rpsv-video-frame { position: relative; padding-top: 56.25%; border-radius: var(--rpsv-radius); overflow: hidden; box-shadow: var(--rpsv-shadow-lift); margin-top: 24px; }
.rpsv-video-frame iframe, .rpsv-video-frame img { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }

/* CTA */
.rpsv-cta-box { border-radius: 2.5rem; padding: 56px 32px; background: rgba(255, 255, 255, .06); }
/* ── „Gyere el egy próbaórára" CTA (Lovable): a SZEKCIÓ KRÉM (nincs külön sötét háttér a
      buborék körül), csak a DOBOZ sötét navy; elsődleges gomb SÁRGA, másodlagos átlátszó outline. ── */
.rpsv-cta.rpsv-section--dark { background: none; color: inherit; }
/* Lovable-arány: keskenyebb doboz, középre (ne legyen sok üres hely a szöveg mellett). */
.rpsv-cta .rpsv-cta-box { background: var(--rpsv-ink-deep); color: #fff; max-width: 760px; margin: 0 auto; }
.rpsv-cta .rpsv-cta-box .rpsv-heading { color: #fff; }
/* Alcím: PJS 400 / 18px / 29px / fehér 80% (oklab white .8). */
.rpsv-cta .rpsv-cta-box .rpsv-lead { color: rgba(255, 255, 255, .8); font-size: 18px; line-height: 29px; font-weight: 400; }
/* Kiemelés (marker) NEM sárga itt, hanem #8cadbc (Lovable). */
.rpsv-cta .rpsv-mark { background-image: linear-gradient(transparent 62%, #8cadbc 62%, #8cadbc 92%, transparent 92%); }
/* Elsődleges = SÁRGA, sötét szöveggel. */
.rpsv-cta .rpsv-btn--primary {
	background: var(--rpsv-sun) !important;
	color: var(--rpsv-ink-deep) !important;
	box-shadow: 0 8px 20px -8px rgba(255, 191, 45, .5) !important;
}
.rpsv-cta .rpsv-btn--primary:hover {
	color: var(--rpsv-ink-deep) !important;
	box-shadow: 0 16px 32px -8px rgba(255, 191, 45, .6) !important;
}
/* Másodlagos „kék" gomb: TÖMÖR #99b7c4 háttér, #004a6b szöveg (Lovable). */
.rpsv-cta .rpsv-btn--ghost {
	background: #99b7c4 !important;
	color: #004a6b !important;
	border: none !important;
}
.rpsv-cta .rpsv-btn--ghost:hover { background: #8cadbc !important; color: #004a6b !important; }
.rpsv-cta-box.has-bg { background-size: cover; background-position: center; position: relative; }
.rpsv-cta-box.has-bg::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: rgba(5, 80, 120, .72); }
.rpsv-cta-inner { position: relative; }

/* Reszponzív */
@media (max-width: 1024px) {
	.rpsv-section { --rpsv-h1-size: 46px; --rpsv-h1-line: 50px; --rpsv-h2-size: 36px; --rpsv-h2-line: 40px; }
	.rpsv-hero-grid, .rpsv-split-grid { grid-template-columns: 1fr !important; }
	.rpsv-split-grid.is-reversed .rpsv-split-media { order: 0; }
	.rpsv-split--imgleft .rpsv-split-media { order: 0; }   /* mobilon a szöveg legyen elöl, a kép alatta */
	/* !important: beats Elementor per-element generated CSS (post-*.css) that pins 3 cols with no media query */
	.rpsv-cards-grid, .rpsv-price-grid, .rpsv-steps-grid, .rpsv-checkgrid, .rpsv-gallery-grid, .rpsv-groups-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
	.rpsv-section { padding: 56px 0; --rpsv-h1-size: 34px; --rpsv-h1-line: 40px; --rpsv-h2-size: 28px; --rpsv-h2-line: 34px; --rpsv-body-size: 17px; --rpsv-body-line: 27px; }
	.rpsv-cards-grid, .rpsv-price-grid, .rpsv-steps-grid, .rpsv-checkgrid, .rpsv-gallery-grid, .rpsv-groups-grid { grid-template-columns: 1fr !important; }
	.rpsv-step-arrow { display: none; }
	.rpsv-banner .rpsv-btn-row { margin: 8px 0 0; }
}

/* === Erőnlét (page-id-23) — a „Modern funkcionális edzőterem” szekció a Lovable-ön
   sötét navy (bg-brand-ink, fehér szöveg); a WP-tartalomban nem lett dark-variánsra
   állítva. Stabil Elementor-elem-ID-re skópolt override (mint a .rpsv-section--dark). */
.page-id-23 .elementor-element-baa94be .rpsv-section {
	background: #055078;
	color: #fff;
}
.page-id-23 .elementor-element-baa94be .rpsv-heading,
.page-id-23 .elementor-element-baa94be .rpsv-muted,
.page-id-23 .elementor-element-baa94be p,
.page-id-23 .elementor-element-baa94be li { color: #fff; }
/* A szekción belüli fehér info-kártya szövege maradjon sötét (ne olvadjon a fehérbe). */
.page-id-23 .elementor-element-baa94be .rpsv-card,
.page-id-23 .elementor-element-baa94be .rpsv-card * { color: #004a6b; }

/* ===== Lovable AgeGroupCard 1:1 – „Melyik csoportba jöjjünk?" (rpsv_groups, globális) ===== */
.rpsv-section.rpsv-groups {
	background: #FDFBF7;
	border-top: 1px solid rgba(5, 80, 120, 0.1);
	border-bottom: 1px solid rgba(5, 80, 120, 0.1);
	padding: 80px 0;
}
.rpsv-groups .rpsv-container { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-groups .rpsv-container { padding: 0 32px; } }

/* Rács: mt-10, gap-6 */
.rpsv-groups .rpsv-groups-grid { margin-top: 40px; gap: 24px; }

/* Kártya: fehér, 28px sarok, p-8, 2-rétegű árnyék */
.rpsv-groups .rpsv-group-card {
	border-radius: 28px;
	padding: 32px;
	box-shadow: 0 1px 2px rgba(5, 80, 120, .06), 0 8px 24px rgba(5, 80, 120, .06);
}
.rpsv-groups .rpsv-group-card:hover {
	transform: none;
	box-shadow: 0 1px 2px rgba(5, 80, 120, .06), 0 8px 24px rgba(5, 80, 120, .06);
}

/* Fejléc: ikon-kör 48×48 + korcsoport cím */
.rpsv-groups .rpsv-group-head { gap: 16px; align-items: center; margin-bottom: 24px; }
.rpsv-groups .rpsv-group-head .rpsv-icon--round { width: 48px; height: 48px; background: rgba(255, 191, 45, .30); }
.rpsv-groups .rpsv-group-head .rpsv-icon svg,
.rpsv-groups .rpsv-group-head .rpsv-icon i { width: 24px; height: 24px; font-size: 20px; color: #055078; }
.rpsv-groups .rpsv-group-head .rpsv-heading {
	font-family: "Fraunces", Georgia, serif;
	font-size: 21.6px; line-height: 22.4px; font-weight: 700; color: #055078; margin: 0;
}

/* Belső Alap/Haladó dobozok: ink/5 háttér, 16px sarok, p-4 */
.rpsv-groups .rpsv-group-rows { gap: 16px; margin-bottom: 0; }
.rpsv-groups .rpsv-group-row { background: rgba(5, 80, 120, .05); border-radius: 16px; padding: 16px; }
.rpsv-groups .rpsv-group-row-name { font-family: "Plus Jakarta Sans", sans-serif; font-size: 16px; font-weight: 700; color: #055078; margin: 0 0 4px; }
.rpsv-groups .rpsv-group-row p:not(.rpsv-group-row-name) { font-family: "Plus Jakarta Sans", sans-serif; font-size: 15.2px; font-weight: 400; line-height: 24px; color: #055078; margin: 0; }

/* Pipás jegyzetlista: mt-6, gap-3, piros pipa (kör nélkül) */
.rpsv-groups .rpsv-checklist { margin-top: 24px; gap: 12px; }
.rpsv-groups .rpsv-checklist li { gap: 12px; align-items: flex-start; font-family: "Plus Jakarta Sans", sans-serif; font-size: 15.2px; line-height: 24px; color: #055078; }
.rpsv-groups .rpsv-check {
	background: none; border-radius: 0; color: var(--rpsv-brand);
	width: 20px; height: 20px; margin-top: 2px; font-size: 16px; font-weight: 700;
}

/* Piros banner: 24px sarok, px-6 py-5, középre, uppercase */
.rpsv-groups .rpsv-banner { border-radius: 24px; padding: 20px 24px; margin-top: 32px; justify-content: center; text-align: center; }
.rpsv-groups .rpsv-banner p { font-family: "Plus Jakarta Sans", sans-serif; font-size: 18.4px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }

/* Szertorna 3–7 (page-id-28): a szekció-záró sávokat középre a kártyák és a szekció vége között
   (a lenti térköz = a szekció padding-bottomja, ezért a felső margó ezzel egyenlő → szimmetrikus). */
/* Ha a csoport-sáv az utolsó elem (a gombsort kivettük), középre a kártyák és a
   szekció vége közé: a felső margó = a szekció padding-bottomja (80px) → szimmetrikus.
   Automatikusan MINDEN ilyen oldalra (3–7, 8+), nem csak page-28-ra. */
.rpsv-groups .rpsv-container > .rpsv-banner:last-child { margin-top: 80px; }
.page-id-28 .rpsv-steps  .rpsv-container > .rpsv-note   { margin-top: 88px; }

/* ===== „8+ éves csoport" – Infó-kártya (rpsv_infocard, Lovable ticket-card + sárga badge) ===== */
.rpsv-section.rpsv-infocard {
	background: #FDFBF7;
	border-top: 1px solid rgba(5, 80, 120, 0.1);
	border-bottom: 1px solid rgba(5, 80, 120, 0.1);
	padding: 80px 0;
}
.rpsv-infocard .rpsv-infocard-inner { max-width: 896px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-infocard .rpsv-infocard-inner { padding: 0 32px; } }
.rpsv-infocard-card {
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 1px 2px rgba(5, 80, 120, .06), 0 8px 24px rgba(5, 80, 120, .06);
	padding: 32px;
	transition: transform .25s ease, box-shadow .25s ease;
}
@media (min-width: 768px) { .rpsv-infocard-card { padding: 40px; } }
.rpsv-infocard-card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(5, 80, 120, .14); }
.rpsv-infocard-head { display: flex; align-items: center; gap: 16px; }
.rpsv-infocard-head .rpsv-icon--round { width: 48px; height: 48px; background: rgba(255, 191, 45, .30); }
.rpsv-infocard-head .rpsv-icon svg,
.rpsv-infocard-head .rpsv-icon i { width: 24px; height: 24px; font-size: 20px; color: #055078; }
.rpsv-infocard-head .rpsv-heading {
	font-family: "Fraunces", Georgia, serif;
	font-size: 24px; line-height: 25.6px; font-weight: 600; color: #055078; margin: 0;
}
.rpsv-infocard-text {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 16.8px; line-height: 27.2px; color: #055078; margin: 24px 0 0;
}
.rpsv-infocard-badge {
	display: inline-flex; align-items: center; gap: 8px;
	background: rgba(255, 191, 45, .20);
	border-radius: 999px;
	padding: 8px 16px;
	font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; color: #055078;
	margin-top: 24px;
}
.rpsv-infocard-badge .rpsv-infocard-badge-ic { width: auto; height: auto; }
.rpsv-infocard-badge .rpsv-infocard-badge-ic svg,
.rpsv-infocard-badge .rpsv-infocard-badge-ic i { width: 16px; height: 16px; font-size: 16px; color: #055078; }

/* ===== Csoportkártya: leíró bekezdés (lista helyett) + sárga „badge" kiemelt sáv ===== */
/* Lovable ticket-card paragraph (pl. TG 8+/TG 10+ leírás) */
.rpsv-groups .rpsv-group-desc {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 16.8px; line-height: 27.2px; color: #055078; margin: 24px 0 0;
}
/* Sárga idő-jelvény sáv (pl. „A TG csoportok foglalkozásai 90 percesek.") */
.rpsv-banner--sun { background: rgba(255, 191, 45, .20); color: #055078; gap: 8px; }
/* Lovable: a sárga badge NEM uppercase, semibold (a piros banner uppercase szabályát felülírjuk). */
.rpsv-groups .rpsv-banner--sun p { color: #055078; text-transform: none; letter-spacing: normal; font-weight: 600; font-size: 18px; }
.rpsv-banner--sun .rpsv-banner-ic { color: #055078; }
.rpsv-banner-ic svg, .rpsv-banner-ic i { width: 20px; height: 20px; font-size: 18px; }
/* TG csoportok (page-27) kártya-címe a Lovable szerint 24px (a 8+ infocard-dal egyezően) */
.page-id-27 .rpsv-groups .rpsv-group-head .rpsv-heading { font-size: 24px; line-height: 25.6px; }

/* ===== Kép + szöveg (rpsv_split): Bal oldali kép + tükrözött dekor + bekezdés-térköz + gomb-alatti note ===== */
/* A „Bal oldalon" kapcsoló TÉNYLEGESEN balra teszi a képet (a régi .is-reversed osztály sosem került ki). */
.rpsv-split--imgleft .rpsv-split-media { order: -1; }
/* Ha a kép balra van, a sárga dekor-négyzet a BAL ALSÓ sarokba (tükrözve a jobb-felsőből). */
.rpsv-split--imgleft .rpsv-split-media::before { top: auto; right: auto; bottom: -34px; left: -34px; }
/* Bekezdés-térköz: a dupla Enter már külön <p>, 16px közzel (Lovable space-y-4) — nincs túl nagy <br><br> rés. */
.rpsv-split-copy p:not(.rpsv-split-note) { margin: 0 0 16px; }
/* Gomb alatti megjegyzés (Lovable mt-4): PJS 400 / 18px / 29px / muted. */
.rpsv-split-copy p.rpsv-split-note {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 400; font-size: 18px; line-height: 29px;
	color: oklch(0.48 0.03 240);
	margin: 16px 0 0;
}

/* ===== Élmény-kártyák (rpsv_expcards): „Miért szeretik a gyerekek?" – listás + képes kártyák ===== */
.rpsv-section.rpsv-expcards { background: #FDFBF7; padding: 64px 0; }
@media (min-width: 640px) { .rpsv-section.rpsv-expcards { padding: 80px 0; } }
.rpsv-expcards .rpsv-expcards-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-expcards .rpsv-expcards-inner { padding: 0 32px; } }
.rpsv-expcards-head { max-width: 672px; margin: 0 auto; text-align: center; }
.rpsv-expcards-head .rpsv-heading { margin: 20px 0 0; }   /* mt-5; méret/szín a globális h2 (48/48/#004a6b) */
.rpsv-expcards-grid { display: grid; gap: 24px; margin-top: 48px; }
@media (min-width: 1024px) { .rpsv-expcards-grid { grid-template-columns: repeat(3, 1fr); } }

/* Közös kártya (ticket-card) */
.rpsv-expcard {
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 1px 2px rgba(5, 80, 120, .06), 0 8px 24px rgba(5, 80, 120, .06);
}
.rpsv-expcard--list { padding: 32px; }
.rpsv-expcard--img { overflow: hidden; }

/* Listás kártya: ikon-kör (brand/10), pipás lista */
.rpsv-expcard-ic {
	width: 48px; height: 48px; border-radius: 16px;
	background: rgba(218, 56, 49, .10);
	display: flex; align-items: center; justify-content: center;
	color: #da3831; flex: none;
}
.rpsv-expcard-ic svg, .rpsv-expcard-ic i { width: 24px; height: 24px; font-size: 22px; color: #da3831; }
.rpsv-expcards .rpsv-expcard-title {
	font-family: "Fraunces", Georgia, serif;
	font-weight: 600; letter-spacing: -0.02em; color: #004a6b;
	font-size: 24px; line-height: 32px; margin: 20px 0 0;
}
.rpsv-expcards .rpsv-expcard-title--lg { font-size: 30px; line-height: 36px; }
.rpsv-expcard--img .rpsv-expcard-title { margin-top: 0; }
.rpsv-expcard-checklist {
	list-style: none; padding: 0; margin: 20px 0 0;
	display: grid; gap: 10px;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 16px; line-height: 26px; color: #055078;
}
.rpsv-expcard-checklist li { display: flex; align-items: flex-start; gap: 8px; }
.rpsv-expcard-check {
	width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0;
	color: #da3831; font-size: 14px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}

/* Képes kártya: kép felül (176px), tartalom-doboz p-8 */
/* !important + magasabb specificitás: legyőzi a téma/Elementor `img{height:auto}` szabályát. */
.rpsv-expcards .rpsv-expcard--img .rpsv-expcard-img { width: 100% !important; height: 176px !important; object-fit: cover; display: block; }
.rpsv-expcard-body { padding: 32px; }
.rpsv-expcard-text {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 18px; line-height: 29px; font-weight: 400; color: #4f606d;
	margin: 12px 0 0;
}

/* ===== Előny-kártyák (rpsv_benefits): „Mit fejleszt…?" ikon-dobozos rács + CTA ===== */
.rpsv-section.rpsv-benefits { background: #FDFBF7; padding: 64px 0; }
@media (min-width: 640px) { .rpsv-section.rpsv-benefits { padding: 80px 0; } }
.rpsv-benefits .rpsv-benefits-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-benefits .rpsv-benefits-inner { padding: 0 32px; } }
.rpsv-benefits-head { max-width: 672px; margin: 0 auto; text-align: center; }
.rpsv-benefits-head .rpsv-heading { margin: 20px 0 0; }   /* méret/szín a globális h2 (48/48/#004a6b) */
.rpsv-benefits-grid { display: grid; gap: 20px; margin-top: 48px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rpsv-benefits-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rpsv-benefits-grid { grid-template-columns: repeat(3, 1fr); } }

.rpsv-benefit-card {
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 1px 2px rgba(0, 74, 107, .06), 0 8px 24px rgba(0, 74, 107, .06);
	padding: 28px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.rpsv-benefit-card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(0, 74, 107, .12); }
/* Ikon-doboz: 48×48, rounded-2xl (16px), sun/25, ink ikon 24px – bal felül. */
.rpsv-benefit-ic {
	width: 48px; height: 48px; border-radius: 16px;
	background: rgba(255, 191, 45, .25);
	display: flex; align-items: center; justify-content: center;
	color: #004a6b; flex: none;
}
.rpsv-benefit-ic svg, .rpsv-benefit-ic i { width: 24px; height: 24px; font-size: 22px; color: #004a6b; }
.rpsv-benefits .rpsv-benefit-title {
	font-family: "Fraunces", Georgia, serif;
	font-weight: 600; letter-spacing: -0.02em; color: #004a6b;
	font-size: 24px; line-height: 30px; margin: 16px 0 0;
}
.rpsv-benefit-text {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 400; font-size: 18px; line-height: 29px; color: #4f606d;
	margin: 12px 0 0;
}
/* Központi CTA a rács alatt (mt-10) */
.rpsv-benefits-cta { margin-top: 40px; text-align: center; }

/* ===== Terem (rpsv_facility): sötét „Modern funkcionális edzőterem" – lista + info-kártya + 2 kép ===== */
.rpsv-section.rpsv-facility { background: #055078; padding: 80px 0; }
.rpsv-facility .rpsv-facility-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-facility .rpsv-facility-inner { padding: 0 32px; } }
.rpsv-facility-grid { display: grid; gap: 40px; grid-template-columns: 1fr; align-items: center; }
@media (min-width: 1024px) { .rpsv-facility-grid { grid-template-columns: 1fr 1fr; } }
/* chip: sárga, sötét szöveg (a dark-sectionön) */
.rpsv-facility .rpsv-chip { background: #FFBF2D !important; color: #004A6B !important; }
.rpsv-facility .rpsv-heading { color: #fff; }
.rpsv-facility-lead { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 18px; line-height: 29px; color: rgba(255,255,255,.8); margin: 20px 0 0; max-width: 520px; }
/* felszerelés-lista 2 oszlop, sárga pipa */
.rpsv-facility-equip { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 10px 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rpsv-facility-equip { grid-template-columns: repeat(2, 1fr); } }
.rpsv-facility-equip li { display: flex; align-items: flex-start; gap: 8px; font-family: "Plus Jakarta Sans", sans-serif; font-size: 16px; line-height: 26px; color: rgba(255,255,255,.9); }
.rpsv-facility-check { color: #FFBF2D; margin-top: 2px; flex: none; width: 16px; font-size: 14px; font-weight: 700; display: inline-flex; justify-content: center; }
/* fehér info-kártya, sárga bal-border, SÖTÉT szöveg */
.rpsv-facility-callout { margin-top: 32px; max-width: 520px; background: #fff; border-radius: 24px; border-left: 4px solid #FFBF2D; padding: 24px; box-shadow: 0 8px 24px rgba(0,0,0,.12); display: flex; align-items: flex-start; gap: 16px; }
.rpsv-facility-callout-ic { width: 48px; height: 48px; border-radius: 16px; background: rgba(255,191,45,.25); display: flex; align-items: center; justify-content: center; color: #004A6B; flex: none; }
.rpsv-facility-callout-ic svg, .rpsv-facility-callout-ic i { width: 24px; height: 24px; font-size: 22px; color: #004A6B; }
.rpsv-facility .rpsv-facility-callout-title { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 20px; line-height: 1.3; color: #004A6B !important; margin: 0; }
.rpsv-facility .rpsv-facility-callout-text { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 16px; line-height: 26px; color: #475569 !important; margin: 8px 0 0; }
/* 2 lépcsőzetes kép */
.rpsv-facility-media { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.rpsv-facility .rpsv-facility-img { width: 100% !important; height: 280px !important; border-radius: 24px; object-fit: cover; display: block; }
.rpsv-facility-img--2 { margin-top: 32px; }
@media (max-width: 1023px) { .rpsv-facility .rpsv-facility-img { height: 224px !important; } .rpsv-facility-img--2 { margin-top: 0; } }

/* ===== Biztonság (rpsv_safety): bal kép + jobb tartalom (krémdobozos lista + sárga figyelmeztetés) ===== */
.rpsv-section.rpsv-safety { background: #FDFBF7; padding: 80px 0; }
.rpsv-safety .rpsv-safety-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-safety .rpsv-safety-inner { padding: 0 32px; } }
.rpsv-safety-grid { display: grid; gap: 32px; grid-template-columns: 1fr; align-items: center; }
@media (min-width: 1024px) { .rpsv-safety-grid { grid-template-columns: 0.9fr 1.1fr; } }
.rpsv-safety .rpsv-safety-img { width: 100% !important; height: 288px !important; border-radius: 28px; object-fit: cover; display: block; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
@media (min-width: 640px) { .rpsv-safety .rpsv-safety-img { height: 384px !important; } }
.rpsv-safety .rpsv-chip { background: rgba(255,191,45,.3) !important; color: #004A6B !important; }
.rpsv-safety .rpsv-heading { color: #004A6B; }
.rpsv-safety-list { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; }
.rpsv-safety-item { display: flex; align-items: flex-start; gap: 12px; background: #F5F0E8; border-radius: 16px; padding: 16px; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500; font-size: 18px; line-height: 29px; color: #004A6B; }
.rpsv-safety-ic { color: #DA3831; flex: none; margin-top: 2px; }
.rpsv-safety-ic svg, .rpsv-safety-ic i { width: 20px; height: 20px; font-size: 18px; color: #DA3831; }
.rpsv-safety-note { margin-top: 24px; display: flex; align-items: flex-start; gap: 12px; background: rgba(255,191,45,.15); border: 2px solid #FFBF2D; border-radius: 20px; padding: 20px; }
.rpsv-safety-note-ic { color: #DA3831; flex: none; margin-top: 2px; }
.rpsv-safety-note-ic svg, .rpsv-safety-note-ic i { width: 20px; height: 20px; font-size: 18px; color: #DA3831; }
.rpsv-safety-note p { margin: 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 18px; line-height: 29px; color: #004A6B; }
.rpsv-safety-note strong { font-weight: 700; }

/* ===== Videó (rpsv_video): előnézeti kártya + modal YouTube-lejátszó ===== */
.rpsv-section.rpsv-video { background: transparent; padding: 0 0 80px; }
.rpsv-video .rpsv-video-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-video .rpsv-video-inner { padding: 0 32px; } }
.rpsv-video-card { position: relative; overflow: hidden; border-radius: 32px; box-shadow: 0 24px 60px -20px rgba(4,26,43,.28); }
.rpsv-video .rpsv-video-poster { width: 100% !important; aspect-ratio: 16/9; height: auto !important; object-fit: cover; object-position: center; display: block; }
.rpsv-video-overlay { position: absolute; inset: 0; background: rgba(4,74,107,.60); }
.rpsv-video-content { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 24px; text-align: center; }
.rpsv-video-play { width: 80px; height: 80px; border-radius: 999px; border: 0; background: #FFBF2D; color: #004A6B; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 24px 60px -20px rgba(4,26,43,.28); transition: transform .2s ease; }
.rpsv-video-play svg { margin-left: 4px; }
.rpsv-video-play:hover { transform: scale(1.05); }
.rpsv-video-play[disabled] { opacity: .8; cursor: default; }
.rpsv-video-content .rpsv-video-title.rpsv-heading { color: #fff; max-width: 576px; margin: 0; font-size: 48px; line-height: 48px; }
.rpsv-video-desc { max-width: 512px; margin: 0; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 16px; line-height: 26px; color: rgba(255,255,255,.8); }
/* Modal */
.rpsv-video-modal { position: fixed; inset: 0; z-index: 100; background: rgba(4,74,107,.85); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; padding: 16px; }
.rpsv-video-modal-window { position: relative; width: 100%; max-width: 896px; border-radius: 24px; background: #004A6B; overflow: hidden; }
.rpsv-video-modal-frame { aspect-ratio: 16/9; width: 100%; }
.rpsv-video-modal-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.rpsv-video-modal-close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 999px; border: 0; background: #FFBF2D; color: #004A6B; font-size: 24px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; z-index: 2; }
@media (max-width: 640px) {
	.rpsv-video-content .rpsv-video-title.rpsv-heading { font-size: 30px; line-height: 34px; }
	.rpsv-video-play { width: 64px; height: 64px; }
}

/* ===== Gyors CTA kártya (rpsv_ctacard): ikon+cím+alcím bal, gomb+link jobb ===== */
.rpsv-section.rpsv-ctacard { background: #FAF8F3; padding: 64px 0; }
.rpsv-ctacard .rpsv-ctacard-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-ctacard .rpsv-ctacard-inner { padding: 0 32px; } }
.rpsv-ctacard-card {
	background: #fff; border-radius: 28px; padding: 24px;
	box-shadow: 0 1px 2px rgba(0,74,107,.06), 0 8px 24px rgba(0,74,107,.08);
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
@media (min-width: 640px) { .rpsv-ctacard-card { padding: 32px; flex-wrap: nowrap; } }
.rpsv-ctacard-left { display: flex; align-items: flex-start; gap: 16px; }
.rpsv-ctacard-ic { width: 48px; height: 48px; border-radius: 999px; background: rgba(218,56,49,.10); display: flex; align-items: center; justify-content: center; color: #DA3831; flex: none; }
.rpsv-ctacard-ic svg, .rpsv-ctacard-ic i { width: 24px; height: 24px; font-size: 22px; color: #DA3831; }
.rpsv-ctacard-title { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 24px; line-height: 30px; color: #004A6B; margin: 0; }
.rpsv-ctacard-sub { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 16px; line-height: 22px; color: #6B7280; margin: 6px 0 0; }
.rpsv-ctacard-right { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rpsv-ctacard-link { display: inline-flex; align-items: center; gap: 8px; color: #DA3831; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; font-size: 15px; text-decoration: none; }
.rpsv-ctacard-link:hover { text-decoration: underline; }
@media (max-width: 639px) {
	.rpsv-ctacard-card { flex-direction: column; align-items: center; text-align: center; }
	.rpsv-ctacard-right { flex-direction: column; width: 100%; }
	.rpsv-ctacard-right .rpsv-btn { width: 100%; justify-content: center; }
}

/* Magánóra „részletek" (page-25) intro szekció háttere: meleg krém #f5efe6 (Lovable). */
.page-id-25 .rpsv-section.rpsv-intro { background: #f5efe6; }

/* ===== Galéria lightbox (lapozható: nyilak + billentyű + számláló) ===== */
.rpsv-lightbox { position: fixed; inset: 0; z-index: 99999; background: rgba(5,80,120,.92); display: flex; align-items: center; justify-content: center; padding: 24px; }
.rpsv-lb-img { max-width: min(1100px, 92vw); max-height: 86vh; border-radius: 20px; box-shadow: 0 24px 60px rgba(0,0,0,.4); }
.rpsv-lb-btn { position: absolute; border: 0; background: #ffbf2d; color: #004a6b; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
.rpsv-lb-close { top: 20px; right: 20px; width: 44px; height: 44px; font-size: 26px; line-height: 1; }
.rpsv-lb-prev, .rpsv-lb-next { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 34px; line-height: 1; }
.rpsv-lb-prev { left: 20px; }
.rpsv-lb-next { right: 20px; }
.rpsv-lb-btn:hover { filter: brightness(1.06); }
.rpsv-lb-count { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; font-size: 14px; background: rgba(0,0,0,.35); padding: 5px 14px; border-radius: 999px; }
@media (max-width: 640px) { .rpsv-lb-prev, .rpsv-lb-next { width: 42px; height: 42px; font-size: 26px; } .rpsv-lb-prev { left: 8px; } .rpsv-lb-next { right: 8px; } }

/* Szülinap (page-30) záró CTA: sima KRÉM szekció (nem kék doboz), középre, piros gomb. */
.page-id-30 .rpsv-section.rpsv-cta { background: #FDFBF7; padding: 80px 0; }
.page-id-30 .rpsv-cta .rpsv-cta-box { background: transparent !important; color: #055078; padding: 0; max-width: 720px; margin: 0 auto; }
.page-id-30 .rpsv-cta .rpsv-cta-box .rpsv-heading { color: #055078; font-size: 48px; line-height: 52px; }
.page-id-30 .rpsv-cta .rpsv-cta-box .rpsv-lead { color: rgba(5,80,120,.8); font-size: 18px; line-height: 29px; font-weight: 400; max-width: 600px; margin-left: auto; margin-right: auto; }
.page-id-30 .rpsv-cta .rpsv-btn--primary { background: #da3831 !important; color: #fff !important; font-size: 16px; padding: 16px 28px; box-shadow: 0 8px 24px rgba(218,56,49,.25) !important; }
.page-id-30 .rpsv-cta .rpsv-btn--primary:hover { background: #c22f29 !important; transform: translateY(-2px); }

/* ===== Info-kártya kapcsolattal (rpsv_teaminfo): „Kik vannak a gyerekekkel?" ===== */
.rpsv-section.rpsv-teaminfo { background: #FDFBF7; padding: 80px 0; }
.rpsv-teaminfo .rpsv-teaminfo-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-teaminfo .rpsv-teaminfo-inner { padding: 0 32px; } }
.rpsv-teaminfo-card { max-width: 700px; margin: 0 auto; background: #fff; border-radius: 28px; padding: 48px; box-shadow: 0 4px 24px rgba(0,74,107,.06), 0 1px 3px rgba(0,74,107,.08); text-align: center; }
@media (max-width: 640px) { .rpsv-teaminfo-card { padding: 32px; } }
.rpsv-teaminfo-ic { width: 48px; height: 48px; border-radius: 999px; background: rgba(218,56,49,.10); color: #da3831; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.rpsv-teaminfo-ic svg, .rpsv-teaminfo-ic i { width: 24px; height: 24px; font-size: 22px; color: #da3831; }
.rpsv-teaminfo .rpsv-teaminfo-title.rpsv-heading { color: #004a6b; font-size: 48px; line-height: 48px; margin: 0; }
.rpsv-teaminfo-text { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 18px; line-height: 29px; color: rgba(0,74,107,.9); max-width: 650px; margin: 20px auto 0; }
.rpsv-teaminfo-note { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 400; font-size: 14px; line-height: 22px; color: rgba(0,74,107,.75); margin: 16px 0 0; }
.rpsv-teaminfo-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }
.rpsv-teaminfo-btn { display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 1px solid rgba(0,74,107,.2); border-radius: 999px; padding: 12px 20px; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; font-size: 14px; line-height: 20px; color: #004a6b; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.rpsv-teaminfo-btn:hover { background: rgba(0,74,107,.05); transform: translateY(-1px); }
.rpsv-teaminfo-btn-ic svg, .rpsv-teaminfo-btn-ic i { width: 16px; height: 16px; font-size: 15px; color: #004a6b; }
@media (max-width: 640px) { .rpsv-teaminfo .rpsv-teaminfo-title.rpsv-heading { font-size: 32px; line-height: 36px; } .rpsv-teaminfo-btns { flex-direction: column; } .rpsv-teaminfo-btn { width: 100%; justify-content: center; } }

/* ===== Partnerek (rpsv_partners): logó carousel ===== */
.rpsv-section.rpsv-partners { background: #FDFBF7; border-top: 1px solid rgba(0,74,107,.1); padding: 80px 0; overflow: hidden; }
.rpsv-partners .rpsv-partners-inner { max-width: 1152px; padding: 0 20px; }
@media (min-width: 640px) { .rpsv-partners .rpsv-partners-inner { padding: 0 32px; } }
.rpsv-partners-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.rpsv-partners .rpsv-partners-title.rpsv-heading { color: #004a6b; font-size: 48px; line-height: 48px; margin: 0; }
.rpsv-partners-nav { display: flex; gap: 8px; flex: none; }
.rpsv-partners-arrow { width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid rgba(0,74,107,.15); color: #004a6b; font-size: 20px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.rpsv-partners-arrow:hover { background: rgba(0,74,107,.05); }
.rpsv-partners-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 4px; }
.rpsv-partners-track::-webkit-scrollbar { display: none; }
.rpsv-partner-card { flex: none; min-width: 200px; height: 120px; background: #fff; border: 1px solid rgba(0,74,107,.1); border-radius: 28px; padding: 24px; display: flex; align-items: center; justify-content: center; scroll-snap-align: start; transition: transform .2s ease, box-shadow .2s ease; }
.rpsv-partner-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,74,107,.1); }
.rpsv-partner-card img { max-width: 140px; max-height: 60px; object-fit: contain; width: auto !important; height: auto !important; filter: grayscale(100%); opacity: .75; transition: filter .25s ease, opacity .25s ease; }
.rpsv-partner-card:hover img { filter: grayscale(0); opacity: 1; }
@media (max-width: 640px) { .rpsv-partners .rpsv-partners-title.rpsv-heading { font-size: 32px; line-height: 36px; } }

/* ===== Intézményeknek: Kiemelések (rp-highlights) + Mikor tudnak jönni? (rpi-when) + Jó tudni (rpi-good) ===== */
.rp-highlights{padding:80px 0;background:#FDFBF7}
.rp-highlights__grid{display:grid;gap:24px;max-width:1280px;margin:0 auto;padding:0 20px}
@media(min-width:768px){.rp-highlights__grid{grid-template-columns:repeat(3,1fr);padding:0 32px}}
.rp-highlight-card{background:#fff;border-radius:28px;padding:32px;box-shadow:0 18px 50px rgba(0,74,107,.08);transition:transform .25s ease,box-shadow .25s ease}
.rp-highlight-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(0,74,107,.12)}
.rp-highlight-card__icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background-color:rgba(218,56,49,.10);color:#DA3831}
.rp-highlight-card__icon-wrap svg,.rp-highlight-card__icon-wrap i{width:28px;height:28px;font-size:24px;fill:currentColor}
.rp-highlight-card__icon-wrap svg.lucide{fill:none;stroke:currentColor}
.rp-highlight-card__title{margin:24px 0 0;font-family:"Fraunces",ui-serif,Georgia,serif;font-weight:600;font-size:21.6px;line-height:1.25;color:#004A6B}
.rp-highlight-card__text{margin:12px 0 0;font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:18px;line-height:29px;color:rgba(0,74,107,.80)}

.rpi-when{background:#FDFBF7;border-top:1px solid rgba(5,80,120,.10);border-bottom:1px solid rgba(5,80,120,.10);padding:80px 0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.rpi-when__wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.rpi-when__head{max-width:768px;margin:0 auto;text-align:center}
.rpi-when__title{font-family:"Fraunces",ui-serif,Georgia,serif;font-weight:600;font-size:48px;line-height:48px;letter-spacing:-.02em;color:#055078;margin:0}
.rpi-when__lead{font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:18px;line-height:29px;color:#4A5A66;margin:20px 0 0}
.rpi-when__grid{display:grid;gap:24px;margin-top:48px}
@media(min-width:768px){.rpi-when__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rpi-card{background:#fff;border-radius:28px;padding:32px;box-shadow:0 1px 2px rgba(5,80,120,.06),0 8px 24px rgba(5,80,120,.06);transition:transform .35s ease,box-shadow .35s ease}
.rpi-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(5,80,120,.08),0 24px 48px -12px rgba(5,80,120,.18)}
.rpi-card__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;color:#055078}
.rpi-card__icon svg,.rpi-card__icon i{width:28px;height:28px;font-size:24px;fill:currentColor}
.rpi-card__icon svg.lucide{fill:none;stroke:currentColor}
.rpi-card__icon--navy{background:rgba(5,80,120,.10)}
.rpi-card__icon--sun{background:rgba(255,191,45,.30)}
.rpi-card__title{font-family:"Fraunces",ui-serif,Georgia,serif;font-weight:600;font-size:21.6px;line-height:28px;letter-spacing:-.02em;color:#055078;margin:24px 0 0}
.rpi-card__text{font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:18px;line-height:29px;color:#4A5A66;margin:12px 0 0}

.rpi-good{padding:80px 0;background:#FDFBF7;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.rpi-good__wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.rpi-good__cols{display:grid;gap:48px;align-items:center}
@media(min-width:1024px){.rpi-good__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rpi-good__title{font-family:"Fraunces",ui-serif,Georgia,serif;font-weight:600;font-size:48px;line-height:48px;letter-spacing:-.02em;color:#055078;margin:0}
.rpi-good__lead{font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:18px;line-height:29px;color:#4A5A66;margin:20px 0 0}
.rpi-good__list{margin-top:32px;display:flex;flex-direction:column;gap:24px}
.rpi-item{display:flex;align-items:flex-start;gap:16px}
.rpi-item__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:rgba(218,56,49,.10);color:#DA3831}
.rpi-item__icon svg,.rpi-item__icon i{width:24px;height:24px;font-size:20px;fill:currentColor}
.rpi-item__icon svg.lucide{fill:none;stroke:currentColor}
.rpi-item__title{font-family:"Fraunces",ui-serif,Georgia,serif;font-weight:600;font-size:19.2px;line-height:26px;letter-spacing:-.02em;color:#055078;margin:0}
.rpi-item__text{font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:18px;line-height:29px;color:#4A5A66;margin:8px 0 0}
.rpi-good__media{display:grid;gap:20px}
.rpi-good__img{margin:0;border-radius:28px;overflow:hidden}
.rpi-good__img img{display:block;width:100%;height:100%;object-fit:cover}
@media(min-width:640px){.rpi-good__media{grid-template-columns:repeat(2,minmax(0,1fr))}.rpi-good__media .rpi-good__img--offset{margin-top:40px !important}}
.rpi-mark{background-image:linear-gradient(120deg,#FFBF2D 0%,#FFBF2D 100%);background-repeat:no-repeat;background-size:100% .42em;background-position:0 92%;padding:0 .15em;border-radius:.06em;color:#055078;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media(max-width:767px){.rp-highlights{padding:56px 0}.rpi-when{padding:56px 0}.rpi-when__wrap{padding:0 20px}.rpi-when__title{font-size:36px;line-height:40px}.rpi-good{padding:56px 0}.rpi-good__wrap{padding:0 20px}.rpi-good__title{font-size:36px;line-height:40px}}
/* Szertorna „Amit a program fejleszt": térköz a pipás lista (checkgrid) és az alatta lévő lead-szöveg között */
.rpsv-checkgrid + .rpsv-lead { margin-top: 32px; }
/* Csoport-kártya (rpsv_groups): térköz a címsor és az alatta lévő leírás közt + a felsorolás betűméret (Kiss Ernő spec) */
.rpsv-groups .rpsv-group-head .rpsv-heading { margin-bottom: 12px !important; }
.rpsv-group-card .rpsv-checklist { margin-top: 4px; }
.rpsv-group-card .rpsv-checklist li,
.rpsv-group-card .rpsv-checklist li > span:last-child {
	font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	font-weight: 400; font-size: 18px; line-height: 29px; color: oklch(0.48 0.03 240);
}
/* A csoport-CTA körüli 2 vonal + a groups szekció alsó vonala eltávolítva (Kiss Ernő 2026-08-26) */
.rpsv-groups-cta::before, .rpsv-groups-cta::after { display: none !important; }
.rpsv-groups { border-bottom: none !important; }
