/* ==========================================================================
   Csokonai — komponensek: hero, gyorsinfó-sáv, étlap, kártyák, CTA
   ========================================================================== */

/* --- Hero: osztott fotó + sötét panel -------------------------------------
   A látványterv fő motívuma. Mobilon egymás alá kerül: előbb a kép, aztán a
   szöveg, hogy a hajtás felett is legyen mondanivaló.                       */

.csk-hero {
	position: relative;
	display: grid;
	background-color: var(--csk-dark);
	color: var(--csk-text-invert);
}

@media (min-width: 900px) {
	.csk-hero {
		grid-template-columns: 1.1fr 1fr;
		min-height: min(78vh, 760px);
	}
}

.csk-hero__media {
	position: relative;
	min-height: 46vh;
	overflow: hidden;
}

@media (min-width: 900px) {
	.csk-hero__media { min-height: 100%; }
}

.csk-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Finom sötétítés a kép alján — a tipográfia miatt, ha átfedésbe kerül */
.csk-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(27, 25, 23, 0.1) 0%, rgba(27, 25, 23, 0.45) 100%);
	pointer-events: none;
}

.csk-hero__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--csk-space-md);
	padding: var(--csk-space-xl) var(--csk-gutter);
}

@media (min-width: 900px) {
	.csk-hero__panel {
		padding: var(--csk-space-2xl) clamp(2rem, 4vw, 4.5rem);
	}
}

.csk-hero__title {
	font-family: var(--csk-font-display);
	font-size: var(--csk-fs-hero);
	line-height: var(--csk-lh-tight);
	letter-spacing: var(--csk-ls-display);
	text-transform: uppercase;
	margin: 0;
}

.csk-hero__title em {
	display: block;
	font-family: var(--csk-font-accent);
	font-style: italic;
	font-size: 0.52em;
	letter-spacing: 0;
	text-transform: none;
	color: var(--csk-gold-soft);
	margin-top: 0.15em;
}

.csk-hero__text {
	max-width: 46ch;
	color: var(--csk-muted-invert);
	font-size: var(--csk-fs-lead);
}

.csk-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--csk-space-2xs);
	margin-top: var(--csk-space-2xs);
}

/* --- Gyorsinfó-sáv (nyitvatartás, cím, telefon, parkolás) ------------------ */

.csk-quickbar {
	background-color: var(--csk-dark-soft);
	color: var(--csk-text-invert);
	border-top: 1px solid var(--csk-line-invert);
}

.csk-quickbar__grid {
	display: grid;
	gap: var(--csk-space-md);
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
	padding-block: var(--csk-space-md);
}

.csk-quickbar__item {
	display: flex;
	align-items: flex-start;
	gap: var(--csk-space-2xs);
	font-size: var(--csk-fs-small);
}

.csk-quickbar__item svg {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	fill: none;
	stroke: var(--csk-gold);
	stroke-width: 1.5;
}

.csk-quickbar__label {
	display: block;
	font-family: var(--csk-font-ui);
	font-size: var(--csk-fs-micro);
	font-weight: 600;
	letter-spacing: var(--csk-ls-caps);
	text-transform: uppercase;
	color: var(--csk-gold-soft);
	margin-bottom: 2px;
}

/* --- Étlap: listás tételek ------------------------------------------------
   Étel neve és ára között pontozott vezetővonal, alatta a leírás és az
   allergének. A vezetővonal tiszta CSS, nem kép.                            */

.csk-menu-group + .csk-menu-group {
	margin-top: var(--csk-space-xl);
}

.csk-menu-group__title {
	display: flex;
	align-items: baseline;
	gap: var(--csk-space-sm);
	margin-bottom: var(--csk-space-md);
	font-family: var(--csk-font-display);
	font-size: var(--csk-fs-h3);
	text-transform: uppercase;
	letter-spacing: var(--csk-ls-display);
}

.csk-menu-group__title::after {
	content: "";
	flex: 1;
	height: 1px;
	background-color: var(--csk-accent);
	opacity: 0.45;
}

.csk-menu-item {
	padding-block: var(--csk-space-xs);
	border-bottom: 1px dotted var(--csk-line);
}

.csk-menu-item:last-child { border-bottom: 0; }

.csk-menu-item__head {
	display: flex;
	align-items: baseline;
	gap: var(--csk-space-2xs);
}

.csk-menu-item__name {
	font-family: var(--csk-font-body);
	font-size: var(--csk-fs-h4);
	font-weight: 600;
	margin: 0;
}

.csk-menu-item__dots {
	flex: 1;
	min-width: 1.5rem;
	height: 1px;
	margin-bottom: 0.28em;
	background-image: radial-gradient(circle, var(--csk-line) 1px, transparent 1px);
	background-size: 6px 1px;
	background-repeat: repeat-x;
}

.csk-menu-item__price {
	flex-shrink: 0;
	font-family: var(--csk-font-ui);
	font-size: var(--csk-fs-body);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.csk-menu-item__desc {
	margin: var(--csk-space-3xs) 0 0;
	max-width: 62ch;
	font-size: var(--csk-fs-small);
	color: var(--csk-muted);
}

/* Allergén-rövidítések — apró, kerek jelölők */
.csk-allergens {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-left: var(--csk-space-2xs);
	vertical-align: middle;
}

.csk-allergen {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding-inline: 5px;
	border: 1px solid var(--csk-line);
	border-radius: var(--csk-radius-pill);
	font-family: var(--csk-font-ui);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	color: var(--csk-muted);
	cursor: help;
}

/* Jelölés: séf ajánlata, vegetáriánus, csípős */
.csk-tag {
	display: inline-block;
	margin-left: var(--csk-space-2xs);
	padding: 2px 8px;
	border-radius: var(--csk-radius-pill);
	background-color: color-mix(in srgb, var(--csk-gold) 24%, transparent);
	font-family: var(--csk-font-ui);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--csk-gold-deep);
	vertical-align: middle;
}

/* Étlap-lista — tömör jelölés, hogy az Elementor fülekbe ágyazott tartalom
   is kézzel szerkeszthető maradjon. A pontsor CSS-ből jön, nem külön elemből. */
.csk-menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.csk-menu-list li {
	display: flex;
	align-items: baseline;
	gap: var(--csk-space-sm);
	margin: 0;
	padding: 0.62rem 0;
	border-bottom: 1px dotted var(--csk-line);
}

.csk-menu-list li:last-child {
	border-bottom: 0;
}

.csk-menu-list li > span {
	flex: 1 1 auto;
	min-width: 0;
}

.csk-menu-list li > b {
	flex: none;
	font-weight: 600;
	white-space: nowrap;
	color: var(--csk-text);
	font-variant-numeric: tabular-nums;
}

.csk-menu-note {
	margin-top: var(--csk-space-lg);
	padding-top: var(--csk-space-sm);
	border-top: 1px solid var(--csk-line);
	font-size: var(--csk-fs-micro);
	color: var(--csk-muted);
}

/* --- Kártya --------------------------------------------------------------- */

.csk-card {
	display: flex;
	flex-direction: column;
	background-color: var(--csk-bg-alt);
	border: 1px solid var(--csk-line);
	border-radius: var(--csk-radius-lg);
	overflow: hidden;
	transition: transform var(--csk-dur) var(--csk-ease),
	            box-shadow var(--csk-dur) var(--csk-ease);
}

.csk-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--csk-shadow);
}

.csk-card__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background-color: var(--csk-cream-deep);
}

.csk-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--csk-dur-slow) var(--csk-ease);
}

.csk-card:hover .csk-card__media img {
	transform: scale(1.04);
}

.csk-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--csk-space-2xs);
	padding: var(--csk-space-md);
	flex: 1;
}

.csk-card__title {
	margin: 0;
	font-size: var(--csk-fs-h4);
	font-weight: 600;
}

.csk-card__text {
	margin: 0;
	font-size: var(--csk-fs-small);
	color: var(--csk-muted);
}

.csk-card__foot {
	margin-top: auto;
	padding-top: var(--csk-space-xs);
}

/* Az egész kártya kattintható legyen, de a valódi hivatkozás maradjon a
   címben — így a képernyőolvasó értelmes linkszöveget kap. */
.csk-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
}

.csk-card { position: relative; }

/* --- Kiemelt sáv (CTA) ---------------------------------------------------- */

.csk-cta {
	position: relative;
	background-color: var(--csk-dark);
	color: var(--csk-text-invert);
	text-align: center;
	overflow: hidden;
}

.csk-cta__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--csk-space-sm);
	padding-block: var(--csk-section-y);
}

.csk-cta__title {
	font-family: var(--csk-font-display);
	font-size: var(--csk-fs-h1);
	text-transform: uppercase;
	letter-spacing: var(--csk-ls-display);
	margin: 0;
}

.csk-cta__text {
	max-width: 52ch;
	color: var(--csk-muted-invert);
	font-size: var(--csk-fs-lead);
}

