/**
 * Solène – alap tipográfia és komponensek a Figma stíluslap szerint.
 *
 * A HTML-elemekre vonatkozó szabályok elem-szintű specifikusságúak: a Hello Commerce
 * alapstílusát felülírják, de bármelyik Elementor-osztály vagy -beállítás felülírja őket.
 * A .sol-* osztályok Elementorban „CSS osztály”-ként is használhatók.
 */

/* ---------- Alap ---------- */

:is(body) {
	background-color: var(--sol-bright-100);
	color: var(--sol-dark-200);
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-body);
	font-weight: 400;
	line-height: var(--sol-lh-text);
	letter-spacing: var(--sol-ls-body);
	text-rendering: optimizeLegibility;
}

::selection {
	background-color: var(--sol-main);
	color: var(--sol-bright-100);
}

:is(h1, h2, h3, h4) {
	font-family: var(--sol-font-serif);
	font-weight: 400;
	line-height: var(--sol-lh-heading);
	letter-spacing: var(--sol-ls-heading);
	color: var(--sol-dark-200);
	margin-block: 0 var(--sol-space-default);
}

:is(h1) { font-size: var(--sol-fs-h1); }
:is(h2) { font-size: var(--sol-fs-h2); }
:is(h3) { font-size: var(--sol-fs-h3); }
:is(h4) { font-size: var(--sol-fs-h4); }

:is(h5, h6) {
	font-family: var(--sol-font-sans);
	line-height: var(--sol-lh-text);
	text-transform: uppercase;
	color: var(--sol-dark-200);
	margin-block: 0 var(--sol-space-s);
}

:is(h5) {
	font-size: var(--sol-fs-h5);
	font-weight: 300;
	letter-spacing: var(--sol-ls-h5);
}

:is(h6) {
	font-size: var(--sol-fs-link);
	font-weight: 400;
	letter-spacing: var(--sol-ls-link);
}

:is(p) {
	margin-block: 0 var(--sol-space-default);
}

:is(a) {
	color: var(--sol-main);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
	transition: color var(--sol-transition);
}

:is(a:hover, a:focus-visible) {
	color: var(--sol-main-dark);
}

:is(strong, b) {
	font-weight: 600;
}

:is(img) {
	max-width: 100%;
	height: auto;
}

:is(:focus-visible) {
	outline: 2px solid var(--sol-main-dark);
	outline-offset: 2px;
}

/* ---------- Tipográfiai osztályok (Figma-stílusnevek) ---------- */

.sol-h1, .sol-h2, .sol-h3, .sol-h4 {
	font-family: var(--sol-font-serif);
	font-weight: 400;
	line-height: var(--sol-lh-heading);
	letter-spacing: var(--sol-ls-heading);
}

.sol-h1 { font-size: var(--sol-fs-h1); }
.sol-h2 { font-size: var(--sol-fs-h2); }
.sol-h3 { font-size: var(--sol-fs-h3); }
.sol-h4 { font-size: var(--sol-fs-h4); }

.sol-h5 {
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-h5);
	font-weight: 300;
	line-height: var(--sol-lh-text);
	letter-spacing: var(--sol-ls-h5);
	text-transform: uppercase;
}

.sol-highlight {
	font-family: var(--sol-font-serif);
	font-size: var(--sol-fs-highlight);
	font-weight: 700;
	line-height: var(--sol-lh-text);
	letter-spacing: 0;
	color: var(--sol-main);
}

.sol-body {
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-body);
	line-height: var(--sol-lh-text);
	letter-spacing: var(--sol-ls-body);
}

.sol-small {
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-small);
	line-height: var(--sol-lh-text);
	letter-spacing: 0;
}

.sol-link {
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-link);
	line-height: var(--sol-lh-text);
	letter-spacing: var(--sol-ls-link);
	text-transform: uppercase;
	color: var(--sol-main);
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.sol-link:hover,
.sol-link:focus-visible {
	color: var(--sol-main-dark);
}

.sol-label {
	font-family: var(--sol-font-serif);
	font-size: var(--sol-fs-label);
	font-weight: 400;
	line-height: var(--sol-lh-label);
	letter-spacing: 0;
	color: var(--sol-dark-100);
}

