/* Kolormánia rendelő – a blokk stílusa.
   Minden szín és távolság CSS-változó, amit az Elementor widget Stílus füle állít. */

.kolormania {
	--km-dark:     #1f5976;
	--km-teal:     #358b8e;
	--km-yellow:   var(--e-global-color-accent, #f4c64d);
	--km-text:     #1f5976;
	--km-cream:    #fbf3dd;
	--km-teal-bg:  #84cacb;
	--km-card-bg:  #ffffff;
	--km-line:     #cfe3e6;
	--km-check:    #fcd54d;
	--km-card-line:#bcd4dc;

	--km-col-gap:  28px;
	--km-title-gap: 56px;
	--km-card-gap: 20px;
	--km-card-pad: 24px;
	--km-col-pad:  30px;
	--km-row-gap:  13px;
	--km-radius:   0;

	--km-title-font: "Marcellus", Georgia, serif;
	--km-text-font:  var(--e-global-typography-text-font-family, inherit);

	font-family: var(--km-text-font);
	color: var(--km-text);
	line-height: 1.55;
}

.kolormania *,
.kolormania *::before,
.kolormania *::after { box-sizing: border-box; }

/* ---- Fő elrendezés ---- */
.km-order {
	display: grid;
	grid-template-columns: minmax(210px, 1fr) minmax(0, 2.95fr);
	gap: var(--km-col-gap);
	align-items: start;
}
.km-col-title {
	font-family: var(--km-title-font);
	color: var(--km-dark);
	text-transform: uppercase;
	letter-spacing: .06em;
	text-align: center;
	font-weight: 600;
	margin: 0 0 var(--km-title-gap);
	font-size: clamp(1.25rem, 2.2vw, 1.85rem);
}

/* ---- Kártya alap ---- */
.km-card {
	background: var(--km-card-bg);
	border-radius: var(--km-radius);
	padding: var(--km-card-pad);
	border: 1px solid var(--km-card-line);
}
/* Kártyacím és ár: ugyanaz a stílus, mint a Kézipoggyász oldal csomagkártyáinak címe
   (Marcellus 22px / 1.3, normál, #2E8B8E, nagybetűs, 0.88px betűköz). */
.km-card-title {
	font-family: var(--km-title-font);
	color: #2E8B8E;
	text-transform: uppercase;
	letter-spacing: .88px;
	font-weight: 400;
	margin: 0;
	font-size: 22px;
	line-height: 1.3;
}
.km-lead { font-size: .9rem; margin: 0; }

/* ---- Dinamikus kártya ---- */
.km-single {
	background: var(--km-cream);
	border-radius: var(--km-radius);
	padding: var(--km-col-pad);
}
.km-single-card {
	display: flex;
	flex-direction: column;
	gap: var(--km-row-gap);
}
.km-single-media { margin: 0; }
.km-single-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--km-radius);
	display: block;
	background: #fff;
}
.km-image-placeholder {
	background: repeating-linear-gradient(45deg, #efe9dc 0 12px, #e6ded0 12px 24px);
}
.km-single-form { display: flex; flex-direction: column; gap: var(--km-row-gap); }
.km-single-detail { margin: 0; }
.km-detail-line { margin: 2px 0; font-size: .9rem; }
.km-detail-subtitle { color: var(--km-dark); }

/* ---- Mezők ---- */
.kolormania .km-field-label {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--km-dark);
	margin: 0 0 4px;
	/* Az ékezetek és a lelógó szárak (g, y, j) ne vágódjanak le */
	line-height: 1.45;
	padding-bottom: 2px;
	overflow: visible;
}
.kolormania .km-select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--km-line);
	border-radius: 0;
	background: #fff;
	font: inherit;
	color: var(--km-text);
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23205f72' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	/* Az ékezetek és a lelógó szárak (g, y, j) ne vágódjanak le */
	line-height: 1.5;
	height: auto;
	min-height: 44px;
}
.kolormania .km-select:focus { outline: 2px solid var(--km-teal); outline-offset: 1px; }

/* ---- Ár ---- */
.km-price {
	font-family: var(--km-title-font);
	color: #1F5976; /* egységes árszín (kliens) */
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: .88px;
	font-weight: 400;
	margin: 0;
	text-align: center;
}
.km-price .woocommerce-Price-amount,
.km-price bdi,
.km-price ins { font-weight: inherit; color: inherit; text-decoration: none; }
.km-price del { font-size: inherit; font-weight: 400; } /* áthúzott ár: azonos szín és méret, az áthúzás különbözteti meg */

/* ---- Gomb ---- */
.kolormania .km-btn {
	display: block;
	width: 100%;
	border: 1px solid var(--km-dark);
	border-radius: 0;
	background: var(--km-yellow);
	color: var(--km-dark);
	font-family: var(--km-title-font);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 400; /* egységes gombtipográfia: Marcellus 14/14, normál */
	font-size: 14px;
	line-height: 14px;
	padding: 14.5px 16px; /* a kisebb sormagasság mellett is 45px magas marad */
	cursor: pointer;
	transition: filter .15s ease, transform .05s ease;
}
.kolormania .km-btn:hover { filter: brightness(.96); }
.kolormania .km-btn:active { transform: translateY(1px); }

/* ---- Statikus kártyák ---- */
.km-packages {
	background: var(--km-teal-bg);
	border-radius: var(--km-radius);
	padding: var(--km-col-pad);
}
.km-package-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr);
	grid-template-rows: auto auto auto auto 1fr auto auto auto auto;
	gap: 0 var(--km-card-gap);
	align-items: start;
}
.km-package-card {
	display: grid;
	grid-row: 1 / -1;
	grid-template-rows: subgrid;
	gap: 0;
	position: relative;
	align-content: start;
}
.km-package-card > * { margin-top: var(--km-row-gap); margin-bottom: 0; }
.km-package-card > .km-badge-row { margin-top: 0; }
.km-package-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--km-radius);
	display: block;
	background: #fff;
}
.km-contents-title { font-weight: 600; color: var(--km-dark); font-size: .9rem; }
.kolormania .km-contents { list-style: none; padding: 0; margin: 0; }
.kolormania .km-contents li {
	position: relative;
	padding-left: 21px;
	margin: 4px 0;
	font-size: .88rem;
	list-style: none;
}
.kolormania .km-contents li::before {
	content: "✓";
	position: absolute;
	left: 0;
		color: var(--km-check);
	font-weight: 700;
}

/* Badge sor mindig helyet foglal, hogy a címek egy vonalban legyenek */
.km-badge-row { min-height: 18px; text-align: center; position: static; }
.km-badge {
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	min-width: 64%;
	background: var(--km-dark);
	color: #fff;
	font-family: var(--km-title-font);
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	padding: 6px 18px;
	border-radius: 0;
	white-space: nowrap;
}

/* Kiemelt kártya: nagyobb háttérkeret, hogy a belső sorok igazítása maradjon */
.km-featured::before {
	content: "";
	position: absolute;
	left: -8px;
	right: -8px;
	top: -16px;
	bottom: -16px;
	background: var(--km-card-bg);
	border: 2px solid var(--km-yellow);
	border-radius: var(--km-radius);
	overflow: visible;
	z-index: 0;
}
.km-featured > * { position: relative; z-index: 1; }
/* a szalag a KÁRTYÁHOZ igazodjon, ne a saját sorához */
.km-featured > .km-badge-row { position: static; }

/* A paraméter-címke azonos magasságot foglaljon minden kártyán */
.kolormania .km-package-field .km-field-label {
	min-height: 3em;
	display: flex;
	align-items: flex-end;
	padding-bottom: 4px;
	overflow: visible;
}
.km-package-btn { align-self: end; }

/* ---- Lábjegyzet / megjegyzés ---- */
.km-footnotes { margin-top: var(--km-col-gap); }
.km-footnotes p { font-size: .78rem; color: #6a7a7f; margin: 3px 0; }
.km-note {
	max-width: 900px;
	margin: var(--km-col-gap) auto 0;
	text-align: center;
	font-size: .9rem;
	color: #55666b;
}

/* ---- Reszponzív ---- */
@media (max-width: 900px) {
	.km-order { grid-template-columns: 1fr; }
	.km-package-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		gap: var(--km-card-gap);
	}
	.km-package-card {
		grid-row: auto;
		grid-template-rows: none;
		display: flex;
		flex-direction: column;
	}
	.km-featured::before { top: -8px; bottom: -8px; }
	.km-featured { margin: 8px 0; }
}



/* ---- Egységes kártyaszerkezet (kép, cím, szöveg, mezők, lista, ár, gomb, *) ---- */
.km-fields { display: flex; flex-direction: column; }
.km-contents-block { min-height: 0; }
.km-card-note {
	font-size: .72rem;
	line-height: 1.45;
	color: var(--km-text);
	opacity: .75;
	text-align: center;
	margin: 0;
}
.km-card-note:empty { display: none; }

/* Az egyedi kártya ugyanazt a ritmust kapja, mint a csomagok */
.km-single-contents { margin: 0; }
.km-single-card .km-card-title,
.km-package-card .km-card-title { text-align: center; }
.km-single-card .km-lead,
.km-package-card .km-lead { text-align: center; }

/* Ár fölé vékony vonal, ahogy a terven */
.km-price {
	border-top: 1px solid var(--km-line);
	padding-top: 10px;
}

/* A türkiz dobozon a lábjegyzet fehér, középre */
.km-packages .km-footnotes p {
	color: #fff;
	text-align: center;
	font-size: .82rem;
	line-height: 1.55;
}

/* =========================================================
   SZÍNKÁRTYA
   ========================================================= */
.kmsz {
	--kmsz-bg: #fbf3dd;
	--kmsz-gap: 32px;
	--kmsz-pad: 24px;
	--kmsz-swatch: 58px;
	--kmsz-outer: 32px;
	padding: var(--kmsz-outer);
}
@media (max-width: 600px) {
	.kmsz { --kmsz-outer: 16px; }
}
.kmsz-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: var(--kmsz-gap);
	align-items: center;
}
.kmsz-heading {
	font-family: var(--km-title-font);
	color: var(--km-dark);
	font-size: 1.5rem;
	margin: 0 0 12px;
}
.kmsz-lead { margin: 0 0 12px; font-size: .95rem; }
.kmsz-highlight { color: var(--km-dark); font-weight: 600; margin: 0 0 16px; font-size: .95rem; }
.kmsz-photos { display: flex; flex-wrap: wrap; gap: 12px; }
.kmsz-photos img {
	max-width: 100%;
	flex: 1 1 320px;
	border-radius: var(--km-radius);
	display: block;
	box-shadow: 0 6px 22px rgba(32, 95, 114, .12);
}