/* Halvány háttérkép a CTA mögött */
.csk-cta__bg {
	position: absolute;
	inset: 0;
	opacity: 0.18;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* --- Nyitvatartás táblázat ------------------------------------------------ */

.csk-hours {
	width: 100%;
	font-family: var(--csk-font-ui);
	font-size: var(--csk-fs-small);
}

.csk-hours td {
	padding: var(--csk-space-2xs) 0;
	border-bottom: 1px dotted var(--csk-line);
}

.csk-hours td:last-child {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.csk-hours tr.is-today td {
	font-weight: 700;
	color: var(--csk-accent);
}

/* --- Értesítés / űrlapüzenet ---------------------------------------------- */

.csk-note {
	padding: var(--csk-space-sm) var(--csk-space-md);
	border-left: 3px solid var(--csk-accent);
	border-radius: var(--csk-radius);
	background-color: color-mix(in srgb, var(--csk-gold) 12%, transparent);
	font-size: var(--csk-fs-small);
}

.csk-note--ok    { border-left-color: var(--csk-ok);    background-color: color-mix(in srgb, var(--csk-ok) 10%, transparent); }
.csk-note--warn  { border-left-color: var(--csk-warn);  background-color: color-mix(in srgb, var(--csk-warn) 10%, transparent); }
.csk-note--error { border-left-color: var(--csk-error); background-color: color-mix(in srgb, var(--csk-error) 10%, transparent); }

/* --- Lépésjelző (foglalás 1-2-3) ------------------------------------------ */

.csk-steps {
	display: flex;
	align-items: center;
	gap: var(--csk-space-2xs);
	list-style: none;
	margin: 0 0 var(--csk-space-xl);
	padding: 0;
	font-family: var(--csk-font-ui);
	font-size: var(--csk-fs-micro);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.csk-steps li {
	display: flex;
	align-items: center;
	gap: var(--csk-space-2xs);
	margin: 0;
	color: var(--csk-muted);
}

.csk-steps li::before {
	content: counter(csk-step);
	counter-increment: csk-step;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--csk-line);
	border-radius: 50%;
	font-variant-numeric: tabular-nums;
}

.csk-steps {
	counter-reset: csk-step;
}

.csk-steps li[aria-current="step"] {
	color: var(--csk-text);
}

.csk-steps li[aria-current="step"]::before {
	background-color: var(--csk-gold);
	border-color: var(--csk-gold);
	color: var(--csk-dark);
}

.csk-steps li + li::after { display: none; }

.csk-steps li:not(:last-child) {
	padding-right: var(--csk-space-2xs);
	border-right: 1px solid var(--csk-line);
}

/* --- Galéria -------------------------------------------------------------- */

.csk-gallery {
	display: grid;
	gap: var(--csk-space-2xs);
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}

.csk-gallery img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--csk-radius);
}

/* Az első elem nagyobb helyet kap nagyobb képernyőn */
@media (min-width: 900px) {
	.csk-gallery--featured > :first-child {
		grid-column: span 2;
		grid-row: span 2;
	}

	.csk-gallery--featured > :first-child img {
		aspect-ratio: auto;
		height: 100%;
	}
}

/* =========================================================================
   Mobil- és űrlapjavítások (2026-09-12)
   ========================================================================= */

/* 1. Kijelző-betűs címsorok: 1.0 sorköznél a hosszú ékezetek (Ő, Ú, Á)
      összeérnek a fölöttük lévő sorral. */
h1, h2, h3,
.elementor-heading-title,
.csk-menu-group__title,
.csk-cta__title {
	line-height: 1.12;
}

@media (max-width: 767px) {
	h1, h2, .elementor-heading-title { line-height: 1.1; }
}

/* 2. Mobil menü teljes szélességű gombjai: a szöveg a pill bal széléhez
      tapadt, mert nem volt vízszintes belső margó. */
.csk-btn--block {
	text-align: center;
	padding-left: 22px;
	padding-right: 22px;
}

/* 3. Lábléc-hivatkozások: 19 px magas érintési felület volt. */
.csk-footer a {
	display: inline-block;
	padding-top: 7px;
	padding-bottom: 7px;
}

/* 4. Étlap mobilon harmonikává alakul — kellett nyitásjelző és elválasztó. */
@media (max-width: 767px) {
	.elementor-tab-mobile-title {
		position: relative;
		padding: 15px 36px 15px 14px;
		border-bottom: 1px solid var(--csk-line);
		font-weight: 600;
	}

	.elementor-tab-mobile-title::after {
		content: "";
		position: absolute;
		right: 16px;
		top: 50%;
		width: 8px;
		height: 8px;
		margin-top: -6px;
		border-right: 2px solid var(--csk-gold);
		border-bottom: 2px solid var(--csk-gold);
		transform: rotate(45deg);
		transition: transform var(--csk-dur) var(--csk-ease);
	}

	.elementor-tab-mobile-title.elementor-active::after {
		transform: rotate(-135deg);
		margin-top: -2px;
	}

	/* Az Elementor saját tab-szabálya ugyanilyen erős és később töltődik,
	   ezért itt magasabb specificitás kell (nem !important). */
	body .elementor-widget-tabs .elementor-tab-mobile-title {
		padding: 15px 36px 15px 14px;
		border-bottom: 1px solid var(--csk-line);
	}

	body .elementor-widget-tabs .elementor-tab-mobile-title::after {
		border-right-color: var(--csk-gold);
		border-bottom-color: var(--csk-gold);
	}
}

/* Az elfogadó jelölőnégyzet felirata 1.0 sorközt örökölt az Elementortól. */
.elementor-field-type-acceptance label {
	font-size: 14px;
	line-height: 1.5;
	font-weight: 400;
	margin-bottom: 0;
}

/* =========================================================================
   LÁTVÁNYTERV-IGAZÍTÁS (2026-09-12)
   Forrás: Csokonai Étterem látványterv v1, Main.dc.html .h/.kicker/.btn
   osztályai. Minden érték a tervből származik.
   ========================================================================= */

/* --- 1. Display tipográfia: a terv MONDATSZEDÉST ír elő, nem verzált ----- */

h1, h2, h3, h4,
.elementor-heading-title,
.csk-menu-group__title,
.csk-cta__title {
	text-transform: none;
	letter-spacing: -0.01em;
	line-height: 0.98;
}

/* A h3–h4 a tervben is a display betűvel fut (a kártyacímek Anton 24–30 px). */
h3, h4,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.csk-menu-group__title {
	font-family: var(--csk-font-display);
	font-weight: 400;
}

/* Az étlap-tételek nevei maradnak törzsbetűsek — ott a lista az olvasható. */
.csk-menu-list,
.csk-menu-list * {
	font-family: var(--csk-font-body);
}

/* --- 2. Kicker (szemöldökszöveg): Lora 11 px, 0.22em ---------------------- */

.csk-eyebrow {
	font-family: var(--csk-font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--csk-gold);
}

/* --- 3. Törzsszöveg: 16 px / 1.5, meleg sötétbarna ------------------------ */

body {
	font-size: 16px;
	line-height: 1.5;
	color: #2B2622;
}

/* --- 4. Rács: 1440 − 2×64 = 1312 px tartalomszélesség mindenhol ---------- */

.csk-container--wide {
	max-width: 1440px;
	padding-inline: clamp(20px, 4.4vw, 64px);
}

.e-con.e-con-boxed > .e-con-inner {
	max-width: 1312px;
}

/* --- 5. Gombok: szögletes, 52 px, Lora 16/500, arany gombon fehér betű --- */

