/* Kálvária Oldal – vendégoldali stílus
   Paletta a 2026-os arculat szerint (a cukrászda belsőépítészeti fotóiból mérve):
   sárgaréz #C19D6C / #8A6D42, meleg antracit #131110, papír #F8F5EF.

   FIGYELEM – ELSŐBBSÉG:
   Minden szabály `body .ko*.ko*` alakban van, és a felülvágásra hajlamos
   tulajdonságok !important-ot kapnak. Ez azért kell, mert az Elementor
   globális tipográfiája és a témák resetjei nagy elsőbbséggel írnák felül a
   betűt, a színt, a margókat, a listákat és a gombokat.
   A grid, a gap, az aspect-ratio és a transition SZÁNDÉKOSAN maradt
   !important nélkül, hogy utólag kézzel is finomítható legyen.
   A fájlt a bump_css2.py állítja elő – kézi szerkesztésnél tartsd a mintát. */

body .ko.ko {
	--paper: #F8F5EF;
	--paper-2: #F1ECE3;
	--card: #FFFDF9;
	--ink: #131110;
	--ink-2: #1C1815;
	--brass: #C19D6C;
	--brass-lo: #8A6D42;
	--brass-hi: #EBD5AE;
	--muted: #6B6359;
	--line: rgba(19, 17, 16, .12);
	--line-d: rgba(193, 157, 108, .18);
	--ok: #3E8F5A;
	--off: #A8543F;
	--max: 1280px;
	--e: cubic-bezier(.19, 1, .22, 1);
	box-sizing: border-box !important;
	background: var(--paper) !important;
	color: var(--ink) !important;
	font-family: "Hanken Grotesk", system-ui, -apple-system, sans-serif !important;
	font-size: 17px !important;
	line-height: 1.65 !important;
	-webkit-font-smoothing: antialiased;
}

body .ko.ko *,
body .ko.ko *::before,
body .ko.ko *::after {
	box-sizing: border-box !important;
}

body .ko.ko img {
	display: block !important;
	max-width: 100% !important;
}

body .ko.ko a {
	/* a color SZANDEKOSAN nincs itt: 0,3,1 sullyal legyozte volna a gombok
	   sajat szinet (0,2,1). A tema link-szinet a fajl vegi :where() reteg
	   semlegesiti, ami nulla elsobbseget ad. */
	text-decoration: none !important;
}

body .ko-wrap.ko-wrap {
	max-width: var(--max) !important;
	margin: 0 auto !important;
	padding: 0 32px !important;
}

body .ko-serif.ko-serif {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "SOFT" 0, "WONK" 1 !important;
	font-weight: 380 !important;
	letter-spacing: -.022em !important;
	line-height: 1.02 !important;
	margin: 16px 0 18px !important;
}

body .ko-serif.ko-serif em {
	font-style: italic !important;
	font-variation-settings: "SOFT" 30, "WONK" 1 !important;
	color: var(--brass-lo) !important;
}

body .ko-tag.ko-tag {
	font-size: 10.5px !important;
	letter-spacing: .34em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--brass-lo) !important;
	margin: 0 !important;
}

body .ko.ko h1.ko-serif {
	font-size: clamp(42px, 8vw, 116px) !important;
}

body .ko.ko h2.ko-serif {
	font-size: clamp(30px, 5vw, 58px) !important;
}

body .ko-btn.ko-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: var(--brass) !important;
	color: #17120C !important;
	font-weight: 700 !important;
	font-size: 11.5px !important;
	letter-spacing: .15em !important;
	text-transform: uppercase !important;
	padding: 15px 26px !important;
	border: 0 !important;
	cursor: pointer;
	font-family: inherit !important;
	transition: transform .35s var(--e), background .3s var(--e);
}

body .ko-btn.ko-btn:hover {
	background: var(--brass-hi) !important;
	transform: translateY(-2px);
}

body .ko-btn--o.ko-btn--o {
	background: transparent !important;
	color: var(--brass) !important;
	border: 1px solid rgba(193,157,108,.45) !important;
}

body .ko-btn--o.ko-btn--o:hover {
	background: rgba(193,157,108,.1) !important;
}

body .ko-btn--full.ko-btn--full {
	width: 100% !important;
	margin-top: 14px !important;
}

body .ko-btns.ko-btns {
	display: flex !important;
	gap: 12px;
	flex-wrap: wrap;
}

/* hirdetménysáv */

body .ko-ann.ko-ann {
	position: relative !important;
	background: var(--ink) !important;
	color: #E7E0D4 !important;
	font-size: 13.5px !important;
}

body .ko-ann.ko-ann .ko-wrap {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 11px 56px !important;
	text-align: center !important;
	flex-wrap: wrap;
}

body .ko-ann.ko-ann b {
	color: var(--brass) !important;
	font-size: 10.5px !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
}

body .ko-ann-x.ko-ann-x {
	position: absolute !important;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	background: none !important;
	border: 0 !important;
	color: #8C8478 !important;
	font-size: 20px !important;
	cursor: pointer;
}

body .ko-ann-x.ko-ann-x:hover {
	color: var(--brass) !important;
}

/* hero */

body .ko-hero.ko-hero {
	position: relative !important;
	min-height: 74vh;
	display: flex !important;
	align-items: flex-end;
	background: var(--ink) !important;
	overflow: hidden !important;
}

body .ko-hero-img.ko-hero-img {
	position: absolute !important;
	inset: 0;
}

body .ko-hero-img.ko-hero-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	opacity: .6 !important;
}

body .ko-hero-img.ko-hero-img::after {
	content: "";
	position: absolute !important;
	inset: 0;
	/* Lágyabb felső átmenet: a fejléc szövegének van mit fognia, de nem lesz
	   belőle éles sáv. Több lépcső = simább fadeout. */
	background: linear-gradient(to bottom,
		rgba(19,17,16,.78) 0%,
		rgba(19,17,16,.52) 9%,
		rgba(19,17,16,.24) 20%,
		rgba(19,17,16,.10) 34%,
		rgba(19,17,16,.30) 62%,
		rgba(19,17,16,.86) 86%,
		var(--ink) 100%) !important;
}

body .ko-hero-in.ko-hero-in {
	position: relative !important;
	z-index: 2 !important;
	width: 100% !important;
	padding: 120px 32px 68px !important;
	color: var(--paper) !important;
}

body .ko-hero-in.ko-hero-in .ko-tag {
	color: var(--brass) !important;
}

body .ko-hero-in.ko-hero-in h1 {
	color: #FBF8F2 !important;
	max-width: 14ch !important;
}

body .ko-hero-in.ko-hero-in h1 em {
	color: var(--brass) !important;
}

body .ko-hero-row.ko-hero-row {
	display: flex !important;
	justify-content: space-between;
	align-items: flex-end;
	gap: 38px;
	margin-top: 30px !important;
	flex-wrap: wrap;
}

body .ko-hero-lead.ko-hero-lead {
	max-width: 40ch !important;
	color: #CFC7BB !important;
	font-size: 18.5px !important;
	margin: 0 !important;
}

/* futósáv */

body .ko-ticker.ko-ticker {
	border-bottom: 1px solid var(--line) !important;
	background: var(--paper-2) !important;
	overflow: hidden !important;
	padding: 18px 0 !important;
}

body .ko-tick.ko-tick {
	display: flex !important;
	width: max-content !important;
	animation: ko-tick 48s linear infinite;
}

body .ko-ticker.ko-ticker:hover .ko-tick {
	animation-play-state: paused;
}

@keyframes ko-tick {
from { transform: translateX(0); } to { transform: translateX(-50%); }
}

body .ko-tick.ko-tick span {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 340 !important;
	font-size: 24px !important;
	color: #8C8478 !important;
	padding: 0 30px !important;
	white-space: nowrap;
}

body .ko-tick.ko-tick span b {
	color: var(--brass-lo) !important;
	font-weight: 340 !important;
}

/* számok */

body .ko-stats.ko-stats {
	border-bottom: 1px solid var(--line) !important;
}

body .ko-stats.ko-stats .ko-wrap {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
}

body .ko-stat.ko-stat {
	padding: 52px 46px !important;
	border-right: 1px solid var(--line) !important;
	text-align: center !important;
}

body .ko-stat.ko-stat:first-child {
	padding-left: 0 !important;
}

body .ko-stat.ko-stat:last-child {
	border-right: 0 !important;
	padding-right: 0 !important;
}

body .ko-stat.ko-stat b {
	display: block !important;
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 380 !important;
	font-size: clamp(34px, 4.2vw, 54px) !important;
	color: var(--brass-lo) !important;
	line-height: 1 !important;
	letter-spacing: -.022em !important;
}

body .ko-stat.ko-stat span {
	display: block !important;
	margin-top: 14px !important;
	font-size: 13.5px !important;
	color: var(--muted) !important;
}

/* szekció */

body .ko-sec.ko-sec {
	padding: 110px 0 !important;
}

body .ko-sec--alt.ko-sec--alt {
	background: var(--paper-2) !important;
	border-top: 1px solid var(--line) !important;
	border-bottom: 1px solid var(--line) !important;
}

body .ko-head.ko-head {
	margin-bottom: 40px !important;
}

body .ko-head--dark.ko-head--dark .ko-tag {
	color: var(--brass) !important;
}

body .ko-head--dark.ko-head--dark h2 {
	color: #FBF8F2 !important;
}

/* rólunk */

body .ko-about.ko-about {
	display: grid !important;
	grid-template-columns: 1.05fr .95fr;
	gap: 70px;
	align-items: start;
}

body .ko-about.ko-about p {
	color: var(--muted) !important;
	font-size: 17.5px !important;
	margin: 0 0 20px !important;
}

body .ko-about.ko-about p.ko-big {
	color: var(--ink) !important;
	font-size: 19.5px !important;
}

body .ko-about-media.ko-about-media {
	position: sticky !important;
	top: 24px;
}

body .ko-fig.ko-fig {
	overflow: hidden !important;
	aspect-ratio: 4/3 !important;
	background: var(--paper-2) !important;
}

body .ko-fig.ko-fig img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 1s var(--e);
}

body .ko-fig.ko-fig:hover img {
	transform: scale(1.04);
}

body .ko-note.ko-note {
	margin-top: 20px !important;
	padding: 20px 22px !important;
	background: var(--paper-2) !important;
	border-left: 3px solid var(--brass) !important;
}

body .ko-note.ko-note b {
	display: block !important;
	font-size: 14.5px !important;
	margin-bottom: 4px !important;
}

body .ko-note.ko-note span {
	font-size: 15px !important;
	color: var(--muted) !important;
}

/* kínálat */

body .ko-kin.ko-kin {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}

body .ko-kin.ko-kin a {
	display: block !important;
}

body .ko-im.ko-im {
	display: block !important;
	position: relative !important;
	aspect-ratio: 1/1 !important;
	overflow: hidden !important;
	background: var(--card) !important;
}

body .ko-im.ko-im img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
	filter: saturate(.94);
	transition: transform 1.1s var(--e), filter .6s var(--e);
}

body .ko-kin.ko-kin a:hover .ko-im img {
	transform: scale(1.05);
	filter: saturate(1.04);
}

body .ko-im.ko-im::after {
	content: "";
	position: absolute !important;
	inset: 0;
	box-shadow: inset 0 0 0 1px rgba(19,17,16,.07) !important;
}