/* ---------- Rács ----------
   A sol-section / sol-container osztályokat az Elementor V4 globális osztályai adják. */

/* ---------- Ikon ---------- */

.sol-icon {
	display: inline-block;
	flex: none;
	width: 24px;
	height: 24px;
	fill: currentColor;
	vertical-align: middle;
}

/* ---------- Gombok ----------
   A gombokat az Elementor V4 globális osztályai adják (sol-btn, sol-btn-outline, sol-btn-secondary,
   sol-btn-secondary-outline, sol-btn-icon), a WooCommerce-gombokat a tokens.css --ehc-* változói.
   Itt szándékosan nincs .sol-btn szabály, hogy ne ütközzön az Elementor osztályaival. */

/* ---------- Badge-ek ---------- */

.sol-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 8px;
	background-color: var(--sol-sec);
	color: var(--sol-bright-200);
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-badge);
	font-weight: 400;
	line-height: 21px;
	letter-spacing: var(--sol-ls-badge);
	text-transform: uppercase;
	white-space: nowrap;
}

.sol-badge--sec-bright { background-color: var(--sol-sec-bright); }
.sol-badge--main { background-color: var(--sol-main); }
.sol-badge--main-dark { background-color: var(--sol-main-dark); }
.sol-badge--main-bright { background-color: var(--sol-main-bright); }

/* Kedvenc gomb (Figma: Favorite badge) */
:root .sol-fav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	border: 0;
	background-color: var(--sol-bright-200);
	color: var(--sol-main);
	cursor: pointer;
	line-height: 0;
}

:root .sol-fav:hover,
:root .sol-fav:focus-visible {
	background-color: var(--sol-bright-200);
	color: var(--sol-main-dark);
}

/* Üres badge (pl. kategória nélküli bejegyzés) ne látszódjon. */
body .sol-badge:empty {
	display: none;
}

/* ---------- Tooltip (Figma: ⓘ magyarázó) ---------- */

:root .sol-info {
	position: relative;
	display: inline-flex;
	padding: 0;
	border: 0;
	background: none;
	color: var(--sol-main);
	cursor: help;
	line-height: 0;
}

:root .sol-info:hover,
:root .sol-info:focus-visible {
	background: none;
	color: var(--sol-main-dark);
}

:root .sol-info__tip {
	position: absolute;
	z-index: 20;
	top: 50%;
	left: calc(100% + 16px);
	width: max-content;
	max-width: min(435px, 70vw);
	padding: 12px;
	background-color: var(--sol-dark-300);
	color: var(--sol-bright-100);
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-small);
	line-height: var(--sol-lh-text);
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	white-space: normal;
	transform: translateY(-50%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--sol-transition), visibility var(--sol-transition);
}

:root .sol-info__tip::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -8px;
	width: 16px;
	height: 16px;
	background-color: inherit;
	transform: translateY(-50%) rotate(45deg);
}

:root .sol-info:hover .sol-info__tip,
:root .sol-info:focus-visible .sol-info__tip,
:root .sol-info[aria-expanded="true"] .sol-info__tip {
	opacity: 1;
	visibility: visible;
}

/* ---------- Űrlapmezők (Figma: Form Field) ---------- */

:is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], input[type="search"], input[type="date"], input[type="time"], select, textarea) {
	width: 100%;
	min-height: var(--sol-input-height);
	padding: 10px 12px;
	border: var(--sol-border) solid var(--sol-sec);
	border-radius: 0;
	background-color: var(--sol-bright-100);
	color: var(--sol-dark-300);
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-body);
	line-height: var(--sol-lh-text);
	letter-spacing: var(--sol-ls-body);
	box-shadow: none;
	transition: border-color var(--sol-transition);
}

:is(input, select, textarea):focus {
	border-color: var(--sol-main);
	outline: none;
}

:is(input, textarea)::placeholder {
	color: var(--sol-dark-300);
	opacity: 0.6;
}

:is(textarea) {
	min-height: 128px;
	resize: vertical;
}

:is(select) {
	appearance: none;
	padding-inline-end: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2365652a' d='M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 24px 24px;
	cursor: pointer;
}

