/* ==== Betűk (helyben tárolt, latin + latin-ext a magyar ékezetekhez) ==== */
@font-face { font-family: "Nunito Sans"; font-weight: 400; font-display: swap; src: url(../fonts/nunito-sans-latin-ext-400.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Nunito Sans"; font-weight: 400; font-display: swap; src: url(../fonts/nunito-sans-latin-400.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Nunito Sans"; font-weight: 600; font-display: swap; src: url(../fonts/nunito-sans-latin-ext-600.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Nunito Sans"; font-weight: 600; font-display: swap; src: url(../fonts/nunito-sans-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Nunito Sans"; font-weight: 700; font-display: swap; src: url(../fonts/nunito-sans-latin-ext-700.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Nunito Sans"; font-weight: 700; font-display: swap; src: url(../fonts/nunito-sans-latin-700.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Nunito Sans"; font-weight: 800; font-display: swap; src: url(../fonts/nunito-sans-latin-ext-800.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Nunito Sans"; font-weight: 800; font-display: swap; src: url(../fonts/nunito-sans-latin-800.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Cormorant Garamond"; font-weight: 600; font-display: swap; src: url(../fonts/cormorant-garamond-latin-ext-600.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Cormorant Garamond"; font-weight: 600; font-display: swap; src: url(../fonts/cormorant-garamond-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Cormorant Garamond"; font-weight: 700; font-display: swap; src: url(../fonts/cormorant-garamond-latin-ext-700.woff2) format("woff2"); unicode-range: U+0100-024F, U+1E00-1EFF; }
@font-face { font-family: "Cormorant Garamond"; font-weight: 700; font-display: swap; src: url(../fonts/cormorant-garamond-latin-700.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }

/* ==== Tokenek ==== */
:root {
	--sotetkek: #16324f; --arany: #d4a24c; --arany-sotet: #b07f2a; --arany-szoveg: #8a6220; /* szövegként csak ez (WCAG AA) */ --krem: #fdfaf4; --homok: #efe7d8;
	--homok-sotet: #d9c9a8; --egkek: #9fc3d6; --zsalya: #7ea67a; --szoveg: #2b4560; --halvany: #5d7389;
	--betu: "Nunito Sans", system-ui, sans-serif; --cimbetu: "Cormorant Garamond", Georgia, serif;
	--sugar: 16px; --sugar-kicsi: 10px; --szel: 1200px; --oldalter: clamp(16px, 4vw, 32px);
	--arnyek: 0 6px 18px rgba(22, 50, 79, .12);
}

/* ==== Alap ==== */
*, *::before, *::after { box-sizing: border-box; }
/* a html háttere a lábléc alsó sorának színe: magas ablakban a lábléc alatt ez folytatódik (a body krém) */
html { -webkit-text-size-adjust: 100%; background: #0e2238; scroll-padding-top: 132px; } /* a horgonyok (#foglalas) ne a ragadós fejléc alá ugorjanak */
body { margin: 0; background: var(--krem); color: var(--szoveg); font: 400 17px/1.6 var(--betu); } /* nincs overflow-x:hidden – ne takarja el a kilógó elemeket */
img { max-width: 100%; height: auto; display: block; }
a { color: var(--sotetkek); text-underline-offset: 3px; }
/* szövegkijelölés: a gombok aranya sötétkék szöveggel (5,6:1); az arany hátterű elemeken fordítva, különben nem látszana */
::selection { background: var(--arany); color: var(--sotetkek); }
:is(.gomb:not(.gomb-korvonal), .tartalom input[type=submit], .tartalom button[type=submit], .lapozo .current, .wp-block-button__link, .hozzaszolas-betu) ::selection,
:is(.gomb:not(.gomb-korvonal), .tartalom input[type=submit], .tartalom button[type=submit], .lapozo .current, .wp-block-button__link, .hozzaszolas-betu)::selection { background: var(--sotetkek); color: #fff; }
a:hover { color: var(--arany-szoveg); }
:focus-visible { outline: 3px solid var(--sotetkek); outline-offset: 2px; }
.lablec :focus-visible, .hero :focus-visible { outline-color: var(--arany); }
h1, h2, h3, h4 { font-family: var(--cimbetu); color: var(--sotetkek); line-height: 1.15; margin: 0 0 .5em; font-weight: 700; }
h1 { font-size: clamp(34px, 5vw, 52px); }
h2 { font-size: clamp(28px, 3.6vw, 38px); }
h3 { font-size: 24px; }
p { margin: 0 0 1em; }
.ikon { width: 1.2em; height: 1.2em; flex: none; vertical-align: -.2em; stroke-width: 1.8; }
.kepernyoolvaso, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ugras { position: absolute; left: -9999px; }
.ugras:focus { left: 16px; top: 16px; z-index: 100; background: #fff; padding: 8px 14px; border-radius: 8px; }
/* „Az oldal tetejére” gomb (menu.js): görgetés után; a mobilos foglalási sáv / sütisáv fölött (--tetejere-also) */
.tetejere { position: fixed; right: 20px; bottom: calc(20px + var(--tetejere-also, 0px)); z-index: 45; display: grid; place-items: center;
	width: 48px; height: 48px; padding: 0; border: 2px solid transparent; border-radius: 50%; background: var(--sotetkek); color: #fff; cursor: pointer;
	box-shadow: 0 0 0 2px var(--krem), var(--arnyek); /* krém gyűrű: a sötétkék láblécen is kirajzolódik */ opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility 0s .2s, border-color .2s; }
.tetejere.lathato { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .2s, visibility 0s, border-color .2s; }
.tetejere:hover { border-color: var(--arany); }
.tetejere:focus-visible { outline-color: var(--arany); }
.tetejere .ikon { width: 22px; height: 22px; }
body.panel-zarolt .tetejere { display: none; }
@media (max-width: 639px) { .tetejere { right: 14px; bottom: calc(14px + var(--tetejere-also, 0px)); width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .tetejere, .tetejere.lathato { transition: none; transform: none; } }
/* Képnéző (lightbox.js, template-parts/lightbox.php): sötétkék, áttetsző háttér (88%), a kép fehér, lekerekített kártyán,
   alatta Cormorant felirat + arany számláló; asztali nézetben nyilak és bélyegkép-sor, mobilon húzás */
.lightbox { position: fixed; inset: 0; z-index: 100100; /* a sütisáv (100000) fölött is */ display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; justify-items: center; align-items: center;
	background: rgba(14, 34, 56, .88); opacity: 0; transition: opacity .2s; touch-action: pinch-zoom; overscroll-behavior: contain; }
.lightbox[hidden] { display: none; }
.lightbox.latszik { opacity: 1; }
.lightbox :focus-visible { outline-color: var(--arany); }
.lightbox-felso { grid-row: 1; justify-self: stretch; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 24px; }
.lightbox-cim { font: 700 24px/1.2 var(--cimbetu); color: var(--krem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lightbox-bezar { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
	background: var(--sotetkek); color: #fff; box-shadow: 0 0 0 2px var(--krem); }
.lightbox-bezar:hover { background: #0e2238; }
.lightbox-kartya { grid-row: 2; position: relative; display: flex; flex-direction: column; margin: 0; padding: 10px 10px 0; background: #fff; border-radius: 18px; box-shadow: 0 18px 50px rgba(0, 0, 0, .45); }
/* töltés közben (lightbox.js): ha még nincs kép, helyőrző (3:2) felirat nélkül; forgó jelző a kártya közepén – rövid
   késleltetéssel, hogy a gyorsítótárból jövő képnél ne villanjon fel */
.lightbox-kartya.ures { padding-bottom: 10px; }
.lightbox-kartya.ures .lightbox-kep { display: none; }
.lightbox-kartya.ures::before { content: ""; display: grid; place-items: center; box-sizing: border-box; width: min(720px, calc(100vw - 220px)); aspect-ratio: 3 / 2;
	max-height: calc(100vh - 290px); max-height: calc(100dvh - 290px); padding: 16px; border-radius: 12px; background: var(--homok); color: var(--sotetkek); text-align: center; }
.lightbox-kartya.ures:not(.hiba) .lightbox-alairas { display: none; }
.lightbox-kartya.hiba::before { content: "A kép nem tölthető be."; }
.lightbox-kartya.tolt::after { content: ""; position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; box-sizing: border-box;
	border: 4px solid rgba(22, 50, 79, .2); border-top-color: var(--sotetkek); border-radius: 50%; opacity: 0;
	animation: lightbox-forog .8s linear infinite, lightbox-feltunik .2s .15s forwards; }
@keyframes lightbox-forog { to { transform: rotate(360deg); } }
@keyframes lightbox-feltunik { to { opacity: 1; } }
.lightbox-kep { display: block; width: auto; height: auto; max-width: min(1200px, calc(100vw - 220px)); max-height: calc(100vh - 290px); max-height: calc(100dvh - 290px);
	border-radius: 12px; transition: opacity .2s; user-select: none; -webkit-user-drag: none; } /* a natív kép-húzás megszakítaná a lapozó húzást */
.lightbox-kartya.tolt .lightbox-kep { opacity: .35; }
.lightbox-alairas { width: 0; min-width: 100%; box-sizing: border-box; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 6px 12px; }
.lightbox-felirat { font: 700 21px/1.25 var(--cimbetu); color: var(--sotetkek); }
.lightbox-szamlalo { font-size: 14px; font-weight: 700; color: var(--arany-szoveg); white-space: nowrap; }
.lightbox-nyil { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%;
	background: #fff; color: var(--sotetkek); box-shadow: 0 4px 14px rgba(0, 0, 0, .25); cursor: pointer; }
.lightbox-nyil:hover:not(:disabled) { box-shadow: 0 0 0 2px var(--arany), 0 4px 14px rgba(0, 0, 0, .25); }
.lightbox-nyil:disabled { opacity: .35; cursor: default; }
.lightbox-elozo { left: 24px; }
.lightbox-kovetkezo { right: 24px; }
.lightbox-nyil .ikon, .lightbox-bezar .ikon { width: 22px; height: 22px; }
.lightbox-huzas { display: none; grid-row: 3; margin: 14px 0 0; font-size: 13px; color: #cfdbe6; }
.lightbox-belyegek { grid-row: 4; display: flex; gap: 8px; max-width: calc(100vw - 48px); overflow-x: auto; padding: 14px 4px 22px; scrollbar-width: thin; }
.lightbox-belyeg { flex: 0 0 auto; width: 64px; height: 44px; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: none; opacity: .55; cursor: pointer; transition: opacity .15s; }
.lightbox-belyeg img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lightbox-belyeg:hover { opacity: .85; }
.lightbox-belyeg[aria-current] { opacity: 1; outline: 2px solid var(--krem); outline-offset: 2px; }
.lightbox.egy-kep :is(.lightbox-nyil, .lightbox-huzas, .lightbox-belyegek) { display: none; }
body.lightbox-nyitva { overflow: hidden; }
body.lightbox-nyitva .tetejere { display: none; }
@media (max-width: 639px) {
	.lightbox-felso { padding: 12px 14px; }
	.lightbox-cim { font-size: 19px; }
	.lightbox-kartya { padding: 6px 6px 0; border-radius: 14px; }
	.lightbox-kartya.ures { padding-bottom: 6px; }
	.lightbox-kartya.ures::before { width: calc(100vw - 36px); max-height: calc(100vh - 250px); max-height: calc(100dvh - 250px); border-radius: 9px; }
	.lightbox-kep { max-width: calc(100vw - 36px); max-height: calc(100vh - 250px); max-height: calc(100dvh - 250px); border-radius: 9px; }
	.lightbox-alairas { flex-direction: column; gap: 2px; padding: 8px 4px 10px; }
	.lightbox-felirat { font-size: 18px; }
	.lightbox-nyil, .lightbox-belyegek { display: none; }
	.lightbox-huzas { display: block; margin-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) { .lightbox, .lightbox-kep, .lightbox-belyeg { transition: none; } .lightbox-kartya.tolt::after { animation: lightbox-feltunik .2s .15s forwards; } }
.tarolo { width: min(var(--szel), 100% - 2 * var(--oldalter)); margin-inline: auto; }
.szakasz { padding-block: clamp(40px, 6vw, 72px); }
.szakasz-cim { text-align: center; margin-bottom: clamp(20px, 3vw, 32px); }
.szakasz-cim p { color: var(--halvany); margin: 0; }

/* ==== Gombok ==== */
.gomb { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 12px; border: 0;
	background: var(--arany); color: var(--sotetkek); font: 800 16px/1.2 var(--betu); text-decoration: none; cursor: pointer; transition: background .2s, color .2s; }
.gomb:hover { background: var(--sotetkek); color: #fff; } /* sötétkék az aranyon: 5,6:1 (fehér csak 2,3:1 lenne) */
.gomb-korvonal { background: transparent; color: var(--sotetkek); box-shadow: inset 0 0 0 1.5px var(--sotetkek); }
.gomb-korvonal:hover { background: var(--sotetkek); color: #fff; }

/* ==== Fejléc ==== */
.fejlec { position: sticky; top: 0; z-index: 50; background: rgba(253, 250, 244, .96); border-bottom: 1px solid var(--homok); backdrop-filter: blur(6px); transition: background-color .25s, border-color .25s; }
.admin-bar .fejlec { top: 32px; }
@media (max-width: 782px) { .admin-bar .fejlec { top: 46px; } }
.fejlec .tarolo { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.fejlec .logo { height: 60px; width: auto; }
.fomenu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; align-items: center; }
.fomenu a { font-weight: 700; text-decoration: none; font-size: 16px; }
.fomenu-foglalas { display: none; } /* csak a mobilmenüben (ott a fejléc Foglalás gombja rejtve van) */
.fomenu .current-menu-item > a, .fomenu a:hover { color: var(--arany-szoveg); }
.fejlec .gomb { padding: 9px 18px; }
.menu-gomb { display: none; background: none; border: 0; padding: 8px; color: var(--sotetkek); cursor: pointer; }
.menu-gomb .ikon { width: 28px; height: 28px; }
/* főoldal: átlátszó fejléc a hero fölött */
.nyaralj-atlatszo-fejlec .fejlec { position: fixed; left: 0; right: 0; background: transparent; border-bottom-color: transparent; backdrop-filter: none; }
/* görgetés után (a menu.js teszi a body-ra) a címlap fejléce is olyan, mint a belső oldalakon */
:is(.nyaralj-atlatszo-fejlec, .nyaralj-grafikus-hero).fejlec-gorgetett .fejlec { background: rgba(253, 250, 244, .96); border-bottom-color: var(--homok); backdrop-filter: blur(6px); }
.nyaralj-atlatszo-fejlec .fejlec .logo { height: 76px; background: rgba(253, 250, 244, .92); border-radius: 16px; padding: 4px 6px; }
.nyaralj-atlatszo-fejlec .fomenu a, .nyaralj-atlatszo-fejlec .menu-gomb { color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .4); }
/* a hero képen a világos arany látszik (a sötét --arany-szoveg ott elveszne) */
.nyaralj-atlatszo-fejlec .fomenu .current-menu-item > a, .nyaralj-atlatszo-fejlec .fomenu a:hover { color: var(--arany); }
.nyaralj-atlatszo-fejlec.fejlec-gorgetett :is(.fomenu a, .menu-gomb) { color: var(--sotetkek); text-shadow: none; }
.nyaralj-atlatszo-fejlec.fejlec-gorgetett .fomenu :is(.current-menu-item > a, a:hover) { color: var(--arany-szoveg); }
.nyaralj-atlatszo-fejlec.fejlec-gorgetett .fejlec .logo { height: 60px; background: none; padding: 0; }
.nyaralj-atlatszo-fejlec.fejlec-gorgetett .fejlec .tarolo { padding-top: 0; }
@media (max-width: 900px) {
	.menu-gomb { display: inline-flex; }
	.fomenu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--krem); border-bottom: 1px solid var(--homok); box-shadow: var(--arnyek); }
	.fomenu.nyitva { display: block; }
	.fomenu ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--oldalter) 16px; }
	.fomenu a { display: block; padding: 12px 0; border-bottom: 1px solid var(--homok); }
	.nyaralj-atlatszo-fejlec .fomenu a { color: var(--sotetkek); text-shadow: none; }
	.nyaralj-atlatszo-fejlec .fomenu .current-menu-item > a, .nyaralj-atlatszo-fejlec .fomenu a:hover { color: var(--arany-szoveg); }
	.fejlec .gomb { display: none; }
	.fejlec .fomenu a.fomenu-foglalas { display: flex; margin: 0 var(--oldalter) 16px; padding: 12px 22px; border: 0; color: var(--sotetkek); text-shadow: none; }
	.fejlec .fomenu a.fomenu-foglalas:hover { color: #fff; } /* a .gomb:hover sötétkék hátterén */
}

/* ==== Morzsamenü: fix sáv a fejléc alatt (a címlapon nincs) ==== */
/* a morzsasáv alatt minden oldaltípuson egységesen 40 px az első tartalomig (sima oldal: .oldal-fejlec
   40 px, ház: .haz 40 px; a listaoldalak első szakasza ne a nagyobb szakasz-térközt kapja) */
main#tartalom > .szakasz:first-child { padding-top: 40px; }
/* a fejléccel együtt fent marad: ugyanúgy sticky, a fejléc magassága (72 px + 1 px vonal) alatt */
.morzsa-sav { position: sticky; top: 73px; z-index: 40; background: var(--homok); border-bottom: 1px solid var(--homok-sotet); font-size: 14px; }
.admin-bar .morzsa-sav { top: 105px; }
@media (max-width: 782px) { .admin-bar .morzsa-sav { top: 119px; } }
.morzsa-lista { list-style: none; margin: 0; padding: 7px 0; display: flex; align-items: center; min-width: 0; white-space: nowrap; }
.morzsa-lista li { color: var(--szoveg); flex: none; } /* a homok sávon a --halvany csak 4:1 lenne (14 px-nél AA 4,5:1 kell) */
.morzsa-lista li + li::before { content: "›"; margin: 0 8px; color: var(--halvany); }
.morzsa-lista li[aria-current] { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--szoveg); font-weight: 600; }
.morzsa-lista a { color: var(--sotetkek); text-decoration: none; }
.morzsa-lista a:hover { color: var(--arany-szoveg); text-decoration: underline; }

/* ==== Lábléc ==== */
.lablec { background: var(--sotetkek); color: #dbe5ee; margin-top: 48px; }
.lablec a { color: #fff; text-decoration: none; }
.lablec a:hover, .sutik-gomb:hover { color: var(--arany); } /* arany a sötétkéken: 5,9:1 */
.lablec .tarolo { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 32px; padding-block: 48px; }
.lablec h2 { color: #fff; font-size: 24px; }
.lablec .logo { height: 96px; width: auto; margin-bottom: 12px; }
.lablec ul { list-style: none; margin: 0; padding: 0; }
.lablec li { margin: 0 0 8px; display: flex; gap: 8px; align-items: center; }
.lablec-also { background: #0e2238; color: #9fb3c6; text-align: center; font-size: 14px; padding: 12px var(--oldalter); }
.sutik-gomb { background: none; border: 0; padding: 0; color: #fff; font: inherit; cursor: pointer; }
@media (max-width: 900px) { .lablec .tarolo { grid-template-columns: 1fr; gap: 24px; } }

/* ==== Kártyák (vendégház + hír) ==== */
.racs { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .racs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .racs { grid-template-columns: 1fr; } }
.kartya { position: relative; background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar); overflow: hidden; display: flex; flex-direction: column;
	transition: border-color .2s, box-shadow .2s, transform .2s; }
.kartya:hover, .kartya:focus-within { border-color: var(--homok-sotet); box-shadow: var(--arnyek); transform: translateY(-2px); }
.kartya-kep { aspect-ratio: 3 / 2; background: linear-gradient(160deg, var(--homok), var(--egkek)); border-bottom: 1px solid var(--homok); } /* halvány vonal a kép és a szöveg között (a fehér alapértelmezett hírképnél is) */
.kartya-kep img { width: 100%; height: 100%; object-fit: cover; }
.kartya-cimke { position: absolute; left: 12px; top: 12px; background: #fff; border-radius: 12px; padding: 2px 10px; font-size: 13px; font-weight: 700; }
.kartya-test { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.kartya h3 { margin: 0; font-size: 26px; overflow-wrap: anywhere; }
.kartya h3 a { text-decoration: none; }
.kartya h3 a::after { content: ""; position: absolute; inset: 0; } /* az egész kártya kattintható */
.kartya-param { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; list-style: none; color: var(--halvany); font-size: 15px; }
.kartya-param li { display: inline-flex; align-items: center; gap: 6px; }
.kartya-lab { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 6px; }
.ar { color: var(--arany-szoveg); font-weight: 800; }
.tovabb { font-weight: 700; font-size: 15px; }
.kartya-datum { color: var(--halvany); font-size: 14px; }

/* ==== Tartalom (oldalak, bejegyzések, SiteOrigin) ==== */
/* minden oldal tartalma a fejléc szélességét követi (logótól a Foglalás gombig) */
.tartalom { overflow-wrap: break-word; }
.tartalom img { border-radius: var(--sugar-kicsi); }
.tartalom .wp-block-image { margin: 1em 0; } /* mint a klasszikus tartalomban a képet tartalmazó bekezdés */
.tartalom .wp-block-image img { border-radius: var(--sugar-kicsi); }
.tartalom .wp-block-image > a { display: block; width: fit-content; } /* a blokkönyvtár inline-block linkje sor alatti rést hagyna a kép alatt */
/* a tartalom linkjei aláhúzás nélkül, arany színnel kiemelve (#8a6220 a krémen 5,4:1); hoverre sötétkék */
.tartalom a:not(.gomb, .cimlap-blokk a) { color: var(--arany-szoveg); text-decoration: none; font-weight: 700; }
.tartalom a:not(.gomb, .cimlap-blokk a):is(:hover, :focus-visible) { color: var(--sotetkek); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.tartalom :is(ul, ol):not(.cimlap-blokk *) { padding-left: 1.3em; }
.tartalom h2:not(.cimlap-blokk *) { margin-top: 1.6em; }
/* a saját blokkok (Vendégházaink, Miért nálunk?, Térkép, Hírek) sima oldalon is úgy néznek ki, mint a
   címlapon: az oldal tartalma már a tartalomszélességű keretben van, ezért itt nem kapnak még egyet */
.tartalom .cimlap-blokk.tarolo { width: auto; margin-inline: 0; }
.tartalom .cimlap-blokk img { border-radius: 0; }
.page-list .current_page_item > a { font-weight: bold; } /* az aktuális oldal kiemelése (mint a Page-list pluginban) */
/* táblázat a tartalomban (pl. adatkezelési tájékoztató): szűk képernyőn vízszintesen görgethető */
.tablazat-keret, .tartalom .wp-block-table { overflow-x: auto; margin: 0 0 1.4em; border: 1px solid var(--homok); border-radius: var(--sugar-kicsi); background: #fff; }
.tartalom .wp-block-table table { border: 0; } /* a blokkönyvtár keretei helyett a téma táblázatstílusa */
.tartalom .wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid var(--homok); padding: 10px 14px; }
.tartalom .wp-block-table thead { border-bottom: 0; }
.tartalom .wp-block-table tr:last-child td { border-bottom: 0; }
.tartalom table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.tartalom th, .tartalom td { padding: 10px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--homok); }
.tartalom th { background: var(--homok); color: var(--sotetkek); font-weight: 700; }
.tartalom tr:last-child td { border-bottom: 0; }
.tablazat-keret table, .tartalom .wp-block-table table { min-width: 560px; }
/* tervezet jelölései (kitöltendő / javaslat / ellenőrizendő) – a végleges szövegből kikerülnek */
.tartalom mark { padding: 1px 5px; border-radius: 4px; color: var(--szoveg); }
.tartalom mark.kitoltendo { background: #fbe38a; }
.tartalom mark.javaslat { background: #d6ead2; }
.tartalom mark.ellenorizendo { background: #fbd3b6; }
.tervezet-doboz { border: 2px dashed var(--arany); border-radius: var(--sugar-kicsi); padding: 12px 18px; margin-bottom: 24px; background: #fff; }
.tervezet-doboz p { margin: 4px 0; }
.tartalom input:not([type=checkbox]):not([type=radio]):not([type=submit]), .tartalom textarea, .tartalom select {
	width: 100%; padding: 10px 12px; border: 1px solid var(--homok-sotet); border-radius: var(--sugar-kicsi); font: inherit; background: #fff; }
.tartalom input[type=submit], .tartalom button[type=submit] { background: var(--arany); color: var(--sotetkek); border: 0; border-radius: 12px; padding: 12px 22px; font: 800 16px var(--betu); cursor: pointer; }
.tartalom input[type=submit]:hover, .tartalom button[type=submit]:hover { background: var(--sotetkek); color: #fff; }
.oldal-fejlec { padding-block: 40px 8px; }

/* ==== Kapcsolat oldal ==== */
/* CF7 visszajelzés: a zöld/piros keret helyett lekerekített, halvány doboz színes sávval és ikonnal */
body .wpcf7 form.wpcf7-form .wpcf7-response-output { /* a .wpcf7-form a CF7 állapot-szabályainál (keretszín) erősebb */ position: relative; margin: 20px 0 0; padding: 14px 18px 14px 50px; border: 0; border-left: 4px solid var(--uzenet-szin, var(--arany)); border-radius: var(--sugar-kicsi);
	background: var(--uzenet-hatter, #fdf4e3); color: var(--uzenet-szoveg, #6b4a12); font-weight: 600; line-height: 1.5; }
body .wpcf7 form.wpcf7-form .wpcf7-response-output::before { content: ""; position: absolute; left: 16px; top: 14px; width: 22px; height: 22px; background: var(--uzenet-szin, var(--arany));
	-webkit-mask: var(--uzenet-ikon, url(../icons/circle-alert.svg)) center / contain no-repeat; mask: var(--uzenet-ikon, url(../icons/circle-alert.svg)) center / contain no-repeat; }
body .wpcf7 form.wpcf7-form.sent .wpcf7-response-output { --uzenet-szin: #4f7d4b; --uzenet-hatter: #eef5ec; --uzenet-szoveg: #2f5a2c; --uzenet-ikon: url(../icons/circle-check.svg); }
body .wpcf7 form.wpcf7-form:is(.failed, .aborted, .spam) .wpcf7-response-output { --uzenet-szin: #b5462f; --uzenet-hatter: #fbeeea; --uzenet-szoveg: #8a2f1d; }
.wpcf7-not-valid-tip { color: #a63d27; font-size: 15px; font-weight: 600; margin-top: 4px; }
.tartalom .wpcf7-not-valid:not([type=checkbox]) { border-color: #b5462f; }
.kapcsolat-racs { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; padding-top: 16px; } /* alul a szakasz-térköz választja el a térképtől */
.kapcsolat-urlap > p:first-child { font-size: 19px; margin-top: 0; }
.kapcsolat-urlap label { display: block; font-weight: 700; color: var(--sotetkek); margin-bottom: 4px; }
.kapcsolat-urlap label > .wpcf7-form-control-wrap { display: block; margin-top: 6px; font-weight: 400; }
.kapcsolat-urlap textarea { min-height: 160px; resize: vertical; }
.kapcsolat-urlap .wpcf7-acceptance .wpcf7-list-item { margin: 0; } /* a CF7 alapból 1em-mel beljebb húzza */
.kapcsolat-urlap .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; color: var(--szoveg); cursor: pointer; }
.kapcsolat-urlap .wpcf7-acceptance input { flex: none; width: 18px; height: 18px; margin: 4px 0 0; accent-color: var(--sotetkek); }
.nevjegy { position: sticky; top: 132px; background: #fff; border: 1px solid var(--homok); border-radius: 18px; box-shadow: var(--arnyek); padding: 28px; }
.admin-bar .nevjegy { top: 164px; }
.nevjegy-nev { font: 700 28px/1.2 var(--cimbetu); color: var(--sotetkek); margin: 0; }
.nevjegy-szerep { color: var(--halvany); margin: 2px 0 18px; }
.nevjegy ul { list-style: none; margin: 0 0 22px; padding: 0; border-top: 1px solid var(--homok); }
.nevjegy li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--homok); overflow-wrap: anywhere; }
.nevjegy li .ikon { flex: none; margin-top: 3px; color: var(--arany-szoveg); }
.nevjegy a { text-decoration: none; font-weight: 700; }
.nevjegy .gomb { width: 100%; }
@media (max-width: 900px) { .kapcsolat-racs { grid-template-columns: 1fr; } .nevjegy { position: static; order: -1; } } /* mobilon a hívás gomb előre */
.oldal-fejlec h1 { margin: 0; overflow-wrap: anywhere; }
.bejegyzes-datum { font-size: 14px; color: var(--halvany); margin-bottom: 8px; }
/* lapozó: kerek sarkú gombok a kártyák stílusában; az aktuális oldal arany, a többi hoverre sötétkék */
.lapozo { margin-top: 40px; }
.lapozo ul.page-numbers { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.lapozo a.page-numbers, .lapozo span.page-numbers { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; height: 44px; padding: 0 14px;
	border-radius: 12px; border: 1px solid var(--homok); background: #fff; color: var(--sotetkek); font-weight: 700; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.lapozo a.page-numbers:hover, .lapozo a.page-numbers:focus-visible { background: var(--sotetkek); border-color: var(--sotetkek); color: #fff; }
.lapozo span.page-numbers.current { background: var(--arany); border-color: var(--arany); color: var(--sotetkek); }
.lapozo span.page-numbers.dots { border: 0; background: none; min-width: 24px; padding: 0; }
.lapozo .ikon { width: 18px; height: 18px; }
@media (max-width: 639px) { .lapozo .lapozo-szoveg { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .lapozo :is(.prev, .next) { padding: 0; } }
/* „További …” gomb a címlap blokkjai alatt */
.blokk-tovabb { text-align: center; margin: 32px 0 0; }

/* ==== Térkép ==== */
.terkep { border-radius: var(--sugar); overflow: hidden; border: 1px solid var(--homok); background: #e6eef2; z-index: 0; }
.terkep-jelolo span { display: block; width: 28px; height: 28px; background: var(--sotetkek); border: 3px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 2px 6px rgba(0, 0, 0, .35); }
/* a jelölő buboréka: a link olyan, mint a tartalomban (arany szöveg, aláhúzás csak hoverre) – a Leaflet kékjét felülírja */
.terkep .leaflet-popup-content { font: 400 15px/1.4 var(--betu); }
.terkep .leaflet-popup-content a { color: var(--arany-szoveg); font-weight: 700; text-decoration: none; }
.terkep .leaflet-popup-content a:is(:hover, :focus-visible) { color: var(--sotetkek); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* ==== Vendégház-oldal ==== */
.haz { padding-top: 40px; } /* egységesen 40 px a morzsasáv alatt */
.galeria { position: relative; margin-bottom: 24px; }
.galeria-racs { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(0, 220px)); gap: 8px; border-radius: var(--sugar); overflow: hidden; }
.galeria-elem { display: block; min-height: 0; background: var(--homok); overflow: hidden; }
.galeria-elem img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.galeria-elem:hover img { transform: scale(1.03); }
.galeria-elem:first-child { grid-row: span 2; }
.galeria-rejtett { display: none; }
.galeria[data-db="1"] .galeria-racs { grid-template-columns: 1fr; grid-template-rows: minmax(0, 440px); }
.galeria[data-db="1"] .galeria-elem:first-child { grid-row: auto; }
.galeria[data-db="2"] .galeria-racs { grid-template-columns: 2fr 1fr; }
.galeria[data-db="2"] .galeria-elem:nth-child(2) { grid-row: span 2; }
.galeria[data-db="3"] .galeria-racs { grid-template-columns: 2fr 1fr; }
.galeria[data-db="4"] .galeria-racs { grid-template-columns: 2fr 1fr 1fr; }
.galeria[data-db="4"] .galeria-elem:nth-child(4) { grid-column: span 2; }
.galeria-osszes { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 0; border-radius: 10px; padding: 8px 14px; font: 700 15px var(--betu); color: var(--sotetkek); box-shadow: var(--arnyek); cursor: pointer; }
.galeria-szamlalo { display: none; }
.haz-oszlopok { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.haz-oldal { align-self: stretch; } /* a jobb oszlop a tartalom teljes magasságáig ér, így a foglalás doboz (sticky) görgetéskor lefelé csúszik vele */
.haz-fejlec h1 { margin-bottom: 4px; overflow-wrap: anywhere; }
.haz-cim { display: flex; align-items: center; gap: 6px; color: var(--halvany); }
.haz-kulcs { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.haz-kulcs li { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--homok); border-radius: 24px; padding: 6px 14px; }
.haz-szakasz { padding-top: 48px; } /* minden szakaszcím előtt egységesen 48 px: az utolsó elem alsó margója nem számít bele */
.haz-szakasz > :last-child { margin-bottom: 0; }
.haz-szakasz.tartalom > h2:first-child { margin-top: 0; } /* „A házról” is csak a szakasz 48 px-ét kapja */
.haz-szakasz .terkep-szakasz { padding-block: 0; } /* a Helyszín cím alatt ne legyen még egy szakasz-térköz */
/* elég széles cellák a hosszú nevekhez („Grill- és bográcsozóhely”), egyforma magasság, a szöveg a cellán belül tör */
.felszereltseg { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.felszereltseg li { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 58px; background: #fff; border: 1px solid var(--homok); border-radius: 12px; padding: 8px 12px; line-height: 1.3; }
.felszereltseg li span { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 639px) { .felszereltseg { grid-template-columns: repeat(2, minmax(0, 1fr)); } .felszereltseg li { font-size: 14px; gap: 6px; padding: 8px; } .felszereltseg .ikon { width: 22px; height: 22px; } }
@media (max-width: 359px) { .felszereltseg { grid-template-columns: 1fr; } } /* a hosszú szavak ne betűnél törjenek */
.felszereltseg .ikon { width: 24px; height: 24px; color: var(--sotetkek); }
.artabla-keret { overflow-x: auto; }
.artabla { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--homok); }
.artabla :is(th, td) { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--homok); vertical-align: top; }
.artabla thead th { background: var(--homok); font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.artabla small { display: block; color: var(--halvany); font-weight: 400; font-size: 14px; }
.dijak, .hazirend { margin: 14px 0 0; padding: 0; list-style: none; }
.dijak li, .hazirend li { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; }
.dijak li::before { content: "•"; color: var(--arany); font-weight: 800; }
.ntak { color: var(--halvany); font-size: 14px; }
.foglalas-doboz { position: sticky; top: 132px; background: #fff; border-radius: 18px; box-shadow: var(--arnyek); padding: 22px; }
.admin-bar .foglalas-doboz { top: 164px; }
.foglalas-ar { margin: 0 0 8px; color: var(--halvany); }
.foglalas-ar strong { font: 700 30px var(--cimbetu); color: var(--sotetkek); }
.foglalas-doboz .gomb { width: 100%; margin: 4px 0 12px; }
.foglalas-kapcsolat { display: flex; align-items: center; gap: 8px; margin: 0; justify-content: center; }
.foglalas-sav { display: none; }
@media (max-width: 1023px) {
	.haz-oszlopok { grid-template-columns: 1fr; gap: 0; }
	.haz-oldal { order: 2; padding-top: 32px; }
	.foglalas-doboz { position: static; }
}
@media (max-width: 639px) {
	.galeria { margin-inline: calc(-1 * var(--oldalter)); }
	.galeria-racs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 0; grid-template-rows: none; }
	.galeria-elem, .galeria-rejtett { display: block; flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 4 / 3; }
	.galeria-szamlalo { display: block; position: absolute; right: 12px; top: 12px; background: rgba(0, 0, 0, .5); color: #fff; border-radius: 10px; padding: 2px 10px; font-size: 13px; }
	.galeria-osszes { display: none; }
	body.single-vendeghaz { padding-bottom: 72px; }
	.foglalas-sav { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; justify-content: space-between; align-items: center; gap: 12px;
		padding: 10px var(--oldalter); background: #fff; border-top: 1px solid var(--homok); box-shadow: 0 -4px 12px rgba(22, 50, 79, .08); }
	.foglalas-sav strong { font: 700 22px var(--cimbetu); color: var(--sotetkek); }
	.foglalas-sav .gomb { padding: 10px 18px; }
}

/* ==== Főoldal ==== */
.hero { position: relative; color: #fff; min-height: clamp(460px, 70vh, 640px); display: flex; align-items: center; padding-block: 120px 80px;
	background: linear-gradient(90deg, rgba(22, 50, 79, .62), rgba(22, 50, 79, .08) 75%), var(--hero-kep, linear-gradient(160deg, #9fc3d6, #16324f)) center 60% / cover; }
.hero h1 { color: #fff; max-width: 14ch; text-shadow: 0 2px 14px rgba(0, 0, 0, .3); }
.hero p { max-width: 42ch; font-size: 19px; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.hero-hullam { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 40px; color: var(--krem); }
.miert-racs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; text-align: center; }
.miert-racs li { background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar); padding: 24px 18px; }
.miert-racs .ikon { width: 40px; height: 40px; color: var(--arany-sotet); margin: 0 auto 8px; display: block; }
.miert-racs h3 { margin-bottom: 6px; }
.miert-racs p { margin: 0; color: var(--halvany); }
@media (max-width: 1023px) { .miert-racs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .miert-racs { grid-template-columns: 1fr; } .hero { padding-block: 110px 70px; } }
@media (max-width: 767px) { /* mobilon a kisebb hero kép töltődik */
	.hero { background-image: linear-gradient(90deg, rgba(22, 50, 79, .62), rgba(22, 50, 79, .08) 75%), var(--hero-kep-kicsi, var(--hero-kep, linear-gradient(160deg, #9fc3d6, #16324f))); } }
.nyaralj-atlatszo-fejlec .fejlec .tarolo { padding-top: 14px; }

/* ==== 404: elsodródott csónak ==== */
.hiba404 { text-align: center; }
.hiba404-kep { display: block; width: 100%; max-width: 600px; height: auto; margin: 0 auto 28px; overflow: hidden; border-radius: var(--sugar); }
.hiba404 p { max-width: 52ch; margin-inline: auto; }
.hiba404-gombok { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.h404-nap { fill: var(--arany); }
.h404-madar { fill: none; stroke: var(--sotetkek); stroke-width: 2; stroke-linecap: round; }
.h404-part { fill: var(--zsalya); opacity: .55; }
.h404-nad { fill: none; stroke: #5f8a5b; stroke-width: 3; stroke-linecap: round; }
.h404-hullam-hatso { fill: var(--egkek); }
.h404-hullam-elso { fill: #5f93b3; }
.h404-hajo { fill: var(--sotetkek); }
.h404-perem { fill: none; stroke: var(--arany); stroke-width: 3; }
.h404-evezo { stroke: var(--arany-szoveg); stroke-width: 5; stroke-linecap: round; }
.h404-rud { stroke: var(--sotetkek); stroke-width: 3; }
.h404-zaszlo { fill: var(--arany); }
.h404-szam { fill: var(--sotetkek); font: 700 22px var(--cimbetu); }
.h404-test { fill: #c8553d; }
.h404-csik { fill: none; stroke: #fff; stroke-width: 4; }
.h404-ring { transform-box: fill-box; transform-origin: 50% 80%; animation: h404-ring 3.6s ease-in-out infinite alternate; }
.h404-ring-lassu { animation-duration: 4.4s; animation-delay: -1.2s; }
.h404-hullam-hatso { animation: h404-hullam-hatso 9s linear infinite; }
.h404-hullam-elso { animation: h404-hullam-elso 6s linear infinite; }
@keyframes h404-ring { from { transform: translateY(-3px) rotate(-4deg); } to { transform: translateY(3px) rotate(4deg); } }
@keyframes h404-hullam-hatso { to { transform: translateX(160px); } }
@keyframes h404-hullam-elso { to { transform: translateX(200px); } }
@media (prefers-reduced-motion: reduce) { .h404-ring, .h404-hullamok { animation: none; } }

/* ==== Grafikus hero (Testreszabás → Főoldal → Hero megjelenése: Grafika) ==== */
.nyaralj-grafikus-hero .fejlec { position: fixed; left: 0; right: 0; background: transparent; border-bottom-color: transparent; backdrop-filter: none; }
.hero-grafika { color: var(--szoveg); min-height: 0; padding-block: 96px max(93px, min(calc(10.97vw - 16px), calc(244px - 1.528vw)));
	/* a vízsávhoz igazítva (2080 px fölött a sáv magassága rögzített, a hullám lejjebb kerül): a terasz alatt mindig ~15 px part */ background: linear-gradient(180deg, var(--krem) 0%, #eaf2f5 62%, #dcebf2 100%); overflow: hidden; }
.hero-grafika .tarolo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: end; gap: clamp(16px, 4vw, 48px); }
.hero-grafika h1 { color: var(--sotetkek); text-shadow: none; }
.hero-grafika p { color: var(--szoveg); text-shadow: none; }
.hero-grafika .hero-szoveg { padding-bottom: 48px; }
.hero-grafika .hero-hullam { color: var(--krem); }
.hero-grafika .tarolo { position: relative; z-index: 1; }
.hg { display: block; width: 100%; height: auto; overflow: visible; } /* a talaj a rajz alá is kifut, a vízsáv takarja */
.hg-vizsav { position: absolute; left: 0; bottom: 0; z-index: 2; width: 100%; height: clamp(108px, 12.5vw, 260px); pointer-events: none; } /* a viewBox arányában, felülről korlátozva: mind a 3 hullámréteg látszik */
.hero-grafika .hero-hullam { z-index: 3; }
.hg-iv { fill: var(--arany); }
.hg-iv-rajz { fill: none; stroke: #fff; stroke-width: 40; stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: hg-rajz 2.6s .3s ease-out forwards; }
.hg-nap { fill: var(--arany); }
.hg-fenykor { fill: var(--arany); opacity: .2; transform-box: fill-box; transform-origin: center; animation: hg-feny 4s ease-in-out infinite alternate; }
.hg-madarak { fill: none; stroke: var(--sotetkek); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; animation: hg-madar 7s ease-in-out infinite alternate; }
.hg-hegy { fill: #8fb8cb; }
.hg-csikok { fill: none; stroke: #9fc3d6; stroke-width: 7; stroke-linecap: round; }
.hg-torzs, .hg-levelek, .hg-teto, .hg-kemeny + .hg-teto, .hg-sotet { fill: var(--sotetkek); }
.hg-ring-palma { transform-box: fill-box; transform-origin: 56% 48%; animation: hg-palma 5s ease-in-out infinite alternate; }
.hg-levelek-keret { fill: #f3f6f6; stroke: #f3f6f6; stroke-width: 9; stroke-linejoin: round; } /* a levelek világos körvonala (a háttér színe) */
.hg-oldalfal { fill: #e9e0cf; }
.hg-kemeny { fill: #e9e0cf; }
.hg-oromfal { fill: #fffdf8; }
.hg-arnyek { fill: #e9e0cf; }
.hg-teto-el { fill: none; stroke: #fffdf8; stroke-width: 3; opacity: .85; }
.hg-keret { fill: none; stroke: #fffdf8; stroke-width: 3; }
.hg-talaj { fill: #d3c09c; } /* a bézsnél (oldalfal) sötétebb, barnás föld/part */
.hg-talaj-sotet { fill: #c2ab83; }
.hg-bokor { fill: #3f6f58; }
.hg-bokor-kozep { fill: #5f8f74; }
.hg-bokor-vilagos { fill: #86ad86; }
.hg-terasz { fill: none; stroke: var(--sotetkek); stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.hg-terasz .hg-terasz-pad { fill: var(--sotetkek); stroke: none; }
.hg-terasz .hg-agy { stroke-width: 5; }
.hg-terasz .hg-agy-lap { fill: var(--sotetkek); stroke: none; }
.hg-terasz .hg-agy-lec { stroke: #fffdf8; stroke-width: 2.5; }
.hg-viz-1 { fill: var(--egkek); animation: hg-viz-1 8s linear infinite; }
.hg-viz-2 { fill: #5f93b3; animation: hg-viz-2 11s linear infinite; }
.hg-viz-3 { fill: #3f6f90; animation: hg-viz-3 7s linear infinite; }
@keyframes hg-rajz { to { stroke-dashoffset: 0; } }
@keyframes hg-feny { from { transform: scale(.92); } to { transform: scale(1.08); } }
@keyframes hg-madar { from { transform: translate(0, 0); } to { transform: translate(-14px, -6px); } }
@keyframes hg-palma { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes hg-viz-1 { to { transform: translateX(240px); } }
@keyframes hg-viz-2 { to { transform: translateX(320px); } }
@keyframes hg-viz-3 { to { transform: translateX(400px); } }
@media (prefers-reduced-motion: reduce) { .hg *, .hg-vizsav * { animation: none !important; } .hg-iv-rajz { stroke-dashoffset: 0; } }
@media (max-width: 767px) {
	.hero-grafika { padding-top: 88px; }
	.hero-grafika .tarolo { grid-template-columns: 1fr; }
	.hero-grafika .hero-szoveg { padding-bottom: 0; }
	.hero-grafika { padding-bottom: 94px; }
	.hg { max-width: 460px; margin-inline: auto; }
}

/* ==== Címlap tartalma (blokkszerkesztő) ==== */
/* a saját blokkok maguk adják a szélességüket; minden más blokk a tartalom szélességét kapja */
.cimlap-tartalom > :not(.cimlap-blokk):not(.alignfull) { width: min(var(--szel), 100% - 2 * var(--oldalter)); margin-inline: auto; }
.cimlap-tartalom > :is(p, ul, ol, h2, h3, h4, .wp-block-image, .wp-block-buttons, .wp-block-columns, .wp-block-quote) { margin-block: 0 1.2em; }
.cimlap-tartalom > h2 { margin-top: clamp(40px, 6vw, 72px); text-align: center; }
.cimlap-tartalom > .alignfull { width: 100%; }
/* alap blokkok a téma stílusában (minden oldalon) */
.wp-block-button__link { background: var(--arany); color: var(--sotetkek); border-radius: 12px; padding: 12px 22px; font-weight: 800; text-decoration: none; }
.wp-block-button__link:hover { background: var(--sotetkek); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--sotetkek); border: 2px solid var(--sotetkek); }
.wp-block-image img { border-radius: var(--sugar); }

/* ==== Hír: előző / következő ==== */
.hir-lapozo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 8px 0 48px; }
.hir-lapozo-elem { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar);
	text-decoration: none; color: var(--sotetkek); transition: border-color .2s, box-shadow .2s, transform .2s; }
.hir-lapozo-elem:hover, .hir-lapozo-elem:focus-visible { border-color: var(--homok-sotet); box-shadow: var(--arnyek); transform: translateY(-2px); }
.hir-lapozo-kovetkezo { grid-column: 2; text-align: right; align-items: flex-end; }
.hir-lapozo-irany { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--arany-szoveg); }
.hir-lapozo-irany .ikon { width: 16px; height: 16px; }
.hir-lapozo-cim { font: 600 20px/1.3 var(--cimbetu); }
@media (max-width: 639px) { .hir-lapozo { grid-template-columns: 1fr; } .hir-lapozo-kovetkezo { grid-column: 1; } }

/* ==== Hozzászólások (alapból mindenhol zárt; ha egy hírnél bekapcsolják) ==== */
.hozzaszolasok { margin: 0 0 48px; padding-top: 32px; border-top: 1px solid var(--homok); } /* teljes tartalomszélesség (nincs oldalsáv) */
.hozzaszolasok.tartalom :is(.hozzaszolasok-cim, .comment-reply-title) { font-size: 26px; margin: 0 0 20px; } /* a .tartalom h2 felső margója itt nem kell */
.hozzaszolasok :is(.hozzaszolas-lista, .hozzaszolas-lista .children) { list-style: none; margin: 0; padding: 0; } /* a .tartalom listabehúzása itt nem kell */
.hozzaszolasok .hozzaszolas-lista .children { margin: 12px 0 0 28px; padding-left: 16px; border-left: 2px solid var(--homok); }
.hozzaszolas-lista > li + li { margin-top: 16px; }
.hozzaszolas-lista .children > li + li { margin-top: 12px; }
.hozzaszolas { display: flex; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar); }
.bypostauthor > .hozzaszolas { border-color: var(--arany); }
.hozzaszolas-betu { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--arany); color: var(--sotetkek);
	display: inline-flex; align-items: center; justify-content: center; font: 700 18px var(--cimbetu); }
.hozzaszolas-test { min-width: 0; flex: 1; }
.hozzaszolas-fej { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.hozzaszolas-nev { color: var(--sotetkek); }
.hozzaszolas-fej time { font-size: 14px; color: var(--halvany); }
.hozzaszolas-szoveg { overflow-wrap: anywhere; }
.hozzaszolas-szoveg p { margin: 6px 0 0; }
.hozzaszolas-jovahagyasra { margin: 6px 0 0; font-size: 14px; color: var(--arany-szoveg); font-weight: 700; }
.hozzaszolas-valasz, .hozzaszolas-szerk { display: inline-block; margin: 8px 16px 0 0; font-size: 14px; }
.hozzaszolasok .comment-reply-link, .hozzaszolasok .comment-edit-link { font-weight: 700; }
.hozzaszolas-lezarva { color: var(--halvany); font-style: italic; }
.hozzaszolasok .lapozo .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
/* űrlap a Kapcsolat űrlap stílusában */
.hozzaszolas-urlap { margin-top: 32px; }
.hozzaszolas-lista .hozzaszolas-urlap { margin: 12px 0 0; }
.hozzaszolas-megj, .hozzaszolasok .logged-in-as, .hozzaszolasok .must-log-in { font-size: 15px; color: var(--halvany); }
.hozzaszolasok .must-log-in { padding: 14px 18px; background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar-kicsi); }
.hozzaszolasok .comment-form p { margin: 0 0 16px; }
.hozzaszolasok .comment-form label { display: block; font-weight: 700; color: var(--sotetkek); margin-bottom: 6px; }
.hozzaszolasok .comment-form textarea { min-height: 140px; resize: vertical; }
.hozzaszolasok .comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; }
.hozzaszolasok .comment-form-cookies-consent label { display: inline; font-weight: 400; color: var(--szoveg); margin: 0; }
.hozzaszolasok .comment-form-cookies-consent input { flex: none; width: 18px; height: 18px; margin: 4px 0 0; accent-color: var(--sotetkek); }
.hozzaszolasok .required { color: #a63d27; }
.hozzaszolasok #cancel-comment-reply-link { margin-left: 12px; font-size: 15px; font-weight: 700; }

/* ==== Keresés: fejléc gomb + lenyíló sáv (menu.js), találati lista (search.php) ==== */
.fejlec-jobb { display: flex; align-items: center; gap: 8px; }
.kereses-gomb { display: inline-flex; background: none; border: 0; padding: 8px; color: var(--sotetkek); cursor: pointer; border-radius: var(--sugar-kicsi); }
.kereses-gomb:hover, .kereses-gomb[aria-expanded="true"] { color: var(--arany-szoveg); }
.kereses-gomb .ikon { width: 24px; height: 24px; }
.nyaralj-atlatszo-fejlec .kereses-gomb { color: #fff; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .45)); }
.nyaralj-atlatszo-fejlec:is(.fejlec-gorgetett, .kereses-nyitva) .kereses-gomb { color: var(--sotetkek); filter: none; }
/* címlap: nyitott keresésnél a fejléc is hátteret kap, mint görgetés után */
:is(.nyaralj-atlatszo-fejlec, .nyaralj-grafikus-hero).kereses-nyitva .fejlec { background: rgba(253, 250, 244, .96); border-bottom-color: var(--homok); }
.nyaralj-atlatszo-fejlec.kereses-nyitva :is(.fomenu a, .menu-gomb) { color: var(--sotetkek); text-shadow: none; }
.kereses-sav { position: absolute; top: 100%; left: 0; right: 0; background: var(--krem); border-top: 1px solid var(--homok); border-bottom: 1px solid var(--homok-sotet); box-shadow: var(--arnyek); }
.kereses-sav[hidden] { display: none; }
.kereses-sav .tarolo { display: flex; align-items: center; gap: 8px; padding-block: 14px; }
.kereses-bezar { flex: none; display: inline-flex; background: none; border: 0; padding: 8px; color: var(--sotetkek); cursor: pointer; border-radius: var(--sugar-kicsi); }
.kereses-bezar:hover { color: var(--arany-szoveg); }
.kereses-bezar .ikon { width: 24px; height: 24px; }
.kereso { display: flex; gap: 10px; flex: 1; min-width: 0; margin: 0; }
.kereso-mezo { position: relative; flex: 1; min-width: 0; }
.kereso-mezo .ikon { position: absolute; left: 14px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: var(--halvany); pointer-events: none; }
.kereso input[type=search] { width: 100%; height: 48px; padding: 0 14px 0 44px; border: 1px solid var(--homok-sotet); border-radius: 12px; background: #fff; color: var(--szoveg); font: 400 17px var(--betu); -webkit-appearance: none; appearance: none; }
.kereso input[type=search]::placeholder { color: var(--halvany); opacity: 1; }
.kereso input[type=search]:focus { border-color: var(--halvany); outline: none; box-shadow: 0 0 0 3px rgba(22, 50, 79, .1); } /* szolid fókusz: vékony keret + halvány gyűrű */
.kereses-gomb.fokusz-csendes:focus-visible { outline: none; } /* bezáráskor visszakapja a fókuszt, de keret nélkül; tabbal odaérve van keret */
.kereso .gomb, .fejlec .kereso .gomb { display: inline-flex; flex: none; height: 48px; padding: 0 22px; } /* a fejlécben is (mobilon a fejléc Foglalás gombja rejtett) */
.kereso input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; } /* a sávnak saját bezáró gombja van */
.kereso-oldal { max-width: 680px; margin: 0 auto 32px; }
@media (max-width: 900px) {
	.fejlec-jobb { margin-left: auto; order: 1; }
	.menu-gomb { order: 2; }
	.fejlec .tarolo { gap: 4px; }
}
@media (max-width: 479px) { .kereso { gap: 8px; } .kereso .gomb, .fejlec .kereso .gomb { padding-inline: 14px; } .kereso input[type=search] { padding-left: 40px; } .kereso-mezo .ikon { left: 12px; } }

.talalatok { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.talalat { position: relative; display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 20px; align-items: center; padding: 14px; background: #fff;
	border: 1px solid var(--homok); border-radius: var(--sugar); transition: border-color .2s, box-shadow .2s, transform .2s; }
.talalat:hover, .talalat:focus-within { border-color: var(--homok-sotet); box-shadow: var(--arnyek); transform: translateY(-2px); }
.talalat-kep { aspect-ratio: 3 / 2; border-radius: var(--sugar-kicsi); overflow: hidden; background: linear-gradient(160deg, var(--homok), var(--egkek)); border: 1px solid var(--homok); }
.talalat-kep img { display: block; width: 100%; height: 100%; object-fit: cover; }
.talalat-kep-ikon { display: flex; align-items: center; justify-content: center; background: var(--homok); color: var(--halvany); }
.talalat-kep-ikon .ikon { width: 40px; height: 40px; }
.talalat-test { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.talalat-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 14px; color: var(--halvany); }
.talalat-tipus { background: var(--homok); color: var(--sotetkek); border-radius: 12px; padding: 1px 10px; font-size: 13px; font-weight: 700; }
.talalat h2 { margin: 0; font-size: 26px; overflow-wrap: anywhere; }
.talalat h2 a { text-decoration: none; }
.talalat h2 a::after { content: ""; position: absolute; inset: 0; } /* az egész sor kattintható */
.talalat p { margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.talalat :is(p, h2) mark { background: rgba(212, 162, 76, .32); color: inherit; border-radius: 3px; padding: 0; } /* padding nélkül: szó közepén (fürdőmedence) ne legyen hézag */
.kereses-ures { text-align: center; }
.kereses-ures p { margin: 0 0 20px; }
.kereses-ures .gombok { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
@media (max-width: 639px) {
	.talalat { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px; align-items: start; }
	.talalat h2 { font-size: 21px; }
	.talalat p { font-size: 15px; }
	.talalat-kep-ikon .ikon { width: 28px; height: 28px; }
}

/* ==== Címlap tagolása: bemutatkozás, Miért nálunk? sáv, teljes szélességű térkép ==== */
.cimlap-tartalom > .wp-block-group.cimlap-bemutatkozas:not(.alignfull) { width: min(760px, 100% - 2 * var(--oldalter)); padding-block: clamp(40px, 6vw, 72px) 0; text-align: center; }
.cimlap-bemutatkozas h2 { margin: 0 0 16px; }
.cimlap-bemutatkozas p { margin: 0 0 1em; font-size: 18px; }
.cimlap-bemutatkozas p:last-child { margin-bottom: 0; }
.cimlap-bemutatkozas + .cimlap-blokk.szakasz { padding-top: clamp(32px, 5vw, 56px); }
.miert-sav { background: #edf4f7; border-block: 1px solid #dde9ef; }
.tartalom .miert-sav { border: 1px solid #dde9ef; border-radius: var(--sugar); margin-block: 1.5em; }
.tartalom .miert-sav .tarolo { width: auto; margin-inline: 0; padding-inline: clamp(16px, 3vw, 28px); }
:is(.cimlap-tartalom, main) > .terkep-teljes .terkep { border-radius: 0; border-inline: 0; }
/* lista- és Kapcsolat oldal: a térkép a legalsó blokk – fölötte az előző szakasz térköze, alatta közvetlenül a lábléc */
main > .terkep-teljes .terkep-szakasz { padding-block: 0; }
main > .terkep-teljes:last-child .terkep { border-bottom: 0; }
main:has(> .terkep-teljes:last-child) + .lablec { margin-top: 0; }
.tartalom .terkep-teljes .tarolo { width: auto; margin-inline: 0; }
.cimlap-tartalom > .terkep-teljes .terkep-szakasz { padding-bottom: 0; } /* a teljes szélességű térkép alatt csak a következő szakasz térköze */

/* védett e-mail cím / telefonszám (inc/contact-protect.php): a HTML-ben fordítva áll – JS nélkül ez mutatja helyesen, a JS a valódi szövegre cseréli */
.vedett { unicode-bidi: bidi-override; direction: rtl; }

/* ==== Foglalási naptár (template-parts/availability.php, assets/js/booking-calendar.js) és a foglalási doboz ==== */
.szabad-idopontok[hidden], .foglalas-doboz [hidden] { display: none; }
.naptar-sugo { margin: -4px 0 12px; color: var(--halvany); }
.naptar { position: relative; background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar); padding: 14px 16px 16px; }
.naptar-lapozo { position: absolute; left: 10px; right: 10px; top: 10px; display: flex; justify-content: space-between; pointer-events: none; }
.naptar-lapoz { pointer-events: auto; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--homok); border-radius: 10px; background: #fff; color: var(--sotetkek); cursor: pointer; }
.naptar-lapoz:hover:not(:disabled) { background: var(--sotetkek); color: #fff; border-color: var(--sotetkek); }
.naptar-lapoz:disabled { opacity: .35; cursor: default; }
.naptar-lapoz .ikon { width: 18px; height: 18px; }
.naptar-honapok { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 28px; }
.naptar-honap h3 { margin: 6px 0 12px; text-align: center; font-size: 22px; }
.naptar-racs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.naptar-racs > span { text-align: center; font-size: 13px; font-weight: 700; color: var(--halvany); padding-bottom: 2px; }
.nap { min-height: 40px; border: 0; border-radius: 8px; font: 600 15px var(--betu); color: var(--sotetkek); background: #f3f8f1; cursor: pointer; padding: 0; }
.nap:hover:not(:disabled) { box-shadow: inset 0 0 0 2px var(--sotetkek); }
.nap--foglalt { background: #f4c9c4; color: #9b3d33; text-decoration: line-through; }
.nap--erkezes { background: linear-gradient(135deg, #f3f8f1 50%, #f4c9c4 50%); }
.nap--tavozas { background: linear-gradient(135deg, #f4c9c4 50%, #f3f8f1 50%); }
.nap--mult, .nap--tul { background: transparent; color: #a9b4bf; cursor: default; }
.nap--tartomany { background: #dbe7f1; color: var(--sotetkek); text-decoration: none; }
.nap[aria-pressed="true"] { background: var(--sotetkek); color: #fff; text-decoration: none; }
.nap:focus-visible { outline: 3px solid var(--arany-szoveg); outline-offset: 1px; }
.naptar-jelek { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; color: var(--halvany); }
.naptar-jelek li::before { content: ""; display: inline-block; width: 14px; height: 14px; border-radius: 4px; margin-right: 6px; vertical-align: -2px; }
.jel-szabad::before { background: #f3f8f1; box-shadow: inset 0 0 0 1px var(--homok-sotet); }
.jel-foglalt::before { background: #f4c9c4; }
.jel-valto::before { background: linear-gradient(135deg, #f3f8f1 50%, #f4c9c4 50%); }
.jel-kivalasztva::before { background: var(--sotetkek); }
.naptar-uzenet { min-height: 1.6em; margin: 10px 0 0; font-weight: 600; }
.naptar-osszegzes { display: none; }
@media (max-width: 1023px) { /* a doboz ilyenkor a tartalom alatt van: a naptár alatt rövid összegzés visz oda */
	.naptar-osszegzes:not([hidden]) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding: 12px 14px; background: #fff; border: 1px solid var(--homok); border-radius: 12px; }
	.naptar-osszegzes strong { font: 700 22px var(--cimbetu); color: var(--sotetkek); }
}
@media (max-width: 479px) { .naptar { padding-inline: 10px; } .naptar-racs { gap: 3px; } .nap { font-size: 14px; } }

.foglalas-datumok { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--homok-sotet); border-radius: 12px; overflow: hidden; margin: 12px 0 10px; }
.foglalas-datum { display: block; padding: 8px 12px; text-decoration: none; color: var(--sotetkek); }
.foglalas-datum + .foglalas-datum { border-left: 1px solid var(--homok-sotet); }
.foglalas-datum span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--halvany); }
.foglalas-datum strong { font-size: 15px; }
.foglalas-datum:hover { background: #f7f2e8; color: var(--sotetkek); }
.foglalas-letszam { display: grid; gap: 8px; margin-bottom: 12px; }
.lepteto { display: grid; grid-template-columns: 1fr 36px 32px 36px; align-items: center; gap: 6px; }
.lepteto small { color: var(--halvany); }
.lepteto button { width: 36px; height: 36px; border: 1px solid var(--homok-sotet); border-radius: 50%; background: #fff; color: var(--sotetkek); font: 700 20px/1 var(--betu); cursor: pointer; }
.lepteto button:hover:not(:disabled) { background: var(--sotetkek); color: #fff; border-color: var(--sotetkek); }
.lepteto button:disabled { opacity: .35; cursor: default; }
.lepteto output { text-align: center; font-weight: 800; font-size: 17px; }
.foglalas-bontas { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; margin: 0 0 10px; font-size: 15px; }
.foglalas-bontas dd { margin: 0; text-align: right; white-space: nowrap; }
.foglalas-bontas .osszesen { border-top: 1px solid var(--homok); padding-top: 8px; font-weight: 800; color: var(--sotetkek); }
.foglalas-hibak { list-style: none; margin: 0 0 8px; padding: 0; color: #9b3d33; font-weight: 600; font-size: 15px; }
.foglalas-hibak:empty { display: none; }
.foglalas-doboz .gomb[aria-disabled="true"] { background: var(--homok); color: var(--halvany); cursor: pointer; }
.foglalas-megjegyzes { margin: 0 0 10px; font-size: 14px; color: var(--halvany); text-align: center; }

/* ==== „Foglalásom” oldal (page-foglalasom.php) ==== */
.foglalasom { max-width: 760px; }
.foglalasom-kartya { background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar); padding: clamp(18px, 3vw, 28px); box-shadow: var(--arnyek); }
.foglalasom-fej { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px 16px; margin-bottom: 14px; }
.foglalasom-fej h2 { margin: 0; font-size: 30px; }
.foglalasom-fej h2 a { text-decoration: none; }
.foglalasom-azonosito { margin: 0 0 2px; font-weight: 800; letter-spacing: .04em; color: var(--halvany); font-size: 14px; }
.foglalasom-allapot { display: inline-block; border-radius: 20px; padding: 4px 14px; font-weight: 800; font-size: 14px; background: var(--homok); color: var(--sotetkek); }
.foglalasom-allapot--fuggo, .foglalasom-allapot--ellenorizendo { background: #fbecd0; color: var(--arany-szoveg); }
.foglalasom-allapot--elfogadva { background: #dcefd9; color: #2f6b2a; }
.foglalasom-allapot--lejart, .foglalasom-allapot--elutasitva, .foglalasom-allapot--lemondva { background: #f4dcd8; color: #9b3d33; }
.foglalasom-adatok, .foglalasom-bontas { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 0 0 16px; }
.foglalasom-adatok dt { color: var(--halvany); }
.foglalasom-adatok dd, .foglalasom-bontas dd { margin: 0; }
.foglalasom-bontas { grid-template-columns: 1fr auto; border-top: 1px solid var(--homok); padding-top: 14px; }
.foglalasom-bontas dd { text-align: right; white-space: nowrap; }
.foglalasom-bontas .osszesen { font-weight: 800; color: var(--sotetkek); border-top: 1px solid var(--homok); padding-top: 8px; }
.foglalasom-fizetes { background: var(--krem); border-radius: 12px; padding: 4px 16px; margin: 0 0 16px; }
.foglalasom-fizetes h3 { margin: 12px 0 6px; font-size: 20px; }
.foglalasom-utalas { background: var(--krem); border-radius: 12px; padding: 4px 16px 14px; margin: 0 0 16px; }
.foglalasom-utalas h3 { margin: 12px 0 8px; font-size: 20px; }
.foglalasom-utalas dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 18px; margin: 0; }
.foglalasom-utalas dt { color: var(--halvany); }
.foglalasom-utalas dd { margin: 0; font-weight: 700; color: var(--sotetkek); overflow-wrap: anywhere; }
@media (max-width: 520px) { /* keskenyen a címke az érték fölött: a számlaszám egy sorban maradjon */
	.foglalasom-utalas dl { grid-template-columns: 1fr; gap: 0; }
	.foglalasom-utalas dd + dt { margin-top: 8px; }
}
.foglalasom-uzenet { background: #dcefd9; color: #2f6b2a; border-radius: 12px; padding: 12px 16px; font-weight: 700; }
.foglalasom-uzenet--hiba { background: #f4dcd8; color: #9b3d33; }
.foglalasom-lemondva { color: #9b3d33; font-weight: 700; }
.foglalasom-lemondas { margin: 8px 0 0; }
.foglalasom-kapcsolat { text-align: center; color: var(--halvany); margin-top: 18px; }
@media (max-width: 479px) { .foglalasom-adatok { grid-template-columns: 1fr; gap: 0 0; } .foglalasom-adatok dd { margin-bottom: 8px; } }
.foglalasom-kapcsolat a { font-weight: 700; text-decoration: none; } .foglalasom-kapcsolat a:hover { text-decoration: underline; }

/* ==== Foglalási panel (booking-box.php, assets/js/booking-request.js) ==== */
.foglalas-panel[hidden], .foglalas-panel [hidden] { display: none; }
.foglalas-doboz.panel-nyitva > :not(.foglalas-panel) { display: none; }
/* nyitott panelnél nem ragad: a magas űrlap alja (a beküldés gomb) görgetéssel elérhető legyen */
.foglalas-doboz.panel-nyitva { position: relative; top: auto; scroll-margin-top: 140px; }
.panel-fej { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.panel-vissza { display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; padding: 6px 4px; font: 700 15px var(--betu); color: var(--sotetkek); cursor: pointer; }
.panel-vissza:hover { color: var(--arany-szoveg); }
.panel-vissza .ikon { width: 18px; height: 18px; }
.panel-lepesek { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; font-size: 13px; font-weight: 700; color: var(--halvany); }
.panel-lepesek li + li::before { content: "·"; margin-right: 6px; }
.panel-lepesek .kesz::after { content: " ✓"; color: #2f6b2a; }
.panel-lepesek [aria-current="step"] { color: var(--sotetkek); }
.foglalas-panel h2 { margin: 0 0 4px; font-size: 26px; }
.panel-osszegzes { margin: 0 0 12px; color: var(--halvany); font-size: 15px; }
.panel-hibak { list-style: none; margin: 0 0 10px; padding: 10px 12px; border-radius: 10px; background: #f9e4e1; color: #9b3d33; font-weight: 600; font-size: 15px; }
.panel-hibak:empty { display: none; }
.panel-hibak li + li { margin-top: 4px; }
.panel-urlap p { margin: 0 0 10px; }
.panel-urlap label { display: block; font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.panel-urlap :is(input[type=text], input[type=email], input[type=tel], textarea) { width: 100%; padding: 10px 12px; border: 1px solid var(--homok-sotet); border-radius: var(--sugar-kicsi); font: inherit; background: #fff; }
.panel-urlap [aria-invalid="true"] { border-color: #9b3d33; box-shadow: 0 0 0 1px #9b3d33; }
.mezo-hiba { display: block; color: #9b3d33; font-size: 14px; font-weight: 600; margin-top: 2px; }
.mezo-hiba:empty { display: none; }
.panel-rejtett { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.panel-jelolo { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: start; }
.panel-jelolo input { margin-top: 4px; width: 18px; height: 18px; }
.panel-jelolo label { font-weight: 400; margin: 0; }
.panel-jelolo .mezo-hiba { grid-column: 2; }
.panel-turnstile { margin: 0 0 10px; }
.foglalas-panel .gomb { width: 100%; }
.panel-kesz { text-align: center; outline: none; }
.panel-pipa { width: 56px; height: 56px; margin: 4px auto 8px; border-radius: 50%; background: #dcefd9; color: #2f6b2a; font: 800 30px/56px var(--betu); }
.panel-kesz .foglalasom-adatok { text-align: left; }
.panel-fenntartas { font-size: 15px; }
body.panel-zarolt { overflow: hidden; }
@media (max-width: 1023px) {
	.foglalas-doboz.panel-nyitva > :not(.foglalas-panel) { display: revert; }
	.foglalas-panel:not([hidden]) { position: fixed; inset: 0; z-index: 1000; overflow-y: auto; background: var(--krem); padding: 14px var(--oldalter) 32px; }
	.foglalas-panel > * { max-width: 560px; margin-inline: auto; }
	.admin-bar .foglalas-panel:not([hidden]) { top: 46px; }
}

/* Kereső (template-parts/search-box.php, assets/js/search.js) és a keresés jelvényei a kártyákon */
.hazkereso { background: #fff; border: 1px solid var(--homok); border-radius: var(--sugar); box-shadow: var(--arnyek); padding: 20px 22px; margin: 0 0 28px; }
.hazkereso-cim { margin: 0 0 12px; font-size: 28px; }
.hazkereso-mezok { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; }
.hazkereso-datumok { position: relative; display: flex; gap: 12px; flex: 2 1 300px; }
.hazkereso-datumok > .hazkereso-mezo { flex: 1; }
.hazkereso-mezo { display: flex; flex-direction: column; gap: 4px; margin: 0; min-width: 0; }
.hazkereso-mezo label { font-size: 14px; font-weight: 700; color: var(--szoveg); }
.hazkereso-mezo input, .hazkereso-mezo select, .hazkereso-datum-gomb { width: 100%; min-height: 46px; padding: 8px 12px; border: 1px solid var(--homok-sotet); border-radius: var(--sugar-kicsi); background: #fff; font: inherit; color: var(--szoveg); }
.hazkereso-szam { flex: 0 1 110px; }
.hazkereso-mezo:has(select) { flex: 1 1 160px; }
.hazkereso-gomb { margin: 0; flex: 0 0 auto; }
.hazkereso-gomb .gomb { min-height: 46px; display: inline-flex; align-items: center; gap: 8px; }
.hazkereso-gomb .ikon { width: 18px; height: 18px; }
.hazkereso--kompakt { box-shadow: none; background: var(--krem); }
.hazkereso-uzenet { display: flex; align-items: center; gap: 8px; margin: -12px 0 24px; font-weight: 700; color: var(--szoveg); }
.hazkereso-uzenet--hiba { color: #8a3a1a; }
.hazkereso-uzenet .ikon { flex: none; width: 20px; height: 20px; }
@media (max-width: 639px) {
	.hazkereso { padding: 16px; }
	.hazkereso-datumok, .hazkereso-gomb { flex-basis: 100%; }
	.hazkereso-szam { flex: 1 1 0; }
	.hazkereso-gomb .gomb { width: 100%; justify-content: center; }
}
.kartya-jelveny { align-self: flex-start; margin: 0; padding: 2px 10px; border-radius: 12px; font-size: 13px; font-weight: 700; background: #eceae4; color: #4a4a44; }
.kartya-jelveny--szabad { background: #dcefd9; color: #2f6b2a; }
.kartya-jelveny--feltetel { background: #fcf0d6; color: #7a5300; }
.kartya-jelveny--erdeklodj { background: #e3eef4; color: var(--sotetkek); }
.ar-ej { color: var(--halvany); font-weight: 600; font-size: 14px; }
.hazkereso-cimke { font-size: 14px; font-weight: 700; color: var(--szoveg); }
.hazkereso-idoszak { flex: 1; }
.hazkereso-datum-gomb { text-align: left; cursor: pointer; display: flex; align-items: center; }
.hazkereso-datum-gomb[aria-expanded="true"] { border-color: var(--sotetkek); }
.hazkereso-naptar { position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; width: max-content; max-width: min(640px, calc(100vw - 2 * var(--oldalter))); background: #fff; border: 1px solid var(--homok-sotet); border-radius: var(--sugar); box-shadow: var(--arnyek); padding: 14px 16px 12px; }
.hazkereso-naptar-fej { display: flex; justify-content: space-between; margin-bottom: -28px; position: relative; z-index: 1; pointer-events: none; }
.hazkereso-lapoz { pointer-events: auto; width: 36px; height: 36px; border: 1px solid var(--homok); border-radius: 50%; background: #fff; color: var(--sotetkek); font-size: 20px; line-height: 1; cursor: pointer; }
.hazkereso-lapoz:disabled { opacity: .35; cursor: default; }
.hazkereso-honapok { display: flex; gap: 24px; }
.hazkereso-honap-cim { margin: 6px 0 10px; text-align: center; font-weight: 800; color: var(--sotetkek); }
.hazkereso-racs { display: grid; grid-template-columns: repeat(7, 40px); gap: 2px 0; }
.hazkereso-napnev { text-align: center; font-size: 12px; color: var(--halvany); padding-bottom: 4px; }
.hazkereso-nap { height: 38px; border: 0; background: none; border-radius: 8px; font: inherit; font-size: 15px; color: var(--szoveg); cursor: pointer; }
.hazkereso-nap:hover:not(:disabled) { background: var(--homok); }
.hazkereso-nap:disabled { color: #b9c2cb; cursor: default; }
.hazkereso-nap--ma { font-weight: 800; text-decoration: underline; }
.hazkereso-nap--koztes { background: #e3eef4; border-radius: 0; }
.hazkereso-nap--kijelolt { background: var(--sotetkek); color: #fff; font-weight: 800; }
.hazkereso-nap--kijelolt:hover:not(:disabled) { background: var(--sotetkek); }
.hazkereso-nap:focus-visible { outline: 3px solid var(--sotetkek); outline-offset: 1px; } /* CLAUDE.md: a fókuszkeret sötétkék */
.hazkereso-naptar-lab { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--homok); }
.hazkereso-tipp { margin: 0; font-size: 14px; color: var(--halvany); }
.hazkereso-torol { border: 0; background: none; color: var(--sotetkek); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
@media (max-width: 699px) {
	.hazkereso-naptar { left: 50%; transform: translateX(-50%); width: min(320px, calc(100vw - 2 * var(--oldalter))); padding: 12px; }
	.hazkereso-racs { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
/* a címlapon az első blokkként a hero hullámára úszik */
.hazkereso-blokk { padding-top: 32px; padding-bottom: 8px; }
.hazkereso-blokk .hazkereso { margin: 0; }
.cimlap-tartalom > .hazkereso-blokk:first-child { position: relative; z-index: 5; margin-top: -56px; padding-top: 0; }