body .ko-ln.ko-ln {
	display: block !important;
	height: 1px !important;
	background: var(--line) !important;
	margin: 16px 0 14px !important;
	position: relative !important;
}

body .ko-ln.ko-ln::after {
	content: "";
	position: absolute !important;
	left: 0;
	top: 0;
	height: 1px !important;
	width: 0 !important;
	background: var(--brass) !important;
	transition: width .7s var(--e);
}

body .ko-kin.ko-kin a:hover .ko-ln::after {
	width: 100% !important;
}

body .ko-n.ko-n {
	display: block !important;
	font-size: 9.5px !important;
	letter-spacing: .28em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--brass-lo) !important;
	margin-bottom: 8px !important;
}

body .ko-hd.ko-hd {
	display: flex !important;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 7px !important;
}

body .ko-hd.ko-hd h3 {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 380 !important;
	font-size: 21px !important;
	letter-spacing: -.018em !important;
	margin: 0 !important;
	line-height: 1.12 !important;
	transition: color .35s var(--e);
}

body .ko-kin.ko-kin a:hover h3 {
	color: var(--brass-lo) !important;
}

body .ko-ar.ko-ar {
	font-size: 16px !important;
	color: var(--brass-lo) !important;
	opacity: 0 !important;
	transform: translateX(-6px);
	transition: opacity .4s var(--e), transform .5s var(--e);
}

body .ko-kin.ko-kin a:hover .ko-ar {
	opacity: 1 !important;
	transform: none;
}

body .ko-kin.ko-kin p {
	margin: 0 !important;
	color: var(--muted) !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

/* rendelés */

body .ko-order.ko-order {
	background: var(--ink) !important;
	color: var(--paper) !important;
}

body .ko-steps.ko-steps {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--line-d) !important;
	border: 1px solid var(--line-d) !important;
}

body .ko-step.ko-step {
	background: var(--ink) !important;
	padding: 38px 30px 42px !important;
}

body .ko-k.ko-k {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 360 !important;
	font-size: 42px !important;
	color: var(--brass) !important;
	line-height: 1 !important;
}

body .ko-step.ko-step h3 {
	margin: 20px 0 10px !important;
	font-size: 19px !important;
	font-weight: 600 !important;
	color: #F2EDE4 !important;
}

body .ko-step.ko-step p {
	margin: 0 !important;
	color: #A79E92 !important;
	font-size: 15.5px !important;
}

body .ko-order-cta.ko-order-cta {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 28px;
	margin-top: 42px !important;
	flex-wrap: wrap;
}

body .ko-order-cta.ko-order-cta p {
	margin: 0 !important;
	color: #A79E92 !important;
	font-size: 15px !important;
}

body .ko-order-cta.ko-order-cta strong {
	color: #F2EDE4 !important;
}

/* GYIK */

body .ko-faqwrap.ko-faqwrap {
	display: grid !important;
	grid-template-columns: .82fr 1.18fr;
	gap: 72px;
	align-items: start;
}

body .ko-faq-aside.ko-faq-aside {
	position: sticky !important;
	top: 24px;
}

body .ko-help-card.ko-help-card {
	background: var(--card) !important;
	border: 1px solid var(--line) !important;
	padding: 22px 24px 24px !important;
	margin-top: 24px !important;
}

body .ko-help-card.ko-help-card b {
	display: block !important;
	font-size: 15px !important;
	margin-bottom: 5px !important;
}

body .ko-help-card.ko-help-card p {
	margin: 0 0 12px !important;
	color: var(--muted) !important;
	font-size: 14.5px !important;
}

body .ko-help-card.ko-help-card a {
	font-size: 16.5px !important;
	font-weight: 600 !important;
	border-bottom: 1px solid rgba(138,109,66,.35) !important;
}

body .ko-faq-i.ko-faq-i {
	border-bottom: 1px solid var(--line) !important;
}

body .ko-faq-i.ko-faq-i:first-child {
	border-top: 1px solid var(--line) !important;
}

body .ko-faq-q.ko-faq-q {
	width: 100% !important;
	background: none !important;
	border: 0 !important;
	font: inherit;
	text-align: left !important;
	cursor: pointer;
	display: grid !important;
	grid-template-columns: 1fr auto;
	gap: 24px;
	align-items: center;
	padding: 20px 2px !important;
	transition: padding .4s var(--e);
	color: inherit !important;
}

body .ko-faq-q.ko-faq-q:hover {
	padding-left: 10px !important;
}

body .ko-faq-q.ko-faq-q span {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 380 !important;
	font-size: clamp(17.5px, 1.85vw, 21px) !important;
	line-height: 1.3 !important;
	transition: color .35s var(--e);
}

body .ko-faq-q.ko-faq-q:hover span,
body .ko-faq-i.ko-faq-i.is-open .ko-faq-q span {
	color: var(--brass-lo) !important;
}

body .ko-faq-q.ko-faq-q i {
	font-style: normal !important;
	width: 30px !important;
	height: 30px !important;
	position: relative !important;
	border: 1px solid var(--line) !important;
	border-radius: 50% !important;
	background: var(--card) !important;
	transition: transform .5s var(--e), border-color .4s, background .4s;
}

body .ko-faq-q.ko-faq-q i::before,
body .ko-faq-q.ko-faq-q i::after {
	content: "";
	position: absolute !important;
	left: 50%;
	top: 50%;
	background: var(--brass-lo) !important;
	transform: translate(-50%, -50%);
	transition: opacity .35s var(--e);
}

body .ko-faq-q.ko-faq-q i::before {
	width: 12px !important;
	height: 1.5px !important;
}

body .ko-faq-q.ko-faq-q i::after {
	width: 1.5px !important;
	height: 12px !important;
}

body .ko-faq-i.ko-faq-i.is-open .ko-faq-q i {
	transform: rotate(180deg);
	border-color: var(--brass) !important;
	background: var(--brass) !important;
}

body .ko-faq-i.ko-faq-i.is-open .ko-faq-q i::before {
	background: #17120C !important;
}

body .ko-faq-i.ko-faq-i.is-open .ko-faq-q i::after {
	opacity: 0 !important;
}

body .ko-faq-a.ko-faq-a {
	/* A max-height-en NEM lehet !important: a harmonikat a JS inline
	   `style.maxHeight`-tel nyitja, es a stiluslap !important-ja azt is
	   legyozi — emiatt a valasz sosem jelent meg. */
	max-height: 0;
	overflow: hidden !important;
	transition: max-height .55s var(--e);
}

body .ko-faq-a.ko-faq-a p {
	margin: 0 0 22px !important;
	color: var(--muted) !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	max-width: 62ch !important;
	padding-right: 54px !important;
}

/* nyitvatartás */

body .ko-visit.ko-visit {
	background: var(--paper-2) !important;
	border-top: 1px solid var(--line) !important;
}

body .ko-visit-grid.ko-visit-grid {
	display: grid !important;
	grid-template-columns: 1.05fr .95fr;
	gap: 56px;
	align-items: start;
}

body .ko-badge.ko-badge {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	padding: 9px 16px 9px 13px !important;
	border-radius: 999px !important;
	background: var(--card) !important;
	border: 1px solid var(--line) !important;
	margin: 18px 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

body .ko-badge-dot.ko-badge-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	background: var(--muted) !important;
	position: relative !important;
	flex: 0 0 auto;
}

body .ko-badge.ko-badge.is-open .ko-badge-dot {
	background: var(--ok) !important;
}

body .ko-badge.ko-badge.is-closed .ko-badge-dot {
	background: var(--off) !important;
}

body .ko-badge.ko-badge.is-open .ko-badge-dot::after {
	content: "";
	position: absolute !important;
	inset: -5px;
	border-radius: 50% !important;
	border: 1px solid var(--ok) !important;
	opacity: .5 !important;
	animation: ko-pulse 2.4s ease-out infinite;
}

@keyframes ko-pulse {
0% { transform: scale(.7); opacity: .6; } 100% { transform: scale(1.5); opacity: 0; }
}

body .ko-badge-next.ko-badge-next {
	font-weight: 400 !important;
	color: var(--muted) !important;
}

body .ko-days.ko-days {
	list-style: none !important;
	margin: 22px 0 0 !important;
	padding: 0 !important;
	border-top: 1px solid var(--line) !important;
}

body .ko-days.ko-days li {
	display: flex !important;
	justify-content: space-between;
	gap: 20px;
	padding: 10px 14px !important;
	border-bottom: 1px solid var(--line) !important;
}

body .ko-days.ko-days li:last-child {
	border-bottom: 0 !important;
}

body .ko-days.ko-days li.is-today {
	background: var(--card) !important;
	border-left: 3px solid var(--brass) !important;
	padding-left: 16px !important;
	font-weight: 700 !important;
}

body .ko-days.ko-days .ko-t {
	font-variant-numeric: tabular-nums;
	color: var(--muted) !important;
	font-weight: 400 !important;
}

body .ko-days.ko-days li.is-today .ko-t {
	color: var(--ink) !important;
	font-weight: 600 !important;
}

body .ko-card.ko-card {
	background: var(--card) !important;
	border: 1px solid var(--line) !important;
	padding: 26px 30px 28px !important;
}

body .ko-line.ko-line {
	display: flex !important;
	gap: 14px;
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--line) !important;
	align-items: flex-start;
}

body .ko-line.ko-line:first-child {
	padding-top: 0 !important;
}

body .ko-line.ko-line:last-child {
	border-bottom: 0 !important;
}

body .ko-lab.ko-lab {
	font-size: 11px !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--brass-lo) !important;
	font-weight: 700 !important;
	min-width: 78px !important;
	padding-top: 3px !important;
}

body .ko-val.ko-val {
	font-size: 16.5px !important;
}

body .ko-val.ko-val a {
	border-bottom: 1px solid rgba(138,109,66,.4) !important;
}

body .ko-val.ko-val a:hover {
	color: var(--brass-lo) !important;
}

body .ko-map.ko-map {
	margin-top: 14px !important;
	border: 1px solid var(--line) !important;
	overflow: hidden !important;
	background: var(--paper-2) !important;
	aspect-ratio: 5/2 !important;
	filter: grayscale(.4);
	transition: filter .6s var(--e);
}

body .ko-map.ko-map:hover {
	filter: none;
}

body .ko-map.ko-map iframe {
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	display: block !important;
}

/* ragadós mobil sáv */

body .ko-mbar.ko-mbar {
	position: fixed !important;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 120 !important;
	display: none !important;
	background: rgba(19,17,16,.96) !important;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
	transform: translateY(110%);
	transition: transform .5s var(--e);
}

body .ko-mbar.ko-mbar.is-on {
	transform: none;
}

body .ko-mbar-in.ko-mbar-in {
	display: flex !important;
	align-items: center;
	gap: 12px;
}

body .ko-mbar-st.ko-mbar-st {
	flex: 1;
	color: #CFC7BB !important;
	font-size: 12.5px !important;
	line-height: 1.3 !important;
}

body .ko-mbar-st.ko-mbar-st b {
	display: block !important;
	color: #F2EDE4 !important;
	font-size: 13.5px !important;
}

body .ko-mbar.ko-mbar .ko-btn {
	padding: 13px 20px !important;
	font-size: 11px !important;
}

@media (max-width: 820px) {
	body .ko-mbar.ko-mbar {
	display: block !important;
	}
}

/* galéria */

body .ko-gal.ko-gal {
	padding: 40px 0 90px !important;
}

body .ko-filters.ko-filters {
	display: flex !important;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 26px !important;
}