/* Jelölőnégyzet és rádiógomb (Figma: Component 3) */
:is(input[type="checkbox"], input[type="radio"]) {
	appearance: none;
	display: inline-grid;
	place-content: center;
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: var(--sol-border) solid var(--sol-sec);
	border-radius: 0;
	background-color: var(--sol-bright-100);
	vertical-align: middle;
	cursor: pointer;
}

:is(input[type="radio"]) {
	border-radius: 50%;
}

:is(input[type="checkbox"])::before {
	content: "";
	width: 20px;
	height: 20px;
	background-color: var(--sol-sec);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.9997 15.1709L19.1921 5.97852L20.6063 7.39273L9.9997 17.9993L3.63574 11.6354L5.04996 10.2212L9.9997 15.1709Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.9997 15.1709L19.1921 5.97852L20.6063 7.39273L9.9997 17.9993L3.63574 11.6354L5.04996 10.2212L9.9997 15.1709Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: scale(0);
	transition: transform 0.12s ease;
}

:is(input[type="radio"])::before {
	content: "";
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: var(--sol-sec);
	transform: scale(0);
	transition: transform 0.12s ease;
}

:is(input[type="checkbox"], input[type="radio"]):checked::before {
	transform: scale(1);
}

:is(input[type="checkbox"], input[type="radio"]):focus-visible {
	outline: 2px solid var(--sol-main-dark);
	outline-offset: 2px;
}

/* Mező-segédszöveg (Figma: Small text, olíva világos) */
.sol-help {
	color: var(--sol-sec-bright);
	font-size: var(--sol-fs-small);
	line-height: var(--sol-lh-text);
	letter-spacing: 0;
}

/* ---------- GYIK / accordion (Figma: Accordion Title) ---------- */

.sol-accordion details {
	border-bottom: 1px solid var(--sol-bright-200);
}

.sol-accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sol-space-default);
	padding-block: 12px;
	color: var(--sol-main);
	font-family: var(--sol-font-serif);
	font-size: var(--sol-fs-label);
	line-height: 1.3;
	letter-spacing: 0;
	list-style: none;
	cursor: pointer;
}

.sol-accordion summary::-webkit-details-marker {
	display: none;
}

.sol-accordion summary::after {
	content: "";
	flex: none;
	width: 24px;
	height: 24px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.0001 10.9999L22.0002 10.9997L22.0002 12.9997L13.0001 12.9999L13.0001 21.9998L11.0001 21.9998L11.0001 12.9999L2.00004 13.0001L2 11.0001L11.0001 10.9999L11 2.00025L13 2.00024L13.0001 10.9999Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.0001 10.9999L22.0002 10.9997L22.0002 12.9997L13.0001 12.9999L13.0001 21.9998L11.0001 21.9998L11.0001 12.9999L2.00004 13.0001L2 11.0001L11.0001 10.9999L11 2.00025L13 2.00024L13.0001 10.9999Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--sol-transition);
}

.sol-accordion details[open] summary::after {
	transform: rotate(45deg);
}

.sol-accordion details > :not(summary) {
	padding-block: 0 var(--sol-space-default);
}

/* ---------- Carousel (Figma: „Válogass alkalom szerint”, Blog) ----------
   Elementor: .sol-carousel > .sol-carousel-prev + .sol-carousel-track + .sol-carousel-next
   A sor görgethető (scroll-snap), a nyilakat az assets/js/carousel.js kezeli.
   A „body” előtag azért kell, hogy az Elementor helyi stílusai (pl. a Loop layout rácsa) ne írják felül. */

body .sol-carousel {
	--sol-carousel-gap: var(--sol-space-m);
	--sol-carousel-per-view: 3;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
}

/* A középső elem (a sor, vagy a Loop csomagolója) tölti ki a helyet a két nyíl között. */
body .sol-carousel > :not(.sol-carousel-prev):not(.sol-carousel-next) {
	flex: 1 1 auto;
	min-width: 0;
}

body .sol-carousel .sol-carousel-track {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--sol-carousel-gap);
	grid-template-columns: none;
	grid-auto-rows: auto;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

body .sol-carousel .sol-carousel-track::-webkit-scrollbar {
	display: none;
}