/* --- a rendelő kártya --- */
.kmsz-card {
	background: var(--kmsz-bg);
	border-radius: var(--km-radius);
	padding: var(--kmsz-pad);
}
.kmsz-card-title {
	font-family: var(--km-title-font);
	color: var(--km-dark);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 1.1rem;
	margin: 0 0 14px;
}
.kmsz-form { display: flex; flex-direction: column; gap: 7px; }
.kmsz-colors-label { margin-top: 10px; }
.kmsz-hint {
	margin: 0 0 6px;
	font-size: .82rem;
	color: #6a7a7f;
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
.kmsz-counter { font-weight: 700; color: var(--km-dark); }

/* --- évszak szűrő --- */
.kmsz-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.kmsz-tab {
	border: 1px solid var(--km-line);
	background: #fff;
	color: var(--km-dark);
	border-radius: 999px;
	padding: 6px 14px;
	font: inherit;
	font-size: .82rem;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.kmsz-tab:hover { background: #f1f7f8; }
.kmsz-tab.is-active { background: var(--km-dark); color: #fff; border-color: var(--km-dark); }

/* --- szövetminták --- */
.kmsz-swatches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--kmsz-swatch), 1fr));
	gap: 7px;
	max-height: 250px;
	overflow-y: auto;
	padding: 6px;
	background: #fff;
	border: 1px solid var(--km-line);
	border-radius: 10px;
}
.kmsz-swatch { display: block; cursor: pointer; text-align: center; position: relative; }
.kmsz-swatch input { position: absolute; opacity: 0; width: 0; height: 0; }
.kmsz-thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	overflow: hidden;
	border: 3px solid transparent;
	transition: border-color .15s ease, transform .1s ease;
}
.kmsz-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kmsz-swatch:hover .kmsz-thumb { transform: translateY(-1px); }
.kmsz-swatch input:checked + .kmsz-thumb { border-color: var(--km-dark); }
.kmsz-swatch input:focus-visible + .kmsz-thumb { outline: 2px solid var(--km-teal); outline-offset: 2px; }
.kmsz-swatch input:checked + .kmsz-thumb::after {
	content: "✓";
	position: absolute;
	top: 4px; right: 6px;
	color: #fff;
	font-weight: 700;
	text-shadow: 0 1px 3px rgba(0,0,0,.6);
}
.kmsz-name {
	display: block;
	font-size: .62rem;
	line-height: 1.3;
	margin-top: 4px;
	color: var(--km-text);
}
.kmsz-swatch.is-hidden,
.kmpal-item.is-hidden { display: none; }
.kmsz-swatch.is-disabled { opacity: .35; pointer-events: none; }

.kmsz-selected {
	font-size: .85rem;
	color: var(--km-dark);
	min-height: 1.2em;
	margin-top: 4px;
}
.kmsz-selected strong { font-weight: 700; }
.kmsz-price { margin-top: 6px; }
.kmsz-note { font-size: .78rem; color: #6a7a7f; margin: 0 0 4px; text-align: center; }
.kmsz-warning { color: #b32d2e; font-weight: 600; margin: 0; }

@media (max-width: 900px) {
	.kmsz-grid { grid-template-columns: 1fr; }
}

/* ---- Színpaletta (ALAPSZÍNEK galéria) ---- */
.kmpal { --kmpal-tile: 160px; --kmpal-gap: 14px; }
.kmpal-intro { text-align: center; color: var(--km-dark); font-weight: 600; margin: 0 0 12px; }
.kmpal-filter { justify-content: center; margin-bottom: 18px; }
.kmpal-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--kmpal-tile), 1fr));
	gap: var(--kmpal-gap);
}
.kmpal-item { margin: 0; text-align: center; }
.kmpal-thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(32, 95, 114, .10);
}
.kmpal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kmpal-name { font-size: .85rem; color: var(--km-dark); margin-top: 6px; font-weight: 600; }
.kmpal-seasons { font-size: .72rem; color: #6a7a7f; font-style: italic; }
.kmpal-hint { font-size: .7rem; color: #7d8c91; font-style: italic; line-height: 1.35; margin-top: 2px; }
.kmpal-note { font-size: .8rem; color: #6a7a7f; margin-top: 18px; text-align: center; }


/* =========================================================
   Oldalcímek sárga léniával (Elementor heading, km-title-lines osztály)
   ========================================================= */
.km-title-lines .elementor-heading-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
}
.km-title-lines .elementor-heading-title::before,
.km-title-lines .elementor-heading-title::after {
	content: "";
	flex: 1 1 0;
	max-width: 150px;
	height: 1px;
	background: #f4c64d;
}

/* A piktogramos sáv */
.km-hint-band { border: 1px solid #e6e6e2; }
.km-hint-band .elementor-widget-text-editor { font-size: 15px; }

/* =========================================================
   01–04 folyamatábra – azonos magasságú kártyák
   ========================================================= */
.km-steps { align-items: stretch !important; }

.km-step { align-self: stretch; }
.km-step > .e-con,
.km-step > .e-child { flex-grow: 1; }

/* A számot tartalmazó színes sáv az oszlop TELJES szélességében fusson ki
   (korábban a szöveg szélességére záródott és középre ült). */
.km-step-num {
	align-self: stretch;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: -6px !important;
	position: relative;
	z-index: 2;
}
.km-step-num .elementor-widget-container { width: 100%; }
.km-step-num .elementor-heading-title { display: block; width: 100%; text-align: center; }

/* a szöveg töltse ki a maradék helyet, hogy a kártyák egyforma magasak legyenek */
.km-step-card { justify-content: flex-start; }

@media (max-width: 767px) {
	.km-step-num { margin-bottom: 0 !important; }
}

/* =========================================================
   Webshop nyitóoldal
   ========================================================= */

/* A kategóriakártyák egyforma magasak, a képek azonos képarányúak.
   A forrásképek eltérő arányúak (álló/fekvő), ezért itt vágjuk egységesre. */
/* Az Elementor „boxed” konténernél a kártyák a .e-con-inner gyerekei,
   ezért oda kell célozni – és align-self kell a height:100% helyett. */
.km-ws-card { align-self: stretch; }
.km-ws-card img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
}

/* Az évszak-képeken a színpaletta bele van égetve – ezeket NEM vágjuk. */
.km-ws-season img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	display: block;
}

/* A sorozat-minták viszont vághatók fekvőre, ahogy a terven. */
.km-ws-serie img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
}

/* A második kategóriasor (2 kártya) a felső sorral azonos kártyaszélességet
   kapjon, középre igazítva – ne nyúljon szét fél oldalasra. */
.km-ws-row2 .e-con-inner { justify-content: center; }
.km-ws-row2 .e-con-inner > .e-con {
	flex: 0 0 calc((100% - 44px) / 3);
	max-width: calc((100% - 44px) / 3);
}

@media (max-width: 767px) {
	.km-ws-row2 .e-con-inner > .e-con {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* =========================================================
   Webshop fejléc – türkiz kategóriasáv
   ========================================================= */
.km-shopbar__in {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 16px;
}
.km-shopbar__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0;
}
.km-shopbar__item { position: relative; list-style: none; margin: 0; }
.km-shopbar__item a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 14px 16px;
	color: #ffffff;
	text-decoration: none;
	font-size: 13.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background .15s ease;
}
.km-shopbar__item a:hover { background: rgba(255,255,255,.14); }

/* Az aktív kategória fehér alapon, ahogy a terven. */
.km-shopbar__item--active a {
	background: #ffffff;
	color: #1f5976;
	font-weight: 600;
}