body .ko-filters.ko-filters button {
	background: none !important;
	border: 1px solid var(--line) !important;
	font: inherit;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 10px 20px !important;
	cursor: pointer;
	color: var(--muted) !important;
	transition: all .35s var(--e);
}

body .ko-filters.ko-filters button:hover {
	border-color: var(--brass-lo) !important;
	color: var(--ink) !important;
}

body .ko-filters.ko-filters button.is-on {
	background: var(--ink) !important;
	border-color: var(--ink) !important;
	color: var(--paper) !important;
}

body .ko-gcount.ko-gcount {
	margin: 0 0 22px !important;
	font-size: 14px !important;
	color: var(--muted) !important;
}

body .ko-grid.ko-grid {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
}

body .ko-grid.ko-grid figure {
	margin: 0 !important;
	position: relative !important;
	aspect-ratio: 1 !important;
	overflow: hidden !important;
	background: var(--paper-2) !important;
	cursor: zoom-in;
}

body .ko-grid.ko-grid figure.is-hidden {
	display: none !important;
}

body .ko-grid.ko-grid img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	filter: saturate(.86);
	transition: transform .9s var(--e), filter .5s var(--e);
}

body .ko-grid.ko-grid figure:hover img {
	transform: scale(1.06);
	filter: saturate(1.02);
}

body .ko-grid.ko-grid figure::after {
	content: "";
	position: absolute !important;
	inset: 0;
	box-shadow: inset 0 0 0 1px rgba(19,17,16,.07) !important;
}

body .ko-more.ko-more {
	display: flex !important;
	justify-content: center;
	margin-top: 34px !important;
}

body .ko-empty.ko-empty {
	text-align: center !important;
	color: var(--muted) !important;
	padding: 40px 0 !important;
}

/* nagyító */

body .ko-lb.ko-lb {
	position: fixed !important;
	inset: 0;
	z-index: 210 !important;
	background: rgba(19,17,16,.94) !important;
	display: none !important;
	align-items: center;
	justify-content: center;
	padding: 40px !important;
}

body .ko-lb.ko-lb.is-on {
	display: flex !important;
}

body .ko-lb.ko-lb img {
	max-width: min(92vw, 1100px) !important;
	max-height: 86vh !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}

body .ko-lb-x.ko-lb-x {
	position: absolute !important;
	top: 22px;
	right: 26px;
	background: none !important;
	border: 0 !important;
	color: #C6BEB3 !important;
	font-size: 34px !important;
	cursor: pointer;
}

body .ko-lb-nav.ko-lb-nav {
	position: absolute !important;
	top: 50%;
	transform: translateY(-50%);
	background: none !important;
	border: 0 !important;
	color: #C6BEB3 !important;
	font-size: 38px !important;
	cursor: pointer;
	padding: 14px !important;
}

body .ko-lb-x.ko-lb-x:hover,
body .ko-lb-nav.ko-lb-nav:hover {
	color: var(--brass) !important;
}

body .ko-lb-p.ko-lb-p {
	left: 14px;
}

body .ko-lb-n.ko-lb-n {
	right: 14px;
}

body .ko-lb-c.ko-lb-c {
	position: absolute !important;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	color: #8C8478 !important;
	font-size: 13px !important;
}

/* árlista */

body .ko-prices.ko-prices {
	padding: 40px 0 90px !important;
}

body .ko-pr.ko-pr {
	background: var(--card) !important;
	border: 1px solid var(--line) !important;
	margin-bottom: 26px !important;
}

body .ko-pr-head.ko-pr-head {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	flex-wrap: wrap;
	padding: 22px 28px !important;
	border-bottom: 1px solid var(--line) !important;
}

body .ko-pr-head.ko-pr-head h3 {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 380 !important;
	font-size: 25px !important;
	margin: 0 !important;
}

body .ko-pr-head.ko-pr-head span {
	font-size: 13.5px !important;
	color: var(--muted) !important;
}

body .ko-pr-t.ko-pr-t {
	width: 100% !important;
	border-collapse: collapse;
}

body .ko-pr-t.ko-pr-t th {
	text-align: left !important;
	font-size: 10.5px !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--brass-lo) !important;
	padding: 13px 28px !important;
	border-bottom: 1px solid var(--line) !important;
}

body .ko-pr-t.ko-pr-t td {
	padding: 12px 28px !important;
	border-bottom: 1px solid var(--line) !important;
	font-size: 16px !important;
}

body .ko-pr-t.ko-pr-t tr:last-child td {
	border-bottom: 0 !important;
}

body .ko-pr-t.ko-pr-t td:last-child {
	text-align: right !important;
	font-variant-numeric: tabular-nums;
	font-weight: 600 !important;
}

body .ko-pr-t.ko-pr-t tr:hover td {
	background: var(--paper-2) !important;
}

body .ko-px.ko-px {
	color: var(--brass-lo) !important;
}

body .ko-note-box.ko-note-box {
	background: var(--paper-2) !important;
	border-left: 3px solid var(--brass) !important;
	padding: 18px 22px !important;
	font-size: 15px !important;
	color: var(--muted) !important;
	margin: 8px 0 26px !important;
}

/* kapcsolat */

body .ko-contact.ko-contact {
	padding: 40px 0 90px !important;
}

body .ko-ct.ko-ct {
	display: grid !important;
	grid-template-columns: 1fr 1.05fr;
	gap: 60px;
	align-items: start;
}

body .ko-lead.ko-lead {
	color: var(--muted) !important;
	margin: 0 0 24px !important;
	font-size: 16.5px !important;
}

body .ko-lead.ko-lead a {
	border-bottom: 1px solid var(--brass) !important;
}

body .ko-form.ko-form {
	display: grid !important;
	gap: 16px;
}

body .ko-frow.ko-frow {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

body .ko-fld.ko-fld label {
	display: block !important;
	font-size: 12px !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--muted) !important;
	margin-bottom: 7px !important;
}

body .ko-fld.ko-fld input,
body .ko-fld.ko-fld textarea,
body .ko-fld.ko-fld select {
	width: 100% !important;
	padding: 13px 15px !important;
	border: 1px solid var(--line) !important;
	background: #fff !important;
	font: inherit;
	font-size: 16px !important;
	color: var(--ink) !important;
	border-radius: 0 !important;
	transition: border-color .3s var(--e), box-shadow .3s var(--e);
}

body .ko-fld.ko-fld textarea {
	min-height: 132px;
	resize: vertical;
}

body .ko-fld.ko-fld input:focus,
body .ko-fld.ko-fld textarea:focus,
body .ko-fld.ko-fld select:focus {
	outline: none;
	border-color: var(--brass) !important;
	box-shadow: 0 0 0 3px rgba(193,157,108,.16) !important;
}

body .ko-fine.ko-fine {
	margin: 0 !important;
	font-size: 13.5px !important;
	color: var(--muted) !important;
}

body .ko-hp.ko-hp {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}

body .ko-msg.ko-msg {
	padding: 14px 18px !important;
	margin-bottom: 18px !important;
	font-size: 15px !important;
	border-left: 3px solid var(--brass) !important;
	background: var(--paper-2) !important;
}

body .ko-msg.ko-msg.is-ok {
	border-left-color: var(--ok);
}

body .ko-msg.ko-msg.is-err {
	border-left-color: var(--off);
}

@media (max-width: 1000px) {
	body .ko-about.ko-about,
body .ko-visit-grid.ko-visit-grid,
body .ko-ct.ko-ct {
	grid-template-columns: 1fr;
	gap: 42px;
	}

	body .ko-about-media.ko-about-media,
body .ko-faq-aside.ko-faq-aside {
	position: static !important;
	}

	body .ko-faqwrap.ko-faqwrap {
	grid-template-columns: 1fr;
	gap: 36px;
	}

	body .ko-kin.ko-kin {
	grid-template-columns: repeat(2, 1fr);
	}

	body .ko-steps.ko-steps {
	grid-template-columns: 1fr;
	}

	body .ko-stats.ko-stats .ko-wrap {
	grid-template-columns: repeat(2, 1fr);
	}

	body .ko-stat.ko-stat {
	padding: 38px 26px !important;
	}

	body .ko-stat.ko-stat:nth-child(2) {
	border-right: 0 !important;
	}

	body .ko-grid.ko-grid {
	grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 680px) {
	body .ko-wrap.ko-wrap {
	padding: 0 20px !important;
	}

	body .ko-sec.ko-sec {
	padding: 72px 0 !important;
	}

	body .ko-hero-in.ko-hero-in {
	padding: 96px 20px 56px !important;
	}

	body .ko-stats.ko-stats .ko-wrap {
	grid-template-columns: 1fr;
	}

	body .ko-stat.ko-stat {
	border-right: 0 !important;
	border-bottom: 1px solid var(--line) !important;
	padding: 26px 0 !important;
	}

	body .ko-stat.ko-stat:last-child {
	border-bottom: 0 !important;
	}

	body .ko-kin.ko-kin {
	grid-template-columns: 1fr;
	}

	body .ko-grid.ko-grid {
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	}

	body .ko-frow.ko-frow {
	grid-template-columns: 1fr;
	}

	body .ko-faq-a.ko-faq-a p {
	padding-right: 0 !important;
	}

	body .ko-map.ko-map {
	aspect-ratio: 4/3 !important;
	}

	body .ko-pr-t.ko-pr-t th,
body .ko-pr-t.ko-pr-t td {
	padding: 11px 18px !important;
	}

	body .ko-tick.ko-tick span {
	font-size: 19px !important;
	padding: 0 20px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .ko.ko *,
body .ko.ko *::before,
body .ko.ko *::after {
	transition: none !important;
	animation: none !important;
	}
}

body .ko.ko a:focus-visible,
body .ko.ko button:focus-visible {
	outline: 2px solid var(--brass-lo);
	outline-offset: 3px;
}

/* ---- árlista (weboldal) ---- */

body .ko-pr-top.ko-pr-top {
	display: flex !important;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 30px !important;
	padding-bottom: 22px !important;
	border-bottom: 1px solid var(--line) !important;
}

body .ko-pr-lead.ko-pr-lead {
	margin: 0 !important;
	color: var(--muted) !important;
	font-size: 16.5px !important;
	max-width: 50ch !important;
}

body .ko-pr-tools.ko-pr-tools {
	display: flex !important;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

body .ko-search.ko-search input {
	padding: 12px 16px !important;
	border: 1px solid var(--line) !important;
	background: #fff !important;
	font: inherit;
	font-size: 15px !important;
	color: var(--ink) !important;
	min-width: 240px !important;
	border-radius: 0 !important;
}

body .ko-search.ko-search input:focus {
	outline: none;
	border-color: var(--brass) !important;
	box-shadow: 0 0 0 3px rgba(193,157,108,.16) !important;
}

body .ko-pr.ko-pr {
	background: var(--card) !important;
	border: 1px solid var(--line) !important;
	margin-bottom: 22px !important;
}

body .ko-pr.ko-pr.is-empty {
	display: none !important;
}

body .ko-pr-head.ko-pr-head {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	flex-wrap: wrap;
	padding: 20px 26px !important;
	border-bottom: 1px solid var(--line) !important;
}

body .ko-pr-head.ko-pr-head h3 {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 380 !important;
	font-size: 24px !important;
	margin: 0 !important;
	letter-spacing: -.02em !important;
}

body .ko-pr-head.ko-pr-head span {
	font-size: 13px !important;
	color: var(--muted) !important;
}

body .ko-pr-t.ko-pr-t {
	width: 100% !important;
	border-collapse: collapse;
}

body .ko-pr-t.ko-pr-t thead th {
	text-align: left !important;
	font-size: 10px !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--brass-lo) !important;
	padding: 11px 26px !important;
	border-bottom: 1px solid var(--line) !important;
	white-space: nowrap;
}

body .ko-pr-t.ko-pr-t td {
	padding: 10px 26px !important;
	border-bottom: 1px solid var(--line) !important;
	font-size: 15.5px !important;
}

body .ko-pr-t.ko-pr-t tbody tr:last-child td {
	border-bottom: 0 !important;
}

body .ko-pr-t.ko-pr-t tbody tr:hover td {
	background: var(--paper-2) !important;
}

body .ko-pr-t.ko-pr-t tr.is-hidden {
	display: none !important;
}

body .ko-pr-t.ko-pr-t .is-num {
	text-align: right !important;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	font-weight: 600 !important;
	color: var(--brass-lo) !important;
}

body .ko-pr-t.ko-pr-t th.is-num {
	text-align: right !important;
}

body .ko-pr-t.ko-pr-t .is-tag {
	width: 1% !important;
	white-space: nowrap;
	padding-right: 8px !important;
}

body .ko-bdg.ko-bdg {
	display: inline-block !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	border: 1px solid var(--brass) !important;
	color: var(--brass-lo) !important;
	border-radius: 3px !important;
	padding: 1px 4px !important;
	margin-right: 3px !important;
	line-height: 1.5 !important;
}

body .ko-pr-note.ko-pr-note {
	margin: 0 !important;
	padding: 14px 26px !important;
	font-size: 14px !important;
	color: var(--muted) !important;
	background: var(--paper-2) !important;
	border-top: 1px solid var(--line) !important;
	font-style: italic !important;
}

body .ko-legend.ko-legend {
	background: var(--paper-2) !important;
	border: 1px solid var(--line) !important;
	padding: 22px 26px !important;
	margin: 26px 0 0 !important;
}

body .ko-legend.ko-legend h4 {
	margin: 0 0 14px !important;
	font-size: 10px !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--brass-lo) !important;
}

body .ko-legend.ko-legend ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 10px 26px;
}