body .sol-carousel .sol-carousel-track > * {
	flex: 0 0 calc((100% - (var(--sol-carousel-per-view) - 1) * var(--sol-carousel-gap)) / var(--sol-carousel-per-view));
	min-width: 0;
	scroll-snap-align: start;
}

/* A nyilak a kártyakép közepére igazodnak; a kép magasságát a carousel.js adja (--sol-carousel-media-h). */
body .sol-carousel .sol-carousel-prev,
body .sol-carousel .sol-carousel-next {
	align-self: start;
	margin-block-start: calc(var(--sol-carousel-media-h, 0px) / 2);
	transform: translateY(-50%);
	cursor: pointer;
}

body .sol-carousel .is-disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

@media (max-width: 1024px) {
	body .sol-carousel {
		--sol-carousel-per-view: 2.2;
		--sol-carousel-gap: var(--sol-space-default);
	}
}

@media (max-width: 767px) {
	body .sol-carousel {
		--sol-carousel-per-view: 1.25;
	}

	/* Mobilon húzással lapozható, a nyilak nem kellenek. */
	body .sol-carousel .sol-carousel-prev,
	body .sol-carousel .sol-carousel-next {
		display: none;
	}
}

/* ---------- Mozgás csökkentése ---------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* ---------- Tapadó (sticky) fejléc ----------
   A site.js lefelé görgetéskor rögzíti a fejlécet, és felülről beúsztatja – vékonyabb magassággal.
   Elementorban: a fejléc belső sora „sol-header-inner”, a logó „sol-header-logo” osztályt kap. */

.sol-header-placeholder {
	height: 0;
}

.elementor-location-header.is-sticky {
	position: fixed;
	top: var(--sol-admin-offset, 0px);
	right: 0;
	left: 0;
	z-index: 100;
	box-shadow: 0 2px 16px rgba(12, 13, 12, 0.18);
}

.elementor-location-header.is-sticky-enter {
	animation: sol-header-in 0.35s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes sol-header-in {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: none;
	}
}

body .elementor-location-header.is-sticky .sol-header-inner {
	min-height: 64px;
}

body .elementor-location-header.is-sticky .sol-header-logo {
	width: 105px;
}

@media (max-width: 767px) {
	body .elementor-location-header.is-sticky .sol-header-inner {
		min-height: 56px;
	}

	body .elementor-location-header.is-sticky .sol-header-logo {
		width: 92px;
	}
}

/* =========================================================================
   Blogbejegyzés tartalma (Figma: BLOGPOST) – az Elementor „Post Content” köré
   tett e-div-block kapja a sol-post-content osztályt.
   ========================================================================= */

.sol-post-content {
	color: var(--sol-dark-200);
	font-size: var(--sol-fs-body);
	line-height: var(--sol-lh-text);
}

.sol-post-content > :first-child,
.sol-post-content .elementor-widget-container > :first-child {
	margin-top: 0;
}

/* Bevezető (az első bekezdés): kiemelt, bordó, serif */
.sol-post-content .elementor-widget-container > p:first-child,
.sol-post-content > p:first-child,
.sol-post-content p.is-style-lead {
	margin-bottom: var(--sol-space-default);
	color: var(--sol-main);
	font-family: var(--sol-font-serif);
	font-size: var(--sol-fs-h5);
	font-weight: 700;
	line-height: 1.4;
}

.sol-post-content p {
	margin: 0 0 var(--sol-space-s);
}

.sol-post-content :is(h2, h3, h4) {
	margin: var(--sol-space-m) 0 var(--sol-space-default);
	color: var(--sol-dark-100);
	font-family: var(--sol-font-serif);
	font-weight: 400;
	line-height: var(--sol-lh-heading);
	letter-spacing: var(--sol-ls-heading);
}

.sol-post-content h2 {
	font-size: var(--sol-fs-h4);
}

.sol-post-content h3 {
	font-size: var(--sol-fs-h5);
}

.sol-post-content h4 {
	font-size: var(--sol-fs-highlight);
}

.sol-post-content :is(ul, ol) {
	margin: 0 0 var(--sol-space-default);
	padding-left: 1.4em;
}

.sol-post-content li {
	margin: 0 0 4px;
}