/* Almenü: színtípus / kollekciók / sorozatok */
.km-shopbar__sub {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: #ffffff;
	border: 1px solid #cfe3e6;
	list-style: none;
	margin: 0;
	padding: 6px 0;
	display: none;
	z-index: 60;
	box-shadow: 0 10px 26px rgba(31,89,118,.16);
}
.km-shopbar__has-sub:hover .km-shopbar__sub,
.km-shopbar__has-sub:focus-within .km-shopbar__sub { display: block; }
.km-shopbar__sub li { list-style: none; margin: 0; }
.km-shopbar__sub a {
	color: #1f5976;
	text-transform: none;
	letter-spacing: 0;
	padding: 9px 16px;
	font-size: 14px;
}
.km-shopbar__sub a:hover { background: #f2f8f9; }

/* Jobb szélső blokk – világosabb türkiz. */
.km-shopbar__cta {
	display: flex;
	align-items: center;
	padding: 14px 22px;
	background: #7cb8b9;
	color: #ffffff;
	text-decoration: none;
	font-size: 13.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.km-shopbar__cta:hover { background: #6aa9aa; color: #fff; }

/* A felső sor mezői */
.km-shophead__phone p { margin: 0; font-size: 14px; }
.km-shophead__phone a { color: #1f5976; text-decoration: none; font-weight: 600; }
.km-shophead__search { max-width: 320px; width: 100%; }

/* A mobil (<=900px) kategóriasáv szabályai a fájl végén, egyben. */

/* A kollekció-bannerek: a szöveg a képre kerül, a bal oldali világos sávra. */
.km-ws-koll { position: relative; }
.km-ws-koll__text p { font-size: 13px; line-height: 1.5; margin: 0 0 6px; }
.km-ws-koll .elementor-button { padding: 9px 18px; }


/* =========================================================
   Webshop segéd navigáció – az oldal tartalmában
   ========================================================= */

/* A sáv törjön ki a tartalom-konténerből, és érjen ki a képernyő széléig. */
/* A negatív margós kitörés a szülő belső margóját nem hozza le, ezért a
   sávot a nézetablak közepére pozicionáljuk – így a szülő paddingja
   nem számít. */
/* Teljes szélességű HÁTTÉR görgetősáv-biztosan.
   A 100vw a gördítősáv miatt vízszintes görgetést okozna, ezért a sávot a
   tartalom szélességében hagyjuk, és a hátteret box-shadow-val terítjük ki.
   A clip-path megakadályozza, hogy az árnyék görgetést okozzon. */
.km-ws-nav {
	box-shadow: 0 0 0 100vmax #358b8e;
	clip-path: inset(0 -100vmax);
}

/* Egy sorba férjen a 7 menüpont + a jobb szélső blokk. */
.km-ws-nav .km-shopbar__list { flex-wrap: nowrap; }
.km-ws-nav .km-shopbar__item a { padding: 13px 12px; font-size: 12.5px; letter-spacing: .02em; }
.km-ws-nav .km-shopbar__cta { padding: 13px 18px; font-size: 12.5px; letter-spacing: .02em; }

@media (max-width: 1100px) {
	.km-ws-nav .km-shopbar__item a { padding: 12px 9px; font-size: 11.5px; }
	.km-ws-nav .km-shopbar__cta { padding: 12px 14px; font-size: 11.5px; }
}
@media (max-width: 900px) {
	.km-ws-nav .km-shopbar__list { flex-wrap: wrap; }
}

/* =========================================================
   Kollekció-bannerek – olvasható szöveg a fotón
   ========================================================= */

/* Világos fátyol a bal oldalon, hogy a szöveg elváljon a képtől. */
.km-ws-koll::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 70%;
	background: linear-gradient( to right, rgba(255,255,255,.96) 0%, rgba(255,255,255,.94) 52%, rgba(255,255,255,.75) 66%, rgba(255,255,255,0) 100% );
	pointer-events: none;
}
.km-ws-koll > * { position: relative; z-index: 1; }

/* A kollekció neve a terven kisbetűs, nem verzál. */
.km-ws-koll .elementor-heading-title { text-transform: none; }

@media (max-width: 767px) {
	.km-ws-koll::before { width: 100%; background: rgba(255,255,255,.9); }
}

/* =========================================================
   Utazonagykoveteim oldal
   ========================================================= */
.km-nk-alcim { font-size: 1.05rem; font-style: italic; color: var(--km-teal); margin: 0; }
.km-nk-apro { font-size: .82rem; color: #6a7a7f; font-style: italic; margin: 0; }

/* --- interaktiv terkep --- */
/* A szinek itt SZANDEKOSAN tartalek-ertekkel szerepelnek: a terkep egy
   Elementor HTML-widget, ami nem feltetlenul van a .kolormania hatokoreben,
   ahol a --km-* tokenek definialva vannak. */
.km-map { position: relative; display: block; max-width: 100%; margin: 0 auto; line-height: 0; }
.km-map__img { display: block; width: 100%; height: auto; }

.km-map__pin {
	position: absolute;
	transform: translate(-50%, -100%);
	transform-origin: 50% 100%;
	width: 22px;
	height: 31px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent !important;   /* a téma gomb-háttere ne jelenjen meg */
	border: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	line-height: 0;
	z-index: 2;
	-webkit-appearance: none;
	appearance: none;
}
.km-map__pin svg {
	width: 100%;
	height: 100%;
	display: block;
	fill: var(--km-teal, #358b8e);
	transition: fill .16s ease;
}
/* hoverre csak a szín változik – nincs nagyítás, nincs keret */
.km-map__pin:hover,
.km-map__pin:focus,
.km-map__pin:focus-visible,
.km-map__pin.is-active {
	background: transparent !important;
	outline: none !important;
	z-index: 5;
}
.km-map__pin:hover svg,
.km-map__pin:focus-visible svg,
.km-map__pin.is-active svg { fill: var(--km-check, #fcd54d); }

/* A felirat kis feher kartya a tu FOLOTT. Minden orokolheto tipografiai
   tulajdonsagot kiirunk, hogy a tema stilusa ne szivarogjon bele. */
.km-map__label {
	position: absolute;
	bottom: calc(100% + 7px);
	left: 50%;
	transform: translateX(-50%) translateY(3px);
	display: block;
	white-space: nowrap;
	text-align: center;
	background: #fff;
	border: 1px solid #cfe3e6;
	border-radius: 3px;
	box-shadow: 0 6px 18px rgba(31, 89, 118, .18);
	padding: 6px 11px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .16s ease, transform .16s ease;
	pointer-events: none;
}
.km-map__pin:hover .km-map__label,
.km-map__pin:focus-visible .km-map__label,
.km-map__pin.is-active .km-map__label {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
/* nyilacska a kartya aljan */
.km-map__label::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border: 5px solid transparent;
	border-top-color: #fff;
	filter: drop-shadow(0 1px 0 #cfe3e6);
}
.km-map__label strong,
.km-map__label em {
	display: block;
	font-family: inherit;
	font-style: normal;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
}
.km-map__label strong { font-size: 13px; font-weight: 600; color: var(--km-dark, #1f5976); }
.km-map__label em { font-size: 11px; font-weight: 400; color: #7d949e; margin-top: 1px; }

@media (max-width: 640px) {
	.km-map__pin { width: 17px; height: 24px; }
	.km-map__label { padding: 5px 9px; }
	.km-map__label strong { font-size: 11px; }
	.km-map__label em { font-size: 10px; }
}

/* --- felhivas doboz --- */
.km-nk-felhivas > .e-con-inner { align-items: center; }

/* --- galeria --- */
.km-nk-galeria > .e-con-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}
.km-nk-galeria > .e-con-inner > .e-con {
	flex: 0 0 calc((100% - 60px) / 4);
	max-width: calc((100% - 60px) / 4);
}
.km-nk-foto img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
}
.km-nk-foto-cim p {
	margin: 0;
	font-size: .82rem;
	font-style: italic;
	color: #6a7a7f;
}
@media (max-width: 1024px) {
	.km-nk-galeria > .e-con-inner > .e-con {
		flex: 0 0 calc((100% - 20px) / 2);
		max-width: calc((100% - 20px) / 2);
	}
}
@media (max-width: 560px) {
	.km-nk-galeria > .e-con-inner > .e-con { flex: 0 0 100%; max-width: 100%; }
}

/* Aktiv szuro sav a bolt-archivumon */
.km-aktiv-szuro {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: #eaf5f5;
	border-left: 3px solid #358b8e;
	padding: 10px 16px;
	margin: 0 0 20px;
	font-size: .9rem;
	color: #1f5976;
}
.km-aktiv-szuro a { color: #358b8e; text-decoration: underline; }

/* km-shopbar – betűtípus: ugyanaz, mint a fejléc főmenüjében (Marcellus, nagybetűs); egy sorban marad */
.km-shopbar .km-shopbar__list { flex-wrap: nowrap; }
.km-shopbar .km-shopbar__list a,
.km-shopbar .km-shopbar__cta {
	font-family: var(--km-title-font, "Marcellus", Georgia, serif);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .2px;
	text-transform: uppercase;
	white-space: nowrap;
}
.km-shopbar .km-shopbar__list a { padding: 13px 11px; }
.km-shopbar .km-shopbar__cta { padding: 13px 16px; }
@media (max-width: 1100px) { .km-shopbar .km-shopbar__list { flex-wrap: wrap; } }
.km-shopbar .km-shopbar__sub a {
	font-family: var(--km-title-font, "Marcellus", Georgia, serif);
	font-size: 13px;
	letter-spacing: .2px;
	text-transform: none;
}

/* km-ws-koll – a szöveg ne fusson rá a háttérkép jobb oldalán lévő táskára/motívumra.
   Az Elementor a widget szélességét a --container-widget-width változóból veszi,
   és a saját szabálya erősebb a sima max-width-nél – ezért a változót is állítjuk,
   magasabb specificitással. A fehér ::before átmenet 62% széles, a szöveg 56%-ban marad. */
.e-con.km-ws-koll > .elementor-element.elementor-widget,
.e-con.km-ws-koll > .e-con-inner > .elementor-element.elementor-widget {
	--container-widget-width: 56%;
	max-width: 56%;
}
@media (max-width: 767px) {
	.e-con.km-ws-koll > .elementor-element.elementor-widget,
	.e-con.km-ws-koll > .e-con-inner > .elementor-element.elementor-widget {
		--container-widget-width: 100%;
		max-width: 100%;
	}
}

/* =========================================================
   Évszak-fülek a mintaterv szerint (Alapszínek / Színspiráció galéria)
   Halványtürkiz sáv, benne 5 egyforma fehér doboz, az aktív sárga.
   Az Elementor Pro galéria „Összes” füle natívan mindig az első –
   a terv szerint utolsó, ezért order-rel tesszük hátra.
   Újrahasználható: Elementor galéria widget → Haladó → CSS osztályok: km-evszak-szuro
   (pl. Színspiráció oldal). A két régi oldalon (811, 1249) oldalazonosítóval is működik.
   Más galériát nem érint.
   ========================================================= */
.page-id-811 .elementor-widget-gallery .elementor-gallery__titles-container,
.page-id-1249 .elementor-widget-gallery .elementor-gallery__titles-container,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery__titles-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	width: 100%;
	max-width: 100%;
	margin: 0 0 26px;
	padding: 12px 14px;
	background: #bfe0e0;
	box-sizing: border-box;
}
.page-id-811 .elementor-widget-gallery .elementor-gallery-title,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title {
	flex: 1 1 0;
	min-width: 120px;
	margin: 0;
	padding: 11px 10px;
	text-align: center;
	background: #ffffff;
	border: 1px solid #8fc4c5;
	border-radius: 0;
	font-family: var(--km-title-font, "Marcellus", Georgia, serif);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: #1f5976;
	transition: background .15s ease, border-color .15s ease;
}
.page-id-811 .elementor-widget-gallery .elementor-gallery-title:first-child,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title:first-child,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title:first-child { order: 10; }
.page-id-811 .elementor-widget-gallery .elementor-gallery-title:hover,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title:hover,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title:hover { background: #fff7d6; border-color: #fcd54d; color: #1f5976; }
.page-id-811 .elementor-widget-gallery .elementor-gallery-title.elementor-item-active,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title.elementor-item-active,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title.elementor-item-active { background: #fcd54d; border-color: #fcd54d; color: #1f5976; }
/* Az aktív (sárga) szűrő hoverre is sárga marad. */
.page-id-811 .elementor-widget-gallery .elementor-gallery-title:is(.elementor-item-active,[aria-selected="true"]):hover,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title:is(.elementor-item-active,[aria-selected="true"]):hover,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title:is(.elementor-item-active,[aria-selected="true"]):hover { background: #fcd54d; border-color: #fcd54d; color: #1f5976; }
.page-id-811 .elementor-widget-gallery .elementor-gallery-title::before,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title::before,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title::before,
.page-id-811 .elementor-widget-gallery .elementor-gallery-title::after,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title::after,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title::after { display: none !important; content: none !important; }
@media (max-width: 640px) {
	.page-id-811 .elementor-widget-gallery .elementor-gallery-title,
.page-id-1249 .elementor-widget-gallery .elementor-gallery-title,
.km-evszak-szuro.elementor-widget-gallery .elementor-gallery-title { flex: 1 1 calc(50% - 14px); min-width: 0; font-size: 13px; padding: 9px 6px; }
}

/* =========================================================
   Kategóriaoldal (bolt / termékkategória) – 03-WEBSHOP terv
   ========================================================= */
.km-kat .woocommerce-products-header__title,
.km-kat h1.page-title {
	font-family: var(--km-title-font, "Marcellus", Georgia, serif);
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #1f5976;
	text-align: center;
	font-weight: 400;
}
.km-kat .woocommerce-products-header { text-align: center; }
.km-kat .term-description,
.km-kat .woocommerce-products-header .term-description p { color: #1f5976; max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }

/* két oszlop: bal a szűrő, jobb minden más */
@media (min-width: 922px) {
	.km-kat .ast-woocommerce-container {
		display: grid;
		grid-template-columns: 290px minmax(0, 1fr);
		column-gap: 34px;
		align-items: start;
	}
	.km-kat .ast-woocommerce-container > * { grid-column: 2; }
	.km-kat .ast-woocommerce-container > .km-f { grid-column: 1; grid-row: 1 / span 30; }
	.km-kat ul.products,
	.km-kat ul.products.columns-4,
	.km-kat ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
.km-kat .woocommerce-result-count { display: none; }

/* --- szűrőpanel --- */
.km-f { background: #eaf5f5; padding: 18px 18px 8px; font-size: .9rem; color: #1f5976; }
.km-f__group { border-bottom: 1px solid #bcd4dc; padding: 12px 0; }
.km-f__group:last-child { border-bottom: 0; }
.km-f__title {
	display: flex; justify-content: space-between; align-items: center; width: 100%;
	background: none; border: 0; padding: 0; margin: 0 0 8px; cursor: pointer;
	font-family: inherit; font-size: .82rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #1f5976; text-align: left;
}
.km-f__title--static { cursor: default; }
.km-f__plus::before { content: "\2013"; font-weight: 400; font-size: 1rem; line-height: 1; }
.km-f__group.is-closed .km-f__plus::before { content: "+"; }
.km-f__group.is-closed .km-f__body { display: none; }
.km-f__opt { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; cursor: pointer; font-weight: 400; }
.km-f__opt input { margin: 0; width: 15px; height: 15px; accent-color: #358b8e; }
.km-f__chip {
	display: inline-flex; align-items: center; gap: 6px; margin: 0 6px 6px 0; padding: 4px 9px;
	background: #fff; border: 1px solid #bcd4dc; border-radius: 3px; color: #1f5976; font-size: .8rem; text-decoration: none;
}
.km-f__chip b { font-weight: 700; color: #1f5976; }
.km-f__chip:hover { border-color: #358b8e; }
.km-f__clear { display: inline-block; margin-top: 2px; font-size: .8rem; text-decoration: underline; color: #1f5976; }
.km-f__paletta { display: flex; flex-wrap: wrap; gap: 7px; }
.km-f__paletta.is-short .km-f__sw--extra { display: none; }
.km-f__paletta.is-open .km-f__sw--extra { display: inline-block; }
.km-f__sw { position: relative; width: 24px; height: 24px; cursor: pointer; margin: 0; }
.km-f__sw input { position: absolute; opacity: 0; width: 0; height: 0; }
.km-f__sw span { display: block; width: 24px; height: 24px; border: 1px solid rgba(31,89,118,.25); box-sizing: border-box; }
.km-f__sw.is-on span, .km-f__sw input:checked + span { outline: 2px solid #fcd54d; outline-offset: 1px; border-color: #1f5976; }
.km-f__more { background: none; border: 0; padding: 8px 0 0; font-size: .8rem; color: #1f5976; text-decoration: underline; cursor: pointer; font-family: inherit; }

/* --- kártyák --- */
.km-kat ul.products li.product {
	border: 1px solid #8fc4c5; background: #fff; padding: 10px 10px 16px; text-align: center; box-sizing: border-box;
}
.km-kat ul.products li.product .ast-on-card-button,
.km-kat ul.products li.product .ast-woo-product-category { display: none !important; }
.km-kat ul.products li.product .woocommerce-loop-product__title,
.km-termek .km-ajanlo .woocommerce-loop-product__title { font-size: .95rem; color: #1f5976; font-weight: 600; margin: 8px 0 2px; }
.km-stock { display: block; font-size: .8rem; margin: 0 0 4px; }
.km-stock--keszleten { color: #358b8e; }
.km-stock--rendelheto { color: #c47a12; }
.km-stock--elfogyott { color: #b32d2e; }
.km-kat ul.products li.product .price { color: #1f5976; font-weight: 700; display: block; margin: 0 0 10px; }
.km-kat ul.products li.product .button {
	background: #fcd54d !important; color: #1f5976 !important; border: 0 !important; border-radius: 0 !important;
	font-family: var(--km-title-font, "Marcellus", Georgia, serif); text-transform: uppercase; letter-spacing: .5px; padding: 9px 22px !important;
}
.km-kat ul.products li.product .button:hover { background: #fcd54d !important; } /* sárga gomb: hoverre is az eredeti sárga marad */

/* --- rács alatti szöveg, legutóbb megnézett --- */
.km-kat-alatt { margin: 40px 0 10px; color: #1f5976; max-width: 900px; }
.km-kat-alatt h3 { font-family: var(--km-title-font, "Marcellus", Georgia, serif); font-weight: 400; letter-spacing: 1px; color: #1f5976; margin: 26px 0 8px; font-size: 1.25rem; }
.km-kat-alatt h3:first-child { text-transform: uppercase; font-size: 1.4rem; }
.km-legutobb { margin: 36px 0 10px; padding: 18px 20px; background: #f4f9f9; }
.km-legutobb h3 { font-size: .85rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #1f5976; margin: 0 0 12px; }
.km-legutobb__row { display: flex; flex-wrap: wrap; gap: 14px; }
.km-legutobb__row a { width: 110px; border: 1px solid #dde9ec; background: #fff; padding: 4px; }
.km-legutobb__row img { width: 100%; height: auto; display: block; }

/* =========================================================
   Termékoldal – 03-WEBSHOP terv
   ========================================================= */
.km-termek .product_title { font-family: var(--km-title-font, "Marcellus", Georgia, serif); text-transform: uppercase; letter-spacing: 1.5px; color: #1f5976; font-weight: 400; }
.km-termek .single-product-category { display: none; }
.km-termek .summary .price { font-family: var(--km-title-font, "Marcellus", Georgia, serif); font-size: 22px; color: #1f5976; }
.km-pm { margin: 6px 0 16px; color: #1f5976; font-size: .95rem; line-height: 1.5; }
.km-pm__meret { font-weight: 700; margin-bottom: 4px; }
.km-pm__stock { font-weight: 700; text-transform: uppercase; font-size: .85rem; margin-bottom: 4px; }
.km-pm__row span { display: inline-block; min-width: 92px; }
.km-pm__row em { font-style: normal; color: #358b8e; font-weight: 700; }
.km-ps {
	display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 14px 0 22px; padding: 14px 0;
	border-top: 1px solid #f4c64d; border-bottom: 1px solid #f4c64d; color: #1f5976; font-size: .9rem; line-height: 1.5;
}
.km-ps__col strong { display: block; font-size: .8rem; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px; }
.km-ps__col small { display: block; margin-top: 6px; color: #6a8b97; font-size: .78rem; }
@media (max-width: 560px) { .km-ps { grid-template-columns: 1fr; } }
.km-termek .single_add_to_cart_button {
	background: #fcd54d !important; color: #1f5976 !important; border: 0 !important; border-radius: 0 !important;
	font-family: var(--km-title-font, "Marcellus", Georgia, serif); text-transform: uppercase; letter-spacing: 1px; font-size: 14px; line-height: 14px; font-weight: 400; padding: 14px 36px !important;
}
.km-termek .woocommerce-tabs ul.tabs li a { text-transform: uppercase; letter-spacing: .5px; color: #1f5976; font-size: .9rem; }
.km-termek .woocommerce-tabs ul.tabs li.active a { font-weight: 700; }
.km-ajanlo { margin: 44px 0 10px; }
.km-ajanlo__cim { text-align: center; font-size: 1rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #1f5976; margin: 0 0 22px; }
.km-ajanlo ul.products li.product { text-align: center; }
.km-ajanlo ul.products li.product .ast-on-card-button, .km-ajanlo ul.products li.product .ast-woo-product-category { display: none !important; }
.km-ajanlo ul.products li.product .price { font-family: var(--km-title-font, "Marcellus", Georgia, serif); color: #1f5976; }
/* (a feher ajanlo-gomb stilust az egyseges Kosarba gomb valtotta fel) */

/* Termékoldal: az Astra a saját sorrendjében írja ki az összefoglalót, ezért a sorrendet
   flex order-rel állítjuk a terv szerint: cím · ár · méret/készlet/szín · rövid leírás ·
   gyártás+szállítás · kosár. A cikkszám/kategória sor és a cím feletti kategória-link nem kell. */
.km-termek .summary { display: flex; flex-direction: column; }
.km-termek .summary > * { order: 50; }
.km-termek .summary > .woocommerce-breadcrumb, .km-termek .summary > .ast-breadcrumbs { order: 1; }
.km-termek .summary > .product_title { order: 2; }
.km-termek .summary > .woocommerce-product-rating { order: 3; }
.km-termek .summary > .price { order: 4; margin-bottom: 6px; }
.km-termek .summary > .km-pm { order: 5; }
.km-termek .summary > .woocommerce-product-details__short-description { order: 6; }
.km-termek .summary > .km-ps { order: 7; }
.km-termek .summary > form.cart { order: 8; }
.km-termek .summary > .product_meta,
.km-termek .summary > .single-product-category,
.km-termek .summary .single-product-category { display: none !important; }

/* webshop-fejléc felső sor: a telefon ne vágódjon le, a kereső ne nyúljon szét */
.km-shophead .km-shophead__phone { flex: 0 0 auto; width: auto !important; max-width: none !important; }
.km-shophead__phone p { white-space: nowrap; margin: 0; }
.km-shophead .km-shophead__search { flex: 1 1 auto; max-width: 460px; }

/* Színkártya: „már a kosárban van” visszajelzés */
.kmsz-inCart { background: #eaf5ea; border-left: 3px solid #1a7f37; color: #1f5976; padding: 10px 14px; margin: 0 0 14px; font-size: .9rem; line-height: 1.5; }
.kmsz-inCart a { color: #358b8e; text-decoration: underline; white-space: nowrap; }
.km-notices .woocommerce-error { margin-bottom: 14px; }

/* Szállítási módok listája (kosár, pénztár): rádiógomb + név egy sorban, CSAK a díj megy új sorba alá */
.woocommerce-shipping-methods li { display: flex !important; align-items: flex-start; gap: 8px; text-indent: 0 !important; padding-left: 0 !important; margin: 0 0 10px !important; }
.woocommerce-shipping-methods li label { text-indent: 0 !important; padding-left: 0 !important; position: static !important; }
.woocommerce-shipping-methods li input.shipping_method { margin: 4px 0 0 !important; flex: 0 0 auto; }
.woocommerce-shipping-methods li label { display: block !important; flex: 1 1 auto; line-height: 1.4; margin: 0; }
.woocommerce-shipping-methods .km-ship-name { display: inline; }
.woocommerce-shipping-methods .km-ship-cost { display: block; font-weight: 600; color: var(--e-global-color-text, #0D4E6C); }
/* A Csomagpontok szállító-ikonjai a bővítmény CSS-ében 32px-esek, de `display:inline`
   mellett 0 szélességűek: semmi nem látszik belőlük, viszont 24px üres helyet
   foglalnak, ezért tűnt távolabbinak az első szállítási mód a többitől. Elrejtjük,
   hogy a három mód között azonos legyen a térköz. (A szolgáltatók nevét a
   címke és az átvételi pont választó amugy is mutatja.) */
.woocommerce-shipping-methods .vp-woo-pont-shipping-method-icons { display: none; }
.woocommerce-cart .woocommerce-shipping-methods li label,
.woocommerce-cart .woocommerce-shipping-methods li { text-align: left; }

/* A szállítási módok akkor is balra igazodjanak, ha a kosár-összesen cella
   jobbra igazít (téma/Elementor). A Csomagpontok saját span-jei soron belül
   maradnak, a díj a .km-ship-cost blokkban kerül új sorba. */
#shipping_method,
.woocommerce-shipping-methods,
.woocommerce-shipping-methods li,
.woocommerce-shipping-methods li label { text-align: left !important; }
/* A kosár-összesen táblázat reszpozív címkéje (td::before) lebegő és
   teljes cellaszélességű, ezért az első szállítási mód mellé nem fért ki
   semmi: 0 szélességű lett és a cella jobb szélére csúszott. A listát a
   címke alá rendeljük, így mindhárom mód egymás alatt, balra igazodik. */
.woocommerce-shipping-methods { clear: both; }
.woocommerce-shipping-methods { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-shipping-methods li::before,
.woocommerce-shipping-methods li::marker { content: none; }
.woocommerce-shipping-methods .vp-woo-pont-shipping-method-label,
.woocommerce-shipping-methods .vp-woo-pont-shipping-method-label-price,
.woocommerce-shipping-methods .vp-woo-pont-shipping-method-label-cost { display: inline; }
.woocommerce-shipping-methods .km-ship-cost > .woocommerce-Price-amount,
.woocommerce-shipping-methods .km-ship-cost .vp-woo-pont-shipping-method-label-price { font-weight: 600; }
@media (max-width: 767px) {
	.woocommerce-shipping-methods li { gap: 6px; }
}

/* Nincs szűrőpanel (kevés termék): a rács egy oszlopban, teljes szélességben */
@media (min-width: 922px) {
	.km-kat.km-kat-noszuro .ast-woocommerce-container { display: block; }
}

/* =========================================================
   Türkiz kategóriasáv – mobil (≤900px)

   Korábban itt minden almenü nyitva volt (`position: static; display: block`),
   ezért a főtételek és az almenüpontok egymásra csúszva jelentek meg.
   Most függőleges lista, az almenük a jobb oldali nyílgombbal nyithatók
   (a gomb csak itt látszik; asztali gépen marad a hoveres lenyitás).
   ========================================================= */
.km-shopbar__toggle { display: none; }

@media (max-width: 900px) {
	.km-shopbar .km-shopbar__in {
		flex-direction: column;
		align-items: stretch;
		padding: 0;
		gap: 0;
	}
	.km-shopbar .km-shopbar__list {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
	}
	.km-shopbar .km-shopbar__item {
		position: relative;
		border-top: 1px solid rgba(255,255,255,.18);
	}
	.km-shopbar .km-shopbar__list > .km-shopbar__item > a {
		display: block;
		height: auto;
		padding: 13px 56px 13px 20px;
		font-size: 13px;
		white-space: normal;
	}

	/* Nyílgomb */
	.km-shopbar .km-shopbar__toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 56px;
		height: 100%;
		min-height: 44px;
		padding: 0;
		margin: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}
	.km-shopbar .km-shopbar__toggle::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 9px;
		height: 9px;
		border-right: 2px solid #ffffff;
		border-bottom: 2px solid #ffffff;
		transform: translate(-50%, -70%) rotate(45deg);
		transition: transform .18s ease;
	}
	.km-shopbar .km-shopbar__has-sub.is-open > .km-shopbar__toggle::before {
		transform: translate(-50%, -30%) rotate(-135deg);
	}

	/* Almenü: alapértelmezetten zárva; érintőn a hover ne nyissa ki. */
	.km-shopbar .km-shopbar__sub,
	.km-shopbar .km-shopbar__has-sub:hover > .km-shopbar__sub,
	.km-shopbar .km-shopbar__has-sub:focus-within > .km-shopbar__sub {
		position: static;
		display: none;
		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 2px 0 6px;
		border: 0;
		background: rgba(0,0,0,.10);
		box-shadow: none;
	}
	.km-shopbar .km-shopbar__has-sub.is-open > .km-shopbar__sub { display: block; }
	.km-shopbar .km-shopbar__sub a {
		display: block;
		height: auto;
		color: #eaf6f7;
		padding: 9px 20px 9px 36px;
		white-space: normal;
	}
	.km-shopbar .km-shopbar__sub a:hover { background: rgba(255,255,255,.12); }

	.km-shopbar .km-shopbar__cta {
		justify-content: center;
		text-align: center;
		padding: 14px 20px;
		white-space: normal;
	}

	/* Az oldal tartalmában lévő változat ugyanígy viselkedjen. */
	.km-ws-nav .km-shopbar__list { flex-wrap: nowrap; }
	.km-ws-nav .km-shopbar__list > .km-shopbar__item > a { padding: 13px 56px 13px 20px; font-size: 13px; }
	.km-ws-nav .km-shopbar__cta { padding: 14px 20px; font-size: 13px; }
}

/* Mobil kosárikon a fejlécben: a hamburger BALJÁRA kerüljön, hogy a
   menügomb maradjon a jobb szélen (a konténer itt row-reverse). */
@media (max-width: 767px) {
	.km-mobil-kosar { order: 1; }
}

/* =========================================================
   Kosároldal – a tétel előtti törlő (×) gomb szabályos kör legyen.

   A WooCommerce 20×20-as, kerek gombját az Elementor kosár-widgetje
   `width: auto`-ra állítja, így a szélesség a tartalomtól függött
   (24×20 = vízszintesen elnyúlt ellipszis). A keretet rajzoló ::before
   `inset: 0`-val követi a gomb dobozt, ezért az is elnyúlt. Fix, azonos
   szélesség és magasság → kör.
   ========================================================= */
.woocommerce table.shop_table td.product-remove a.remove,
.elementor-widget-woocommerce-cart .woocommerce table.shop_table td.product-remove a.remove {
	width: 22px;
	min-width: 22px;
	height: 22px;
	padding: 0;
	line-height: 22px;
	text-align: center;
	border-radius: 50%;
	flex: 0 0 auto;
}

/* =========================================================
   RENDELŐ – közös rács a négy kártyának (2026-09)

   A sárga (egy termék) és a türkiz (csomagok) oszlop korábban külön doboz
   volt, külön belső ráccsal – ezért nem került egy vonalba a kép, a cím és a
   gomb, és a sárga panel alacsonyabb volt. Most mind a négy kártya EGY rács
   eleme (`subgrid`), a két színes háttér pedig külön réteg alattuk.

   Sorok:  1 oszlopcím | 2 szalag | 3 kép | 4 cím | 5 bevezető |
           6 tartalom (1fr) | 7 ár | 8 mezők | 9 gomb | 10 *megjegyzés |
           11 lábjegyzet
   ========================================================= */
.kolormania {
	--km-panel-bleed: 26px;   /* a színes panel túllógása a kártyákon */
	--km-col-split: 40px;     /* extra hely a sárga és a türkiz oszlop között */
	--km-card-img-h: 200px;   /* MIND a négy kép azonos magasságú */
}

.km-order {
	display: grid;
	/* az oszlopokat a sablon írja ki (a kiemelt kártya szélesebb) */
	grid-template-rows: auto auto auto auto auto 1fr auto auto auto auto auto;
	column-gap: var(--km-card-gap);
	row-gap: 0;
	padding: var(--km-panel-bleed);
	align-items: start;
}

/* --- színes háttérrétegek --- */
.km-order-panel {
	grid-row: 1 / -1;
	align-self: stretch;
	margin: calc(-1 * var(--km-panel-bleed));
	border-radius: var(--km-radius);
	z-index: 0;
}
.km-order-panel--single   { grid-column: 1;      background: var(--km-cream); }
.km-order-panel--packages { grid-column: 3 / -1; background: var(--km-teal-bg); }

/* --- oszlopcímek --- */
.km-order > .km-col-title { grid-row: 1; position: relative; z-index: 1; margin-bottom: var(--km-title-gap); }
.km-col-title--single   { grid-column: 1; }
.km-col-title--packages { grid-column: 3 / -1; }

/* --- kártyák: közös sorok --- */
.km-order > .km-card {
	display: grid;
	grid-row: 2 / 11;
	grid-template-rows: subgrid;
	row-gap: 0;
	position: relative;
	z-index: 1;
	align-content: start;
}
.km-order > .km-card > * { margin-top: var(--km-row-gap); margin-bottom: 0; }
.km-order > .km-card > .km-badge-row { margin-top: 0; }

/* --- képek: azonos magasság minden kártyán ---
   (a `.elementor img { height:auto }` reset miatt kell a nagyobb specifikussag) */
.km-card-media { margin: 0; }
.kolormania .km-card-media img,
.kolormania .km-card-media .km-image-placeholder {
	width: 100%;
	height: var(--km-card-img-h);
	aspect-ratio: auto;
	object-fit: cover;
	border-radius: var(--km-radius);
	display: block;
	background: #fff;
}

/* --- tartalom-blokk: ez nyúlik, hogy a gomb minden kártyán egy vonalban legyen --- */
.km-contents-block { min-height: 0; }
.km-product-field { margin: 0 0 10px; }

/* --- mezők: a címke azonos magasságú minden kártyán --- */
.kolormania .km-card-fields .km-field-label {
	min-height: 3em;
	display: flex;
	align-items: flex-end;
	padding-bottom: 4px;
	overflow: visible;
}
.km-card-fields { display: flex; flex-direction: column; }

/* --- gomb és lábjegyzet --- */
.km-order > .km-card > .km-btn { align-self: end; }
/* A *-os megjegyzés ne tapadjon a gombra. */
.km-order > .km-card > .km-card-note { margin-top: 14px; }

/* --- lábjegyzetek a türkiz panel alján --- */
.km-order > .km-footnotes {
	grid-row: 11;
	grid-column: 3 / -1;
	position: relative;
	z-index: 1;
	margin-top: var(--km-col-gap);
}

/* --- kiemelt kártya kerete --- */
.km-featured::before {
	content: "";
	position: absolute;
	left: -10px;
	right: -10px;
	top: -14px;
	bottom: -14px;
	background: var(--km-card-bg);
	border: 2px solid var(--km-yellow);
	border-radius: var(--km-radius);
	z-index: 0;
}
.km-featured > * { position: relative; z-index: 1; }

/* =========================================================
   RENDELŐ – tablet és mobil: egymás alá
   (1024px alatt – az Elementor tablet töréspontja – már szűk lenne a négy oszlop)
   ========================================================= */
@media (max-width: 1024px) {
	.kolormania { --km-panel-bleed: 18px; --km-card-img-h: 220px; }

	.km-order {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto;
		grid-auto-rows: auto;
		column-gap: 0;
		row-gap: var(--km-card-gap);
	}
	.km-order > * { grid-column: 1 !important; }

	/* előbb az általános kártyaszabály, utána a konkrét sorkiosztás */
	.km-order > .km-card {
		grid-row: auto;
		display: flex;
		flex-direction: column;
		gap: var(--km-row-gap);
	}
	.km-order > .km-card > * { margin-top: 0; }
	.km-order > .km-card > .km-card-note { margin-top: 6px; }

	.km-order > .km-col-title--single { grid-row: 1; margin-bottom: 0; }
	.km-order > .km-single-card { grid-row: 2; }
	.km-order > .km-col-title--packages { grid-row: 3; margin-top: calc(2.5 * var(--km-panel-bleed)); margin-bottom: 0; }
	/* Egy oszlopban a háttérpanelek elfoglalnák a cellákat, ezért a kártyák
	   sorát a sablon adja meg (--km-row). */
	.km-order > .km-package-card { grid-row: var(--km-row, auto); }
	.km-order > .km-footnotes { grid-row: var(--km-row, auto); margin-top: var(--km-row-gap); }

	.km-order-panel--single   { grid-row: 1 / 3; }
	.km-order-panel--packages { grid-row: 3 / var(--km-pkg-end, 8); }

	.km-featured { margin: 14px 0; }
	.km-featured::before { top: -10px; bottom: -10px; }
}

@media (max-width: 480px) {
	.kolormania { --km-card-img-h: 180px; }
	.kolormania .km-card-fields .km-field-label { min-height: 0; display: block; }
}

/* Kártyacímek: minden képernyőméreten 22px / 1.3 (a Kézipoggyász oldal csomagcímeihez igazítva). */
.km-order > .km-card > .km-card-title {
	font-size: 22px;
	line-height: 1.3;
}

/* A lábjegyzet a türkiz panelen fehér (a régi .km-packages doboz megszűnt). */
.km-order > .km-footnotes p {
	color: #ffffff;
	text-align: center;
	font-size: .82rem;
	line-height: 1.55;
	margin: 3px 0;
}

/* =========================================================
   WEBSHOP NAVIGÁCIÓ A FEJLÉCBEN (.km-wsnav-header)

   A webshopos fejlécben a türkiz kategóriasáv nem külön, teljes szélességű
   sáv, hanem a logó mellett, a fejléc fehér sorában ül – így egyszerre csak
   EGY navigáció látszik. Ezért itt sötét betűszín és gombos CTA kell.
   ========================================================= */
.km-wsnav-header { width: 100%; }
.km-wsnav-header .km-shopbar {
	background: transparent;
	box-shadow: none;
	clip-path: none;
}
.km-wsnav-header .km-shopbar__in {
	max-width: none;
	margin: 0;
	padding: 0;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
}
.km-wsnav-header .km-shopbar__list {
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}
.km-wsnav-header .km-shopbar__list > .km-shopbar__item > a {
	color: var(--km-dark, #1f5976);
	font-size: 14px;
	letter-spacing: .02em;
	padding: 10px 7px;
	height: auto;
}
.km-wsnav-header .km-shopbar__list > .km-shopbar__item > a:hover {
	background: transparent;
	color: var(--km-teal, #358b8e);
}
.km-wsnav-header .km-shopbar__item--active > a {
	background: transparent;
	color: var(--km-teal, #358b8e);
	font-weight: 600;
}
/* almenü: fehér lenyíló, mint eddig */
.km-wsnav-header .km-shopbar__sub {
	background: #ffffff;
	border: 1px solid #cfe3e6;
	box-shadow: 0 10px 26px rgba(31,89,118,.16);
}
.km-wsnav-header .km-shopbar__sub a { color: var(--km-dark, #1f5976); }

/* „Mégis egyedit szeretnék” – kiemelt gomb */
.km-wsnav-header .km-shopbar__cta {
	background: var(--km-teal, #358b8e);
	color: #ffffff;
	padding: 11px 14px;
	font-size: 14px;
	border-radius: var(--km-radius, 0);
	white-space: nowrap;
	flex: 0 0 auto;
}
.km-wsnav-header .km-shopbar__cta:hover { background: #2a7274; color: #fff; }

/* =========================================================
   Webshop navigáció – mobil menügomb
   ========================================================= */
.km-shopbar__menu-toggle { display: none; }

@media (max-width: 1024px) {
	.km-shopbar { position: relative; }
	.km-shopbar__menu-toggle {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		margin: 0;
		padding: 10px 14px;
		border: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		font-family: var(--km-title-font, "Marcellus", Georgia, serif);
		font-size: 13px;
		text-transform: uppercase;
		letter-spacing: .04em;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}
	.km-shopbar__menu-icon {
		display: block;
		width: 22px;
		height: 2px;
		background: currentColor;
		position: relative;
	}
	.km-shopbar__menu-icon::before,
	.km-shopbar__menu-icon::after {
		content: "";
		position: absolute;
		left: 0;
		width: 22px;
		height: 2px;
		background: currentColor;
		transition: transform .18s ease, top .18s ease;
	}
	.km-shopbar__menu-icon::before { top: -7px; }
	.km-shopbar__menu-icon::after  { top: 7px; }
	.km-shopbar.is-menu-open .km-shopbar__menu-icon { background: transparent; }
	.km-shopbar.is-menu-open .km-shopbar__menu-icon::before { top: 0; transform: rotate(45deg); }
	.km-shopbar.is-menu-open .km-shopbar__menu-icon::after  { top: 0; transform: rotate(-45deg); }

	.km-shopbar > .km-shopbar__in { display: none; }
	.km-shopbar.is-menu-open > .km-shopbar__in { display: flex; }

	/* a fejlécben a lenyitott menü kerüljön a sáv alá, ne tolja szét a sort */
	.km-wsnav-header .km-shopbar { position: static; }
	.km-wsnav-header .km-shopbar__menu-toggle { color: var(--km-dark, #1f5976); margin-left: auto; }
	.km-wsnav-header .km-shopbar.is-menu-open > .km-shopbar__in {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		z-index: 120;
		background: var(--km-teal, #358b8e);
		padding: 0;
		box-shadow: 0 14px 28px rgba(31,89,118,.18);
	}
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__list > .km-shopbar__item > a { color: #ffffff; }
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__cta { margin: 0; }
}
/* Telefonon a menügomb csak ikon legyen, hogy a kosár mellé férjen. */
@media (max-width: 767px) {
	.km-shopbar__menu-toggle { padding: 10px 6px; gap: 0; }
	.km-shopbar__menu-text {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}
/* Szűk nézetben a navigáció widget ne foglalja el a teljes sort – a kosár
   és a menügomb egymás mellett férjen el. */
@media (max-width: 1024px) {
	.km-wsnav-header { width: auto; flex: 0 0 auto; }
}

/* =========================================================
   Webshop fejléc – a lenyitott mobil menü a teljes fejléc alatt,
   teljes tartalmi szélességben jelenjen meg (ne a menügomb szűk
   dobozában). A pozicionálás alapja a fejléc-sablon burkolója.
   ========================================================= */
@media (max-width: 1024px) {
	.elementor-location-header:has(.km-wsnav-header) { position: relative; }
	.km-wsnav-header,
	.km-wsnav-header .km-shopbar { position: static; }
	.km-wsnav-header .km-shopbar.is-menu-open > .km-shopbar__in {
		position: fixed;
		top: var(--km-menu-top, 100%);
		left: var(--km-menu-left, 0px);
		right: auto;
		width: var(--km-menu-width, 100%);
		max-width: none;
		max-height: calc(100vh - var(--km-menu-top, 0px) - 8px);
		overflow-y: auto;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
	}
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__list {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
	}
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__item {
		position: relative;
		border-top: 1px solid rgba(255,255,255,.18);
	}
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__list > .km-shopbar__item > a {
		display: block;
		height: auto;
		padding: 13px 56px 13px 20px;
		font-size: 13px;
		white-space: normal;
	}
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__toggle { display: block; }
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__sub,
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__has-sub:hover > .km-shopbar__sub,
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__has-sub:focus-within > .km-shopbar__sub {
		display: none;
		position: static;
		min-width: 0;
		width: 100%;
		border: 0;
		box-shadow: none;
		background: rgba(0,0,0,.12);
	}
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__has-sub.is-open > .km-shopbar__sub { display: block; }
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__sub a { color: #ffffff; padding: 11px 20px 11px 32px; }
	.km-wsnav-header .km-shopbar.is-menu-open .km-shopbar__cta {
		display: block;
		margin: 0;
		text-align: center;
		background: var(--km-yellow, #f7cd46);
		color: var(--km-dark, #1f5976);
		padding: 14px 20px;
	}
}

/* =========================================================
   PÉNZTÁR – űrlapmezők betűtípusa
   Az Elementor Pénztár widget natív mező-tipográfiája a select2-vel
   kirajzolt legördülőkre (ország, megye) nem hat, ezért – kizárólag a
   pénztár oldalon – ugyanazt az Open Sans betűtípust állítjuk be.
   ========================================================= */
body.woocommerce-checkout .select2-container .select2-selection__rendered,
body.woocommerce-checkout .select2-container .select2-search__field,
body.woocommerce-checkout .select2-container .select2-results__option {
	font-family: "Open Sans", sans-serif;
}

/* =========================================================
   PENZTAR - "Rendeles tartalma" oszlop: szallitasi modok
   A szallitasi modok a "Szallitas" felirat ALATT, behuzas nelkul
   kezdodjenek; radiogomb es felirat egy vonalban.
   ========================================================= */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th[colspan="2"],
body.woocommerce-checkout .woocommerce-checkout-review-order-table th[colspan="2"] .km-szallitas-cimke,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th[colspan="2"] .km-szallitas-modok { text-align: left !important; }
body.woocommerce-checkout .km-szallitas-cimke { display: block; }
body.woocommerce-checkout .km-szallitas-modok { display: block; margin-top: 6px; font-weight: 400; }
body.woocommerce-checkout #shipping_method {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.woocommerce-checkout #shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 10px !important;
	padding-left: 0 !important;
	text-indent: 0 !important;
}
body.woocommerce-checkout #shipping_method li input.shipping_method { margin: 3px 0 0 !important; flex: 0 0 auto; }
body.woocommerce-checkout #shipping_method li label { flex: 1 1 auto; margin: 0; padding-left: 0 !important; }

/* Megrendeles gomb: sarga hatter, sotet felirat - hover/fokusz a webhely
   gombstilusa szerint (ugyanaz a finom sotetedes, mint a .km-btn gomboknal). */
body.woocommerce-checkout #payment #place_order:hover { filter: brightness(.96); }
body.woocommerce-checkout #payment #place_order:focus-visible {
	outline: 2px solid var(--e-global-color-text, #0D4E6C);
	outline-offset: 2px;
}
/* A Megrendeles gomb tipografiaja a webhely egyseges gombstilusat koveti
   (Marcellus 14px / 14px, normal) - 2026-09-27 ota nem Open Sans. */
body.woocommerce-checkout #payment #place_order {
	font-family: "Marcellus", serif !important;
	font-size: 14px !important;
	line-height: 14px !important;
	font-weight: 400 !important;
	color: var(--e-global-color-text, #0D4E6C);
}
body.woocommerce-checkout #payment #place_order:hover,
body.woocommerce-checkout #payment #place_order:focus {
	color: var(--e-global-color-text, #0D4E6C);
	background-color: var(--e-global-color-accent, #FBD157);
}

/* =========================================================
   WEBSHOP FEJLEC - almenuk a normal fejlec almenuinek stilusaban
   (Marcellus 12px nagybetus, globalis sotet szoveg, hoverre a
   globalis elsodleges szin sarga hatteren, 1px elvalaszto,
   0 5px 10px rgba(0,0,0,.15) arnyek, 20/10 px belso terkoz.)
   ========================================================= */
.km-wsnav-header .km-shopbar__sub {
	min-width: 220px;
	margin-top: 0;
	padding: 0;
	background: #ffffff;
	border: 0;
	border-radius: 0;
	box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .15);
}
.km-wsnav-header .km-shopbar__sub li:not(:last-child) { border-bottom: 1px solid; }
.km-wsnav-header .km-shopbar__sub a {
	display: block;
	font-family: "Marcellus", Sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0;
	line-height: 1.4;
	padding: 10px 20px;
	color: var(--e-global-color-text, #0D4E6C);
	background: transparent;
}
.km-wsnav-header .km-shopbar__sub a:hover,
.km-wsnav-header .km-shopbar__sub a:focus,
.km-wsnav-header .km-shopbar__sub a.is-active {
	color: var(--e-global-color-primary, #358E90);
	background: var(--e-global-color-accent, #FBD157);
}

/* A webshop fooldal attekinto szakaszainak horgonyai ne csusszanak a fejlec ala. */
#szintipus,
#kollekciok,
#sorozatok { scroll-margin-top: 130px; }

/* =========================================================
   EGYSEGES "KOSARBA" GOMB (globalis)
   Minden WooCommerce termekgomb - termekracs, kategoria- es
   archivumoldal, egyedi termekoldal, kapcsolodo/ajanlott termekek -
   ugyanazt a sarga, vekony sotet keretes, Marcellus nagybetus gombot
   kapja. A penztar "Megrendeles" gombjat (#place_order) NEM erinti,
   az kulon, Open Sans tipografiat kapott.
   ========================================================= */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button,
.km-kat ul.products li.product .button,
.km-ajanlo ul.products li.product .button,
.km-termek .single_add_to_cart_button,
.woocommerce .related ul.products li.product .button,
.woocommerce .up-sells ul.products li.product .button,
.woocommerce .cross-sells ul.products li.product .button {
	background: #fcd54d !important;
	color: var(--e-global-color-text, #0D4E6C) !important;
	border: 1px solid #1f5976 !important;
	border-radius: 0 !important;
	font-family: "Marcellus", Georgia, serif !important;
	text-transform: uppercase !important;
	letter-spacing: .5px;
	font-weight: 400;
	opacity: 1;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product .single_add_to_cart_button:hover,
.km-kat ul.products li.product .button:hover,
.km-ajanlo ul.products li.product .button:hover,
.km-termek .single_add_to_cart_button:hover,
.woocommerce ul.products li.product .button:focus,
.woocommerce div.product .single_add_to_cart_button:focus,
.km-kat ul.products li.product .button:focus,
.km-ajanlo ul.products li.product .button:focus,
.km-termek .single_add_to_cart_button:focus {
	background: #fcd54d !important; /* sárga gomb: hoverre is az eredeti sárga marad */
	color: var(--e-global-color-text, #0D4E6C) !important;
	border-color: #1f5976 !important;
}
.woocommerce ul.products li.product .button:focus-visible,
.woocommerce div.product .single_add_to_cart_button:focus-visible,
.km-kat ul.products li.product .button:focus-visible,
.km-ajanlo ul.products li.product .button:focus-visible,
.km-termek .single_add_to_cart_button:focus-visible {
	outline: 2px solid var(--e-global-color-text, #0D4E6C);
	outline-offset: 2px;
}
.woocommerce ul.products li.product .button.disabled,
.woocommerce ul.products li.product .button[disabled],
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button[disabled],
.km-termek .single_add_to_cart_button.disabled,
.km-termek .single_add_to_cart_button[disabled] {
	opacity: .55;
	cursor: not-allowed;
}

/* =========================================================
   "Alapertelmezett rendezes" mezo szelessege
   Asztali nezetben kb. egy termekkartya szelessege, ne a teljes sor.
   ========================================================= */
.woocommerce .woocommerce-ordering,
.km-kat .woocommerce-ordering { max-width: 320px; }
.woocommerce .woocommerce-ordering select.orderby,
.km-kat .woocommerce-ordering select.orderby,
.woocommerce .woocommerce-ordering select,
.km-kat .woocommerce-ordering select {
	width: 100%;
	max-width: 320px;
	min-width: 200px;
	display: inline-block;
}
@media (max-width: 767px) {
	.woocommerce .woocommerce-ordering,
	.km-kat .woocommerce-ordering { max-width: 100%; }
	.woocommerce .woocommerce-ordering select.orderby,
	.km-kat .woocommerce-ordering select.orderby,
	.woocommerce .woocommerce-ordering select,
	.km-kat .woocommerce-ordering select {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
}

/* =========================================================
   Keszletallapot: a "Keszleten" szine #358b8e
   (a tobbi allapot - Elfogyott, Utanrendelheto - valtozatlan)
   ========================================================= */
.km-stock--keszleten,
.km-pm__stock.km-stock--keszleten,
.woocommerce div.product .stock.in-stock,
.woocommerce p.stock.in-stock,
.woocommerce .stock.in-stock { color: #358b8e; }


/* =========================================================
   Rendelőkártyák (Egyedi útitársat szeretnék oldal) – a Tornazsák oldal árkártyái szerint
   egységesítve: 40/20px belső térköz, 28px középre zárt cím, középre zárt rövid leírás,
   sárga elválasztó a felsorolás fölött és alatt, a minta szerinti felsorolás.
   ========================================================= */
.km-order > .km-card { padding: 40px 20px; }
.km-order > .km-card > .km-card-title { font-size: 28px; line-height: 1.3; letter-spacing: .84px; color: #156771; text-align: center; }
.km-order > .km-card > .km-lead { font-size: 18px; line-height: 1.5; text-align: center; color: var(--e-global-color-text, #0D4E6C); }
.km-order > .km-card > .km-contents-block { flex-grow: 1; border-top: 1px solid #FBD157; border-bottom: 1px solid #FBD157; padding: 34px 0 40px; }
.kolormania .km-order .km-contents li { font-size: 17px; line-height: 1.6; color: #1F3F5C; margin: 0 0 20px; padding-left: 26px; }
.kolormania .km-order .km-contents li:last-child { margin-bottom: 0; }
.kolormania .km-order .km-contents li::before { color: #F8C63C; }
.km-order > .km-card > .km-price { border-top: 0; padding-top: 0; margin: 14px 0; }



/* =========================================================
   Kategóriaoldal: rendezési mező + termékárak (2026-09-27)
   ========================================================= */
/* „Alapértelmezett rendezés”: a terméklista fölött, annak jobb széléhez igazítva
   (a szűrősáv melletti oszlopban), #8FC4C5 keret, bő belső térköz a felirat és a nyíl körül. */
.km-kat .woocommerce-ordering {
	float: none;
	justify-self: end;
	display: block;
	width: 320px;
	max-width: 100%;
	margin: 0 0 30px auto;
}
.km-kat .woocommerce-ordering select.orderby {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: auto;
	min-height: 46px;
	margin: 0;
	padding: 11px 46px 11px 16px !important;
	border: 1px solid #8FC4C5 !important;
	border-radius: 0;
	box-shadow: none;
	background-color: #fff;
	background-position: right 16px center !important;
	background-size: 14px auto !important;
	background-repeat: no-repeat !important;
	color: #1F5976;
	font-size: 16px;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
}
.km-kat .woocommerce-ordering select.orderby:hover,
.km-kat .woocommerce-ordering select.orderby:focus { border-color: #8FC4C5 !important; }
.km-kat .woocommerce-ordering select.orderby:focus-visible {
	outline: 2px solid #0D4E6C !important;
	outline-offset: 2px;
}
@media (max-width: 921px) {
	.km-kat .woocommerce-ordering { margin: 0 0 24px auto; }
}
@media (max-width: 544px) {
	.km-kat .woocommerce-ordering { width: 100%; }
}

/* Termékárak a kártyákon – a Kézipoggyász oldal ajánlatkártyáinak ára szerint:
   Marcellus, normál vastagság, 22px / 1.2, normál betűköz, #1F5976 (minden nézetben).
   A pénznem, az akciós és az áthúzott eredeti ár, valamint az ártartomány ugyanígy. */
.km-kat ul.products li.product .price,
.km-kat ul.products li.product .price * {
	font-family: "Marcellus", Georgia, serif !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: #1F5976 !important;
}
.km-kat ul.products li.product .price {
	font-size: 22px !important;
	line-height: 1.2 !important;
}
.km-kat ul.products li.product .price .woocommerce-Price-amount,
.km-kat ul.products li.product .price bdi,
.km-kat ul.products li.product .price .woocommerce-Price-currencySymbol,
.km-kat ul.products li.product .price del,
.km-kat ul.products li.product .price ins {
	font-size: inherit !important;
	line-height: inherit !important;
}
.km-kat ul.products li.product .price del {
	text-decoration: line-through !important;
	opacity: 1 !important;
}
.km-kat ul.products li.product .price ins {
	text-decoration: none !important;
}


/* Termékkártyák: az ár 10px-re a terméknév alatt, és egy sorban az ár és a „Kosárba” gomb
   minden kártyán egy vonalban (a névblokk kitölti a helyet, így a rövidebb nevű kártyán is
   ugyanott kezdődik az ár, mint a leghosszabb nevűn). */
.km-kat ul.products li.product {
	display: flex;
	flex-direction: column;
}
.km-kat ul.products li.product .astra-shop-summary-wrap {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.km-kat ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link {
	flex-grow: 1;
}
.km-kat ul.products li.product .woocommerce-loop-product__title {
	margin-bottom: 0 !important;
}
.km-kat ul.products li.product .astra-shop-summary-wrap .price {
	margin-top: 10px !important;
}


/* =========================================================
   Termékoldal (2026-09-27)
   ========================================================= */
/* Fő ár és a szállítási díjak összegei: a kártyaárakkal azonos tipográfia
   (Marcellus, normál vastagság, 22px / 1.2, #1F5976). */
.km-termek .summary > .price,
.km-termek .summary > .price *,
.single-product div.product .summary > .price,
.single-product div.product .summary > .price * {
	font-family: "Marcellus", Georgia, serif !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: #1F5976 !important;
}
.km-termek .summary > .price,
.single-product div.product .summary > .price { line-height: 1.2 !important; }
.km-ps .km-ar-osszeg { font-family: "Marcellus", Georgia, serif !important; font-weight: 400 !important; letter-spacing: normal !important; line-height: 1.2; }
.km-ps small .km-ar-osszeg { font-family: inherit !important; }

/* Ajánló blokkok („Tetszik ez a minta? …”, „Fedezd fel további …”): H3 címtipográfia,
   nagyobb távolság a kártyáktól. */
.km-ajanlo { margin: 60px 0 10px; }
.km-ajanlo .km-ajanlo__cim {
	font-family: "Marcellus", Georgia, serif;
	font-size: 28px;
	line-height: 1.3;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: uppercase;
	text-align: center;
	color: #1F5976;
	margin: 0 0 36px;
}
@media (max-width: 921px) { .km-ajanlo .km-ajanlo__cim { font-size: 26px; margin-bottom: 30px; } }
@media (max-width: 544px) { .km-ajanlo .km-ajanlo__cim { font-size: 22px; margin-bottom: 24px; } }

/* Ajánló kártyák: pontosan úgy, mint a kategóriaoldalon (keret, belső térköz, igazítás, ár). */
.km-ajanlo ul.products li.product {
	border: 1px solid #8fc4c5;
	background: #fff;
	padding: 10px 10px 16px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	text-align: left;
}
.km-ajanlo ul.products li.product .astra-shop-summary-wrap {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.km-ajanlo ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link { flex-grow: 1; }
.km-ajanlo ul.products li.product .woocommerce-loop-product__title { margin-bottom: 0 !important; }
.km-ajanlo ul.products li.product .astra-shop-summary-wrap .price { margin-top: 10px !important; }
.km-ajanlo ul.products li.product .price,
.km-ajanlo ul.products li.product .price * {
	font-family: "Marcellus", Georgia, serif !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: #1F5976 !important;
}
.km-ajanlo ul.products li.product .price { font-size: 22px !important; line-height: 1.2 !important; }
.km-ajanlo ul.products li.product .price .woocommerce-Price-amount,
.km-ajanlo ul.products li.product .price bdi,
.km-ajanlo ul.products li.product .price .woocommerce-Price-currencySymbol,
.km-ajanlo ul.products li.product .price del,
.km-ajanlo ul.products li.product .price ins { font-size: inherit !important; line-height: inherit !important; }
.km-ajanlo ul.products li.product .price del { text-decoration: line-through !important; opacity: 1 !important; }
.km-ajanlo ul.products li.product .price ins { text-decoration: none !important; }
.km-ajanlo ul.products li.product .button { padding: 9px 22px !important; }


/* =========================================================
   Egyedi útitársat szeretnék: horgony a csomagajánlatokhoz (#csomagajanlatok)
   A rögzített fejléc (asztalon ~61px, mobilon ~77px) ne takarja el a címet.
   ========================================================= */
#csomagajanlatok { scroll-margin-top: 100px; }


/* =========================================================
   Kategóriaoldal mobil: rendezés távolsága + hosszú terméknevek (2026-09-28)
   ========================================================= */
/* Egymás alá rendezett nézetben a „Alapértelmezett rendezés” mező 20px-re a szűrőpanel alatt. */
@media (max-width: 921px) {
	.km-kat .km-f + .woocommerce-notices-wrapper ~ .woocommerce-ordering,
	.km-kat .km-f ~ .woocommerce-ordering { margin-top: 20px; }
}
/* A hosszú (összetett) terméknevek ne lógjanak ki a kártyából: magyar elválasztás,
   végső esetben tördelés a szón belül. */
.km-kat ul.products li.product .woocommerce-loop-product__title,
.km-ajanlo ul.products li.product .woocommerce-loop-product__title {
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: anywhere;
	word-break: normal;
}


/* =========================================================
   Webshop kategóriakártyák: belső margó a szövegnek (2026-09-28)
   A kép továbbra is faltól falig ér; a cím és a leírás 20-20px-re a kártya széleitől,
   minden nézetben egységesen.
   ========================================================= */
.km-ws-card > .elementor-widget:not(.elementor-widget-image) {
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}


/* =========================================================
   Webshop kategóriaszáv: az almenüs főmenüpontok (Színtípus szerint,
   Kollekciók, Sorozatok) nem linkek, csak lenyitók – ezt nyíl ikon jelzi (2026-09-28)
   ========================================================= */
.km-shopbar .km-shopbar__parent { cursor: default; gap: 7px; }
.km-shopbar .km-shopbar__chev {
	display: inline-block;
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform .18s ease, margin .18s ease;
}
.km-shopbar .km-shopbar__has-sub:hover > .km-shopbar__parent .km-shopbar__chev,
.km-shopbar .km-shopbar__has-sub:focus-within > .km-shopbar__parent .km-shopbar__chev {
	transform: rotate(-135deg);
	margin-top: 3px;
}
.km-shopbar .km-shopbar__parent:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
/* Mobilon a jobb oldali nyílgomb jelzi a lenyitót, ott nem kell második nyíl. */
@media (max-width: 900px) {
	.km-shopbar .km-shopbar__chev { display: none; }
	.km-shopbar .km-shopbar__parent { cursor: pointer; }
	/* A nyílgomb a főmenüpont sorához igazodjon, akkor is, ha az almenü nyitva van
	   (eddig a lenyitott almenüvel együtt nőtt, és a nyíl lejjebb csúszott). */
	.km-shopbar .km-shopbar__has-sub > .km-shopbar__toggle { height: 46px; min-height: 0; bottom: auto; }
}


/* =========================================================
   Csomagkártyák egymás alatt (≤1024px): a „Népszerű ajánlat” jelvény és a fölötte
   lévő kártya között 20px látható rés legyen (2026-09-28).
   A jelvény top:-16px + translateY(-50%) miatt kb. 32px-rel lóg a kártya fölé (34px magas),
   ezért a kiemelt kártya felső margója: jelvény-kilógás + 20px − a kártyák közti sorköz.
   ========================================================= */
@media (max-width: 1024px) {
	.km-order > .km-card.km-featured { margin-top: calc(32px + 20px - var(--km-card-gap, 20px)); }
}


/* =========================================================
   Rendelő blokk egymás alatt (≤1024px): a sárgás „Egy termék” háttér alján 40px
   sáv a fehér kártya alatt, csak utána kezdődik a türkiz „Csomagajánlatok” rész (2026-09-28).
   A két háttér a rács saját rétege (.km-order-panel): eddig a sárga a kártya alatt 18px-rel
   lógott ki, a türkiz pedig a 20px-es sorköz után 18px-rel feljebb kezdődött, így csak ~2px
   sárga látszott. Most a sárga 40px-ig nyúlik le, a türkiz ott kezdődik; a türkiz rész
   belső térköze (a cím feletti hely) változatlan, ezért a cím is ugyanennyivel (38px) lejjebb kerül.
   ========================================================= */
@media (max-width: 1024px) {
	.km-order > .km-order-panel--single { margin-bottom: -40px; }
	.km-order > .km-order-panel--packages { margin-top: calc(40px - var(--km-card-gap, 20px)); }
	.km-order > .km-col-title--packages { margin-top: calc(45px + 40px - var(--km-card-gap, 20px) + var(--km-panel-bleed, 18px)); }
}


/* =========================================================
   Kosár és pénztár – Ancsa 2026-09-24-i visszajelzése
   ========================================================= */
/* A világos türkiz címek olvashatatlanok voltak: mindenhol sötétkék. */
.woocommerce-cart .shop_table th,
.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cart-subtotal th,
.woocommerce-cart .order-total th,
.woocommerce-checkout .shop_table th,
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	color: #1f5976;
}
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	font-family: var(--km-title-font, "Marcellus", Georgia, serif);
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 1.15rem;
}

/* Kosár: az összesen-sor teljes szélességben, kiemelve */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	background: #a5d9da;
	color: #1f5976;
	font-weight: 700;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { text-align: right; }

/* Az egyedi útitárs tételek megkülönböztető színe – sárga helyett türkiz */
.woocommerce-cart .shop_table .variation,
.woocommerce-cart .shop_table .variation dt,
.woocommerce-cart .shop_table .variation dd,
.woocommerce-checkout .shop_table .variation,
.woocommerce-checkout .shop_table .variation dt,
.woocommerce-checkout .shop_table .variation dd,
.woocommerce-checkout .shop_table .variation dd p {
	color: #358b8e;
}

/* Pénztár: a rendelés-összegző alnyomata */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: #c2e9e8;
	padding: 20px 22px;
	box-sizing: border-box;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td,
.woocommerce-checkout #order_review label { color: #1f5976; }
.woocommerce-checkout #order_review input[type="text"],
.woocommerce-checkout #order_review input[type="email"],
.woocommerce-checkout #order_review textarea,
.woocommerce-checkout #order_review select {
	background: #fff;
	border: 1px solid #1f5976;
}
.woocommerce-checkout .woocommerce-billing-fields input,
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-additional-fields textarea {
	background: #fff;
	border: 1px solid #1f5976;
}

/* „Vissza a kosárhoz” */
.km-vissza { margin: 0 0 14px; }
.km-vissza a { color: #358b8e; text-decoration: underline; font-size: .95rem; }

/* Termékkép a rendelés tartalmánál */
.km-rendeles-tetel { display: flex; align-items: center; gap: 10px; }
.km-rendeles-tetel img.km-rendeles-kep { width: 48px; height: 48px; object-fit: cover; flex: 0 0 48px; margin: 0; }
.km-rendeles-nev { display: block; }

/* Kiemelt végösszeg a fizetés gomb előtt */
.km-vegosszeg {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	margin: 18px 0 12px;
	padding: 12px 0;
	border-top: 2px solid #1f5976;
	border-bottom: 2px solid #1f5976;
	color: #1f5976;
}
.km-vegosszeg span { font-size: .85rem; letter-spacing: 1px; text-transform: uppercase; }
.km-vegosszeg strong { font-family: var(--km-title-font, "Marcellus", Georgia, serif); font-size: 1.6rem; }

/* Kötelező ÁSZF-elfogadás */
.km-aszf { margin: 0 0 14px; color: #1f5976; font-size: .9rem; line-height: 1.45; }
.km-aszf label { display: flex; gap: 9px; align-items: flex-start; }
.km-aszf input { margin-top: 3px; flex: 0 0 auto; }
.km-aszf a { color: #358b8e; text-decoration: underline; }

/* Átvételihely-választó: sárga helyett türkiz */
.woocommerce-checkout .vp-woo-pont-select-point,
.woocommerce-cart .vp-woo-pont-select-point,
.vp-woo-pont-pickup-point-selector a,
a.vp-woo-pont-select-point { color: #358b8e !important; }

/* Hibaüzenet – korall */
.woocommerce-error { border-top-color: #e45d4c; }
.woocommerce-error::before { color: #e45d4c; }

/* =========================================================
   Fiókom, kosár, pénztár – címsor-hierarchia és fiók-felület
   A téma globális H2-je 42px, ami NAGYOBB volt, mint az oldalcím (32px),
   a H3 pedig 28px – a blokkcímek ettől óriásiak lettek. Itt a WooCommerce
   blokkcímeit az oldalcím ALÁ rendezzük.
   ========================================================= */
.woocommerce-account .woocommerce h2,
.woocommerce-cart .woocommerce h2,
.woocommerce-checkout .woocommerce h2,
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce h3,
.woocommerce-cart .woocommerce h3,
.woocommerce-checkout .woocommerce h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--km-title-font, "Marcellus", Georgia, serif);
	font-weight: 400;
	color: #1f5976;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	line-height: 1.25;
	margin: 0 0 14px;
}
.woocommerce-account .woocommerce h2,
.woocommerce-cart .woocommerce h2,
.woocommerce-checkout .woocommerce h2,
.woocommerce-checkout #order_review_heading { font-size: 20px; }
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce h3,
.woocommerce-cart .woocommerce h3,
.woocommerce-checkout .woocommerce h3 { font-size: 16px; letter-spacing: 1px; }

/* --- Fiókom: bal oldali navigáció --- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid #bcd4dc;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid #bcd4dc;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 16px;
	color: #1f5976;
	text-decoration: none;
	font-size: .95rem;
	transition: background .15s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #f4f9f9; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: #eaf5f5;
	font-weight: 600;
	box-shadow: inset 3px 0 0 #358b8e;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: #6a8b97; }

/* --- Fiókom: cím-dobozok --- */
.woocommerce-account .woocommerce-Address { margin-bottom: 20px; }
.woocommerce-account .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	border-bottom: 1px solid #f4c64d;
	padding-bottom: 8px;
	margin-bottom: 12px;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 { margin: 0; }
.woocommerce-account .woocommerce-Address-title .edit {
	color: #358b8e;
	text-decoration: underline;
	font-size: .88rem;
	white-space: nowrap;
}
.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	color: #24404a;
	line-height: 1.6;
	margin: 0;
}

/* --- Fiókom: táblák és szövegek --- */
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #358b8e; }
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .shop_table th {
	color: #1f5976;
	font-size: .78rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* =========================================================
   km-shopbar saját háttér
   Eddig a türkiz hátteret az Elementor-konténer adta. Ha a fejlécet
   átszerkesztik, a sáv háttér nélkül marad – és a fehér betűk eltűnnek
   a fehér lapon. Ezért a sáv mostantól maga hozza a hátterét, és
   teljes szélességben fest (box-shadow + clip-path: nincs vízszintes görgetés).
   ========================================================= */
.km-shopbar {
	background: var(--km-teal, #358b8e);
	box-shadow: 0 0 0 100vmax var(--km-teal, #358b8e);
	clip-path: inset(0 -100vmax);
}
.km-shopbar .km-shopbar__item > a,
.km-shopbar .km-shopbar__list > li > a { color: #ffffff; }


/* Átvételi hely – „Válaszd ki, hová kéred a csomagodat!”: az Astra sárga linkszíne helyett
   ugyanaz a sötétkék, mint az összegző többi szövege; aláhúzva, hogy látszódjon, hogy kattintható. */
.woocommerce-checkout .vp-woo-pont-review-order #vp-woo-pont-show-map,
.woocommerce-cart .vp-woo-pont-review-order #vp-woo-pont-show-map {
	color: #1f5976 !important;
	text-decoration: underline;
}
.woocommerce-checkout .vp-woo-pont-review-order #vp-woo-pont-show-map:hover,
.woocommerce-checkout .vp-woo-pont-review-order #vp-woo-pont-show-map:focus,
.woocommerce-cart .vp-woo-pont-review-order #vp-woo-pont-show-map:hover,
.woocommerce-cart .vp-woo-pont-review-order #vp-woo-pont-show-map:focus { color: #358b8e !important; }

/* Kosár összesítő: a kiemelt (türkiz hátterű) Összeg-sorban a felirat ne tapadjon a háttér bal széléhez –
   ugyanannyi belső margó bal oldalt, mint jobb oldalt (18px); a felirat a sötétkék szövegszínt kapja,
   mert a világos türkiz felirat a türkiz háttéren nem látszott. */
.woocommerce-cart .cart_totals .order-total td { padding-left: 18px !important; padding-right: 18px !important; }
.woocommerce-cart .cart_totals .order-total th { padding-left: 18px !important; padding-right: 18px !important; }
.woocommerce-cart .cart_totals .order-total td::before { color: #1f5976 !important; }