body .ko-legend.ko-legend li {
	display: flex !important;
	align-items: center;
	gap: 9px;
	font-size: 14.5px !important;
	color: var(--muted) !important;
}

body .ko-legend.ko-legend b {
	color: var(--brass-lo) !important;
	margin-left: auto !important;
	white-space: nowrap;
}

body .ko-pr-foot.ko-pr-foot {
	margin-top: 18px !important;
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px 26px;
	font-size: 14px !important;
	color: var(--muted) !important;
}

body .ko-pr-foot.ko-pr-foot p {
	margin: 0 !important;
}

@media (max-width: 680px) {
	body .ko-pr-head.ko-pr-head {
	padding: 16px 18px !important;
	}

	body .ko-pr-t.ko-pr-t thead th,
body .ko-pr-t.ko-pr-t td {
	padding: 9px 14px !important;
	font-size: 14px !important;
	}

	body .ko-pr-t.ko-pr-t thead th {
	font-size: 9px !important;
	letter-spacing: .1em !important;
	}

	body .ko-pr-note.ko-pr-note {
	padding: 12px 18px !important;
	}

	body .ko-search.ko-search input {
	min-width: 0 !important;
	width: 100% !important;
	}

	body .ko-pr-tools.ko-pr-tools {
	width: 100% !important;
	}
}

/* ============ FEJLÉC ============ */

body .ko-skip.ko-skip {
	position: absolute !important;
	left: -9999px;
}