.sol-post-content strong {
	font-weight: 700;
}

.sol-post-content a {
	color: var(--sol-main);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sol-post-content a:hover {
	color: var(--sol-main-dark);
}

.sol-post-content img {
	max-width: 100%;
	height: auto;
}

.sol-post-content :is(figure, .wp-block-image, .wp-block-gallery) {
	margin: var(--sol-space-default) 0;
}

.sol-post-content .wp-block-gallery.has-nested-images {
	gap: var(--sol-space-m);
}

.sol-post-content .wp-block-gallery.has-nested-images figure.wp-block-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.sol-post-content blockquote {
	margin: var(--sol-space-m) 0;
	padding: 0 0 0 var(--sol-space-default);
	border-left: 2px solid var(--sol-main);
	font-family: var(--sol-font-serif);
	font-size: var(--sol-fs-h5);
	line-height: 1.4;
}

/* Bejegyzés-meta: dátum + kategória */
.sol-post-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--sol-space-default);
}

/* ---------- Kártyák: a „Tovább” / „Megnézem” link mindig a kártya alján, egy vonalban ----------
   A carousel elemei egyforma magasak (stretch), a kártya kitölti az elemet, az utolsó link a
   maradék helyet maga elé veszi. A rácsos (nem lapozós) Loopoknál ugyanez az Elementorban van beállítva. */
body .sol-carousel .sol-carousel-track {
	align-items: stretch;
}

body .sol-carousel .sol-carousel-track > img {
	align-self: flex-start;
}

body .sol-carousel .sol-carousel-track > :not(img) {
	display: flex;
	flex-direction: column;
	height: auto; /* a megadott magasság kikapcsolná a nyújtást */
}

/* Loop-elem: a benne lévő kártya töltse ki az elem magasságát */
body .sol-carousel .sol-carousel-track > [class*="collection-loop-item"] > * {
	flex: 1 1 auto;
}

body .sol-carousel .sol-carousel-track .sol-link:last-child,
body .sol-carousel .sol-carousel-track .sol-ws-card__link {
	margin-block-start: auto;
}

/* =========================================================================
   Hírlevél-ablak (inc/newsletter.php, assets/js/site.js)
   ========================================================================= */

html.sol-newsletter-open {
	overflow: hidden;
}

.sol-newsletter {
	position: fixed;
	inset: 0;
	z-index: 1002;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--sol-space-default);
}

.sol-newsletter[hidden] {
	display: none;
}

.sol-newsletter__overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(12, 13, 12, 0.5);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.sol-newsletter__panel {
	position: relative;
	width: min(560px, 100%);
	max-height: calc(100vh - 2 * var(--sol-space-default));
	max-height: calc(100dvh - 2 * var(--sol-space-default));
	overflow-y: auto;
	padding: var(--sol-space-m);
	background-color: var(--sol-bright-100);
	box-shadow: 0 16px 48px rgba(12, 13, 12, 0.25);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
	outline: 0;
}

.sol-newsletter.is-open .sol-newsletter__overlay,
.sol-newsletter.is-open .sol-newsletter__panel {
	opacity: 1;
}

.sol-newsletter.is-open .sol-newsletter__panel {
	transform: none;
}

:root .sol-newsletter__close {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--sol-main);
	cursor: pointer;
}

:root .sol-newsletter__close svg {
	width: 24px;
	height: 24px;
}

:root .sol-newsletter__close:hover,
:root .sol-newsletter__close:focus-visible {
	background-color: var(--sol-bright-200);
	color: var(--sol-main);
}

.sol-newsletter__title {
	margin: 0 48px var(--sol-space-s) 0;
	color: var(--sol-main);
	font-family: var(--sol-font-serif);
	font-size: var(--sol-fs-h4);
	font-weight: 400;
	line-height: var(--sol-lh-heading);
}

.sol-newsletter__lead {
	margin: 0 0 var(--sol-space-default);
	color: var(--sol-dark-200);
}

.sol-newsletter__form .ff-message-success {
	margin: 0;
	padding: var(--sol-space-default);
	border: 1px solid var(--sol-bright-300);
	background-color: var(--sol-bright-200);
	color: var(--sol-dark-300);
	box-shadow: none;
}

