/* VK Apartmanok 0.1.2 – komponensstílus. A színek a téma theme.json palettájából jönnek (CSS-változók), saját tartalék értékkel. */
:root {
	--vk-kek: var(--wp--preset--color--mely-kek, #1f3b57);
	--vk-homok: var(--wp--preset--color--homok, #e9dfcb);
	--vk-tortfeher: var(--wp--preset--color--tortfeher, #faf7f2);
	--vk-zold: var(--wp--preset--color--zold, #4f6f4a);
	--vk-szoveg: var(--wp--preset--color--szoveg, #1d2329);
	--vk-sugar: 10px;
}
.vk-gombsor { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.vk-gomb { display: inline-flex; align-items: center; min-height: 44px; padding: .6rem 1.2rem; border-radius: var(--vk-sugar);
	background: var(--vk-kek); color: #fff; text-decoration: none; font-weight: 600; border: 2px solid var(--vk-kek); }
.vk-gomb:hover, .vk-gomb:focus-visible { background: #16304a; color: #fff; }
.vk-gomb--masodlagos { background: transparent; color: var(--vk-kek); }
.vk-gomb--masodlagos:hover, .vk-gomb--masodlagos:focus-visible { background: var(--vk-homok); color: var(--vk-kek); }
.vk-gomb:focus-visible, .vk-urlap :focus-visible, .vk-gyik summary:focus-visible { outline: 3px solid #c58b2b; outline-offset: 2px; }

.vk-kartyak { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.vk-kartya { background: #fff; border-radius: var(--vk-sugar); overflow: hidden; box-shadow: 0 1px 3px rgb(0 0 0 / .08); display: flex; flex-direction: column; }
.vk-kartya img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.vk-kartya__torzs { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }
.vk-kartya__torzs .vk-gombsor { margin-top: auto; }
.vk-kartya__ferohely { font-weight: 600; color: var(--vk-kek); }
.vk-pipalista { padding-left: 1.2rem; }

.vk-tabla-gorgeto { overflow-x: auto; }
.vk-osszehasonlitas { width: 100%; border-collapse: collapse; min-width: 32rem; }
.vk-osszehasonlitas th, .vk-osszehasonlitas td { padding: .75rem; border-bottom: 1px solid var(--vk-homok); text-align: left; vertical-align: top; }
.vk-osszehasonlitas thead th { background: var(--vk-tortfeher); }
.vk-nincs-adat { color: #5b6470; font-style: italic; }

.vk-attekintes { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1rem; margin: 0; }
.vk-attekintes div { background: var(--vk-tortfeher); border-radius: var(--vk-sugar); padding: .9rem; }
.vk-attekintes dt { font-size: .85rem; color: #5b6470; }
.vk-attekintes dd { margin: .2rem 0 0; font-weight: 600; }

.vk-szolgaltatasok { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; }
.vk-szolgaltatasok li { display: flex; align-items: center; gap: .6rem; }
.vk-ikon { flex: none; color: var(--vk-kek); }
.vk-felszereltseg { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.5rem; }
.vk-felszereltseg h3 { font-size: 1.05rem; }

.vk-gyik { border-bottom: 1px solid var(--vk-homok); padding: .75rem 0; }
.vk-gyik summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }

.vk-foglalas { background: var(--vk-tortfeher); border: 1px solid var(--vk-homok); border-radius: var(--vk-sugar); padding: 1.5rem; margin: 2rem 0; }
@media (min-width: 1024px) {
	.single-vk_apartman .vk-foglalas { position: sticky; top: 1.5rem; }
}

.vk-urlap { display: flex; flex-wrap: wrap; gap: 0 1rem; max-width: 40rem; }
.vk-mezo { flex: 1 1 100%; display: flex; flex-direction: column; gap: .3rem; }
.vk-mezo--fel { flex: 1 1 calc(50% - 1rem); }
.vk-urlap input, .vk-urlap select, .vk-urlap textarea { font: inherit; padding: .6rem; min-height: 44px; border: 1px solid #8a8f96; border-radius: 6px; background: #fff; }
.vk-rejtett { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vk-adatkezeles { flex: 1 1 100%; font-size: .9rem; }
.vk-uzenet { padding: 1rem; border-radius: var(--vk-sugar); margin-bottom: 1rem; }
.vk-uzenet--ok { background: #e7f2e5; border: 1px solid var(--vk-zold); }
.vk-uzenet--hiba { background: #fbeaea; border: 1px solid #a33; }

/* Mobil: rögzített hívás/ajánlat sáv; a lap alján helyet hagyunk, hogy ne takarjon tartalmat vagy hozzájárulási sávot. */
.vk-mobilsav { display: none; }
@media (max-width: 781px) {
	/* 0.1.1: alapból rejtett; a JS csak akkor mutatja, ha a lap saját foglalási gombjai nincsenek látótérben, nem lefelé görgetünk, és hozzájárulási felület sem látszik. */
	.vk-mobilsav { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: rgb(250 247 242 / .97);
		border-top: 1px solid var(--vk-homok); padding: .4rem .75rem calc(.4rem + env(safe-area-inset-bottom));
		transform: translateY(110%); visibility: hidden; transition: transform .2s ease, visibility 0s linear .2s; }
	.vk-mobilsav.vk-mobilsav--lathato { transform: none; visibility: visible; transition: transform .2s ease; }
	.vk-mobilsav .vk-gombsor { margin: 0; flex-wrap: nowrap; }
	.vk-mobilsav .vk-gomb { flex: 1; justify-content: center; padding: .5rem; font-size: .95rem; }
	.single-vk_apartman { padding-bottom: 5rem; }
	.vk-mezo--fel { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* 0.1.2: a képernyőn kívüli galériák renderelése (és a bennük lévő lusta képek letöltése) halasztva; élő kísérletben mobil LCP-medián 5,2 s -> 1,8 s a sizes-javítással együtt. */
.single-vk_apartman .wp-block-gallery { content-visibility: auto; contain-intrinsic-size: auto 600px; }