body .ko-skip.ko-skip:focus {
	left: 12px;
	top: 12px;
	z-index: 300 !important;
	background: var(--ink) !important;
	color: var(--paper) !important;
	padding: 12px 18px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

body .ko-hdr.ko-hdr {
	position: sticky !important;
	top: 0;
	z-index: 90 !important;
	height: 76px !important;
	display: flex !important;
	align-items: center;
	border-bottom: 1px solid transparent !important;
	transition: background .4s var(--e), border-color .4s var(--e);
}

body .ko-hdr.ko-hdr.is-solid {
	background: rgba(248, 245, 239, .94) !important;
	backdrop-filter: blur(14px) saturate(160%);
	border-bottom-color: var(--line);
}

body .ko-hdr-in.ko-hdr-in {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100% !important;
	gap: 24px;
}

body .ko-brand.ko-brand {
	display: flex !important;
	align-items: center;
	line-height: 0 !important;
	position: relative !important;
	flex: 0 0 auto;
}

body .ko-logo.ko-logo {
	display: block !important;
	height: 38px !important;
	width: auto !important;
	transition: opacity .4s var(--e);
}

body .ko-logo--dark.ko-logo--dark {
	position: absolute !important;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0 !important;
}

body .ko-hdr.ko-hdr.is-solid .ko-logo--light {
	opacity: 0 !important;
}

body .ko-hdr.ko-hdr.is-solid .ko-logo--dark {
	opacity: 1 !important;
}

body .ko-brand-txt.ko-brand-txt {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-size: 22px !important;
	color: var(--brass) !important;
}

body .ko-hdr.ko-hdr.is-solid .ko-brand-txt {
	color: var(--brass-lo) !important;
}

body .ko-nav.ko-nav {
	display: flex !important;
	gap: 28px;
}

body .ko-nav.ko-nav a {
	font-size: 13.5px !important;
	color: #D6CFC4 !important;
	position: relative !important;
	padding: 4px 0 !important;
}

body .ko-nav.ko-nav a::after {
	content: "";
	position: absolute !important;
	left: 0;
	bottom: 0;
	width: 0 !important;
	height: 1px !important;
	background: var(--brass) !important;
	transition: width .4s var(--e);
}

body .ko-nav.ko-nav a:hover::after {
	width: 100% !important;
}

body .ko-hdr.ko-hdr.is-solid .ko-nav a {
	color: #3E382F !important;
}

body .ko-hdr.ko-hdr.is-solid .ko-nav a::after {
	background: var(--brass-lo) !important;
}

body .ko-hdr-right.ko-hdr-right {
	display: flex !important;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}

body .ko-burger.ko-burger {
	display: none !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 42px !important;
	height: 42px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 1px solid rgba(193,157,108,.4) !important;
	cursor: pointer;
}

body .ko-burger.ko-burger span {
	display: block !important;
	width: 17px !important;
	height: 1.5px !important;
	border-radius: 2px !important;
	background: var(--brass) !important;
	transition: transform .35s var(--e), opacity .25s var(--e);
}

body .ko-hdr.ko-hdr.is-solid .ko-burger {
	border-color: var(--line) !important;
}

body .ko-hdr.ko-hdr.is-solid .ko-burger span {
	background: var(--ink) !important;
}

body .ko-burger.ko-burger.is-on span:nth-child(1) {
	transform: translateY(5.5px) rotate(45deg);
}

body .ko-burger.ko-burger.is-on span:nth-child(2) {
	opacity: 0 !important;
}

body .ko-burger.ko-burger.is-on span:nth-child(3) {
	transform: translateY(-5.5px) rotate(-45deg);
}

/* mobil fiók */

body .ko-drawer.ko-drawer {
	position: fixed !important;
	inset: 0;
	z-index: 200 !important;
	background: var(--ink) !important;
	color: var(--paper) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity .4s var(--e), visibility .4s;
}

body .ko-drawer.ko-drawer.is-on {
	opacity: 1 !important;
	visibility: visible !important;
}

body .ko-drawer-in.ko-drawer-in {
	width: 100% !important;
	max-width: 460px !important;
	padding: 90px 28px 40px !important;
}

body .ko-drawer.ko-drawer nav {
	display: flex !important;
	flex-direction: column;
}

body .ko-drawer.ko-drawer nav a {
	font-family: "Fraunces", Georgia, serif !important;
	font-variation-settings: "WONK" 1 !important;
	font-weight: 380 !important;
	font-size: 30px !important;
	letter-spacing: -.02em !important;
	color: #F2EDE4 !important;
	padding: 13px 0 !important;
	border-bottom: 1px solid rgba(193,157,108,.16) !important;
}

body .ko-drawer.ko-drawer nav a:hover {
	color: var(--brass) !important;
}

body .ko-drawer-foot.ko-drawer-foot {
	margin-top: 30px !important;
	display: flex !important;
	flex-direction: column;
	gap: 14px;
	align-items: flex-start;
}

body .ko-drawer-foot.ko-drawer-foot .ko-badge {
	background: transparent !important;
	border-color: rgba(193,157,108,.35) !important;
	color: #CFC7BB !important;
	margin: 0 !important;
}

body .ko-drawer-foot.ko-drawer-foot p {
	margin: 6px 0 0 !important;
	color: #A79E92 !important;
	font-size: 14.5px !important;
	line-height: 1.7 !important;
}

body .ko-drawer-foot.ko-drawer-foot a {
	color: #E7E0D4 !important;
}

body.ko-locked {
	overflow: hidden !important;
}

/* ============ LÁBLÉC ============ */

body .ko-ftr.ko-ftr {
	background: var(--ink) !important;
	color: #9E968B !important;
	padding: 72px 0 0 !important;
}

body .ko-ftr.ko-ftr a:not(.ko-btn) {
	color: #C6BEB3 !important;
	transition: color .3s var(--e);
}

body .ko-ftr.ko-ftr a:not(.ko-btn):hover {
	color: var(--brass) !important;
}

body .ko-ftr.ko-ftr .ko-logo {
	height: 44px !important;
}

body .ko-ftr-lead.ko-ftr-lead {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
	padding-bottom: 32px !important;
	border-bottom: 1px solid var(--line-d) !important;
}

body .ko-ftr-tag.ko-ftr-tag {
	margin: 14px 0 0 !important;
	font-size: 15px !important;
	color: #9E968B !important;
	max-width: 36ch !important;
}

body .ko-ftr-cta.ko-ftr-cta {
	display: flex !important;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

body .ko-ftr-cta.ko-ftr-cta .ko-badge {
	background: transparent !important;
	border-color: rgba(193,157,108,.3) !important;
	color: #C6BEB3 !important;
	margin: 0 !important;
}

body .ko-ftr-cta.ko-ftr-cta .ko-badge-next {
	color: #8C8478 !important;
}

body .ko-ftr-cols.ko-ftr-cols {
	display: grid !important;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	padding: 42px 0 38px !important;
}

body .ko-ftr-col.ko-ftr-col h4 {
	font-size: 10px !important;
	letter-spacing: .28em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--brass) !important;
	margin: 0 0 16px !important;
}

body .ko-ftr-col.ko-ftr-col ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .ko-ftr-col.ko-ftr-col li {
	margin: 0 0 9px !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}

body .ko-ftr-bar.ko-ftr-bar {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
	border-top: 1px solid var(--line-d) !important;
	padding: 20px 0 26px !important;
	font-size: 13px !important;
	color: #7E766C !important;
}

body .ko-ftr-legal.ko-ftr-legal {
	display: flex !important;
	gap: 22px;
	flex-wrap: wrap;
}

@media (max-width: 1000px) {
	body .ko-ftr-cols.ko-ftr-cols {
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	}
}

@media (max-width: 860px) {
	body .ko-nav.ko-nav,
body .ko-hdr-cta.ko-hdr-cta {
	display: none !important;
	}

	body .ko-burger.ko-burger {
	display: flex !important;
	}

	body .ko-hdr.ko-hdr {
	height: 68px !important;
	}

	body .ko-logo.ko-logo {
	height: 32px !important;
	}
}

@media (max-width: 560px) {
	body .ko-ftr-cols.ko-ftr-cols {
	grid-template-columns: 1fr;
	gap: 26px;
	padding: 32px 0 28px !important;
	}

	body .ko-drawer.ko-drawer nav a {
	font-size: 25px !important;
	}

	body .ko-ftr.ko-ftr {
	padding-top: 54px !important;
	}
}

/* ============ VISSZA A LAP TETEJÉRE ============ */

body .ko-totop.ko-totop {
	position: fixed !important;
	right: 24px;
	bottom: 24px;
	z-index: 110 !important;
	width: 46px !important;
	height: 46px !important;
	padding: 0 !important;
	cursor: pointer;
	background: var(--ink) !important;
	border: 1px solid rgba(193, 157, 108, .34) !important;
	border-radius: 50% !important;
	display: grid !important;
	place-items: center;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(10px);
	transition: opacity .35s var(--e), visibility .35s, transform .45s var(--e),
	            background .3s var(--e), border-color .3s var(--e);
}

body .ko-totop.ko-totop.is-on {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none;
}

body .ko-totop.ko-totop:hover {
	background: #2A2420 !important;
	border-color: var(--brass) !important;
}

body .ko-totop.ko-totop span {
	display: block !important;
	width: 9px !important;
	height: 9px !important;
	margin-top: 3px !important;
	border-left: 1.6px solid var(--brass) !important;
	border-top: 1.6px solid var(--brass) !important;
	transform: rotate(45deg);
	transition: border-color .3s var(--e), transform .3s var(--e);
}

body .ko-totop.ko-totop:hover span {
	border-color: var(--brass-hi) !important;
	transform: rotate(45deg) translate(1px, 1px);
}

/* mobilon a ragadós rendelés-sáv fölé */

@media (max-width: 820px) {
	body .ko-totop.ko-totop {
	right: 16px;
	bottom: calc(78px + env(safe-area-inset-bottom));
	width: 42px !important;
	height: 42px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .ko-totop.ko-totop {
	transition: opacity .01s, visibility .01s;
	transform: none;
	}
}

/* ==================================================================
   ELEMENTOR / TÉMA KOMPATIBILITÁS
   Ez a blokk a fájl VÉGÉN van, és a legfontosabb alapokat !important-tal
   újra kimondja. Oka: az Elementor globális tipográfiája és a témák
   resetjei nagy elsőbbséggel írják felül a betűt, a színt, a margókat,
   a listákat és a gombokat. Csak olyan értékeket erősítünk meg, amiket
   a dizájn egyébként is így ad — nem változtat semmit, csak megvédi.
   ================================================================== */

body .ko.ko,
body .ko.ko * {
	box-sizing: border-box !important;
}

/* --- tipográfia --- */

body .ko.ko {
	font-family: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif !important;
	font-size: 17px !important;
	line-height: 1.65 !important;
	color: var(--ink) !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

body .ko.ko p,
body .ko.ko li,
body .ko.ko td,
body .ko.ko th,
body .ko.ko span,
body .ko.ko label,
body .ko.ko input,
body .ko.ko select,
body .ko.ko textarea,
body .ko.ko button {
	font-family: "Hanken Grotesk", system-ui, sans-serif !important;
	letter-spacing: normal !important;
}

body .ko.ko h1,
body .ko.ko h2,
body .ko.ko h3,
body .ko.ko h4 {
	font-family: "Hanken Grotesk", system-ui, sans-serif !important;
	/* a color SZANDEKOSAN nincs itt — lasd a fajl vegi :where() reteget */
	text-transform: none !important;
	padding: 0 !important;
}

body .ko.ko .ko-serif,
body .ko.ko h1.ko-serif,
body .ko.ko h2.ko-serif,
body .ko.ko .ko-hd h3,
body .ko.ko .ko-pr-head h3,
body .ko.ko .ko-faq-q span,
body .ko.ko .ko-stat b,
body .ko.ko .ko-k,
body .ko.ko .ko-kartya__ertek,
body .ko.ko .ko-tick span,
body .ko.ko .ko-drawer nav a,
body .ko.ko .ko-brand-txt {
	font-family: "Fraunces", Georgia, serif !important;
}

body .ko.ko p {
	margin-top: 0 !important;
}

body .ko.ko .ko-tag,
body .ko.ko .ko-n,
body .ko.ko .ko-lab,
body .ko.ko .ko-ftr-col h4,
body .ko.ko .ko-legend h4,
body .ko.ko .ko-pr-t th,
body .ko.ko .ko-fld label,
body .ko.ko .ko-bdg,
body .ko.ko .ko-nav a,
body .ko.ko .ko-btn {
	text-transform: uppercase !important;
}

body .ko.ko .ko-nav a,
body .ko.ko .ko-tick span,
body .ko.ko .ko-pr-t td,
body .ko.ko .ko-days li,
body .ko.ko .ko-faq-a p,
body .ko.ko .ko-about p,
body .ko.ko .ko-kin p {
	text-transform: none !important;
}

/* --- linkek --- */

body .ko.ko a {
	text-decoration: none !important;
	box-shadow: none !important;
	transition: color .3s var(--e), background .3s var(--e), border-color .3s var(--e), transform .35s var(--e) !important;
}

body .ko.ko a:hover {
	text-decoration: none !important;
}

/* --- gombok: az Elementor és a témák gombstílusa ne szóljon bele --- */

body .ko.ko .ko-btn,
body .ko.ko a.ko-btn,
body .ko.ko button.ko-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	line-height: 1 !important;
	min-height: 0 !important;
	width: auto !important;
	font-weight: 700 !important;
	font-size: 11.5px !important;
	letter-spacing: .15em !important;
}

body .ko.ko .ko-btn--full {
	width: 100% !important;
}

body .ko.ko button {
	font: inherit;
}

/* --- listák --- */

body .ko.ko ul,
body .ko.ko ol {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .ko.ko li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .ko.ko li::before,
body .ko.ko li::marker {
	content: none !important;
}

body .ko.ko .ko-ftr-col li {
	margin: 0 0 9px !important;
}

body .ko.ko .ko-days li,
body .ko.ko .ko-legend li {
	margin: 0 !important;
}

/* --- táblázatok --- */

body .ko.ko table {
	width: 100% !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

body .ko.ko table td,
body .ko.ko table th {
	border-left: 0 !important;
	border-right: 0 !important;
}

/* --- képek --- */

body .ko.ko img {
	/* A `height` SZANDEKOSAN nincs itt. Korabban `height: auto !important`
	   szerepelt, ami 0,3,1 sullyal legyozte a logo fix magassagat (0,2,1),
	   ezert a 900 pixeles logo teljes meretben renderelt. A temak amugy sem
	   szoktak img magassagot allitani, tehat itt nincs mit semlegesiteni. */
	max-width: 100% !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body .ko.ko .ko-im img,
body .ko.ko .ko-grid img,
body .ko.ko .ko-fig img,
body .ko.ko .ko-hero-img img {
	height: 100% !important;
}

/* --- űrlapmezők --- */

body .ko.ko input,
body .ko.ko select,
body .ko.ko textarea {
	border-radius: 0 !important;
	box-shadow: none !important;
	max-width: 100% !important;
	line-height: 1.5 !important;
}

/* --- az Elementor rövidkód-burkolója ne adjon extra teret --- */

.elementor-shortcode:has(> .ko),
.elementor-widget-shortcode:has(.ko) .elementor-widget-container,
.elementor-widget-text-editor:has(.ko) .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-shortcode {
	display: block !important;
}

/* ==================================================================
   TELJES SZÉLESSÉG
   Az Elementor tartalmi konténere (jellemzően 1140 px) elvágja a
   teljes szélességű sávokat. Ezek a szakaszok negatív margóval lépnek
   ki belőle — szándékosan 100vw NÉLKÜL, mert a 100vw beleszámolja a
   görgetősávot, és attól vízszintes csúszás lenne.
   Ha az Elementor konténerén overflow:hidden van, ez nem tud érvényesülni:
   ilyenkor tegyél a szakasz körül „teljes szélességű" konténert.
   ================================================================== */

body.ko-bleed .ko-hdr,
body.ko-bleed .ko-ann,
body.ko-bleed .ko-hero,
body.ko-bleed .ko-ticker,
body.ko-bleed .ko-stats,
body.ko-bleed .ko-sec--alt,
body.ko-bleed .ko-order,
body.ko-bleed .ko-visit,
body.ko-bleed .ko-ftr {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: auto !important;
	max-width: none !important;
}

/* ==================================================================
   JAVÍTÁS (v1.5.1) — a témából örökölt igazítás kizárása
   A témák és az Elementor gyakran ad `text-align: justify`-t a body-ra
   vagy a címekre. Attól a rövid sorokban szétrepülnek a szavak (a hero
   főcímben az „azt” a jobb szélre került). Itt visszaállítjuk balra,
   majd a szándékos kivételeket újra kimondjuk.
   ================================================================== */
body .ko.ko,
body .ko.ko h1,
body .ko.ko h2,
body .ko.ko h3,
body .ko.ko h4,
body .ko.ko p,
body .ko.ko li,
body .ko.ko blockquote,
body .ko.ko span,
body .ko.ko label,
body .ko.ko a {
	text-align: left !important;
	text-indent: 0 !important;
	word-spacing: normal !important;
	hyphens: manual !important;
}

/* szándékos kivételek */
body .ko.ko .ko-stat,
body .ko.ko .ko-stat b,
body .ko.ko .ko-stat span,
body .ko.ko .ko-tick,
body .ko.ko .ko-gcount,
body .ko.ko .ko-empty,
body .ko.ko .ko-more,
body .ko.ko .ko-btn,
body .ko.ko .ko-lb-c {
	text-align: center !important;
}
body .ko.ko .ko-pr-t .is-num,
body .ko.ko .ko-pr-t th.is-num,
body .ko.ko .ko-days .ko-t,
body .ko.ko .ko-legend b {
	text-align: right !important;
}

/* a sötét szakaszok címei maradjanak világosak (az örökléshez a szakasz színe) */
body .ko.ko .ko-hero-in { color: var(--paper) !important; }
body .ko.ko .ko-hero-in h1 { color: #FBF8F2 !important; }
body .ko.ko .ko-order { color: var(--paper) !important; }
body .ko.ko .ko-order h2 { color: #FBF8F2 !important; }
body .ko.ko .ko-order .ko-step h3 { color: #F2EDE4 !important; }
body .ko.ko .ko-ftr { color: #9E968B !important; }
body .ko.ko .ko-ftr h4 { color: var(--brass) !important; }
body .ko.ko .ko-drawer { color: var(--paper) !important; }
body .ko.ko .ko-drawer nav a { color: #F2EDE4 !important; }
body .ko.ko .ko-ann { color: #E7E0D4 !important; }
body .ko.ko .ko-ann b { color: var(--brass) !important; }
body .ko.ko .ko-hero-lead { color: #CFC7BB !important; }

/* ==================================================================
   SZÍN-SEMLEGESÍTŐ RÉTEG  (v1.5.1)
   :where() NULLA elsőbbséget ad, ezért ez a szabály
     - legyőzi a téma `span{color:#333}` / `a{color:#0073aa}` szabályait
       (azok 0,0,1; ez `body .ko` = 0,1,1, és később is töltődik),
     - de ALULMARAD a plugin komponens-szabályaival (0,2,1) szemben.
   Pontosan ez kell: a témát kizárja, a saját színeinket nem bántja.
   ================================================================== */
body .ko :where(a, p, span, li, td, th, strong, b, em, small, h1, h2, h3, h4, blockquote) {
	color: inherit;
}

/* ==================================================================
   KOMPONENS-SZÍNEK — a fájl legvégén, HÁRMAS osztállyal.
   Két okból kell így:
   1) A `.ko` és a komponens osztálya (pl. `.ko-ftr`) UGYANAZON az elemen
      van, ezért a `.ko.ko <leszármazott>` alakú szabály nem fogja meg.
   2) A hármas osztály 0,3,1 súlyt ad, ami sorrendtől függetlenül nyer.
   ================================================================== */

/* gombok */
body .ko-btn.ko-btn.ko-btn { color: #17120C !important; }
body .ko-btn--o.ko-btn--o.ko-btn--o {
	color: var(--brass-lo) !important;
	border-color: var(--line) !important;
	background: transparent !important;
}
/* sötét szakaszban a körvonalas gomb aranyra vált */
body .ko-hero .ko-btn--o.ko-btn--o.ko-btn--o,
body .ko-order .ko-btn--o.ko-btn--o.ko-btn--o,
body .ko-drawer .ko-btn--o.ko-btn--o.ko-btn--o,
body .ko-ftr .ko-btn--o.ko-btn--o.ko-btn--o {
	color: var(--brass) !important;
	border-color: rgba(193, 157, 108, .45) !important;
}

/* hirdetménysáv */
body .ko-ann.ko-ann.ko-ann { color: #E7E0D4 !important; }
body .ko-ann.ko-ann.ko-ann b { color: var(--brass) !important; }

/* fejléc */
body .ko-hdr.ko-hdr.ko-hdr .ko-nav a { color: #D6CFC4 !important; }
body .ko-hdr.ko-hdr.ko-hdr.is-solid .ko-nav a { color: #3E382F !important; }
body .ko-hdr.ko-hdr.ko-hdr.is-solid .ko-brand-txt { color: var(--brass-lo) !important; }

/* hero */
body .ko-hero .ko-hero-in.ko-hero-in { color: var(--paper) !important; }
body .ko-hero .ko-hero-in.ko-hero-in h1 { color: #FBF8F2 !important; }
body .ko-hero .ko-hero-in.ko-hero-in h1 em { color: var(--brass) !important; }
body .ko-hero .ko-hero-in.ko-hero-in .ko-tag { color: var(--brass) !important; }
body .ko-hero .ko-hero-lead.ko-hero-lead { color: #CFC7BB !important; }

/* sötét rendelés-sáv */
body .ko-order.ko-order.ko-order { color: var(--paper) !important; }
body .ko-order.ko-order.ko-order h2 { color: #FBF8F2 !important; }
body .ko-order.ko-order.ko-order .ko-tag { color: var(--brass) !important; }
body .ko-order.ko-order.ko-order .ko-k { color: var(--brass) !important; }
body .ko-order.ko-order.ko-order .ko-step h3 { color: #F2EDE4 !important; }
body .ko-order.ko-order.ko-order .ko-step p,
body .ko-order.ko-order.ko-order .ko-order-cta p,
body .ko-order.ko-order.ko-order .ko-head p { color: #A79E92 !important; }
body .ko-order.ko-order.ko-order .ko-order-cta strong { color: #F2EDE4 !important; }

/* mobil fiók */
body .ko-drawer.ko-drawer.ko-drawer { color: var(--paper) !important; }
body .ko-drawer.ko-drawer.ko-drawer nav a { color: #F2EDE4 !important; }
body .ko-drawer.ko-drawer.ko-drawer .ko-drawer-foot p { color: #A79E92 !important; }
body .ko-drawer.ko-drawer.ko-drawer .ko-drawer-foot a { color: #E7E0D4 !important; }

/* ragadós mobil sáv */
body .ko-mbar.ko-mbar.ko-mbar .ko-mbar-st { color: #CFC7BB !important; }
body .ko-mbar.ko-mbar.ko-mbar .ko-mbar-st b { color: #F2EDE4 !important; }

/* lábléc */
body .ko-ftr.ko-ftr.ko-ftr { color: #9E968B !important; }
body .ko-ftr.ko-ftr.ko-ftr h4 { color: var(--brass) !important; }
body .ko-ftr.ko-ftr.ko-ftr a:not(.ko-btn) { color: #C6BEB3 !important; }
body .ko-ftr.ko-ftr.ko-ftr a:not(.ko-btn):hover { color: var(--brass) !important; }
body .ko-ftr.ko-ftr.ko-ftr .ko-ftr-bar { color: #7E766C !important; }

/* vissza a lap tetejére */
body .ko-totop.ko-totop.ko-totop { color: var(--brass) !important; }

/* üres kínálat-csempe: ne fehér lyuk legyen, hanem jelezze magát */
body .ko-im--empty.ko-im--empty {
	background: var(--paper-2) !important;
	position: relative !important;
}
body .ko-im--empty.ko-im--empty::before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background:
		linear-gradient(45deg, transparent 47%, rgba(19,17,16,.07) 47%, rgba(19,17,16,.07) 53%, transparent 53%),
		linear-gradient(-45deg, transparent 47%, rgba(19,17,16,.07) 47%, rgba(19,17,16,.07) 53%, transparent 53%) !important;
}

/* ==================================================================
   ALOLDAL FEJRÉSZ  +  a fejléc a hero fölé úszik  (v1.7.0)
   ================================================================== */

/* a fejléc magassága egy helyen */
body .ko.ko { --hdr-h: 76px; }

/* a fejléc a nyitókép FÖLÉ kerül: a hero felcsúszik alá.
   Csak akkor, ha a lapon tényleg van fejléc ÉS hero. */
/* A negatív margós megoldás KIKERÜLT: a fejléc most fix pozíciójú, tehát
   kiesik a folyamból — a hero magától a lap tetejéről indul. A két megoldás
   együtt duplán számolt, és a hero -76 pixelre került. */
body .ko-hero .ko-hero-in.ko-hero-in {
	padding-top: calc(var(--hdr-h) + 72px) !important;
}

/* hirdetménysáv: a fejléc FÖLÖTT, teljes szélességben */
body .ko-ann.ko-ann { position: relative !important; z-index: 95 !important; }

/* aloldal fejrész */
body .ko-phead.ko-phead {
	padding: 66px 0 40px !important;
	border-bottom: 1px solid var(--line) !important;
	margin-bottom: 44px !important;
}
body .ko-phead.ko-phead .ko-crumb {
	font-size: 12.5px !important;
	color: var(--muted) !important;
	margin: 0 0 18px !important;
	letter-spacing: .02em !important;
}
body .ko-phead.ko-phead .ko-crumb a { border-bottom: 1px solid var(--line) !important; }
body .ko-phead.ko-phead .ko-crumb a:hover { color: var(--brass-lo) !important; }
body .ko-phead.ko-phead h1 {
	font-size: clamp(36px, 5.6vw, 68px) !important;
	margin: 0 0 20px !important;
	max-width: 20ch !important;
}
body .ko-phead.ko-phead .ko-phead-lead {
	margin: 0 !important;
	color: var(--muted) !important;
	font-size: 18px !important;
	max-width: 56ch !important;
}

/* ---- árlista: csak keresés, nyomtatás nélkül ---- */
body .ko-prices.ko-prices .ko-pr-top {
	display: flex !important;
	justify-content: flex-end !important;
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 22px !important;
}
body .ko-prices.ko-prices .ko-pr-cta { margin-top: 30px !important; }

/* ---- galéria: kiemelt első csempe + szűrők ---- */
body .ko-gal.ko-gal .ko-filters {
	align-items: center !important;
	padding-bottom: 22px !important;
	border-bottom: 1px solid var(--line) !important;
	margin-bottom: 26px !important;
}
body .ko-gal.ko-gal .ko-filters button {
	border-radius: 999px !important;
	padding: 9px 18px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}
body .ko-gal.ko-gal .ko-fc {
	font-size: 10.5px !important;
	font-weight: 700 !important;
	color: var(--brass-lo) !important;
	background: rgba(193, 157, 108, .14) !important;
	border-radius: 999px !important;
	padding: 1px 7px !important;
}
body .ko-gal.ko-gal .ko-filters button.is-on .ko-fc {
	color: var(--brass-hi) !important;
	background: rgba(255, 255, 255, .14) !important;
}
body .ko-gal.ko-gal .ko-gcount {
	margin: 0 0 0 auto !important;
	font-size: 13.5px !important;
	color: var(--muted) !important;
}
/* a kiemelt csempe 2×2-t foglal — megtöri az egyhangú rácsot */
@media (min-width: 861px) {
	body .ko-gal.ko-gal .ko-grid figure.is-lead {
		grid-column: span 2 !important;
		grid-row: span 2 !important;
	}
}
/* nagyító-jel a csempén */
body .ko-gal.ko-gal .ko-grid figure::before {
	content: '' !important;
	position: absolute !important;
	right: 10px !important;
	bottom: 10px !important;
	width: 26px !important;
	height: 26px !important;
	z-index: 2 !important;
	border-radius: 50% !important;
	background: rgba(19, 17, 16, .55) !important;
	opacity: 0 !important;
	transition: opacity .3s var(--e), transform .4s var(--e) !important;
	transform: translateY(6px) !important;
}
body .ko-gal.ko-gal .ko-grid figure:hover::before { opacity: 1 !important; transform: none !important; }

/* ---- kapcsolat: levegősebb nyitvatartás ---- */
body .ko-contact.ko-contact .ko-ct { gap: 72px !important; }
body .ko-contact.ko-contact .ko-badge { margin: 0 0 26px !important; }
body .ko-contact.ko-contact .ko-days { margin-top: 30px !important; }
body .ko-contact.ko-contact .ko-days li { padding: 15px 16px !important; }
body .ko-contact.ko-contact .ko-days li.is-today { padding-left: 18px !important; }
body .ko-contact.ko-contact .ko-map { margin-top: 30px !important; }
body .ko-contact.ko-contact .ko-ct-h {
	font-size: clamp(28px, 3.4vw, 42px) !important;
	margin: 0 0 14px !important;
}
body .ko-contact.ko-contact .ko-form { margin-top: 26px !important; }

@media (max-width: 680px) {
	body .ko.ko { --hdr-h: 68px; }
	body .ko-phead.ko-phead { padding: 44px 0 30px !important; margin-bottom: 32px !important; }
	body .ko-gal.ko-gal .ko-gcount { margin: 10px 0 0 !important; width: 100% !important; }
}

/* ==================================================================
   LOGÓ MÉRETE — a fájl legvégén, HÁRMAS osztállyal (v1.7.1)
   Fix magasság kell, mert a beépített PNG 900 pixel széles; a
   `max-width: 100%` önmagában nem korlátozza a magasságot.
   ================================================================== */
body .ko-logo.ko-logo.ko-logo {
	height: 38px !important;
	width: auto !important;
	max-width: none !important;
	object-fit: contain !important;
}
body .ko-hdr .ko-logo.ko-logo.ko-logo { height: 38px !important; }
body .ko-ftr .ko-logo.ko-logo.ko-logo { height: 44px !important; }
body .ko-drawer .ko-logo.ko-logo.ko-logo { height: 34px !important; }

/* a márka-blokk ne nőjön a képpel */
body .ko-brand.ko-brand {
	display: flex !important;
	align-items: center !important;
	line-height: 0 !important;
	flex: 0 0 auto !important;
	max-height: 44px !important;
}
body .ko-hdr.ko-hdr.ko-hdr {
	height: var(--hdr-h) !important;
	min-height: var(--hdr-h) !important;
	max-height: var(--hdr-h) !important;
	overflow: visible !important;
}

@media (max-width: 860px) {
	body .ko-logo.ko-logo.ko-logo { height: 30px !important; }
	body .ko-ftr .ko-logo.ko-logo.ko-logo { height: 36px !important; }
}

/* ==================================================================
   JS-BARÁT KIVÉTELEK  (v1.7.2)
   Ezeken a helyeken a JavaScript inline stílust állít. Az inline stílus
   mindent legyőz — KIVÉVE a stíluslap !important-ját. Ezért itt
   szándékosan NINCS !important, különben a működés némán elhal.
   ================================================================== */
/* Osztály-alapú elrejtés. Miért nem inline stílus: a `.ko-btn` display-én
   !important van (a témák ellen kell), és a stíluslap !important-ja legyőzi
   az inline stílust — így a JS nem tudta elrejteni a gombot. Osztállyal
   nincs ütközés, mert azonos eszközzel játszunk. */
body .ko-hidden.ko-hidden.ko-hidden { display: none !important; }
body .ko-drawer[hidden] { display: none !important; }

/* ==================================================================
   FEJLÉC: FIX POZÍCIÓ  (v1.7.2)
   Korábban a hero negatív margóval csúszott a fejléc alá. Ez azonban
   nem működik, ha az Elementor szakaszán `overflow: hidden` van: a
   hero felső 76 pixele egyszerűen levágódik, és a fejléc a lap
   háttérszínét mutatja — pontosan ezt láttuk.
   Fix pozícióval a sáv kilép a folyamból, tehát a hero magától a lap
   tetejéről indul, a sáv pedig ráúszik. Negatív margó nem kell.
   ================================================================== */
/* RAGADÓS, nem fix. A `position: fixed` túl sérülékeny: ha bármelyik szülőn
   `transform`, `filter` vagy `will-change` van (az Elementor animációi ilyet
   tesznek a szakaszokra), a fix pozíció ahhoz a szülőhöz igazodik, nem a
   képernyőhöz — és a sáv nem úszik a nyitókép fölé.
   Ragadós sávval a sáv a folyamban marad, a herót pedig a JS annyival húzza
   fel, amennyi a sáv magassága. Így a sáv rajta ül, és görgetéskor is követ. */
body .ko-top.ko-top {
	position: sticky !important;
	top: 0 !important;
	z-index: 95 !important;
}
body .ko-top.ko-top .ko-hdr { position: static !important; }

/* átlátszó állapotban lágy sötét fátyol, hogy a menü bármilyen fotón olvasható legyen */
/* A FÁTYOL A HERO-RA KERÜLT, NEM A FEJLÉCRE.
   Ok: a fejlécre tett `::after` — bármilyen magasra nyújtottam — a fejléc
   alsó szélén elvágódott az átfedési (stacking) sorrend miatt, és ott
   48 fokozatos tónuslépcső keletkezett. Egy elemen belül futó átmenésnél
   ez nem tud előfordulni, ezért a sötétítést a hero saját rétege végzi. */

/* a hero saját felső sötétítése visszább vehető, mert a fátyol átveszi */
/* A hero felső sötétítése VISSZAFOGOTT, mert a fejléc fátyla már elvégzi.
   Ha itt is erősen sötétítenénk, a fátyol alsó szélénél tónuslépcső
   keletkezne — a kettő együtt kell, hogy egyenletes legyen. */
body .ko-hero .ko-hero-img.ko-hero-img::after {
	background: linear-gradient(to bottom,
		rgba(19,17,16,.80) 0%,
		rgba(19,17,16,.70) 6%,
		rgba(19,17,16,.52) 13%,
		rgba(19,17,16,.32) 20%,
		rgba(19,17,16,.18) 27%,
		rgba(19,17,16,.11) 36%,
		rgba(19,17,16,.14) 50%,
		rgba(19,17,16,.34) 66%,
		rgba(19,17,16,.86) 87%,
		var(--ink) 100%) !important;
}

/* ---- kezdőoldali nyitvatartás: ugyanaz a levegős ritmus, mint a kapcsolatnál ---- */
body .ko-visit.ko-visit .ko-badge { margin: 0 0 26px !important; }
body .ko-visit.ko-visit .ko-days { margin-top: 30px !important; }
body .ko-visit.ko-visit .ko-days li { padding: 15px 18px !important; }
body .ko-visit.ko-visit .ko-days li.is-today { padding-left: 20px !important; }
body .ko-visit.ko-visit .ko-visit-grid { gap: 72px !important; }
body .ko-visit.ko-visit .ko-card { padding: 30px 32px 32px !important; }
body .ko-visit.ko-visit .ko-line { padding: 16px 0 !important; }
body .ko-visit.ko-visit .ko-map { margin-top: 30px !important; }

/* ---- kapcsolat: a jobb oldal együtt utazik a bal oldallal ---- */
@media (min-width: 1001px) {
	body .ko-contact.ko-contact .ko-ct > div:last-child {
		position: sticky !important;
		top: calc(var(--hdr-h) + 28px) !important;
		align-self: start !important;
	}
}

/* ==================================================================
   AZ ELEMENTOR KONTÉNER OVERFLOW-JA  (v1.7.2)
   Ha a szakaszon `overflow: hidden` van, két dolog törik el:
     1. a teljes szélességű sávok levágódnak,
     2. a `position: sticky` egyáltalán nem működik benne.
   Ezért a plugin tartalmát tartalmazó burkolón felszabadítjuk.
   ================================================================== */
.elementor-widget-container:has(> .ko),
.elementor-widget-container:has(.ko-home),
.elementor-widget-container:has(.ko-contact),
.elementor-widget-container:has(.ko-gal),
.elementor-widget-container:has(.ko-prices) {
	overflow: visible !important;
}

/* ==================================================================
   FEJLÉC FINOMÍTÁS  (v1.8.0)
   ================================================================== */
body .ko-hdr.ko-hdr.ko-hdr { height: 78px !important; min-height: 78px !important; max-height: 78px !important; }
body .ko.ko { --hdr-h: 78px; }

/* logó egy hajszállal nagyobb, hogy legyen jelenléte */
body .ko-logo.ko-logo.ko-logo { height: 42px !important; }
body .ko-hdr .ko-logo.ko-logo.ko-logo { height: 42px !important; }

/* menü: átlátszó állapotban világosabb és határozottabb */
body .ko-top .ko-nav.ko-nav a {
	color: #EAE3D8 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
}
body .ko-top.is-solid .ko-nav.ko-nav a {
	color: #3A342D !important;
	font-weight: 500 !important;
}
body .ko-top .ko-nav.ko-nav { gap: 30px !important; }

/* a hirdetménysáv átlátszó állapotban is olvasható maradjon */
body .ko-top .ko-ann.ko-ann {
	background: rgba(19, 17, 16, .92) !important;
	position: relative !important;
	z-index: 2 !important;
}

/* tömör állapot: finomabb határvonal, kevesebb áttetszőség */
body .ko-top.is-solid .ko-hdr.ko-hdr.ko-hdr {
	background: rgba(248, 245, 239, .97) !important;
	backdrop-filter: blur(16px) saturate(150%) !important;
	border-bottom: 1px solid var(--line) !important;
}
body .ko-top .ko-hdr.ko-hdr.ko-hdr {
	background: transparent !important;
	border-bottom-color: transparent !important;
}

@media (max-width: 860px) {
	body .ko-hdr.ko-hdr.ko-hdr { height: 68px !important; min-height: 68px !important; max-height: 68px !important; }
	body .ko.ko { --hdr-h: 68px; }
	body .ko-logo.ko-logo.ko-logo { height: 32px !important; }
}

/* ==================================================================
   FEJLÉC ÉS NYITÓKÉP FINOMHANGOLÁS  (v1.8.1)
   ================================================================== */

/* logó: nagyobb jelenlét, és átlátszó állapotban egy hajszál fény alá */
body .ko-logo.ko-logo.ko-logo { height: 46px !important; }
body .ko-top .ko-logo--light.ko-logo--light {
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .45)) !important;
}
body .ko-top.is-solid .ko-logo--light.ko-logo--light { filter: none !important; }

/* menü: fehérebb és határozottabb a fotó fölött.
   A hármas .ko-hdr azért kell, mert a komponens-szín blokk
   `body .ko-hdr.ko-hdr.ko-hdr .ko-nav a` alakja (0,4,2) egyébként legyőzné. */
body .ko-top .ko-hdr.ko-hdr.ko-hdr .ko-nav.ko-nav a {
	color: #FBF7F0 !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .55) !important;
	letter-spacing: .01em !important;
}
body .ko-top .ko-hdr.ko-hdr.ko-hdr .ko-nav.ko-nav a:hover { color: var(--brass-hi) !important; }
body .ko-top.is-solid .ko-hdr.ko-hdr.ko-hdr .ko-nav.ko-nav a {
	color: #3A342D !important;
	text-shadow: none !important;
}

/* a fejléc magassága a nagyobb logóhoz */
body .ko-hdr.ko-hdr.ko-hdr { height: 84px !important; min-height: 84px !important; max-height: 84px !important; }
body .ko.ko { --hdr-h: 84px; }

/* ---- nyitókép: kevesebb halott tér, tömörebb ritmus ---- */
body .ko-hero.ko-hero { min-height: min(88vh, 780px) !important; }
body .ko-hero .ko-hero-in.ko-hero-in {
	padding-top: calc(var(--hdr-h) + 40px) !important;
	padding-bottom: 76px !important;
}
body .ko-hero .ko-hero-in.ko-hero-in h1 {
	max-width: 17ch !important;
	margin: 14px 0 0 !important;
}
body .ko-hero .ko-hero-row.ko-hero-row {
	margin-top: 34px !important;
	align-items: flex-end !important;
	gap: 40px !important;
}
body .ko-hero .ko-hero-lead.ko-hero-lead {
	max-width: 38ch !important;
	font-size: 18px !important;
}

@media (max-width: 860px) {
	body .ko-hdr.ko-hdr.ko-hdr { height: 70px !important; min-height: 70px !important; max-height: 70px !important; }
	body .ko.ko { --hdr-h: 70px; }
	body .ko-logo.ko-logo.ko-logo { height: 34px !important; }
	body .ko-hero.ko-hero { min-height: min(82vh, 640px) !important; }
	body .ko-hero .ko-hero-in.ko-hero-in { padding-bottom: 54px !important; }
}

/* ==================================================================
   A FEJLÉC ÁTLÁTSZÓSÁGA  (v1.8.1)
   EZ VOLT A GYÖKÉR-HIBA. A `.ko-top` és a `.ko-drawer` elemeken ott van a
   `ko` osztály is (mert azok önálló gyökerek), a `.ko` alapszabály pedig
   `background: var(--paper)`-t ad. Így a fejléc burkolója ÁTLÁTSZATLAN
   világos hátteret kapott, és letakarta a nyitóképet — ettől látszott a
   fejléc külön világos sávnak, akármit is állítottam a `.ko-hdr`-en.
   ================================================================== */
body .ko-top.ko-top.ko-top { background: transparent !important; }
body .ko-top.ko-top.ko-top .ko-hdr { background: transparent !important; }
body .ko-top.ko-top.ko-top.is-solid .ko-hdr {
	background: rgba(248, 245, 239, .97) !important;
	backdrop-filter: blur(16px) saturate(150%) !important;
	border-bottom: 1px solid var(--line) !important;
}
/* a lap tetején a hirdetménysáv viszont maradjon átlátszatlan */
body .ko-top.ko-top.ko-top .ko-ann { background: var(--ink) !important; }

/* ==================================================================
   FEJLÉC A NYITÓKÉP BELSEJÉBEN  (v1.9.0)
   A fejléc a hero GYERMEKE, ezért abszolút pozícióval garantáltan a heróhoz
   igazodik — nem kell negatív margó, és semmilyen külső Elementor-konténer
   folyama vagy overflow-ja nem tudja elrontani.
   Görgetéskor a JS `is-pinned` osztályt ad: onnantól fix, a képernyő tetején.
   ================================================================== */
body .ko-hero .ko-top.ko-top--hero {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 20 !important;
	background: transparent !important;
}
body .ko-hero .ko-top.ko-top--hero.is-pinned {
	position: fixed !important;
	z-index: 95 !important;
}
/* a hero tartalma ne csússzon a fejléc alá */
body .ko-hero .ko-hero-in.ko-hero-in {
	padding-top: calc(var(--hdr-h) + 40px) !important;
}
/* FIGYELEM: ide NEM kerülhet `margin-top: 0 !important` a heróra.
   Ha a fejlécet valaki külön rövidkóddal helyezi el (tehát NEM a hero
   belsejébe), akkor a JS inline negatív margóval húzza fel a herót — és a
   stíluslap !important-ja azt is legyőzné. Ez a harmadik eset a projektben,
   ahol az !important elhallgattatta a JavaScriptet; a nullázást ezért a JS
   végzi (`hero.style.marginTop = ''`), nem a CSS. */

/* a body alá emelt sáv: abszolút a dokumentum tetejéhez, majd fix görgetéskor */
body > .ko-top.ko-top--hero.is-portaled {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 95 !important;
}
body > .ko-top.ko-top--hero.is-portaled.is-pinned {
	position: fixed !important;
}

/* ==================================================================
   MOBIL FIÓK — MINDEN LÁTSZIK ÉS NYOMHATÓ  (v1.9.2)
   Három baj volt:
   1. nem volt bezáró gomb (a hamburger a fiók alatt maradt),
   2. a harmadik féltől jövő süti-jelvény ELTAKARTA a lap alján lévő
      elérhetőségeket — ezért a fiók nagyon magas z-indexet kap,
   3. a hosszú tartalom alja a böngésző alsó sávja alá esett — ezért
      görgethető a fiók, és alul biztonsági térközt kap.
   ================================================================== */
body .ko-drawer.ko-drawer.ko-drawer {
	z-index: 999999 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	height: 100dvh !important;
	max-height: 100dvh !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	padding: 0 !important;
}
body .ko-drawer.ko-drawer.ko-drawer[hidden] { display: none !important; }

/* fejsor a fiókban: logó + X */
body .ko-drawer .ko-drawer-top {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 18px 22px 16px !important;
	border-bottom: 1px solid rgba(193, 157, 108, .16) !important;
	position: sticky !important;
	top: 0 !important;
	background: var(--ink) !important;
	z-index: 2 !important;
}
body .ko-drawer .ko-drawer-top .ko-logo.ko-logo.ko-logo { height: 34px !important; }

body .ko-drawer .ko-drawer-x {
	width: 44px !important;
	height: 44px !important;
	flex: 0 0 auto !important;
	position: relative !important;
	background: transparent !important;
	border: 1px solid rgba(193, 157, 108, .4) !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	padding: 0 !important;
}
body .ko-drawer .ko-drawer-x span {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 17px !important;
	height: 1.6px !important;
	background: var(--brass) !important;
	border-radius: 2px !important;
}
body .ko-drawer .ko-drawer-x span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg) !important; }
body .ko-drawer .ko-drawer-x span:nth-child(2) { transform: translate(-50%, -50%) rotate(-45deg) !important; }
body .ko-drawer .ko-drawer-x:hover { border-color: var(--brass) !important; background: rgba(193,157,108,.1) !important; }

/* a tartalom: teljes szélesség, alul biztonsági térköz */
body .ko-drawer .ko-drawer-in {
	width: 100% !important;
	max-width: none !important;
	padding: 22px 22px calc(40px + env(safe-area-inset-bottom)) !important;
	flex: 1 1 auto !important;
}
body .ko-drawer .ko-drawer-in nav a {
	font-size: 26px !important;
	padding: 15px 0 !important;
	display: block !important;
}
body .ko-drawer .ko-drawer-foot {
	margin-top: 26px !important;
	padding-bottom: 24px !important;
	gap: 16px !important;
}
body .ko-drawer .ko-drawer-foot .ko-btn { width: 100% !important; justify-content: center !important; }

/* a hamburger a fiók fölött maradjon elérhető, ha mégis látszik */
body .ko-burger.ko-burger { z-index: 1000000 !important; position: relative !important; }

/* ==================================================================
   MOBIL ELCSÚSZÁS ELLEN  (v1.9.3)
   A `calc(50% - 50vw)` alapú teljes szélesség akkor csúszik el, ha az
   Elementor konténere nem középre igazított (pl. csak bal oldali belső
   térköze van): a kilépés aszimmetrikus lesz, a szakaszok balra tolódnak,
   és a lap jobb szélén üres csík marad. Mobilon a széltől-szélig sáv
   amúgy sem hoz sokat, ezért ott KIKAPCSOLJUK.
   Mellé egy biztonsági háló: `overflow-x: clip`. Szándékosan CLIP és nem
   HIDDEN — a hidden a body-n vagy egy szülőn görgetési kontextust csinál,
   ami elrontja a `position: sticky`-t; a clip nem.
   ================================================================== */
@media (max-width: 860px) {
	body.ko-bleed .ko-hdr,
	body.ko-bleed .ko-ann,
	body.ko-bleed .ko-hero,
	body.ko-bleed .ko-ticker,
	body.ko-bleed .ko-stats,
	body.ko-bleed .ko-sec--alt,
	body.ko-bleed .ko-order,
	body.ko-bleed .ko-visit,
	body.ko-bleed .ko-ftr {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: auto !important;
		max-width: 100% !important;
	}
}

body .ko-home.ko-home,
body .ko-gal.ko-gal,
body .ko-prices.ko-prices,
body .ko-contact.ko-contact,
body .ko-ftr.ko-ftr {
	overflow-x: clip !important;
	max-width: 100% !important;
}

/* ==================================================================
   A RAGADÓS MOBIL SÁV ÉS A SÜTI-JELVÉNY  (v1.9.3)
   A hozzájárulás-jelvény a bal alsó sarokban ült, és eltakarta a sáv
   szövegét („Most nyitva · ma 19:00-ig”). A sávot NEM emeljük a jelvény
   fölé, mert akkor a jelvény kattinthatatlanná válna — jogi okból elérhető
   kell maradnia. Helyette a sáv tartalma kap bal oldali térközt, így
   mindkettő használható.
   ================================================================== */
@media (max-width: 820px) {
	body .ko-mbar.ko-mbar .ko-mbar-in {
		padding-left: 76px !important;
		gap: 10px !important;
	}
	body .ko-mbar.ko-mbar .ko-mbar-st {
		font-size: 12px !important;
		line-height: 1.25 !important;
		overflow: visible !important;
	}
}

/* Nagyon keskeny telefonon (320 px) a jelvénynek fenntartott térköz mellett
   már nem fér ki a részletes állapot. Ilyenkor a lényeg marad — „Most nyitva”
   —, a záráshoz tartozó kiegészítés elmarad, és a gomb is tömörebb. */
@media (max-width: 359px) {
	/* 320 pixeles telefonon a süti-jelvénynek fenntartott hely mellett a
	   státusz és a gomb már nem fér el egymás mellett. Itt a sáv egyetlen
	   dolgot csinál: a rendelés gombot kínálja. A nyitvatartás állapota a
	   lapon amúgy is szerepel, tehát nem vész el információ. */
	body .ko-mbar.ko-mbar .ko-mbar-in { padding-left: 62px !important; gap: 0 !important; }
	body .ko-mbar.ko-mbar .ko-mbar-st { display: none !important; }
	body .ko-mbar.ko-mbar .ko-btn {
		width: 100% !important;
		justify-content: center !important;
		padding: 13px 12px !important;
		font-size: 10.5px !important;
		letter-spacing: .12em !important;
	}
}

/* ==================================================================
   RÁCS-ZSUGORODÁS  (v1.9.4)
   A `grid-template-columns: 1fr auto` esetén az `1fr` alsó határa a tartalom
   MINIMÁLIS szélessége (min-content). Ha az nagyobb a rendelkezésre álló
   helynél, a sor szélesebb lesz a konténernél — és mivel a gyökereken
   `overflow-x: clip` van, a jobb széle egyszerűen levágódik. Pontosan ez
   történt a GYIK kérdéseivel: a szöveg vége és a „+” jel eltűnt.
   A megoldás a `minmax(0, 1fr)`: ez ENGEDI a zsugorodást, így a szöveg
   tördel, és minden elfér.
   ================================================================== */
body .ko-faq-q.ko-faq-q { grid-template-columns: minmax(0, 1fr) auto !important; }
body .ko-faq-q.ko-faq-q > span { min-width: 0 !important; overflow-wrap: anywhere !important; }

body .ko-line.ko-line { flex-wrap: wrap !important; }
body .ko-line.ko-line .ko-val { min-width: 0 !important; overflow-wrap: anywhere !important; flex: 1 1 auto !important; }

body .ko-days.ko-days li { flex-wrap: wrap !important; }
body .ko-days.ko-days li > span { min-width: 0 !important; }

body .ko-mbar.ko-mbar .ko-mbar-in > * { min-width: 0 !important; }
body .ko-mbar.ko-mbar .ko-mbar-st { overflow: hidden !important; }

body .ko-hero-row.ko-hero-row > * { min-width: 0 !important; }
body .ko-kin.ko-kin > a { min-width: 0 !important; }
body .ko-ftr-bar.ko-ftr-bar > * { min-width: 0 !important; }
body .ko-pr-t.ko-pr-t td:first-child { overflow-wrap: anywhere !important; }
body .ko-about.ko-about > * { min-width: 0 !important; }
body .ko-ct.ko-ct > * { min-width: 0 !important; }
body .ko-visit-grid.ko-visit-grid > * { min-width: 0 !important; }
body .ko-faqwrap.ko-faqwrap > * { min-width: 0 !important; }

/* ==================================================================
   A RAGADÓS SÁV NE TAKARJA AZ UTOLSÓ TARTALMAT  (v1.9.4)
   A képernyőkép alján a „Hol vehetem át a tortát?" kérdés a sáv alá esett.
   ================================================================== */
@media (max-width: 820px) {
	body .ko-home.ko-home { padding-bottom: 92px !important; }
	body .ko-gal.ko-gal,
	body .ko-prices.ko-prices,
	body .ko-contact.ko-contact { padding-bottom: 40px !important; }
}