.sol-newsletter__form .ff-message-success p {
	margin: 0;
}

.sol-newsletter__form .ff-message-success p + p {
	margin-top: 6px;
}

@media (max-width: 767px) {
	.sol-newsletter__panel {
		padding: var(--sol-space-default);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sol-newsletter__overlay,
	.sol-newsletter__panel {
		transition: none;
	}
}

/* =========================================================================
   Mega menü (inc/megamenu.php, assets/js/site.js) – Figma: Header „mega menu open”
   ========================================================================= */

.elementor-location-header.sol-has-mega-menu:not(.is-sticky) {
	position: relative;
	z-index: 100;
}

.sol-mega {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 99;
	padding: 0 max(0px, calc(var(--sol-gutter) - 24px)) var(--sol-space-m);
	background-color: var(--sol-main);
	box-shadow: 0 16px 32px rgba(12, 13, 12, 0.18);
	color: var(--sol-bright-100);
}

.sol-mega[hidden] {
	display: none;
}

/* Az elválasztó vonal a fejléc és a panel között (a fejléc alján, a tartalom szélességében) */
.sol-mega__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: calc(var(--sol-container) + 48px);
	margin: -1px auto 0;
	padding-top: var(--sol-space-default);
	border-top: 1px solid rgba(250, 250, 250, 0.35);
}

.sol-mega__col {
	min-width: 0;
	padding: 0 var(--sol-space-default);
}

.sol-mega__col + .sol-mega__col {
	border-left: 1px solid rgba(250, 250, 250, 0.35);
}

:root .sol-mega__title {
	display: block;
	margin: 0 0 var(--sol-space-default);
	color: var(--sol-bright-100);
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-h5);
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: 0.01em;
	text-decoration: none;
	text-transform: uppercase;
}

/* A linkek oszlopfolytonosan két hasábban (Figma: első hasáb felül-lefelé, utána a második) */
.sol-mega__links {
	columns: 2;
	column-gap: var(--sol-space-default);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sol-mega__links li {
	margin: 0 0 14px;
	break-inside: avoid;
}

:root .sol-mega__link {
	color: var(--sol-bright-100);
	font-family: var(--sol-font-sans);
	font-size: var(--sol-fs-body);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-decoration: none;
	text-transform: uppercase;
}

:root .sol-mega__link:hover,
:root .sol-mega__link:focus-visible,
:root a.sol-mega__title:hover,
:root a.sol-mega__title:focus-visible {
	color: var(--sol-bright-100);
	text-decoration: underline;
	text-underline-offset: 4px;
}

:root .sol-mega__card {
	display: block;
	color: var(--sol-bright-100);
	text-decoration: none;
}

:root .sol-mega__card .sol-mega__title {
	margin-bottom: var(--sol-space-s);
}

.sol-mega__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 1;
	object-fit: cover;
	transition: opacity 0.2s ease;
}

.sol-mega__card:hover .sol-mega__img,
.sol-mega__card:focus-visible .sol-mega__img {
	opacity: 0.85;
}

:root .sol-mega__card:hover .sol-mega__title,
:root .sol-mega__card:focus-visible .sol-mega__title {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* A fejléc menüpontja: lefelé mutató nyíl; asztali nézetben a sima legördülő helyett a panel nyílik */
@media (min-width: 1025px) {
	.elementor-location-header .elementor-nav-menu--main li.sol-has-mega > ul.sub-menu {
		display: none !important;
	}

	.elementor-location-header .elementor-nav-menu--main li.sol-has-mega > a .sub-arrow {
		display: none;
	}

	.elementor-location-header .elementor-nav-menu--main li.sol-has-mega .sol-mega-caret {
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 12px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.2s ease;
		vertical-align: middle;
	}

	.elementor-location-header .elementor-nav-menu--main li.sol-has-mega.is-mega-open .sol-mega-caret {
		margin-top: 2px;
		transform: rotate(-135deg);
	}
}

.sol-mega-caret {
	display: none;
}

@media (max-width: 1024px) {
	.sol-mega {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sol-mega-caret,
	.sol-mega__img {
		transition: none;
	}
}