.csk-btn {
	border-radius: 0;
	min-height: 52px;
	padding-inline: 26px;
	font-family: var(--csk-font-body);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.csk-btn--primary {
	background-color: var(--csk-gold);
	color: #FFFFFF;
}

.csk-btn--primary:hover,
.csk-btn--primary:focus-visible {
	background-color: var(--csk-gold-deep);
	color: #FFFFFF;
}

.csk-btn--sm {
	min-height: 48px;
	font-size: 15px;
	padding-inline: 22px;
}

.csk-header__cta {
	border-radius: 0;
	height: 48px;
}

/* --- 6. Fejléc: a terv szerint nem ragad; a főoldalon átlátszó ----------- */

.csk-header {
	position: relative;
	background-color: #FBF8F2;
	border-bottom: 1px solid #D8D0C0;
	backdrop-filter: none;
}

.csk-header__inner {
	height: 88px;
}

body.home .csk-header {
	position: absolute;
	inset-inline: 0;
	top: 0;
	z-index: 30;
	background-color: transparent;
	border-bottom: 0;
}

body.home .csk-header .csk-brand__text,
body.home .csk-header .csk-nav a {
	color: #FFFFFF;
}

/* --- 7. Logó: Caveat kézírás, alcím nélkül ------------------------------- */

.csk-brand__text {
	font-family: var(--csk-font-hand);
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #1B1917;
}

.csk-brand__text small {
	display: none;
}

/* --- 8. Menü: Lora 16 px, 36 px köz, arany aláhúzás az aktív elemen ------ */

.csk-nav a {
	font-family: var(--csk-font-body);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	padding-block: 6px;
	border-bottom: 2px solid transparent;
}

.csk-nav ul {
	gap: 36px;
}

.csk-nav .current-menu-item > a,
.csk-nav .current_page_item > a {
	color: var(--csk-gold);
	border-bottom-color: var(--csk-gold);
}

body.home .csk-header .csk-nav .current-menu-item > a {
	color: var(--csk-gold-soft);
	border-bottom-color: var(--csk-gold-soft);
}

/* --- 9. Nyelvváltó: a terv keretes HU/EN kapcsolója ---------------------- */

.csk-lang {
	display: flex;
	align-items: stretch;
	height: 48px;
	border: 1px solid #D8D0C0;
	font-size: 13px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.csk-lang a,
.csk-lang span {
	display: flex;
	align-items: center;
	padding-inline: 14px;
	color: #1B1917;
}

.csk-lang .current-lang,
.csk-lang [aria-current] {
	font-weight: 600;
	background-color: var(--csk-cream);
}

body.home .csk-lang {
	border-color: rgba(255, 255, 255, 0.6);
}

body.home .csk-lang a,
body.home .csk-lang span {
	color: #FFFFFF;
}

body.home .csk-lang .current-lang {
	background-color: rgba(255, 255, 255, 0.12);
}

/* --- 10. Lábléc ---------------------------------------------------------- */

.csk-footer {
	padding: 64px 0 32px;
	color: #D9D2C4;
}

.csk-footer .csk-brand__text {
	font-size: 38px;
	color: #FFFFFF;
}

.csk-social--text {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: var(--csk-space-sm) 0 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.csk-social--text a {
	color: #D9D2C4;
}

.csk-footer__delivery p {
	color: var(--csk-muted-invert);
	font-size: var(--csk-fs-small);
	line-height: 1.6;
}

.csk-footer__delivery-actions {
	display: flex;
	gap: 10px;
	margin-top: var(--csk-space-sm);
}

.csk-footer__delivery .csk-btn {
	min-height: 44px;
	padding-inline: 18px;
	color: #FFFFFF;
	border-color: #6E655A;
}

/* --- 11. Mobil fejléc (a terv 390 px-es artboardja) ---------------------- */

@media (max-width: 1023px) {
	.csk-header__inner {
		height: 64px;
	}

	.csk-brand__text {
		font-size: 28px;
	}

	.csk-footer .csk-brand__text {
		font-size: 32px;
	}

	/* A hamburger a terv szerint tömör arany négyzet, fehér ikonnal. */
	.csk-nav-toggle {
		width: 44px;
		height: 44px;
		border-radius: 0;
		background-color: var(--csk-gold);
		border-color: var(--csk-gold);
	}

	.csk-nav-toggle__bars,
	.csk-nav-toggle__bars::before,
	.csk-nav-toggle__bars::after {
		background-color: #FFFFFF;
	}
}

/* 5. Elementor Pro űrlapok a márka tipográfiájával, mobilbarát méretekkel. */
.elementor-form .elementor-field-group > label {
	font-family: var(--csk-font-body);
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 6px;
}

.elementor-field-group .elementor-field-textual {
	min-height: 48px;
	border-radius: 0;
	font-size: 16px; /* 16px alatt az iOS ráközelít a mezőre */
	font-family: var(--csk-font-body);
}

.elementor-field-group textarea.elementor-field-textual {
	min-height: 96px;
}

.elementor-field-group .elementor-field-textual:focus {
	outline: 2px solid var(--csk-gold);
	outline-offset: 1px;
	box-shadow: none;
}

.elementor-form .elementor-button {
	min-height: 52px;
	font-family: var(--csk-font-display);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.elementor-field-type-acceptance .elementor-field-option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
}

.elementor-field-type-acceptance input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	accent-color: var(--csk-gold);
}

.elementor-field-type-acceptance a { text-decoration: underline; }

.elementor-message {
	font-size: 15px;
	line-height: 1.5;
	padding: 10px 0;
}

.elementor-message.elementor-message-success { color: var(--csk-ok); }
.elementor-message.elementor-message-danger  { color: var(--csk-error); }

/* ==========================================================================
   LÁTVÁNYTERV-IGAZÍTÁS II. (2026-09-12)
   G-02: Instrument Serif dőlt kiemelés a címsorokban + sávbehúzások
   ========================================================================== */

@font-face {
	font-family: 'Instrument Serif';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/instrumentserif/v5/jizBRFtNs2ka5fXjeivQ4LroWlx-2zI.ttf) format('truetype');
}

@font-face {
	font-family: 'Instrument Serif';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/instrumentserif/v5/jizHRFtNs2ka5fXjeivQ4LroWlx-6zATiw.ttf) format('truetype');
}

:root {
	--csk-font-accent: 'Instrument Serif', Georgia, 'Times New Roman', serif;
}

/* A terv negyedik márkabetűje: minden display címsor <em> részlete. */
h1 em,
h2 em,
h3 em,
h4 em,
.csk-display em,
.elementor-widget-heading .elementor-heading-title em {
	font-family: var(--csk-font-accent);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

/* Az Instrument Serif optikailag kisebb az Antonnál — kiegyenlítés. */
h1 em,
h2 em,
.elementor-widget-heading h1 em,
.elementor-widget-heading h2 em { font-size: 1.06em; }

h3 em,
h4 em,
.elementor-widget-heading h3 em,
.elementor-widget-heading h4 em { font-size: 1.05em; }

/* A lábléc apró címsorai nem display méretűek — ott nincs nagyítás. */
.csk-footer h2 em,
.csk-footer h3 em { font-size: 1em; }

/* Vendégvélemény-idézet */
.csk-quote {
	font-family: var(--csk-font-accent);
	font-style: italic;
}

/* Oldalt behúzott sávok (hírlevél, záró CTA): a terv 64 px-es margója.
   Elementor a felső szintű konténerre width:100%-ot ad, ezért a margó
   önmagában túlcsordulást okozna. */
.e-con.csk-inset { width: auto; }

@media (max-width: 1023px) {
	.e-con.csk-inset {
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
}

/* Segédosztály elemek elrejtésére */
.csk-hide { display: none !important; }

/* K-03: az űrlapok küldés gombja is a terv .btn komponense (Lora 16/500, 52 px),
   nem Anton. Az elküldés-gomb minden űrlapon (foglalás, hírlevél, ajánlatkérés,
   kapcsolat) ugyanúgy néz ki, mint a többi elsődleges gomb. */
.elementor-form .elementor-button,
.elementor-widget-form .elementor-button[type="submit"] {
	font-family: var(--csk-font-body, 'Lora', Georgia, serif);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 0;
}

/* M-01: mobil fejléc a terv szerint 64 px. */
@media (max-width: 1023px) {
	.csk-header__inner { min-height: 64px; }
}

/* L-03: a lábléc szöveges közösségi linkjei. A korábbi ikonos változat
   40×40-es keretes gombokat használt — azok itt eltakarták a feliratot. */
.csk-social--text li {
	width: auto;
	height: auto;
}

.csk-social--text a {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #D9D2C4;
}

.csk-social--text a:hover { color: var(--csk-gold); }

/* L-05: a terv láblécében a wordmark alatt nincs alcím, és a hasábköz 48 px. */
.csk-footer__grid { gap: 48px; }
.csk-footer .csk-brand__text small { display: none; }

/* ==========================================================================
   K-06 — vonalas SVG ikonkészlet (a terv .ico komponense)
   A Font Awesome tömör ikonjait maszkolt vonalas rajz váltja fel: az eredeti
   glifát elrejtjük, és a .elementor-icon ::before eleme rajzol a helyére.
   Így egyetlen stíluslapból cserélhető minden ikon, oldalszerkesztés nélkül.
   ========================================================================== */

.elementor-icon:has(.e-font-icon-svg),
.elementor-icon:has(i[class*="fa-"])
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.elementor-icon:has(.e-font-icon-svg) > svg,
.elementor-icon:has(i[class*="fa-"]) > i
{
	display: none;
}

.elementor-icon:has(.e-font-icon-svg)::before,
.elementor-icon:has(i[class*="fa-"])::before
{
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background-color: var(--csk-gold, #B8965A);
	-webkit-mask: var(--csk-ico) center / contain no-repeat;
	mask: var(--csk-ico) center / contain no-repeat;
}

.elementor-icon:has(.fa-clock)::before,
.elementor-icon:has(.e-fas-clock)::before,
.elementor-icon:has(.e-far-clock)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207v5.2l3.4%202'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-location-dot)::before,
.elementor-icon:has(.e-fas-location-dot)::before,
.elementor-icon:has(.e-far-location-dot)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021.5s7-5.8%207-11.2a7%207%200%201%200-14%200c0%205.4%207%2011.2%207%2011.2z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.4'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-phone)::before,
.elementor-icon:has(.e-fas-phone)::before,
.elementor-icon:has(.e-far-phone)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%204h3.8l1.9%204.8-2.4%201.5a12.2%2012.2%200%200%200%205.4%205.4l1.5-2.4L20%2015.2V19a1%201%200%200%201-1%201A15.9%2015.9%200%200%201%204%205a1%201%200%200%201%201-1z'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-square-parking)::before,
.elementor-icon:has(.e-fas-square-parking)::before,
.elementor-icon:has(.e-far-square-parking)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3.5'%20y='3.5'%20width='17'%20height='17'%20rx='1'/%3E%3Cpath%20d='M9.6%2017V7.4h3.2a2.9%202.9%200%200%201%200%205.8H9.6'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-gift)::before,
.elementor-icon:has(.e-fas-gift)::before,
.elementor-icon:has(.e-far-gift)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3.5'%20y='9.6'%20width='17'%20height='10.4'/%3E%3Cpath%20d='M3.5%209.6h17M12%209.6V20'/%3E%3Cpath%20d='M12%209.6S10.6%204.2%208.2%204.2a2.1%202.1%200%200%200%200%204.2H12zM12%209.6S13.4%204.2%2015.8%204.2a2.1%202.1%200%200%201%200%204.2H12z'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-calendar-days)::before,
.elementor-icon:has(.e-fas-calendar-days)::before,
.elementor-icon:has(.e-far-calendar-days)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3.5'%20y='5.4'%20width='17'%20height='15.1'%20rx='1'/%3E%3Cpath%20d='M3.5%2010h17M8%203.4v4M16%203.4v4M8%2013.4h2M11%2013.4h2M14%2013.4h2'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-users)::before,
.elementor-icon:has(.e-fas-users)::before,
.elementor-icon:has(.e-far-users)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9.2'%20cy='8.8'%20r='3.2'/%3E%3Cpath%20d='M3.4%2019.6c0-3%202.6-5.2%205.8-5.2s5.8%202.2%205.8%205.2'/%3E%3Cpath%20d='M16.2%206.2a3.2%203.2%200%200%201%200%206.4M17.4%2014.8c2%20.7%203.2%202.5%203.2%204.8'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-briefcase)::before,
.elementor-icon:has(.e-fas-briefcase)::before,
.elementor-icon:has(.e-far-briefcase)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3.2'%20y='7.6'%20width='17.6'%20height='12.4'%20rx='1'/%3E%3Cpath%20d='M8.8%207.6V5.8a1.6%201.6%200%200%201%201.6-1.6h3.2a1.6%201.6%200%200%201%201.6%201.6v1.8'/%3E%3Cpath%20d='M3.2%2012.8h17.6'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-champagne-glasses)::before,
.elementor-icon:has(.e-fas-champagne-glasses)::before,
.elementor-icon:has(.e-far-champagne-glasses)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6.6%203.6h4.6l-.6%205.2a1.7%201.7%200%200%201-3.4%200z'/%3E%3Cpath%20d='M8.9%2012.4v7.4M6.4%2020.2h5'/%3E%3Cpath%20d='M13.2%203.6h4.6l-.6%205.2a1.7%201.7%200%200%201-3.4%200z'/%3E%3Cpath%20d='M15.5%2012.4v7.4M13%2020.2h5'/%3E%3C/svg%3E");
}

.elementor-icon:has(.fa-envelope)::before,
.elementor-icon:has(.e-fas-envelope)::before,
.elementor-icon:has(.e-far-envelope)::before
{
	--csk-ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5.6'%20width='18'%20height='12.8'%20rx='1'/%3E%3Cpath%20d='M3%207.2l9%206%209-6'/%3E%3C/svg%3E");
}

/* ==========================================================================
   ÉTLAPTÉTEL KÉPHELLYEL
   Minden étlap- és itallaptétel elé bekerül egy 68x68-as képhely. Amíg nincs
   fotó, egy vonalas tányérjel látszik krém alapon — így a hiány látható és
   mérhető, nem pedig más fogás képével van kitöltve.
   Valódi fotó: a tételre .csk-has-photo osztály + --csk-thumb:url(...) kerül.
   ========================================================================== */

.csk-menu-list li {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr) auto;
	column-gap: 18px;
	align-items: center;
	padding-block: 12px;
}

.csk-menu-list li::before {
	content: "";
	grid-column: 1;
	width: 68px;
	height: 68px;
	border: 1px solid var(--csk-line, #D8D0C0);
	background-color: #FBF8F2;
	background-image: var(--csk-thumb, url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23B8965A'%20stroke-width='1.1'%3E%3Ccircle%20cx='12'%20cy='12'%20r='8.4'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='5'/%3E%3C/svg%3E"));
	background-repeat: no-repeat;
	background-position: center;
	background-size: var(--csk-thumb-size, 30px);
}

.csk-menu-list li > span { grid-column: 2; }

.csk-menu-list li > b {
	grid-column: 3;
	white-space: nowrap;
}

/* Ha valódi fotó kerül a tétel mellé, az kitölti a képhelyet. */
.csk-menu-list li.csk-has-photo::before {
	background-size: cover;
	background-color: transparent;
	border-color: transparent;
}

@media (max-width: 767px) {
	.csk-menu-list li {
		grid-template-columns: 52px minmax(0, 1fr) auto;
		column-gap: 12px;
		padding-block: 10px;
	}
	.csk-menu-list li::before {
		width: 52px;
		height: 52px;
		background-size: var(--csk-thumb-size, 24px);
	}
}

/* Az étlap kategóriafülei a keskenyebb hasábban is elférnek: a fülsor törik,
   nem vágódik le. (Az Elementor alapértelmezése egy sor, overflow: hidden.) */
@media (min-width: 768px) {
	.elementor-widget-tabs .elementor-tabs-wrapper {
		display: flex;
		flex-wrap: wrap;
		overflow: visible;
		row-gap: 2px;
	}
	.elementor-widget-tabs .elementor-tab-title {
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	.elementor-form .elementor-field-group { margin-bottom: 2px; }
}

/* ==========================================================================
   ANIMÁCIÓK + ÉTLAP-TÉTELEK  —  2026-09-12
   Elv: 200–500 ms, elemenként egyszer, semmi scroll-jacking.
   A blokk végén minden mozgás kikapcsol prefers-reduced-motion: reduce esetén.
   A .csk-rv / .csk-rv-i / .csk-w osztályokat a main.js teszi rá az elemekre,
   így ha a szkript nem fut le, semmi nem marad láthatatlanul.
   ========================================================================== */

/* --- Étlap-tételek tipográfiája (a 68 px-es fotóslista mellé) -------------- */

.csk-mi-name {
	display: block;
	font-family: var(--csk-font-body, 'Lora', Georgia, serif);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.35;
	color: #1B1917;
}

.csk-mi-desc {
	display: block;
	font-size: 13px;
	line-height: 1.45;
	color: #6E655A;
	margin-top: 3px;
}

.csk-mi-alg {
	display: block;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #B8965A;
	margin-top: 4px;
}

.csk-mi-price {
	font-family: var(--csk-font-body, 'Lora', Georgia, serif);
	font-size: 16px;
	font-weight: 600;
	color: #1B1917;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.csk-mi-name  { font-size: 15px; }
	.csk-mi-desc  { font-size: 12px; }
	.csk-mi-price { font-size: 15px; }
}

.csk-alg-legend {
	font-size: 13px;
	line-height: 1.9;
	color: #6E655A;
}

.csk-alg-legend b {
	color: #B8965A;
	font-weight: 600;
}

/* --- Mobil és tablet oldalmargó -------------------------------------------
   A szekciók az asztali 64 px-es margót vitték magukkal kis képernyőre is,
   így 390 px-en a tartalomra csak 247 px maradt. A terv mobil margója 20 px.
   Csak a „boxed" szekciókra vonatkozik — a teljes szélességű hero érintetlen. */

@media (max-width: 1023px) {
	.elementor > .e-con.e-con-boxed {
		padding-inline: 32px !important;
	}
}

@media (max-width: 767px) {
	.elementor > .e-con.e-con-boxed {
		padding-inline: 20px !important;
	}
}

/* --- A. Hero: cím szavanként ---------------------------------------------- */

.csk-w {
	display: inline-block;
	opacity: 0;
	transform: translateY(14px);
	animation: csk-word 620ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
	animation-delay: var(--csk-wd, 0ms);
}

/* A dőlt (Instrument Serif) kiemelés érkezik utoljára, kicsit lassabban. */
.csk-w--em { animation-duration: 860ms; }

@keyframes csk-word {
	to { opacity: 1; transform: none; }
}

/* --- A. Hero-kép: nagyon lassú ráközelítés --------------------------------- */

.csk-hero-zoom .elementor-widget-container { overflow: hidden; }

.csk-hero-zoom img {
	animation: csk-kenburns 9s ease-out forwards;
	transform-origin: 50% 45%;
}

@keyframes csk-kenburns {
	from { transform: scale(1); }
	to   { transform: scale(1.06); }
}

/* --- B. Szekciók beúszása -------------------------------------------------- */

.csk-rv {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 560ms cubic-bezier(0.22, 0.61, 0.36, 1),
	            transform 560ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.csk-rv.is-in {
	opacity: 1;
	transform: none;
}

.csk-rv-i {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 420ms ease-out var(--csk-d, 0ms),
	            transform 420ms ease-out var(--csk-d, 0ms);
}

.csk-rv-i.is-in {
	opacity: 1;
	transform: none;
}

/* Arany hajszálvonalak balról jobbra kirajzolódnak */
.csk-rv .elementor-divider-separator {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 700ms 140ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.csk-rv.is-in .elementor-divider-separator { transform: scaleX(1); }

/* --- B. Számlálók ---------------------------------------------------------- */

.csk-count { font-variant-numeric: tabular-nums; }

/* --- C. Kártyák, étlap, fülek ---------------------------------------------- */

.elementor-widget-image .elementor-widget-container { overflow: hidden; }

.e-con:has(> .elementor-widget-image) > .elementor-widget-image img {
	transition: transform 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.e-con:has(> .elementor-widget-image):hover > .elementor-widget-image img {
	transform: scale(1.045);
}

.csk-menu-list li { transition: background-color 220ms ease; }
.csk-menu-list li:hover { background-color: #FBF8F2; }

.csk-menu-list li::before { transition: transform 320ms cubic-bezier(0.22, 0.61, 0.36, 1); }
.csk-menu-list li:hover::before { transform: scale(1.06); }

.elementor-widget-tabs .elementor-tab-content {
	animation: csk-tab 360ms ease-out;
}

@keyframes csk-tab {
	from { opacity: 0; transform: translateX(8px); }
	to   { opacity: 1; transform: none; }
}

.elementor-widget-tabs .elementor-tab-title {
	transition: color 200ms ease, border-color 200ms ease, background-color 200ms ease;
}

/* --- D. Fejléc és mobil fiók ----------------------------------------------- */

.csk-header__inner { transition: min-height 260ms cubic-bezier(0.22, 0.61, 0.36, 1); }
.csk-header.is-scrolled .csk-header__inner { min-height: 64px; }

.csk-brand__logo { transition: max-height 260ms cubic-bezier(0.22, 0.61, 0.36, 1); }
.csk-header.is-scrolled .csk-brand__logo { max-height: 38px; }
/* A logó mindenhol sötét — a fejléc minden oldalon tömör, világos sáv. */
.csk-brand__logo { filter: brightness(0) invert(10%); }

/* ==========================================================================
   Indítás előtti finomhangolás — 2026-09-14
   ========================================================================== */

/* --- Fejléc: a nyitóoldalon is tömör, világos sáv ----------------------- */
body.home .csk-header {
	position: sticky;
	background-color: color-mix(in srgb, var(--csk-cream) 94%, transparent);
	border-bottom: 1px solid var(--csk-line);
	backdrop-filter: blur(10px);
}
body.home .csk-header .csk-brand__text,
body.home .csk-header .csk-nav a { color: var(--csk-text, #1B1917); }
body.home .csk-header .csk-nav .current-menu-item > a {
	color: var(--csk-gold-deep, #9C7B42);
	border-bottom-color: var(--csk-gold-deep, #9C7B42);
}

/* --- GYIK: a nyitott kérdés és a válasz olvasható legyen ---------------- */
.elementor-accordion .elementor-tab-title.elementor-active,
.elementor-accordion .elementor-tab-title.elementor-active a { color: var(--csk-text, #1B1917); }
.elementor-accordion .elementor-tab-content,
.elementor-accordion .elementor-tab-content p { color: var(--csk-text-muted, #6E655A); }

/* --- Érintőfelületek mobilon: minden vezérlő legalább 40px ------------- */
@media (max-width: 782px) {
	.csk-qty__b {
		min-width: 40px;
		min-height: 40px;
	}

	.csk-tabs__btn {
		min-height: 44px;
	}

	.csk-footer__grid li a,
	.csk-footer__bottom nav a,
	.csk-social--text a {
		display: inline-block;
		min-height: 40px;
		line-height: 40px;
	}

	.elementor-field-type-acceptance input[type="checkbox"],
	.elementor-field-option input[type="checkbox"],
	.elementor-field-option input[type="radio"] {
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
	}

	.elementor-field-type-acceptance label,
	.elementor-field-option label {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		min-height: 40px;
	}
}

/* --- Tartalomra váró blokkok -------------------------------------------
   Az indítás előtti fotó- és videómunkához láthatóvá tettük őket, hogy a
   készítő lássa, hová kerül majd az anyag. Minden blokk szaggatott kerettel
   és egy címkével van megjelölve. Élesítés előtt ez a szakasz törlendő. */
.elementor-element-m0000015,   /* étlap — videó */
.elementor-element-t0000030,   /* az étterem — apartman (döntésre vár) */
.elementor-element-j0000060 {  /* ajánlatok — kedvezménykártyák */
	position: relative;
	outline: 2px dashed var(--csk-gold, #B8965A);
	outline-offset: 8px;
}

.elementor-element-m0000015::after,
.elementor-element-t0000030::after,
.elementor-element-j0000060::after {
	position: absolute;
	top: -8px;
	left: -8px;
	z-index: 6;
	padding: 3px 11px;
	background: var(--csk-gold-deep, #9C7B42);
	color: #FFFFFF;
	font-family: inherit;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	line-height: 1.7;
	white-space: nowrap;
	border-radius: 2px 2px 0 0;
	pointer-events: none;
}

.elementor-element-m0000015::after { content: "A10 · konyhavideó helye"; }
.elementor-element-t0000030::after { content: "C1 · apartman — döntésre vár"; }
.elementor-element-j0000060::after { content: "C2 · kedvezménykártya-logók helye"; }

@media (max-width: 767px) {
	.elementor-element-m0000015::after,
	.elementor-element-t0000030::after,
	.elementor-element-j0000060::after {
		font-size: 10px;
		padding: 2px 8px;
		white-space: normal;
		max-width: calc(100% + 16px);
	}
}

/* --- Mobil (≤767px) ---------------------------------------------------- */
@media (max-width: 767px) {

	/* Egységes szekció-ritmus minden oldalon */
	.csk-main > .elementor > .e-con > .e-con-inner {
		padding-block: 52px !important;
		row-gap: 26px !important;
	}

	/* Nyitólap hero */
	.elementor-element-a1000004 { padding: 48px 22px 40px !important; }
	.elementor-element-a1000006 h1 { font-size: 40px !important; }

	/* Nyitólap adatsáv két oszlopban */
	.elementor-element-b0000001 > .e-con-inner {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		column-gap: 14px;
		row-gap: 18px !important;
		padding-block: 30px !important;
	}
	.elementor-element-b0000001 > .e-con-inner > * { width: auto !important; }

	/* Címsorok mobilra szabott mérete */
	.elementor-element-m0000003 h1,
	.elementor-element-j0000003 h1,
	.elementor-element-f1000003 h1,
	.elementor-element-t0000004 h1,
	.elementor-element-r0000003 h1,
	.elementor-element-k0000003 h1 { font-size: 38px !important; }

	.elementor-element-c0000003 h2,
	.elementor-element-r0000011 h2,
	.elementor-element-r0000041 h2 { font-size: 34px !important; }

	.elementor-element-h0000005 h2,
	.elementor-element-t0000021 h2,
	.elementor-element-d0000005 h2,
	.elementor-element-e0000005 h2,
	.elementor-element-m0000011 h2,
	.elementor-element-m0000021 h2,
	.elementor-element-t0000012 h2,
	.elementor-element-t0000016 h2 { font-size: 32px !important; }

	.elementor-element-f0000004 h3,
	.elementor-element-f0000012 h3 { font-size: 30px !important; }

	.elementor-element-n0000004 h3,
	.elementor-element-z0000003 h3,
	.elementor-element-m0000031 h3,
	.elementor-element-t0000041 h3,
	.elementor-element-r0000022 h3,
	.elementor-element-r0000030 h3,
	.elementor-element-j0000063 h3,
	.elementor-element-k0000072 h2,
	.elementor-element-k0000061 h2 { font-size: 28px !important; }

	/* Kártyák szűkebb belső térrel */
	.elementor-element-e0000020,
	.elementor-element-e0000030,
	.elementor-element-e0000040 { padding: 24px !important; }
	.elementor-element-f0000002,
	.elementor-element-f0000010 { padding: 28px 24px !important; }
	.elementor-element-f1000021 { padding: 22px !important; }

	/* Gombok teljes szélességben, egymás alatt */
	.csk-main .elementor-widget-button { width: 100%; }
	.csk-main .elementor-widget-button .elementor-button {
		width: 100%;
		justify-content: center;
	}

	/* Lábléc alsó sora ne csússzon szét */
	.csk-footer__bottom { align-items: flex-start; }
	.csk-footer__bottom > nav {
		width: 100%;
		margin-inline-start: 0;
		display: flex;
		flex-wrap: wrap;
		gap: 8px 20px;
	}
}

/* Itallap: a palack- és pohárfotók teljes egészében látszódjanak a körben */
.csk-drinks .csk-menu-list li.csk-has-photo::before {
	background-size: contain;
	background-position: 50% 50%;
	background-color: #FFFFFF;
}
.csk-drinks .csk-menu-list li.csk-has-photo .csk-dish-zoom { display: none; }

/* Lábléc logó: ugyanaz a jel, mint a fejlécben, de fehéren */
.csk-footer__logo-link { display: inline-block; }
.csk-brand__logo--footer {
	max-height: 56px;
	width: auto;
	filter: brightness(0) invert(1);
}

/* Lábléc jogi linkjei egy vonalban */
.csk-footer__bottom nav ul { align-items: center; }
@media (max-width: 767px) {
	.csk-footer__bottom nav ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

/* Ragadós fejléc alá ne csússzon az ugró célpont */
.csk-main [id] { scroll-margin-top: 104px; }

/* Étlap sorai telefonon: a fogás neve kapjon helyet, az ár a leírás alá kerül */
@media (max-width: 600px) {
	.csk-menu-list li.csk-has-photo { grid-template-columns: 92px minmax(0, 1fr) !important; }
	.csk-menu-list li.csk-has-photo > b {
		grid-column: 2 !important;
		justify-self: start !important;
		margin-top: 6px;
	}
}

.csk-drawer li {
	opacity: 0;
	transform: translateY(10px);
}

.csk-drawer.is-open li {
	opacity: 1;
	transform: none;
	transition: opacity 320ms ease-out, transform 320ms ease-out;
}

.csk-drawer.is-open li:nth-child(1) { transition-delay:  60ms; }
.csk-drawer.is-open li:nth-child(2) { transition-delay: 100ms; }
.csk-drawer.is-open li:nth-child(3) { transition-delay: 140ms; }
.csk-drawer.is-open li:nth-child(4) { transition-delay: 180ms; }
.csk-drawer.is-open li:nth-child(5) { transition-delay: 220ms; }
.csk-drawer.is-open li:nth-child(6) { transition-delay: 260ms; }
.csk-drawer.is-open li:nth-child(7) { transition-delay: 300ms; }
.csk-drawer.is-open li:nth-child(8) { transition-delay: 340ms; }

/* --- E. Gombok: arany kitöltés balról ------------------------------------- */

.csk-btn--primary,
.elementor-button {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.csk-btn--primary::before,
.elementor-button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: var(--csk-gold-deep, #9C7B42);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 360ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.csk-btn--primary:hover::before,
.csk-btn--primary:focus-visible::before,
.elementor-button:hover::before,
.elementor-button:focus-visible::before { transform: scaleX(1); }

/* A söprés végzi a munkát, ezért a háttérszín hoverre nem ugrik. */
.csk-btn--primary:hover,
.csk-btn--primary:focus-visible { background-color: var(--csk-gold); }

.csk-btn--ghost {
	transition: transform 200ms ease, box-shadow 200ms ease,
	            background-color 200ms ease, color 200ms ease;
}

.csk-btn--ghost:hover { transform: translateY(-2px); }
.csk-btn--ghost:active { transform: translateY(0); }

/* --- E. Foglalás űrlap: lépések -------------------------------------------- */

.e-form__indicators__indicator__number,
.e-form__indicators__indicator__progress {
	transition: background-color 320ms ease, color 320ms ease,
	            border-color 320ms ease, width 420ms ease;
}

.e-form__step { animation: csk-step 380ms ease-out; }

@keyframes csk-step {
	from { opacity: 0; transform: translateX(14px); }
	to   { opacity: 1; transform: none; }
}

/* --- E. Kézírásos jegyzetek: kirajzolódnak --------------------------------- */

.csk-hand-in {
	clip-path: inset(0 100% 0 0);
	opacity: 0.001;
}

.csk-hand-in.is-in {
	clip-path: inset(0 0 0 0);
	opacity: 1;
	transition: clip-path 900ms cubic-bezier(0.5, 0, 0.2, 1) 120ms,
	            opacity 60ms linear 120ms;
}

/* --- Logó: tollvonás a fejlécben ------------------------------------------ */
/* A maszk 220% széles: jobbról balra húzva a fedő él balról jobbra söpör
   végig a logón, mintha leírnák. A .csk-brand--write osztályt a main.js
   csak akkor teszi rá, ha a maszk támogatott és nincs reduced-motion,
   és 1,5 mp múlva le is veszi, hogy ne maradjon maszk a képen. */

.csk-brand { position: relative; }

.csk-brand--write .csk-brand__logo,
.csk-brand--write .csk-brand__text {
	-webkit-mask-image: linear-gradient(90deg, #000 0 46%, rgba(0, 0, 0, 0.35) 50%, transparent 55%);
	        mask-image: linear-gradient(90deg, #000 0 46%, rgba(0, 0, 0, 0.35) 50%, transparent 55%);
	-webkit-mask-size: 220% 100%;
	        mask-size: 220% 100%;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	animation: csk-write 1250ms cubic-bezier(0.55, 0.06, 0.3, 1) forwards;
}

@keyframes csk-write {
	from { -webkit-mask-position: 100% 0; mask-position: 100% 0; }
	to   { -webkit-mask-position:   0 0; mask-position:   0 0; }
}

/* A „tollhegy": vékony arany fénycsík, ami a fedő éllel együtt halad */
.csk-brand--write::after {
	content: "";
	position: absolute;
	top: 10%;
	bottom: 10%;
	left: 0;
	width: 2px;
	background: linear-gradient(180deg, transparent, var(--csk-gold, #B8965A), transparent);
	opacity: 0;
	pointer-events: none;
	animation: csk-pentip 1250ms cubic-bezier(0.55, 0.06, 0.3, 1) forwards;
}

@keyframes csk-pentip {
	0%   { left: 0;    opacity: 0; }
	10%  { opacity: 0.9; }
	85%  { opacity: 0.9; }
	100% { left: 100%; opacity: 0; }
}

/* --- Mozgáscsökkentés: mindent kikapcsol ---------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.csk-w,
	.csk-rv,
	.csk-rv-i,
	.csk-hand-in,
	.csk-hero-zoom img,
	.csk-brand--write .csk-brand__logo,
	.csk-brand--write .csk-brand__text,
	.elementor-widget-tabs .elementor-tab-content,
	.e-form__step,
	.csk-drawer li,
	.csk-drawer.is-open li {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		-webkit-mask-image: none !important;
		        mask-image: none !important;
	}

	.csk-brand--write::after { display: none !important; }

	.csk-rv .elementor-divider-separator { transform: none !important; }

	.csk-btn--primary::before,
	.elementor-button::before { display: none !important; }

	.csk-menu-list li:hover::before,
	.e-con:has(> .elementor-widget-image):hover > .elementor-widget-image img {
		transform: none !important;
	}
}

/* ==========================================================================
   ÉTLAP — nagyobb, kör alakú tányérkép  (2026-09-12)
   Az ételfotók 1100×1100-as, felülnézeti tányérok TISZTA FEHÉR háttéren.
   Négyzet alakban felnagyítva fehér doboz látszana a krém alapon; a kör
   levágja a sarkokat, és mivel a tányér amúgy is kerek és középen van,
   úgy hat, mintha a fotó eleve így készült volna.
   ========================================================================== */

.csk-menu-list li {
	grid-template-columns: 120px minmax(0, 1fr) auto;
	column-gap: 26px;
	padding-block: 16px;
}

.csk-menu-list li::before {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background-size: var(--csk-thumb-size, 44px);
}

/* Valódi fotó: a kör kitöltve, a puha árnyék teszi tányérrá. */
.csk-menu-list li.csk-has-photo::before {
	background-color: #FFFFFF;
	border-color: transparent;
	box-shadow: 0 2px 14px rgba(27, 25, 23, 0.09);
}

/* A jobb oldali fotóoszlop képei ugyanezt a kezelést kapják, hogy a lap
   egy rendszer legyen — a .csk-round-photo osztály az Elementor widgeten ül. */
.csk-round-photo img {
	border-radius: 50%;
	background-color: #FFFFFF;
	box-shadow: 0 3px 22px rgba(27, 25, 23, 0.10);
}

@media (max-width: 767px) {
	.csk-menu-list li {
		grid-template-columns: 92px minmax(0, 1fr) auto;
		column-gap: 16px;
		padding-block: 13px;
	}

	.csk-menu-list li::before {
		width: 92px;
		height: 92px;
		background-size: var(--csk-thumb-size, 34px);
	}
}

/* ==========================================================================
   ÉTELFOTÓ-NAGYÍTÁS  (2026-09-12)
   A tányér valódi gomb: a main.js teszi a tétel fölé, hogy a kattintható
   felület pontosan a kép legyen, billentyűzetről is elérhető maradjon, és
   a sor szövege továbbra is kijelölhető legyen.
   ========================================================================== */

.csk-menu-list li { position: relative; }

/* A gomb MAGA a tányér: a fotó a gomb saját háttérképe, nem egy alatta lévő
   pszeudoelemé. Így semmilyen böngésző-, kiegészítő- vagy nagy kontrasztú
   témabeállítás nem tudja átfesteni a képet — a háttérkép mindig a
   háttérszín fölött rajzolódik. (Korábban egy átlátszó gomb ült a kép
   fölött, és az kapott idegen háttérszínt fókusz után.) */

.csk-dish-zoom {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 120px;
	height: 120px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	cursor: zoom-in;
	z-index: 2;
	appearance: none;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: transparent;
	forced-color-adjust: none;
	transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.csk-menu-list li.csk-has-photo .csk-dish-zoom {
	background-color: #FFFFFF;
	background-image: var(--csk-thumb);
	box-shadow: 0 2px 14px rgba(27, 25, 23, 0.09);
}

/* A pszeudoelem csak a rácshelyet tartja; a képet már a gomb viszi. */
.csk-menu-list li.csk-has-photo:has(> .csk-dish-zoom)::before {
	visibility: hidden;
}

.csk-menu-list li:hover .csk-dish-zoom,
.csk-dish-zoom:hover {
	transform: translateY(-50%) scale(1.06);
}

.csk-menu-list li:hover:has(> .csk-dish-zoom)::before {
	transform: none;
}

.csk-dish-zoom:focus-visible {
	outline: 2px solid var(--csk-gold, #B8965A);
	outline-offset: 3px;
}

/* Nagyítójel a tányér peremén — érintőképernyőn is látszik, nem csak hoverre. */
.csk-dish-zoom::after {
	content: "";
	position: absolute;
	right: 4px;
	bottom: 4px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: var(--csk-gold, #B8965A);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3Cpath d='M10.5 7.9v5.2M7.9 10.5h5.2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 15px 15px;
	box-shadow: 0 2px 8px rgba(27, 25, 23, 0.25);
	opacity: 0.9;
	transition: transform 0.22s ease, opacity 0.22s ease;
}

.csk-dish-zoom:hover::after,
.csk-dish-zoom:focus-visible::after {
	transform: scale(1.12);
	opacity: 1;
}

.csk-round-photo img { cursor: zoom-in; }

/* --- A nagyított nézet ----------------------------------------------------- */

.csk-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 24px;
	padding: 72px 24px 32px;
	background-color: rgba(27, 25, 23, 0.9);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.26s ease, visibility 0.26s;
}

.csk-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}

.csk-lightbox__plate {
	width: min(74vmin, 600px);
	aspect-ratio: 1;
	flex: none;
	border-radius: 50%;
	background-color: #FFFFFF;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	box-shadow: 0 18px 64px rgba(0, 0, 0, 0.45);
	transform: scale(0.94);
	transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.csk-lightbox.is-open .csk-lightbox__plate { transform: scale(1); }

.csk-lightbox__cap {
	max-width: 540px;
	text-align: center;
}

.csk-lightbox__cap .n {
	display: block;
	font-family: var(--csk-font-body, 'Lora', Georgia, serif);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
	color: #F5F0E6;
}

.csk-lightbox__cap .d {
	display: block;
	font-size: 15px;
	line-height: 1.5;
	margin-top: 8px;
	color: #CFC7B8;
}

.csk-lightbox__cap .a {
	display: block;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-top: 12px;
	color: var(--csk-gold, #B8965A);
}

.csk-lightbox__cap .p {
	display: block;
	font-family: var(--csk-font-body, 'Lora', Georgia, serif);
	font-size: 20px;
	font-weight: 600;
	margin-top: 14px;
	color: #F5F0E6;
}

.csk-lightbox__cap span:empty { display: none; }

.csk-lightbox__close,
.csk-lightbox__nav {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	background: transparent;
	border: 1px solid rgba(217, 210, 196, 0.38);
	color: #D9D2C4;
	font-family: var(--csk-font-body, 'Lora', Georgia, serif);
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.csk-lightbox__close:hover,
.csk-lightbox__nav:hover {
	background-color: rgba(217, 210, 196, 0.14);
	border-color: #D9D2C4;
}

.csk-lightbox__close:focus-visible,
.csk-lightbox__nav:focus-visible {
	outline: 2px solid var(--csk-gold, #B8965A);
	outline-offset: 2px;
}

.csk-lightbox__close {
	top: 18px;
	right: 18px;
	font-size: 28px;
}

.csk-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
	font-size: 30px;
}

.csk-lightbox__nav--prev { left: 18px; }
.csk-lightbox__nav--next { right: 18px; }
.csk-lightbox__nav[hidden] { display: none; }

body.csk-lb-open { overflow: hidden; }

@media (max-width: 767px) {
	.csk-dish-zoom {
		width: 92px;
		height: 92px;
	}

	.csk-dish-zoom::after {
		right: 0;
		bottom: 0;
		width: 26px;
		height: 26px;
		background-size: 13px 13px;
	}

	.csk-lightbox {
		gap: 18px;
		padding: 68px 18px 26px;
	}

	.csk-lightbox__plate { width: min(82vw, 420px); }
	.csk-lightbox__cap .n { font-size: 18px; }
	.csk-lightbox__cap .d { font-size: 14px; }
	.csk-lightbox__cap .p { font-size: 18px; }

	.csk-lightbox__nav {
		top: auto;
		bottom: 18px;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.csk-lightbox,
	.csk-lightbox__plate,
	.csk-dish-zoom::after {
		transition: none !important;
		transform: none !important;
	}

	.csk-dish-zoom { transform: translateY(-50%) !important; }
	.csk-lightbox__nav { transform: translateY(-50%) !important; }
}

/* ==========================================================================
   TRIPADVISOR — bizalmi sáv (főoldal), egysoros változat (lábléc)
   Az adat a functions.php csokonai_tripadvisor() függvényéből jön.
   Szándékosan nem utánozzuk a Tripadvisor zöld buborékjelét: a szám és a
   név beszél, a blokk pedig a Tripadvisor-oldalra mutat.
   ========================================================================== */

.csk-ta {
	background-color: var(--csk-card, #FBF8F2);
	border-top: 1px solid var(--csk-line, #D8D0C0);
	border-bottom: 1px solid var(--csk-line, #D8D0C0);
}

.csk-ta__inner {
	display: flex;
	align-items: center;
	gap: 26px;
	padding-block: 20px;
	text-decoration: none;
	color: inherit;
}

.csk-ta__score {
	flex: none;
	font-family: var(--csk-font-display, 'Anton', Impact, sans-serif);
	font-size: 52px;
	line-height: 0.9;
	letter-spacing: 0.01em;
	color: var(--csk-gold, #B8965A);
	font-variant-numeric: tabular-nums;
}

.csk-ta__text {
	flex: 1 1 auto;
	min-width: 0;
}

.csk-ta__lead {
	display: block;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 600;
	color: var(--csk-dark, #1B1917);
}

.csk-ta__rank {
	color: var(--csk-gold, #B8965A);
	font-weight: 600;
}

.csk-ta__meta {
	display: block;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--csk-muted, #6E655A);
	margin-top: 5px;
}

.csk-ta__cta {
	flex: none;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--csk-gold, #B8965A);
}

.csk-ta__inner:hover .csk-ta__cta,
.csk-ta__inner:focus-visible .csk-ta__cta {
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 767px) {
	.csk-ta__inner {
		flex-wrap: wrap;
		gap: 12px 18px;
		padding-block: 18px;
	}

	.csk-ta__score { font-size: 42px; }
	.csk-ta__lead { font-size: 16px; }
	.csk-ta__text { flex: 1 1 190px; }
	.csk-ta__cta { flex: 1 1 100%; }
}

/* Lábléc: egy sor */
.csk-ta-line {
	margin: var(--csk-space-sm, 16px) 0 0;
	font-size: var(--csk-fs-small, 14px);
}

.csk-ta-line a {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	text-decoration: none;
	color: var(--csk-text-invert, #D9D2C4);
}

.csk-ta-line strong {
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--csk-gold-soft, #D9C9A6);
}

.csk-ta-line a:hover { color: var(--csk-gold-soft, #D9C9A6); }

/* ==========================================================================
   JAVÍTÁSOK  —  2026-09-13
   ========================================================================== */

/* --- 1. Lábléc: szöveges közösségi linkek egy sorban, elválasztóval ------- */

.csk-social--text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 14px;
	margin: var(--csk-space-md, 24px) 0 0;
	padding: 0;
	list-style: none;
}

.csk-social--text li {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	border: 0;
}

.csk-social--text li + li::before {
	content: "";
	flex: none;
	width: 1px;
	height: 12px;
	background-color: var(--csk-line-invert, rgba(217, 210, 196, 0.3));
}

.csk-social--text a {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 8px 0;
	border: 0;
	border-radius: 0;
	background: none;
	font-family: var(--csk-font-ui, 'Lora', Georgia, serif);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--csk-text-invert, #D9D2C4);
}

.csk-social--text a:hover,
.csk-social--text a:focus-visible {
	background: none;
	border: 0;
	color: var(--csk-gold-soft, #D9C9A6);
}

/* --- 2. Étlap: a kiemelt sor háttere érjen ki a lista széléig ------------- */
/* Az Elementor fül-tartalmának 10 px-es oldalmargója miatt a sor háttere és
   az elválasztó vonal beljebb végződött, mint a keret. A margót a sorra
   tesszük át, így a kiemelés a teljes szélességet kitölti. */

.elementor-widget-tabs .elementor-tab-content {
	padding-inline: 0 !important;
}

/* 3. Tripadvisor sáv: homokszín, hogy elváljon az alatta lévő infósávtól.
   Ez a dizájn harmadik felülete — melegebb az oldal hátterénél (#F5F0E6) és
   a kártyáknál (#FBF8F2) is, de ugyanabból a palettából való. */
.csk-ta {
	background-color: #E9DCC0;
	border-top-color: rgba(27, 25, 23, 0.10);
	border-bottom-color: rgba(27, 25, 23, 0.10);
}

/* 6. Fotó nélküli tétellista (rendezvény menü). Ugyanaz a sor-ritmus, mint az
   étlapon, csak a tányérkép oszlopa nélkül. */
.csk-menu-list--plain li {
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 24px;
	padding-block: 12px;
}

.csk-menu-list--plain li::before { content: none; }
.csk-menu-list--plain li .csk-dish-zoom { display: none; }

@media (max-width: 767px) {
	.csk-menu-list--plain li {
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 14px;
		padding-block: 11px;
	}
}

/* Kategória alatti megjegyzés (pl. „Az árak nem tartalmazzák a köret árát!") */
.csk-menu-note {
	margin: 12px 0 2px;
	padding-inline: 14px;
	font-size: 12.5px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: var(--csk-gold-deep, #9C7B42);
}

@media (max-width: 767px) {
	.csk-menu-note { padding-inline: 10px; }
}

/* A fotós lista a tányérképnek tartja fenn az 1. oszlopot, és a gyerekeket
   fixen a 2./3. oszlopba helyezi — a fotó nélküli változatban ezt visszaléptetjük. */
.csk-menu-list.csk-menu-list--plain li {
	grid-template-columns: minmax(0, 1fr) auto !important;
}

.csk-menu-list.csk-menu-list--plain li > span { grid-column: 1; }
.csk-menu-list.csk-menu-list--plain li > b { grid-column: 2; }

/* Fülek szövegdobozban (rendezvény menü). A gombokat a main.js-től független,
   a tartalomba ágyazott kis szkript építi; ha nem fut le, a csoportok
   egymás alatt, saját címükkel jelennek meg. */
.csk-tabs { margin-top: 20px; }

.csk-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0 26px;
	margin: 0 0 4px;
	padding-inline: 14px;
	border-bottom: 1px solid var(--csk-line, #D8D0C0);
}

.csk-tabs__btn {
	appearance: none;
	-webkit-appearance: none;
	margin: 0 0 -1px;
	padding: 13px 0;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: none;
	cursor: pointer;
	font-family: var(--csk-font-ui, 'Lora', Georgia, serif);
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--csk-text-muted, #6E655A);
	transition: color 200ms ease, border-color 200ms ease;
}

.csk-tabs__btn:hover,
.csk-tabs__btn:focus-visible { color: var(--csk-text, #1B1917); }

.csk-tabs__btn[aria-selected="true"] {
	color: var(--csk-text, #1B1917);
	border-bottom-color: var(--csk-gold, #B8965A);
}

.csk-tabs .csk-menu-group[hidden] { display: none !important; }
.csk-tabs.is-tabbed .csk-menu-group { margin-top: 0; }

/* Fülezett állapotban a csoport címét a fülgomb hordozza. */
.csk-tabs.is-tabbed .csk-menu-group__title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	white-space: nowrap;
	clip-path: inset(50%);
}

@media (max-width: 767px) {
	.csk-tabs__nav { gap: 0 16px; padding-inline: 10px; }
	.csk-tabs__btn { font-size: 11.5px; letter-spacing: 0.1em; padding: 10px 0; }
}

/* ==========================================================================
   EGYSÉGES FÜLSÁV ÉS LISTÁK — 2026-09-13 (2.)
   ========================================================================== */

/* --- 1. A rózsaszín (#cc3366) gomb-hover a szülőtémából ------------------- */
/* A hello-elementor ezt adja minden <button>-re hoverre és fókuszra. Emiatt
   maradt rózsaszín a tányérkép és a fülgomb helye kattintás után. Az Elementor
   saját gombjai erősebb szelektorral írják felül, őket ez nem érinti. */

button:hover,
button:focus,
[type="button"]:hover,
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus,
[type="reset"]:hover,
[type="reset"]:focus {
	background-color: transparent;
}

/* A tányérkép-gomb saját fehér háttere minden állapotban marad. */
.csk-menu-list li.csk-has-photo .csk-dish-zoom,
.csk-menu-list li.csk-has-photo .csk-dish-zoom:hover,
.csk-menu-list li.csk-has-photo .csk-dish-zoom:focus {
	background-color: #FFFFFF;
}

/* Billentyűzetes fókusz látszódjon — de aranyból, ne rózsaszínből. */
.csk-dish-zoom:focus-visible,
.csk-tabs__btn:focus-visible {
	outline: 2px solid var(--csk-gold, #B8965A);
	outline-offset: 3px;
}

/* --- 2. Fotó nélküli lista (itallap) automatikusan összezárja az oszlopot -- */

.csk-menu-list:not(:has(.csk-has-photo)) li {
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 24px;
	padding-block: 12px;
}

.csk-menu-list:not(:has(.csk-has-photo)) li::before { content: none; }
.csk-menu-list:not(:has(.csk-has-photo)) li > span { grid-column: 1; }
.csk-menu-list:not(:has(.csk-has-photo)) li > b { grid-column: 2; }

@media (max-width: 767px) {
	.csk-menu-list:not(:has(.csk-has-photo)) li { column-gap: 14px; padding-block: 11px; }
}

/* --- 3. Csoportcím és a mellette futó hajszálvonal ------------------------ */

.csk-menu-group__title {
	align-items: center;
	column-gap: 20px;
}

/* --- 4. Elementor fülek: folytonos vonal, mozgó arany jelölő -------------- */
/* Az Elementor alapból dobozos „mappafület" rajzol, ami két sorba tördelve
   szétesik. Helyette egy végigfutó hajszálvonal, alatta az aktív fül arany
   jelölőjével — ugyanaz, mint a rendezvény menü fülein. */

.elementor-widget-tabs .elementor-tabs-wrapper {
	column-gap: 26px;
	border-bottom: 1px solid var(--csk-line, #D8D0C0);
}

.elementor-widget-tabs .elementor-tab-title,
.elementor-widget-tabs .elementor-tab-title.elementor-active {
	margin: 0 0 -1px !important;
	padding: 13px 0 !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	background-color: transparent !important;
	font-family: var(--csk-font-ui, 'Lora', Georgia, serif);
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--csk-text-muted, #6E655A);
	transition: color 200ms ease, border-color 260ms ease;
}

.elementor-widget-tabs .elementor-tab-title::before,
.elementor-widget-tabs .elementor-tab-title::after { display: none !important; }

.elementor-widget-tabs .elementor-tab-title:hover { color: var(--csk-text, #1B1917); }

.elementor-widget-tabs .elementor-tab-title.elementor-active {
	color: var(--csk-text, #1B1917);
	border-bottom-color: var(--csk-gold, #B8965A) !important;
}

.elementor-widget-tabs .elementor-tabs-content-wrapper,
.elementor-widget-tabs .elementor-tab-content { border: 0 !important; }

@media (max-width: 767px) {
	.elementor-widget-tabs .elementor-tabs-wrapper { column-gap: 16px; }

	/* Mobilon az Elementor a tartalom közé teszi a fülcímeket — ott
	   tapintható méret és saját elválasztó vonal kell. */
	.elementor-widget-tabs .elementor-tab-mobile-title {
		padding: 15px 0 !important;
		border-bottom: 1px solid var(--csk-line, #D8D0C0) !important;
		font-size: 13px;
	}

	.elementor-widget-tabs .elementor-tab-mobile-title.elementor-active {
		border-bottom-color: var(--csk-gold, #B8965A) !important;
	}
}

/* ==========================================================================
   FÜLSÁV — folytonos vonal soronként (étlap, itallap, rendezvény menü)
   A fülek között nincs térköz: a vízszintes padding tartja a távolságot, így
   a fülek alsó vonala soronként egyetlen megszakítatlan vonallá áll össze.
   A sáv 4 px-rel kilóg oldalra, hogy az első fül szövege pontosan a lista
   tételeinek bal szélével (14 px belső padding) essen egybe.
   ========================================================================== */

/* --- Elementor fülek (étlap, itallap) ------------------------------------ */

.elementor-widget-tabs .elementor-tabs-wrapper {
	column-gap: 0;
	margin-inline: -4px;
	border-bottom: 0;
}

.elementor-widget-tabs .elementor-tab-title,
.elementor-widget-tabs .elementor-tab-title.elementor-active {
	margin: 0 !important;
	padding: 13px 18px !important;
	border-bottom: 2px solid var(--csk-line-soft, rgba(27, 25, 23, 0.12)) !important;
}

.elementor-widget-tabs .elementor-tab-title.elementor-active {
	border-bottom-color: var(--csk-gold, #B8965A) !important;
}

/* --- Saját fülek (rendezvény menü) --------------------------------------- */

.csk-tabs__nav {
	gap: 0;
	margin: 0 -4px 4px;
	padding-inline: 0;
	border-bottom: 0;
}

.csk-tabs__btn {
	margin: 0;
	padding: 13px 18px;
	border-bottom: 2px solid var(--csk-line-soft, rgba(27, 25, 23, 0.12));
}

.csk-tabs__btn[aria-selected="true"] {
	border-bottom-color: var(--csk-gold, #B8965A);
}

@media (max-width: 767px) {
	.elementor-widget-tabs .elementor-tabs-wrapper { column-gap: 0; margin-inline: -2px; }

	.elementor-widget-tabs .elementor-tab-title,
	.elementor-widget-tabs .elementor-tab-title.elementor-active {
		padding: 11px 12px !important;
	}

	.csk-tabs__nav { gap: 0; margin-inline: -2px; padding-inline: 0; }
	.csk-tabs__btn { padding: 11px 12px; }
}

/* --- Lábléc alsó sor ------------------------------------------------------ */
/* A Tripadvisor-sor beszúrása után négy elem osztozott a space-between-en
   (köztük egy üresen maradt bekezdés), ezért csúszott szét a jogi linksor.
   Most: copyright + Tripadvisor balra egymás mellett, a jogi linkek jobbra. */

.csk-footer__bottom > p:empty { display: none; }

.csk-footer__bottom {
	justify-content: flex-start;
	column-gap: 28px;
}

.csk-footer__bottom > nav { margin-inline-start: auto; }

@media (max-width: 1023px) {
	.csk-footer__bottom { column-gap: 20px; row-gap: 10px; }
	.csk-footer__bottom > nav { margin-inline-start: 0; }
}

.csk-menu-list li { padding-inline: 14px; }
.csk-dish-zoom { left: 14px; }

@media (max-width: 767px) {
	.csk-menu-list li { padding-inline: 10px; }
	.csk-dish-zoom { left: 10px; }
}

/* --- 7. GYIK: levegősebb sorok -------------------------------------------- */

.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title {
	padding-block: 18px;
}

.elementor-accordion .elementor-tab-content,
.elementor-toggle .elementor-tab-content {
	padding-block: 2px 22px;
	line-height: 1.65;
}
