:root{
	--c-black:#211919;
	--c-white:#fff;
	--c-blue:#406CC5;
	--c-blue-strong:#21345A;
	--c-lightblue:#4CB1FF;
	--c-red:#FF4C78;
	--c-dark:#21345A;
	--c-darkgrey:#424242;
	--c-gray-500:#A59F9F;
	--c-gray-200:#EBECED;
	--c-solidblue:#ECF0F8;
	--c-bg-light:#F5F7FA;
	--c-dark-green:#14332a;

	--c-text:#111; --c-muted:#7a7a7a; --c-border:#e7e7e7;
	--c-pink:#ff42c6; --c-pink-hover:#ff62cf;
	--c-green:#20604E; --c-light:#fafafa; --c-line:#d9d9df;

	--container-max-xl:1824px;

	--radius-0:0;
	--radius-4:4px;
	--shadow-1:0 8px 24px rgba(33,52,90,.12);
	--shadow-2:0 16px 40px rgba(33,52,90,.18);

	--font-ui:'Work Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
	--font-heading:'Montserrat',sans-serif;
	--font-mono:'Work Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* 2) Global resets / base */
html{box-sizing:border-box}

*,*:before,*:after{box-sizing:inherit}

html,body{height:100%}

body{
	margin:0;color:#212529;background:#fff;
	font-family:var(--font-ui);font-size:16px;line-height:1.5;
	-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
html{font-family:var(--font-ui)}
body, .navbar, .nav-link, .dropdown-menu, input, select, textarea, button:not(.font-mono), .btn:not(.font-mono){ font-family: var(--font-ui); }

img{max-width:100%;height:auto;display:block}

a{color:var(--c-blue);text-decoration:none}

a:hover{color:#2f56aa;text-decoration:none}

:focus{outline:2px solid rgba(64,108,197,.35);outline-offset:2px}

.text-uppercase { letter-spacing:.02em }

/* 3) Container 1824px a legnagyobb nézetben */
@media(min-width:1700px){ .container{max-width:var(--container-max-xl)} }

/* 4) Typography scale (Figma: size/line-height). Címsorok: Montserrat (prémium), folyószöveg: Work Sans. */
h1,h2{font-family:var(--font-heading);font-weight:800}
h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700}
h6{font-size:20px;line-height:1.30;margin-bottom:.5rem}
h5{font-size:28px;line-height:1.25;margin-bottom:.6rem}
h4{font-size:32px;line-height:1.30;margin-bottom:.7rem}
h3{font-size:40px;line-height:1.20;margin-bottom:.8rem}
h2{font-size:48px;line-height:1.20;margin-bottom:1rem}
h1{font-size:72px;line-height:1.05;margin-bottom:1rem}

@media(max-width:1199px) {
	h6{font-size:18px;line-height:1.30;margin-bottom:.5rem}
	h5{font-size:26px;line-height:1.25;margin-bottom:.6rem}
	h4{font-size:30px;line-height:1.30;margin-bottom:.7rem}
	h3{font-size:38px;line-height:1.20;margin-bottom:.8rem}
	h2{font-size:46px;line-height:1.20;margin-bottom:1rem}
	h1{font-size:70px;line-height:1.05;margin-bottom:1rem}
}

@media(max-width:992px) {
	h6{font-size:16px;line-height:1.30;margin-bottom:.5rem}
	h5{font-size:24px;line-height:1.25;margin-bottom:.6rem}
	h4{font-size:28px;line-height:1.30;margin-bottom:.7rem}
	h3{font-size:36px;line-height:1.20;margin-bottom:.8rem}
	h2{font-size:42px;line-height:1.20;margin-bottom:1rem}
	h1{font-size:50px;line-height:1.05;margin-bottom:1rem}
}

@media(max-width:767px) {
	h6{font-size:16px;line-height:1.30;margin-bottom:.5rem}
	h5{font-size:23px;line-height:1.25;margin-bottom:.6rem}
	h4{font-size:26px;line-height:1.30;margin-bottom:.7rem}
	h3{font-size:34px;line-height:1.20;margin-bottom:.8rem}
	h2{font-size:38px;line-height:1.20;margin-bottom:1rem}
	h1{font-size:40px;line-height:1.05;margin-bottom:1rem}
}

.font-mono{font-family:var(--font-mono)}
.small,small{font-size:.875rem}

/* 5) Buttons – bootstrap override + extra variánsok */
.btn{
	border-radius:var(--radius-0);
	text-transform:uppercase;
	font-size:14px; font-weight:600;
	letter-spacing:.02em;
}
.btn:focus{box-shadow:none}
.btn-sm{padding:.3rem .7rem;font-size:12px}
.btn-lg{padding:.8rem 1.4rem;font-size:15px}

.btn-primary,
.btn-theme{background:#FF4EFA;border-color:#FF4EFA;color:#fff}
.btn-primary:hover,.btn-theme:hover{background:#d82cd3;border-color:#d82cd3;filter:brightness(.95)}
.btn-secondary,
.btn-theme2{background:var(--c-darkgrey);border-color:var(--c-darkgrey);color:#fff}
.btn-info,
.btn-theme3{background:var(--c-lightblue);border-color:var(--c-lightblue);color:#fff}
.btn-outline-primary{background:transparent;border-color:var(--c-blue);color:var(--c-blue)}
.btn-outline-primary:hover{background:var(--c-blue);color:#fff}
.btn-light{background:#fff;border-color:#fff;color:#E51E25}
.btn-link{color:#E51E25;text-transform:none;border:0;padding:0}

.btn-success{background:#296C3A;border-color:#296C3A}
.btn-danger{background:#c62828;border-color:#c62828}
.btn-warning{background:#f59e0b;border-color:#f59e0b;color:#1b1b1b}
.btn-dark{background:#111827;border-color:#111827}

.btn-filter{
	background:var(--c-gray-200);color:#4A4A49;border-radius:16px;
	font-weight:400;text-transform:none;font-size:15px;border:0;
}

.overflow-ellipsis {
	overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
}

/* 6) Forms */
.form-control{
	border-radius:var(--radius-0);
	border-color:#DDE1E6;
}
.form-control:focus{
	border-color:var(--c-blue);box-shadow:0 0 0 2px rgba(64,108,197,.15);
}
.input-group>.input-group-append>.btn{border-radius:0}

/* 7) Header / utility links */
.header-utility a{font-size:16px;font-weight:700;color:#212529}
.header-utility a:hover{color:var(--c-blue)}

/* 8) Navbar + Megamenü */
.navbar{padding-left:0;padding-right:0}
.navbar .nav-link{font-size:18px;font-weight:600;color:#212529}
.navbar .nav-link:hover{color:var(--c-blue)}
.navbar-light .navbar-toggler{border:0}
.navbar-light .navbar-toggler:focus{outline:none}

.nav-item.mega{position:static}
.nav-item.mega .dropdown-menu{
	left:0;right:0;top:100%;
	border:0;border-radius:0;margin:0;padding:0;
	box-shadow:var(--shadow-2);
}
/*.nav-item.mega .dropdown-menu .container{padding-top:1.5rem;padding-bottom:1.5rem}*/
.nav-item.mega h6{letter-spacing:.03em}
.nav-item.mega ul li+li{margin-top:.35rem}
.nav-item.mega a{color:#212529}
.nav-item.mega a:hover{color:var(--c-blue)}
/* 1:1 kategóriacsempe */
.mega-tile{display:block;text-align:left;text-transform:uppercase;font-weight:600}
.mega-tile .square{
	width:100%;padding-top:100%;
	background:#f3f5f7 center/cover no-repeat;border-radius:var(--radius-4);
	box-shadow:inset 0 0 0 1px #eceff3;
}
.mega-tile .label{padding:.5rem 0}

/* 9a) Hero videó: teljes viewport-szélesség, szöveg doboz nélkül */
.hero.hero-video {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	max-width: none;
	overflow: hidden;
	padding: 0;
	box-sizing: border-box;
}
.hero.hero-video .hero-video-stage {
	position: relative;
	overflow: hidden;
	border-radius: 0;
	width: 100%;
	/* Képarány: alapból 16:9; betöltés után a videó valódi px aránya (JS) → cover nem vág oldalt/fent */
	aspect-ratio: var(--hero-video-ar, 16 / 9);
	min-height: 300px;
	background: #1a1a24;
}
.hero-video-el {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	z-index: 0;
}
.hero-video-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(105deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0.2) 100%);
}
.hero-video-sound-wrap {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 3;
	pointer-events: auto;
}
.hero-video-sound-btn {
	font-family: var(--font-mono, inherit);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.hero-video-sound-btn:hover {
	background: rgba(255, 255, 255, 0.18);
	border-color: rgba(255, 255, 255, 0.85);
	color: #fff;
}
.hero-video-sound-btn[aria-pressed="true"] {
	background: rgba(255, 78, 250, 0.35);
	border-color: rgba(255, 78, 250, 0.85);
}
@media (max-width: 576px) {
	.hero-video-sound-wrap {
		top: 0.65rem;
		right: 0.65rem;
	}
	.hero-video-sound-btn {
		font-size: 11px;
		padding: 0.4rem 0.65rem;
	}
}
.hero.hero-video .hero-video-caption-wrap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: clamp(56px, 10vh, 120px);
	z-index: 2;
	pointer-events: none;
}
.hero.hero-video .hero-video-caption-wrap .container {
	pointer-events: auto;
}
/* Felirat: nincs szürke „doboz” — csak árnyék + gradiens a videón */
.hero.hero-video .hero-video-caption {
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
	max-width: 42rem;
	margin: 0;
	padding: 0;
	background: transparent !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	color: #fff;
}
.hero.hero-video .hero-caption-title {
	text-shadow: 0 2px 28px rgba(0, 0, 0, 0.85), 0 1px 6px rgba(0, 0, 0, 0.65);
}
.hero.hero-video .hero-video-lead {
	font-size: clamp(0.95rem, 1.1vw + 0.85rem, 1.15rem);
	line-height: 1.55;
	max-width: 36rem;
	color: rgba(255, 255, 255, 0.98);
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.8), 0 1px 4px rgba(0, 0, 0, 0.55);
}
.hero.hero-video .hero-caption .btn-primary {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}
@media (max-width: 576px) {
	.hero.hero-video .hero-video-caption-wrap {
		bottom: 1.25rem;
	}
	.hero.hero-video .hero-caption-title {
		font-size: 1.35rem !important;
	}
}

/* 9) Hero képváltó: teljes szélesség transform NÉLKÜL (Slick translate3d nem csúszik el) */
.hero.hero--carousel {
	position: relative;
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow-x: hidden;
	box-sizing: border-box;
}
/* Csak a külső lista lehet 100% — a .slick-track szélességét a Slick számolja (összes dia px-ben) */
.hero.hero--carousel .hero-slick,
.hero.hero--carousel .hero-slick .slick-list {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.hero.hero--carousel .hero-slick .slick-list {
	min-height: 0;
	height: auto !important;
}
.hero.hero--carousel .hero-slick .slick-track {
	height: auto !important;
}
.hero.hero--carousel .hero-slick .slick-slide {
	flex-shrink: 0;
	height: auto !important;
	align-self: flex-start !important;
}
.hero.hero--carousel .hero-slick .slick-slide > div {
	width: 100%;
	max-width: 100%;
	height: auto !important;
	min-height: 0 !important;
	box-sizing: border-box;
}
.hero-slide {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	border-radius: 0;
	background: #1a1a24;
	box-sizing: border-box;
}
.hero-slide--static {
	min-height: 360px;
}
.hero-slide-media {
	position: relative;
	z-index: 0;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	line-height: 0;
}
.hero-slide-img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	vertical-align: top;
}
.hero-slide::after {
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.42) 0%,
		rgba(0, 0, 0, 0.14) 42%,
		transparent 100%
	);
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	pointer-events: none;
}
.hero-slide-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	width: 100%;
	max-width: 100%;
	/* pöttyöknek hely a szekció alján (.hero-dots); a doboz közelebb a kép aljához */
	padding-bottom: clamp(2.75rem, 7vh, 4rem);
	box-sizing: border-box;
	pointer-events: none;
}
.hero-slide-content-inner {
	pointer-events: auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
}
.hero-caption {
	padding: 1.35rem 1.65rem;
	border-radius: var(--radius-4);
	background: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.18);
	color: #fff;
	position: relative;
	max-width: min(42rem, 100%);
	margin: 0;
	text-align: left;
}
.hero-caption .hero-caption-title {
	font-size: clamp(1.2rem, 2.1vw, 1.75rem);
	margin: 0;
	line-height: 1.2;
	letter-spacing: 0.02em;
}
.hero-caption .hero-caption-title.mb-3 {
	margin-bottom: 0.85rem !important;
}
.hero-caption-desc {
	color: rgba(255, 255, 255, 0.96);
	font-size: clamp(0.92rem, 1.05vw + 0.78rem, 1.02rem);
	line-height: 1.6;
	max-width: 38rem;
	text-wrap: pretty;
}
.hero-caption .btn-primary {
	position: relative;
	z-index: 1;
}
@media (max-width: 767.98px) {
	.hero-slide--static {
		min-height: 260px;
	}
	/* Karuszél: mobilra csak a kép, szöveg/CTA nem jelenik meg */
	.hero.hero--carousel .hero-slide-content {
		display: none !important;
	}
	/* Felülírja a responsive .hero-slide min-height szabályokat: a dia magassága = kép, nincs üres sáv */
	.hero.hero--carousel .hero-slide {
		min-height: 0;
	}
	.hero-slide-content {
		padding-bottom: clamp(2.5rem, 11vw, 3.75rem);
	}
	/* Csak a kép alján lévő sávban olvasható cím — nincs külön „doboz” sáv a kép alatt */
	.hero-slide::after {
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.55) 0%,
			rgba(0, 0, 0, 0.2) 42%,
			transparent 72%
		);
	}
	.hero-caption {
		padding: 0.35rem 0 0.15rem;
		max-width: 100%;
		background: transparent !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		box-shadow: none !important;
		border-radius: 0;
	}
	.hero-caption-desc,
	.hero-caption .btn-primary {
		display: none !important;
	}
	.hero-caption .hero-caption-title {
		margin-bottom: 0 !important;
		padding: 0;
		font-size: clamp(0.9rem, 3.6vw, 1.1rem);
		line-height: 1.25;
		text-shadow:
			0 2px 18px rgba(0, 0, 0, 0.9),
			0 1px 4px rgba(0, 0, 0, 0.85);
	}
}
/* Oda-vissza nyilak a képváltó mellett */
.hero-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: rgba(255,255,255,0.85);
	color: #20604E;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s, color .2s;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.hero-arrow:hover { background: #fff; color: #20604E; }
.hero-prev { left: 16px; }
.hero-next { right: 16px; }
.hero-arrow-icon {
	width: 20px;
	height: 20px;
	background: no-repeat center/contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E");
}
.hero-next .hero-arrow-icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
}

/* Pöttyök: melyik dia aktív (rózsaszín) */
.hero-dots {
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
}
.hero-dot {
	width: 10px;
	height: 10px;
	border: none;
	border-radius: 50%;
	padding: 0;
	background: rgba(255,255,255,0.5);
	cursor: pointer;
	transition: background .2s, transform .2s;
}
.hero-dot:hover { background: rgba(255,255,255,0.8); }
.hero-dot.active {
	background: #FF4EFA;
	transform: scale(1.2);
}

@media(max-width:992px) {
	.hero-dots { bottom: 20px; }
	.hero-arrow { width: 40px; height: 40px; }
	.hero-prev { left: 10px; }
	.hero-next { right: 10px; left: auto; }
	.hero-arrow-icon { width: 16px; height: 16px; }
}

/* 10) Tabs */
.nav-tabs.nav-tabs-theme{border:none;}
.nav-tabs.nav-tabs-theme .nav-link{
	letter-spacing: 2px;
	border-radius: 0;
	border:0;border-bottom:3px solid transparent;
	font-size: 24px;
	line-height: 150%;
	background: #F3F4F7;
	margin-right: 5px;
	color:#20604E;text-transform:uppercase;font-weight:600;
}
.nav-tabs.nav-tabs-theme .nav-link.active{
	color:#fff;background: #20604E;
}

@media(max-width:1399px) {
	.nav-tabs.nav-tabs-theme .nav-link{ font-size: 18px; }
}

@media(max-width:1199px) {
	.nav-tabs.nav-tabs-theme .nav-link{ font-size: 16px; }
}

/* Főoldal — kiemelt kategória tabok: közel négyzetes dobozok, nagy gap, kép contain (teljes arány) */
.nav-tabs-home-featured{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	max-width:100%;
	border:0;
	margin:0;
	padding:0.5rem 0 0.25rem;
	list-style:none;
	gap:clamp(0.85rem, 2.8vw, 1.85rem);
	justify-content:flex-start;
	align-items:stretch;
}
@media (min-width: 768px) {
	.nav-tabs-home-featured{
		flex-wrap:nowrap;
		gap:clamp(1rem, 3vw, 2.15rem);
	}
}
.nav-tabs-home-featured .nav-item-home-featured{
	flex:0 1 clamp(148px, 42vw, 198px);
	min-width:0;
	margin:0;
	max-width:min(228px, 100%);
}
@media (min-width: 576px) {
	.nav-tabs-home-featured .nav-item-home-featured{
		flex:0 1 clamp(158px, 30vw, 210px);
		max-width:min(232px, 100%);
	}
}
@media (min-width: 992px) {
	.nav-tabs-home-featured .nav-item-home-featured{
		flex:0 1 clamp(168px, 19vw, 220px);
		max-width:236px;
	}
}
.nav-tabs-home-featured .nav-link-home-featured{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:flex-start;
	width:100%;
	height:100%;
	min-height:100%;
	padding:0.65rem 0.55rem 0.75rem;
	margin:0;
	border:2px solid #dde3ea;
	border-radius:12px;
	background:#f3f5f7;
	color:#20604E;
	text-align:center;
	text-decoration:none !important;
	font-size:0.72rem;
	line-height:1.28;
	letter-spacing:0.06em;
	text-transform:uppercase;
	font-weight:700;
	font-family:var(--font-mono, ui-monospace, monospace);
	transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease;
}
@media (min-width: 992px) {
	.nav-tabs-home-featured .nav-link-home-featured{
		font-size:0.8rem;
		padding:0.75rem 0.6rem 0.85rem;
	}
}
.nav-tabs-home-featured .home-featured-tab-thumb{
	display:block;
	width:100%;
	aspect-ratio:1 / 1;
	margin:0 0 0.55rem;
	border-radius:10px;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	background-color:#e8eef0;
	flex-shrink:0;
	border:1px solid rgba(32,96,78,0.12);
	transition:box-shadow .2s ease,border-color .2s ease;
}
.nav-tabs-home-featured .home-featured-tab-label{
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
	word-break:break-word;
	hyphens:auto;
}
.nav-tabs-home-featured .nav-link-home-featured:hover{
	background:#fff;
	border-color:#9cb8ae;
	color:#174a38;
}
.nav-tabs-home-featured .nav-link-home-featured:focus{
	outline:2px solid #3A3AAA;
	outline-offset:2px;
}
.nav-tabs-home-featured .nav-link-home-featured.active{
	background:#20604E;
	border-color:#174a38;
	color:#fff;
	box-shadow:0 8px 22px rgba(32,96,78,0.35);
	transform:translateY(-1px);
}
.nav-tabs-home-featured .nav-link-home-featured.active .home-featured-tab-thumb{
	border-color:rgba(255,255,255,0.45);
	box-shadow:0 0 0 3px rgba(255,255,255,0.35);
}
.nav-tabs-home-featured .nav-link-home-featured.active:hover{
	color:#fff;
	border-color:#143d30;
}

/* Főoldal: szürke CTA sáv szöveg — csak bal behúzás (volt: container px-5) */
section.py-5.bg-lightgray > .container.home-cta-headline-inner {
	padding-left: 1.5rem;
}

.color-green { color: var(--c-green); }
.important-color-green { color: #20604E !important; }

/* Tartalmi oldalak (subpage, landings): formázás az adatbázisbeli HTML-hez */
.subpage-content {
	max-width: 900px;
	line-height: 1.6;
}
.subpage-content p {
	margin-bottom: 1rem;
	color: var(--c-text);
}
.subpage-content h2, .subpage-content h3, .subpage-content h4 {
	margin-top: 1.75rem;
	margin-bottom: 0.75rem;
	font-weight: 700;
	color: var(--c-green);
}
.subpage-content h2 { font-size: 1.35rem; }
.subpage-content h3 { font-size: 1.15rem; }
.subpage-content h4 { font-size: 1.05rem; }
.subpage-content ul, .subpage-content ol {
	margin-bottom: 1rem;
	padding-left: 1.5rem;
}
.subpage-content li { margin-bottom: 0.35rem; }
.subpage-content a { color: var(--c-green); text-decoration: underline; }
.subpage-content a:hover { color: var(--c-dark-green); }

/* Technológia tartalom: tipográfia + reszponzív elrendezés a DB HTML-ben (inline style + .ti-content-root belüli style blokk) */
.technology-body.subpage-content {
	max-width: 100%;
}

/* 11) Product card + grid spacings (slick kompatibilis) */
.card.product{border:none;padding: 0 20px;background:#fff;height:100%;position:relative;}
.card.product .product-hash-tags { position:absolute; top:0;padding: 1px 5px; left: 20px;font-size:16px;font-weight:300;line-height:120%;letter-spacing:2px; background:rgba(86,106,121,0.05);}
.card.product .ratio{margin-top: 28px; position: relative;}
/* Kategória: egységes képmező (négyzet), kép középre; készlet badge a kép alatt, ne rálógjon */
#category-products-wrap .card.product .ratio { aspect-ratio: 1; min-height: 0; overflow: visible; }
#category-products-wrap .card.product .ratio img { object-fit: contain; width: 100%; height: 100%; display: block; }
/* Termékkép hiány / betöltési hiba: placeholder (kék ikon + szöveg) */
.card.product .product-listing-media {
	position: relative;
	width: 100%;
	min-height: 0;
}
.card.product .product-img-placeholder {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 0;
	flex: 1 1 auto;
	padding: 0.75rem 0.5rem;
	box-sizing: border-box;
	background: linear-gradient(180deg, #f5f6f9 0%, #eceef3 100%);
	color: #3A3AAA;
	text-align: center;
}
.card.product .product-img-placeholder.d-none {
	display: none !important;
}
.card.product .product-img-placeholder:not(.d-none) {
	display: flex;
}
.card.product .product-img-placeholder-icon {
	width: 56px;
	height: 56px;
	margin-bottom: 0.45rem;
	flex-shrink: 0;
}
.card.product .product-img-placeholder-text {
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.25;
	color: #3A3AAA;
	max-width: 12em;
}
#category-products-wrap .card.product .product-listing-media .product-img-placeholder:not(.d-none) {
	align-self: stretch;
	min-height: 120px;
}
#category-products-wrap .card.product .ratio .ratio-qty { bottom: -10px; right: 0; background: #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.card.product .ratio .ratio-btn-group { position:absolute; bottom: 0; left: 0; z-index:1; }
.card.product .ratio .btn-primary { font-size:14px; font-family:var(--font-mono); font-weight: 600; }
.card.product .ratio .ratio-qty { position:absolute; bottom: 0; right: 0; z-index:2; font-size: 14px; font-family: var(--font-mono); color: #282828; padding: 3px 6px; }
.card.product .card-body{padding:0rem;margin-top:22px;-ms-flex: unset; flex: unset;}
.card.product .title{font-size:18px;text-transform:uppercase;font-weight:600;letter-spacing:1px;line-height:130%;color:#000;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;}
.card.product .price{font-weight:800;font-size:20px;color:#000;background:#F3F4F7;display:inline-block;padding: 1px 6px}
.card.product .product-card-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:2px}
.card.product .product-card-price-row .small{font-size:0.75rem;font-weight:500;line-height:1.2}
.card.product .product-card-listing-description{line-height:1.2}

.card.product .product-thumbs { display:flex; flex-wrap: wrap; margin-top:12px; padding-bottom:10px; gap: 8px; }
.card.product .product-thumbs img { width: 32px; height: 32px; margin-right: 8px; border-radius:50% }
/* Színválasztó: kis termékkép (ha van), különben színkód kör */
.card.product .product-thumbs-colors > a.product-thumb-color {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	border: 1px solid rgba(0,0,0,.15); flex-shrink: 0;
	text-decoration: none; transition: border-color .15s, box-shadow .15s;
	overflow: hidden;
}
.card.product .product-thumbs-colors > a.product-thumb-color:hover { border-color: #333; }
.card.product .product-thumbs-colors > a.product-thumb-color.active { border: 2px solid #000; box-shadow: 0 0 0 1px #fff; }
.card.product .product-thumbs-colors > a.product-thumb-color.product-thumb-color-has-img { background: #eee !important; padding: 0; }
.card.product .product-thumbs-colors > a.product-thumb-color .product-thumb-color-img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; border-radius: 50%; margin: 0; vertical-align: middle; }
/* Kategória termék kártyák közötti nagyobb hely */
#category-products-wrap .category-product-col { margin-bottom: 1.5rem; }
@media (min-width: 992px) {
	#category-products-wrap .category-product-col { margin-bottom: 1.75rem; }
}
/* Kategória oldal: H1 szín (#3A3AAA – máshol is használt) */
.category-page-title { color: #3A3AAA; }

/* Szűrő elrejtve: termékoszlop teljes szélesség, ne maradjon üres hely */
#category-layout.category-filter-hidden #product-container {
	flex: 0 0 100%;
	max-width: 100%;
}

/* Szűrő oldalsáv: csak színes karikák, két oszlop */
.filter-color-grid {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem 0.75rem;
}
/* .filter-acc label { display:block } felülírása – kör + felirat egy sorban */
.filter-acc label.filter-color-option,
.filter-color-option {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	cursor: pointer;
	margin: 0;
	min-width: 0;
}
.filter-color-circle {
	display: block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid rgba(0,0,0,.2);
	flex-shrink: 0;
	align-self: center;
}
.filter-color-option input:checked + .filter-color-circle { border-color: #0a2b22; box-shadow: 0 0 0 1px #0a2b22; }
.filter-color-label {
	font-size: 0.7rem;
	line-height: 1.25;
	color: #555;
	margin: 0;
	min-width: 0;
	flex: 1 1 auto;
	align-self: center;
}

/* Ár szűrő: csúszkák */
.filter-price-slider-wrap .custom-range { width: 100%; margin-bottom: 0.25rem; }
.filter-price-val { font-weight: 600; color: #0a2b22; }

.ico-info {
	width:16px;height:16px;background:no-repeat center/contain;display:inline-block; color: #fff;
	vertical-align: -4px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><circle cx='12' cy='12' r='9' stroke='%23fff' stroke-width='2'/><line x1='12' y1='6.75' x2='12' y2='13' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/><circle cx='12' cy='16.75' r='1.6' fill='%23fff'/></svg>");
}

/* 12) Slick overrides (nyilak, margók) */
.slick-list{margin:0 -12px}
.products-slick .product{margin:0 12px}
/* Főoldali kiemelt tab: fix kép magasság, egy sor slick */
.products-slick-home .card.product .ratio { height: 280px; min-height: 280px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.products-slick-home .card.product .ratio img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.products-slick-home .card.product .ratio .ratio-qty { bottom: 0; right: 0; }
.slick-arrow{
	width:38px;height:38px;border:1px solid var(--c-gray-500);border-radius:50%;
	position:absolute;top:-56px;right:0;background:#fff;cursor:pointer;
}
.slick-prev{right:48px}
.slick-prev:focus,.slick-next:focus{outline:none}
.slick-prev::after,.slick-next::after{
	content:"";display:block;width:14px;height:14px;margin:auto;
	transform:translateY(10px) rotate(45deg);
	border-top:2px solid #424242;border-right:2px solid #424242;
}
.slick-prev::after{transform:translateY(10px) rotate(-135deg)}

/* 13) Discount strip */
.discount-strip{
	background:#fff;border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB;
}
.triangle-left{
	width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;
	border-right:28px solid #000;
}

/* 14) Feature (zöld) szakaszok */
.section-green{background:#1f6b4e;color:#fff}
.section-green .card{border:0;border-radius:var(--radius-4);box-shadow:var(--shadow-1)}
.section-green .card-img-top{border-top-left-radius:var(--radius-4);border-top-right-radius:var(--radius-4)}

.slick-track
{
		display: flex !important;
}

.slick-slide
{
		height: inherit !important;
}

.slick-slide > div {
	height: 100%;
}

/* 15) Footer */
footer{background:#0f172a;color:#e5e7eb}
footer a{color:#fff}
footer .brandline{letter-spacing:.25em}

/* 16) Utility helpers (position nélkül, rugalmas elrendezéshez) */
.ratio{position:relative;display:flex;justify-content: center;align-items: center; -ms-flex: 1 1 auto; flex: 1 1 auto;}
.ratio img/*,.ratio>*:first-child*/{max-width:100%;max-height:100%;object-fit:cover}
.rounded-4{border-radius:var(--radius-4)}
.shadow-1{box-shadow:var(--shadow-1)}
.shadow-2{box-shadow:var(--shadow-2)}
.bg-solidblue{background:var(--c-solidblue)}
.text-darkgrey{color:var(--c-darkgrey)}
.text-blue{color:var(--c-blue)}
.bg-blue{background:var(--c-blue)}
.bg-lightblue{background:var(--c-lightblue)}
.bg-light{background:var(--c-bg-light)}
.badge-dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.upper{ text-transform:uppercase }

/* 17) Icon primitives (CSS-be ágyazott SVG) */
.icon-18{display:inline-block;width:18px;height:18px;background-repeat:no-repeat;background-position:center;background-size:contain}
.icon-search{background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 fill=%22none%22 viewBox=%220 0 24 24%22 stroke=%22%23ffffff%22 stroke-width=%222%22><circle cx=%2211%22 cy=%2211%22 r=%228%22/><path d=%22M21 21l-4.3-4.3%22/></svg>')}
.icon-arrow-r{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23424242' stroke-width='2'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E")}

/* 18) Responsive finomhangolás */
@media(max-width:1199.98px){
	/*.nav-item.mega .dropdown-menu .container{padding-top:1rem;padding-bottom:1rem}*/
}
@media(max-width:991.98px){
	.navbar .nav-link{padding-top:.75rem;padding-bottom:.75rem}
	.slick-arrow{top:-48px}
	.hero-slide{min-height:360px}
}
@media(max-width:575.98px){
	.hero-slide{min-height:280px}
	.nav-tabs .nav-link{font-size:.85rem}
}

/* === Social icons (4 db) === */
.social-list{display:flex;align-items:center}
.social-list a{
	width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
	border-radius:50%; background:#ffffff10; transition:background .2s ease, transform .15s ease;
	margin-right:8px;
}
.social-list a:last-child{margin-right:0}
.social-list a:hover{background:#ffffff22; transform:translateY(-1px)}

.icon-20{width:20px;height:20px;display:inline-block;background:no-repeat center/contain}

/* Facebook */
.icon-fb{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M22 12a10 10 0 1 0-11.6 9.9v-7h-2.6V12h2.6V9.8c0-2.6 1.5-4 3.8-4 1.1 0 2.2.2 2.2.2v2.4h-1.2c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.45 2.9h-2.35v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E")}
/* Instagram */
.icon-ig{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.5' fill='%23ffffff' stroke='none'/%3E%3C/svg%3E")}
/* LinkedIn */
.icon-li{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1 4.98 2.12 4.98 3.5zM0 8h5v16H0zM8 8h4.8v2.2h.07c.67-1.27 2.3-2.6 4.73-2.6 5.06 0 6 3.33 6 7.66V24h-5V16.6c0-1.77-.03-4.05-2.47-4.05-2.47 0-2.85 1.93-2.85 3.93V24H8z'/%3E%3C/svg%3E")}
/* YouTube */
.icon-yt{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M23.5 6.2a3 3 0 0 0-2.1-2.1C19.3 3.5 12 3.5 12 3.5s-7.3 0-9.4.6A3 3 0 0 0 .5 6.2 31.4 31.4 0 0 0 0 12a31.4 31.4 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c2.1.6 9.4.6 9.4.6s7.3 0 9.4-.6a3 3 0 0 0 2.1-2.1A31.4 31.4 0 0 0 24 12a31.4 31.4 0 0 0-.5-5.8zM9.75 15.5V8.5l6.25 3.5-6.25 3.5z'/%3E%3C/svg%3E")}


/* ======= HEADER (hero felett) ======= */
.header-wrap{border-bottom:1px solid #FF4EFA} /* finom rózsás vonal a képen */
.header-top{padding:.75rem 0}
/* Fejléc logó — arány megmarad, max. magasság + kis bal margó */
.header-brand img {
	height: auto !important;
	width: auto !important;
	max-width: 100% !important;
	max-height: 60px;
	margin-left: 6px;
	display: block;
	object-fit: contain;
	vertical-align: middle;
}

/* Asztali fejléc: kereső jobbra a kosárhoz közel, nagyobb mező */
.header-top-inner .header-top-right{ gap: 0; }
/* Asztali kereső: szélesebb mező + dropdown (volt: .header-search-wrap.header-search-wrap — hibás dupla osztály) */
@media (min-width: 992px) {
	.header-search-wrap.header-search-wrap-desktop {
		flex: 1 1 420px;
		min-width: 380px;
		max-width: 560px;
	}
}
.header-search-wrap:not(.header-search-wrap-desktop) {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
}
.header-search{
	position:relative; width:100%;
}
.header-top .header-search .form-control{
	height: 44px; border: none; border-radius: 999px; padding-left: 44px; background: #F3F4F7; font-size: 15px;
}
.header-search .form-control{
	height:40px; border:none; border-radius:999px; padding-left:42px; background:#F3F4F7;
}
.header-search .form-control::placeholder{color:#9aa0a6}
.header-search .ico{
	position:absolute; left:12px; top:50%; transform:translateY(-50%);
	width:18px; height:18px; background:no-repeat center/contain;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23444444' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
	opacity:.9;
}

/* util links (Kapcsolat, Emblémázás, Katalógusok) – ugyanaz a betűtípus mint Kosár/Regisztráció, 13px, kék, hover rózsaszín */
.header-utils a{
	font-family: var(--font-mono);
	font-size: 13px;
	font-weight: 700;
	color: #3A3AAA;
	margin-right: 18px;
}
.header-utils a:last-child{margin-right:0}
.header-utils a:hover{color:#C75B7A}

/* auth gombok (jobb felső) */
.btn-pill{
	height:36px; line-height:36px; padding:0 14px; border-radius:999px;
	font-size:13px; font-weight:700; letter-spacing:.02em; text-transform:none;
}
.btn-reg{background:#ffffff;border:1px solid #ffe7fe;color:#3A3AAA}
.btn-reg:hover{background:#fafaff}
.btn-cart{background:#ffe7fe;border:1px solid #ffe7fe;color:#3A3AAA}
.btn-cart:hover{background:#fafaff}
.btn-login{background:#3A3AAA;border:1px solid #3A3AAA;color:#fff}
.btn-login:hover{background:#5d5dd5;filter:brightness(.98)}
.btn-login2{background:#3A3AAA;border:1px solid #3A3AAA;color:#fff}
.btn-login2:hover{background:#5d5dd5;filter:brightness(.98)}
.btn-login .ico-user{
	width:16px;height:16px;margin-right:8px;background:no-repeat center/contain;display:inline-block;
	vertical-align: -3px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23FF4EFA' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M5.5 21a6.5 6.5 0 0 1 13 0'/%3E%3C/svg%3E");
}

/* CART / BAG ikon */
.btn-cart .ico-cart {
	width:16px;height:16px;background:no-repeat center/contain;display:inline-block;
	vertical-align: -3px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9h12l-1 11H7L6 9z'/><path d='M9 9V7a3 3 0 0 1 6 0v2'/></svg>");
}

/* USER ikon */
.btn-login2 .ico-user2 {
	width:16px;height:16px;background:no-repeat center/contain;display:inline-block;
	vertical-align: -3px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M5.5 21a6.5 6.5 0 0 1 13 0'/></svg>");
}

/* nyelvválasztó (fejléc) */
.btn-lang {
	background: transparent;
	border: 1px solid rgba(58, 58, 170, 0.35);
	color: #3A3AAA;
	min-width: 48px;
}
.btn-lang:hover {
	background: rgba(58, 58, 170, 0.08);
	border-color: #3A3AAA;
	color: #3A3AAA;
}
.btn-lang .lang-current {
	letter-spacing: 0.06em;
}
.lang-dropdown .dropdown-item.active {
	background-color: rgba(58, 58, 170, 0.12);
	color: #3A3AAA;
	font-weight: 700;
}
.lang-dropdown .dropdown-item:hover {
	background-color: rgba(58, 58, 170, 0.06);
}

@media(max-width:767px) {
	.header-brand img {
		height: auto !important;
		width: auto !important;
		max-width: 100% !important;
		max-height: 34px;
		margin-left: 6px;
	}
}

/* főmenü sáv – nagyobb betű, kék aláhúzás/kiemelés */
.header-nav{/*border-top:1px solid #f4e1f2*/}
.header-nav .navbar{padding:0}
.header-nav .navbar-nav{
	align-items: center;
}
.header-nav .navbar .nav-item{
	display: flex;
	align-items: center;
}
.header-nav .navbar .nav-link{
	padding: .75rem 1rem;
	font-size: 17px;
	font-weight: 600;
	color: #212529;
	display: inline-flex;
	align-items: center;
	line-height: 1.3;
	position: relative;
}
.header-nav .navbar .nav-link:hover,
.header-nav .navbar .nav-link:focus,
.header-nav .navbar .nav-link.active{color:#3A3AAA}
.header-nav .navbar .nav-link:hover::after,
.header-nav .navbar .nav-link.active::after,
.header-nav .navbar .nav-item.show > .nav-link::after{
	content:""; position: absolute; left: 1rem; right: 1rem; bottom: 0; height: 3px; background: #3A3AAA; border-radius: 2px;
}
.header-nav .navbar .nav-link:focus{outline: none;}
/* Kategória link + nyíl: flex, hogy a nyíl mindig függőlegesen középen maradjon (többsoros címnél is) */
.header-nav .navbar .nav-item.mega .nav-link{
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
.header-nav .navbar .nav-item.mega .nav-link .caret{
	flex-shrink: 0;
	margin-left: 6px;
}
.header-nav .navbar .nav-item .caret{
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 6px;
	vertical-align: middle;
	background: no-repeat center/contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23212529' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	opacity: .8;
}
.header-nav .navbar .nav-link:hover .caret,
.header-nav .navbar .nav-item.show .nav-link .caret{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%233A3AAA' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

@media(min-width: 992px) and (max-width:1399px) {
	.header-nav .navbar .nav-link{ font-size: 15px; padding:.6rem .75rem; }
	.header-utils a{ font-size: 13px; }
}

.header-top .navbar-toggler-icon {
	vertical-align: -5px;
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* megamenü — egy Termékek menüpont, 3 oszlop: kategóriák | alkategóriák | képek */
.nav-item.mega{position:static}
.nav-item.mega .dropdown-menu{
	left:0; right:0; top:100%; border:0; border-radius:0; padding:0; margin:0; box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.nav-item.mega.mega-single .dropdown-menu{ min-height: 280px; }
.mega-col-cats{ border-right: 1px solid #eee; padding: 1.25rem 0; background: #fafafa; }
.mega-cats-header{ padding: 0 1rem; font-size: 1.1rem; font-weight: 700; letter-spacing: .03em; }
.mega-cats-list .mega-cat-item{ text-decoration: none; transition: background .15s, border-color .15s, color .15s; border-left: 4px solid transparent; font-size: 1.15rem; padding: .4rem 1rem; }
.mega-cats-list .mega-cat-item:hover,
.mega-cats-list .mega-cat-item.active{ background: rgba(45,45,133,.18); border-left-color: #2d2d85; color: #1a1a5c; font-weight: 600; }
.mega-col-content{ position: relative; min-height: 260px; }
.mega-panel{ display: none; }
.mega-panel.active{ display: block; }
.mega-view-all{ color: #3A3AAA !important; text-decoration: none; font-size: 1.3rem; font-family: var(--font-ui); font-weight: 600; }
.mega-view-all:hover{ text-decoration: underline; color: #2d2d85 !important; }
.mega-panel a,
.mega-panel ul a{ font-size: 1.15rem; font-family: var(--font-ui); transition: color .15s, background .15s; }
.mega-panel ul a:hover{ color: #1a1a5c !important; background: rgba(45,45,133,.14); }
.mega-tile{ display: block; text-align: left; text-decoration: none; color: #212529; font-family: var(--font-ui); border: none; box-shadow: none; font-size: 1.05rem; }
.mega-tile:hover{ color: #2d2d85; }
.mega-tile:focus{ outline: none; border: none; box-shadow: none; }
.mega-tile-square{ width: 100%; padding-top: 100%; background-size: cover; background-position: center; background-color: #eee; border-radius: 8px; border: none; box-shadow: none; }
.mega-tile:focus .mega-tile-square,
.mega-tile:hover .mega-tile-square{ border: none; box-shadow: none; }
.mega-tile-label{ padding: .4rem 0 0; font-size: .95rem; font-weight: 600; }
.mega-mobile-viewall{ color: #3A3AAA !important; text-decoration: none; font-size: 1.05rem; }
.mega-mobile-viewall:hover{ text-decoration: underline; }
/* Mobil drill-down menü – teljes szélesség, ne legyen Termékek bal oldalon */
.navbar-nav.d-lg-none .nav-item{ flex-direction: column; align-items: stretch; width: 100%; }
.navbar-nav.d-lg-none .nav-item .collapse{ width: 100%; min-width: 0; }
#megaMobileProducts.collapsing,
#megaMobileProducts.show{ width: 100%; }
/* Nyitott állapotban ne legyen a nagy Termékek gomb, csak a drill tartalom (← Termékek + kategóriák) */
.navbar-nav.d-lg-none .nav-item:has(#megaMobileProducts.show) > button[data-target="#megaMobileProducts"]{ display: none; }
.mega-mobile-drill{ position: relative; min-height: 200px; width: 100%; }
.mega-mobile-drill .mega-mobile-level{ background: #fff; width: 100%; }
.mega-mobile-drill .mega-mobile-root{ font-size: 1.05rem; font-weight: 500; text-decoration: none; }
.mega-mobile-drill .mega-mobile-back{ font-size: 1rem; font-weight: 600; color: #212529; text-decoration: none; }
.mega-mobile-drill .mega-mobile-sub ul a{ font-size: 1.05rem; padding: 0.5rem 0; }
.mega-mobile-drill .mega-mobile-sub .mega-mobile-viewall{ font-size: 1.05rem; }

.header-nav .navbar-nav .dropdown-toggle::after { display:none; }

/* mobil toggler */
.navbar-light .navbar-toggler{border:0; padding:.8rem}
.navbar-light .navbar-toggler-icon{
	width:24px;height:18px;background:
		linear-gradient(#374151,#374151) 0 0/100% 2px no-repeat,
		linear-gradient(#374151,#374151) 0 8px/100% 2px no-repeat,
		linear-gradient(#374151,#374151) 0 16px/100% 2px no-repeat;
}

/* link kiemelések jobbra (Leárazás, Ajánlat) */
.navbar .nav-link.link-sale{color:#d946ef;font-weight:400;}
.navbar .nav-link.link-offer{color:#7c3aed;font-weight:400;}

/* reszponzív finomhangolás */
@media (max-width:991.98px){
	.header-search{max-width:none;margin-top:.75rem}
	.header-utils{display:none}
}


/* === Újdonságok kiemelés + Kategória kártya === */
.section-highlight .card-category.card-category--lifestyle{
	background:transparent;
	border:0;
	padding:0;
	border-radius:0;
	box-shadow:none;
}
.section-highlight .banner{
	border-radius:4px; overflow:hidden; position:relative;
}
.section-highlight .banner.home-branding-banner{
	background-color:#b8b8bc;
	background-size:cover;
	background-position:center;
	aspect-ratio:1024 / 800;
	min-height:min(72vw, 520px);
}
.home-branding-banner__shade{
	position:absolute;
	inset:0;
	pointer-events:none;
	background:linear-gradient(
		to top,
		rgba(0, 0, 0, 0.62) 0%,
		rgba(0, 0, 0, 0.28) 42%,
		rgba(0, 0, 0, 0.06) 68%,
		transparent 100%
	);
}
.home-branding-banner__headline{
	position:absolute;
	left:clamp(14px, 3.5vw, 28px);
	right:clamp(14px, 3.5vw, 28px);
	bottom:clamp(14px, 3.5vw, 28px);
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
	justify-content:space-between;
	gap:1rem 1.5rem;
}
.home-branding-banner__copy{
	flex:1 1 12rem;
	max-width:min(36rem, calc(100% - 1rem));
}
.home-branding-banner__title{
	margin:0 0 0.5rem;
	color:#fff;
	font-size:clamp(1.05rem, 2.1vw, 1.65rem);
	line-height:1.22;
	letter-spacing:0.02em;
	text-wrap:balance;
	text-shadow:0 1px 2px rgba(0,0,0,.35), 0 2px 24px rgba(0,0,0,.25);
}
.home-branding-banner__subtitle{
	margin:0;
	color:rgba(255, 255, 255, 0.94);
	font-size:clamp(0.9rem, 1.55vw, 1.1rem);
	line-height:1.4;
	max-width:38rem;
	text-wrap:balance;
	text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.home-branding-banner__cta{
	flex:0 1 auto;
	align-self:flex-end;
	white-space:normal;
	text-align:center;
	line-height:1.25;
	max-width:min(20rem, 100%);
	padding:0.55rem 1.1rem;
	box-shadow:0 4px 18px rgba(0,0,0,.12);
}
@media (max-width: 767.98px){
	.section-highlight .banner.home-branding-banner{
		aspect-ratio:auto;
		min-height:clamp(280px, 88vw, 440px);
	}
	.home-branding-banner__headline{
		flex-direction:column;
		align-items:stretch;
	}
	.home-branding-banner__copy{
		max-width:100%;
	}
	.home-branding-banner__cta{
		align-self:stretch;
		max-width:none;
	}
}
.section-highlight .banner .headline{
	position:absolute; left:24px; bottom:24px; right:24px;
	color:#fff;
}
.btn-pill-white{
	background:#fff; border:1px solid #e8e8ee; color:#2e2e35;
	border-radius:999px; font-weight:700; text-transform:none; padding:.5rem .95rem;
}
.btn-pill-white .arr, .btn-pill .arr{display:inline-block;width:14px;height:14px;margin-left:6px;
	background:no-repeat center/contain;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%232e2e35' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E")}
.btn-pill .arr{
vertical-align: -3px;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23ff43d1' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E")
}
.card-category{
	background:#fff; border:1px solid #f2f2f6; border-radius:10px; padding:18px 18px 24px 18px; height:100%;
}
.card-category .title{
	font-size:24px; font-weight:800; text-transform:uppercase; color:#ff43d1; letter-spacing:.02em;
}
.btn-circle{
	width:36px;height:36px;border-radius:50%;border:1px solid #eee; background:#fff;
	display:inline-flex;align-items:center;justify-content:center;
}
.btn-circle .arr{
	width:16px;height:16px;background:no-repeat center/contain;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23ff43d1' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E");
}

.card-category--lifestyle__media{
	border-radius:8px;
	overflow:hidden;
	background:transparent;
	aspect-ratio:1 / 1;
	width:100%;
}
.card-category--lifestyle__img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.card-category--lifestyle__text{
	margin:0 0 1rem;
	font-size:clamp(1rem, 2.1vw, 1.35rem);
	font-weight:800;
	line-height:1.28;
	color:#ff43d1;
	letter-spacing:0.02em;
	text-wrap:balance;
}
.card-category--lifestyle__cta{
	white-space:normal;
	line-height:1.35;
	padding:0.65rem 1rem;
	font-size:clamp(0.78rem, 1.35vw, 0.95rem);
}

/* === Bézs sáv + bal accordion + termék slick === */
.section-beige{background:#e7d7c7;}
.filter-acc .card{border:0;border-radius:0px;background:transparent;border-bottom:1px solid #e9e6df !important;}
.filter-acc .card+.card{margin-top:10px}
.filter-acc .category-root-nav-card .category-root-nav-link{text-decoration:none;font-size:15px;padding:2px 0;line-height:1.35}
.filter-acc .category-root-nav-card .category-root-nav-link:hover{text-decoration:underline;color:#111!important}
.filter-acc .card-header{
	background:transparent;border:none;border-radius:0px;padding:.75rem 1rem;
}
.filter-acc .btn-link{
	color:#2b2b2b;
	font-weight: 600;
	padding:0; font-size:14px; text-transform: uppercase;
	font-size: 26px; letter-spacing: 2px; line-height: 120%;
	font-family:var(--font-mono);
	text-decoration: none !important;
}
.filter-acc .card-body{
	border-top:1px solid #e9e6df;border-radius:0;
	background:#fff; font-size:13px; color:#6b7280;
}
/*.card:has(.collapse.show) .card-header { background:#fff }*/

/* termék kártya apró jelzés + új badge */
.product .meta-row{font-size:10px; letter-spacing:.12em; color:#b3b3bb}
.badge-new{
	display:inline-block;font-size:10px;font-weight:700; padding:.12rem .35rem; border-radius:6px;
	color:#fff;background:#6dd400
}

/* === Discount strip (lila felirat + zöld gomb) === */
.discount-strip{background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee}
.discount-strip .title{
	font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#e64adf
}
@media(min-width: 992px) {
	.discount-strip .title{
		font-size: 38px;
	}
}
.btn-green{
	background:#169b58;border:1px solid #169b58;color:#fff;border-radius:999px;
	font-size:13px;font-weight:700;text-transform:none;padding:.45rem .9rem;
	letter-spacing: 1px; line-height: 120%;
	font-family:var(--font-mono);
}
.btn-green .arr{
	display:inline-block;width:14px;height:14px;margin-left:6px;background:no-repeat center/contain;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23ff43d1' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E");
}

/* === Zöld szakasz (felső nagy kép + jobb szöveg + alatta 3 tech kártya) === */
.section-green-hero{background:#1f6b4e;color:#fff}
.section-green-hero .label-sm{
	opacity:.85; font-size:22px; font-weight:400; margin-bottom:.5rem;
}
.section-green-hero .home-green-hero__title{
	margin:0 0 1rem;
	font-size:clamp(1.2rem, 2.6vw, 1.85rem);
	line-height:1.22;
	letter-spacing:0.05em;
	text-transform:uppercase;
	color:#fff;
}
.section-green-hero .home-green-hero__lead{
	margin:0 0 1.35rem;
	font-size:clamp(0.95rem, 1.35vw, 1.08rem);
	line-height:1.55;
	color:#fff;
	opacity:0.93;
	text-wrap:pretty;
}
.section-green-hero .home-green-hero__btn{
	white-space:normal;
	line-height:1.35;
	text-align:center;
	max-width:100%;
	display:inline-block;
}
@media (max-width: 991.98px){
	.section-green-hero .home-green-hero__btn{
		width:100%;
	}
}
.btn-pink{
	background:#ff3fd8;border:1px solid #ff3fd8;color:#fff;border-radius:999px;
	font-size:13px;font-weight:700;text-transform:none;padding:.45rem .9rem;
	letter-spacing: 1px; line-height: 120%;
	font-family:var(--font-mono);
}
.btn-pink .arr{display:inline-block;width:14px;height:14px;margin-left:6px;background:no-repeat center/contain;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23ffffff' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E")}
.section-green-hero .hero-img{
	border-radius:4px; overflow:hidden;
}
.section-green-hero .hero-img--video{
	background:#0a1f18;
}
.section-green-hero .home-green-hero-video{
	display:block;
	width:100%;
	height:auto;
	vertical-align:top;
}
.section-green-hero .home-green-video-hover-zone{
	cursor:default;
}
.section-green-hero video.home-green-hero-video::-webkit-media-controls,
.section-green-hero video.home-green-tech-video::-webkit-media-controls{
	display:none !important;
}
.section-green-hero video.home-green-hero-video::-webkit-media-controls-enclosure,
.section-green-hero video.home-green-tech-video::-webkit-media-controls-enclosure{
	display:none !important;
}
.section-green-hero .tech-card .pic.pic--video{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:16 / 10;
	min-height:180px;
	background:#0a1f18;
	overflow:hidden;
}
.section-green-hero .home-green-tech-video{
	width:100%;
	height:100%;
	object-fit:contain;
}
.section-green-hero .tech-card .body p{
	margin-bottom:0.5rem;
}
.section-green-hero .home-green-tech-link{
	color:#fff;
	font-weight:600;
	font-size:15px;
	text-decoration:underline;
}
.section-green-hero .home-green-tech-link:hover{
	color:#fda5e8;
}

/* Tech kártyák */
.tech-card{background:transparent;border-radius:0px;overflow:hidden;color:#D9D9D9}
.tech-card .head{font-weight:600;font-size: 28px;margin:8px 3px}
.tech-card .pic{position:relative}
.tech-card .pic .btn-play{
	position:absolute; right:10px; bottom:0px; width:36px; height:36px; border-radius:0;
	border:0; background:#fff; display:inline-flex; align-items:center; justify-content:center;
}
.tech-card .btn-play:before{
	content:""; display:block; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:9px solid #1f6b4e; margin-left:2px;
}
.tech-card .body{font-size:18px; opacity:1; color: #fff; margin:10px 16px 14px}
.tech-card .btn-more{
	position:absolute; right:0px; bottom:0px; background:#fff; color:#ff43d1; border:0; border-radius:0;
	font-size:16px; font-weight:600; padding:.45rem .8rem;
}

/* === Fehér CTA blokk + sarok dísz (rózsaszín háromszög) === */
.cta-white{background:#fff;color:#0f172a}
.cta-white .kicker{font-size:18px; color:#1a1a1a}
.cta-white .title{font-weight:800; font-size:38px; text-transform:uppercase; letter-spacing:2px}

.cta-white--team .home-team-block__title{
	margin:0 0 1.25rem;
	font-weight:800;
	font-size:clamp(1.65rem, 3.5vw, 2.35rem);
	line-height:1.2;
	letter-spacing:0.03em;
	color:#0f172a;
}
.cta-white--team .home-team-block__body{
	max-width:48rem;
	font-size:clamp(1rem, 1.25vw, 1.125rem);
	line-height:1.65;
	color:#1f2937;
}
.cta-white--team .home-team-block__lead{
	margin:0 0 1rem;
	text-wrap:pretty;
}
.cta-white--team .home-team-block__closing{
	margin:1.35rem 0 0;
	font-weight:700;
	font-size:clamp(1.05rem, 1.35vw, 1.2rem);
	line-height:1.45;
	color:#c026d3;
	letter-spacing:0.02em;
	text-wrap:balance;
}
.cta-white--team .home-team-block__photo-wrap{
	margin:0;
	border-radius:4px;
	overflow:hidden;
	border:1px solid rgba(0,0,0,.06);
	background:#f0f0f0;
}
.cta-white--team .home-team-block__photo{
	width:100%;
	height:auto;
	display:block;
	vertical-align:top;
	object-fit:cover;
}

/* Rólunk hero: csapatkép */
.about-hero__team-photo{
	border-radius:4px;
	overflow:hidden;
	border:1px solid rgba(0,0,0,.06);
	background:#f0f0f0;
}
.about-hero__team-photo img{
	object-fit:cover;
	vertical-align:top;
}
.cta-white--team .home-team-block__accent-img{
	max-width:min(200px, 42vw);
	height:auto;
	display:block;
}
@media (max-width: 991.98px){
	.cta-white--team .home-team-block__accent-img{
		max-width:140px;
	}
}
.corner-accent{
	position:relative;
}
.corner-accent:after{
	content:""; position:absolute; right:24px; bottom:-24px; width:0; height:0;
	border-left:22px solid transparent; border-right:22px solid transparent; border-top:28px solid #ff3fd8;
	filter: drop-shadow(0 6px 8px rgba(0,0,0,.08));
}

/* ===== Footer (sötétzöld blokk + alsó vékony sor) ===== */
.footer{background:#0f3a31;color:#e8f2ef}
.footer .footer-brand-logo{max-width:168px;width:auto;height:auto;display:block}
@media(max-width:767.98px){.footer .footer-brand-logo{max-width:148px}}
.footer .lead{font-weight:800}
.footer .copybrand{letter-spacing:.35em}

.footer .btn-mini{
	background:rgba(255,255,255,0.25);border:none;color:#FF4EFA;
	border-radius:0px;font-size:16px;font-weight:600;text-transform:uppercase;
	padding: 10px 24px; letter-spacing:1px;
}
.footer .btn-mini.footer-contact-btn{
	text-transform:none;
	letter-spacing:0.04em;
}
.footer .footer-contact-phones{
	color:#fff;
	font-size:0.95rem;
	line-height:1.45;
	max-width:26rem;
}
.footer .footer-contact-phones__line{
	font-weight:600;
	margin-bottom:0.35rem;
}
.footer .footer-contact-phones__hours{
	opacity:0.92;
	font-size:0.875rem;
	font-weight:400;
}
.footer .btn-mini:hover{filter:brightness(.98)}

.footer .foot-list h6{
	font-size:12px; text-transform:uppercase; letter-spacing:.08em;
	font-weight:800; color:#cde6e0; margin-bottom:.6rem;
}
.footer .foot-list ul{list-style:none;padding:0;margin:0}
.footer .foot-list li+li{margin-top:.35rem}
.footer .foot-list a{
	color:#e8f2ef; font-size:12px; text-transform:uppercase; letter-spacing:.06em;
	opacity:.9;
}
.footer .foot-list a:hover{opacity:1}

.footer .footer-tech-columns{
	margin-top:0.35rem;
}
.footer .footer-tech-link-list .footer-tech-link{
	display:inline-block;
	color:rgba(255, 255, 255, 0.92);
	font-size:12px;
	font-weight:500;
	line-height:1.35;
	text-decoration:none;
	text-transform:none;
	letter-spacing:0.02em;
}
.footer .footer-tech-link-list .footer-tech-link:hover{
	color:#fff;
	text-decoration:underline;
}

.footer .social-list a{background:#ffffff14;border:1px solid #ffffff22}
.footer .social-list a:hover{background:#ffffff24}

.footer .footer-logo img{height:72px}
.footer .footer-logo .copybrand{margin-top:.6rem;font-size:14px;color:#d9ebe7}

/* alsó keskeny sáv */
.footer-meta{
	background:#fff;color:#1D1D1B;font-size:12px;
}
.footer-meta .sep{display:inline-block;margin:0 .9rem;opacity:.6}
.footer-meta a{color:#1D1D1B}
.footer-meta a:hover{color:#444}


/* === Termékfej === */
.prod-wrap{border-bottom:1px solid var(--c-line)}
.prod-title{font-size:24px;font-weight:800;line-height:1.25;margin:2px 0 10px}
.prod-tags .tag{display:inline-block;font-family:var(--font-ui);font-size:13px;padding:4px 8px;border-radius:0px;background:#e8d7c4;color:#14332a;margin-right:6px}
.prod-tags .tag-2 { background: #14332a; color: #fff; }
.prod-tags .tag-3 { background: #fff; color: #444; }
.prod-price{font-size:13px;color:#777}
.prod-price strong{font-size:14px;color:#000}
.prod-price a {font-family:var(--font-ui);}

/* Gallery */
.prod-wrap .thumbs-col{max-width:72px}
.prod-wrap .thumbs{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.prod-wrap .thumbs .t{width:56px;height:56px;min-width:56px;min-height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;overflow:hidden;border:1px solid #eee;border-radius:4px}
.prod-wrap .thumbs .t img{width:100%;height:100%;object-fit:cover}

/* Desktop: sok thumb → max magasság = főkép magassága (max 560px), vertikális görgetés */
@media (min-width: 992px) {
	.prod-wrap .thumbs-col {
		align-self: flex-start;
	}
	.prod-wrap #thumbs.thumbs-desktop-scroll {
		max-height: min(560px, var(--product-thumb-strip-max, 560px));
		overflow-y: auto;
		overflow-x: hidden;
		padding-right: 6px;
		margin-right: -4px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: rgba(58, 58, 170, 0.55) #e8e8f0;
	}
	.prod-wrap #thumbs.thumbs-desktop-scroll::-webkit-scrollbar {
		width: 9px;
	}
	.prod-wrap #thumbs.thumbs-desktop-scroll::-webkit-scrollbar-track {
		background: linear-gradient(90deg, rgba(232,232,240,0.3), #e8e8f0 40%, #e8e8f0);
		border-radius: 10px;
		margin: 6px 0;
	}
	.prod-wrap #thumbs.thumbs-desktop-scroll::-webkit-scrollbar-thumb {
		background: linear-gradient(180deg, #6a6ac8 0%, #3A3AAA 42%, #2a2a88 100%);
		border-radius: 10px;
		border: 2px solid #e8e8f0;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
	}
	.prod-wrap #thumbs.thumbs-desktop-scroll::-webkit-scrollbar-thumb:hover {
		background: linear-gradient(180deg, #7878d4 0%, #4a4ab0 100%);
	}
}

@media(min-width:1700px) {
	.prod-wrap .thumbs-col{max-width:144px}
	.prod-wrap .thumbs .t{width:112px;height:112px;min-width:112px;min-height:112px;}
}
.prod-wrap .thumbs .t.active{outline:1px solid rgba(0,0,0,0.4)}
.prod-wrap .image-main{display:flex;align-items:center;justify-content:center;background:#fff;min-height:320px;max-height:560px}
.prod-wrap .image-main img{max-width:90%;max-height:560px;width:auto;height:auto;object-fit:contain}

/* Jobb hasáb */
.muted{color:var(--c-muted)}
.prod-wrap .color-dots{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:500px}
.prod-wrap .color-dot{width:40px;height:40px;border-radius:50%;border:1px solid #ccc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;text-decoration:none;color:inherit;overflow:hidden;flex-shrink:0}
.prod-wrap .color-dot:hover{opacity:0.9}
/* Belső gyűrű: a szülő overflow:hidden levágja az inset:-4px régi gyűrűt */
.prod-wrap .color-dot.active::after{content:"";position:absolute;inset:2px;border:2px solid #3A3AAA;border-radius:50%;pointer-events:none;z-index:2;box-sizing:border-box}
.prod-wrap .color-dot.color-dot-has-img{background:#eee!important;padding:0}
.prod-wrap .color-dot .color-dot-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
/* Színkarika tooltip: ráhúzásra a szín neve (span, hogy a szöveg mindig látszódjon) */
.prod-wrap .color-dots{position:relative}
.prod-wrap .color-dot .color-dot-tooltip{position:absolute;left:50%;transform:translateX(-50%);bottom:100%;margin-bottom:8px;padding:6px 10px;background:rgba(0,0,0,0.88);color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:opacity 0.2s,visibility 0.2s;z-index:10;pointer-events:none;font-family:var(--font-ui)}
.prod-wrap .color-dot:hover .color-dot-tooltip{opacity:1;visibility:visible}
.prod-wrap .color-dot.active.color-dot-has-img::after{inset:2px;border-radius:50%}
.prod-wrap .size-pills .btn{min-width:44px;padding:.25rem .5rem;border-radius:8px;border:1px solid var(--c-border);font-family:var(--font-ui);text-decoration:none}
.prod-wrap .size-pills .btn.active{background:rgba(58,58,170,0.15);color:#3A3AAA;border-color:#3A3AAA;font-weight:600}
.prod-wrap .size-pills a.btn:hover{color:inherit;text-decoration:none}
.important-lg-paddingl50{padding-left:0}
@media(min-width:992px){.important-lg-paddingl50{padding-left:50px}}
.important-font-weight-700{font-weight:700}
.opacity-8{opacity:0.8}
.text-underline{text-decoration:underline}
.prod-wrap .qty .js-qty{width:36px;border:0;text-align:center;font-family:var(--font-ui)}

.prod-wrap .line{height:2px;background:var(--c-line);margin:16px 0}
/* Desktop: három hasáb egy sorban marad (wrap nélkül), különben 1700px körül a jobb oszlop leessen */
@media (min-width: 992px) {
	#product-page-block.row {
		flex-wrap: nowrap;
	}
	#product-page-block.row > [class*="col-"] {
		min-width: 0;
	}
}
/* Mobil: készlet után a kép, majd színek/opciók */
@media(max-width:991px){
	#product-page-block.row{display:flex;flex-wrap:wrap}
	.prod-info-wrap{display:contents}
	.prod-info-top{order:1;width:100%}
	.prod-block-image{order:2;width:100%;margin-bottom:1.25rem}
	.prod-info-rest{order:3;width:100%}
}
.prod-wrap .row-kv{display:flex;align-items:center;justify-content:space-between;gap:12px}
.prod-wrap .kv-right{display:flex;align-items:center;gap:10px}
.prod-wrap .qty{display:inline-flex;align-items:center;border:1px solid var(--c-border);background:#fff;border-radius:999px;padding:4px;overflow:visible;gap:2px}
.prod-wrap .qty button{width:38px;height:38px;border:0;background:#fff;border-radius:50%;font-weight:700;line-height:1;flex-shrink:0}
.prod-wrap .qty button:focus{outline:none;box-shadow:0 0 0 2px rgba(64,108,197,.35)}
.prod-wrap .qty input{width:36px;border:0;text-align:center;font-family:var(--font-ui)}

.switch{font-family:var(--font-ui);display:inline-flex;gap:6px;border:1px solid var(--c-pink);border-radius:999px;padding:3px;background:#fff}
.switch .btn{border-radius:999px;color: #343a40 !important;padding:.45rem 1.8rem;font-size:14px;text-transform: none;}
.switch .btn.active{background:var(--c-pink) !important;color:#fff !important;border:none !important}

.prod-wrap .sum{font-size:16px}
.prod-wrap .sum strong{font-size:26px;color:#000}
.prod-wrap .btn-like{border-radius:999px;font-size:20px;border:1px solid var(--c-border);display:inline-flex;align-items:center;justify-content:center;background:#fff;cursor:pointer;transition:color .2s,border-color .2s}
.prod-wrap .btn-like:hover{border-color:var(--c-pink);color:var(--c-pink)}
.prod-wrap .btn-like.is-favorite{color:var(--c-pink);border-color:var(--c-pink)}
.prod-wrap .btn-add{text-transform:none;background:var(--c-pink);color:#fff;border:0;border-radius:999px;font-weight:700}
.prod-wrap .btn-add:hover{background:var(--c-pink-hover);color:#fff}
.prod-wrap .btn-add{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.prod-wrap .btn-add .plus{display:inline-block;line-height:1;vertical-align:middle;font-weight:700}

/* Tabs sáv (Részletek / Anyag / Emblémazás / Ajánlat) */
.prod-wrap .subtabs{border-bottom:1px solid var(--c-line);margin-top:8px;padding:0 0 4px}
.prod-wrap .subtabs .nav-link{color:#3A3AAA;background:#fff;font-family:var(--font-ui);font-size:1.5rem;padding:16px 32px;margin-right:4px;position:relative}
.prod-wrap .subtabs .nav-link .plus{opacity:.5;margin-left:6px}
.prod-wrap .subtabs .nav-link.active{border-bottom:2px solid #000;font-weight:600}

/* Tab tartalom (Részletek, Anyag, stb.): padding, margin */
.prod-wrap .tab-content.tab-content{padding-top:1.5rem;padding-bottom:2rem;margin-top:0}
.prod-wrap .tab-content .tab-pane{padding:0 0 1rem}
.prod-wrap .tab-content .tab-pane > p{font-size:1.2rem;line-height:1.65;padding:1rem 0;margin:0}

/* 3 információs kártya */
.prod-wrap .info-cols{padding:24px 0}
.prod-wrap .card-info{border:0;padding-top:18px}
.prod-wrap .card-info .cat{font-family:var(--font-ui);font-size:15px;color:#7a7a7a;font-weight:500;letter-spacing:.12em}
.prod-wrap .card-info h6{font-weight:700;font-size:26px;}
.prod-wrap .btn-link-mini{font-family:var(--font-ui);font-size:14px;width:100%;display:block;text-align: right;color:var(--c-pink)}

/* Részletek tab: HTML leírás – nagyobb betű, padding, margin */
.prod-wrap .product-description.content-formatted{font-size:1.2rem;line-height:1.65;color:#333;margin:0 0 1.5rem;padding:1rem 0}
/* Közvetlen bekezdések: térköz; listán belüli p-t külön nullázzuk (CMS: <li><p>…</p></li> → különben a bullet egy sorban, a szöveg messze) */
.prod-wrap .product-description.content-formatted > p{margin:0 0 .85em}
.prod-wrap .product-description.content-formatted > p:last-child{margin-bottom:0}
.prod-wrap .product-description.content-formatted p{margin-top:0;margin-bottom:.75em}
.prod-wrap .product-description.content-formatted p:last-child{margin-bottom:0}
.prod-wrap .product-description.content-formatted li > p{margin:0}
.prod-wrap .product-description.content-formatted li > p:not(:last-child){margin-bottom:.35em}
.prod-wrap .product-description.content-formatted p:empty{display:none;margin:0;padding:0}
.prod-wrap .product-description.content-formatted h1,.prod-wrap .product-description.content-formatted h2,.prod-wrap .product-description.content-formatted h3{font-size:1.45rem;font-weight:700;margin-top:1.25em;margin-bottom:.5em}
.prod-wrap .product-description.content-formatted h1:first-child,.prod-wrap .product-description.content-formatted h2:first-child,.prod-wrap .product-description.content-formatted h3:first-child{margin-top:0}
.prod-wrap .product-description.content-formatted ul,.prod-wrap .product-description.content-formatted ol{margin:.35em 0 .85em 1.25em;padding-left:1.1em}
.prod-wrap .product-description.content-formatted ul ul,.prod-wrap .product-description.content-formatted ol ol,.prod-wrap .product-description.content-formatted ul ol,.prod-wrap .product-description.content-formatted ol ul{margin-bottom:.35em}
.prod-wrap .product-description.content-formatted li{margin:0 0 .35em;padding:0}
.prod-wrap .product-description.content-formatted li::marker{color:#333}
/* Ha a forrásban még marad <br> közvetlenül ul/ol/li gyerekként (régi cache / más útvonal) */
.prod-wrap .product-description.content-formatted ul > br,
.prod-wrap .product-description.content-formatted ol > br,
.prod-wrap .product-description.content-formatted li > br{display:none}
.prod-wrap .product-description.content-formatted strong{font-weight:700}
.prod-wrap .product-description.content-formatted a{color:#3A3AAA;text-decoration:underline}
.prod-wrap .product-description.content-formatted a:hover{color:#2a2a7a}

/* Kapcsolódó termékek */
.prod-wrap .rel-title{font-weight:700;color:#14332a;letter-spacing:.04em;margin:24px 0 12px}
.prod-wrap .rel-grid .card{border:1px solid var(--c-border);border-radius:10px}
.prod-wrap .ratio-1x1{position:relative;width:100%;padding-top:100%;background:#fff}
.prod-wrap .ratio-1x1 > img{position:absolute;inset:0;margin:auto;max-width:85%;max-height:85%}

/* Mobil: thumbs vízszintesen, main kép után jön */
@media (max-width: 991.98px){
	.prod-wrap .thumbs-col{max-width:100%;order:2;margin-top:10px}
	.prod-wrap .thumbs{flex-direction:row;overflow:auto;padding-bottom:6px}
	.prod-wrap .thumbs .t{flex:0 0 60px}
	.prod-wrap .image-main{min-height:360px}
	.prod-wrap .subtabs .nav-link { font-size: 13px }
	.prod-wrap .image-main{min-height:220px}
	.prod-wrap .image-main img { max-height:220px }
}

.category-header strong { font-size: 18px; }
.category-header select { min-width: 160px; }
.category-header .btn-light {
	border: 1px solid #ddd;
}
.category-header .btn-light .icon {
	width: 16px;
	height: 16px;
}

.category-tabs {

}

.category-scroll-wrapper {
	overflow: hidden;
	position: relative;
}

.category-scroll-inner {
	display: flex;
	gap: 8px;
	transition: transform 0.2s ease-out;
	will-change: transform;
	cursor: grab;
	user-select: none;
	padding: 4px 0;
}
.category-scroll-inner.dragging { cursor: grabbing; }

.category-scroll-inner .btn {
	white-space: nowrap;
	flex-shrink: 0;
	text-transform: none;
}
.category-scroll-inner .btn.active {
	background: #FF4EFA;
	color: #000;
}

.cat-scroll-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 50%;
	background: rgba(255,255,255,0.9);
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 5;
}
.cat-scroll-btn.left { left: -12px; }
.cat-scroll-btn.right { right: -12px; }

.cat-scroll-btn[disabled] {
	opacity: 0.3;
	pointer-events: none;
}


/* Filter sidebar */
.filter-sidebar {

}
.filter-sidebar h6 { font-size: 15px; font-weight: 600; margin-bottom: 4px; }

/* Mobil overlay */
.filter-overlay {
	position: fixed;
	inset: 0;
	background: rgba(255,255,255,0.98);
	backdrop-filter: blur(6px);
	display: none;
	z-index: 9999;
	padding: 20px;
	overflow-y: auto;
}
.filter-overlay.show { display: block; animation: fadeIn .25s ease; }

.filter-header {
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
	margin-bottom: 15px;
}
.filter-body h6 { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.filter-footer {
	border-top: 1px solid #ddd;
	padding-top: 10px;
	margin-top: 15px;
	position: sticky;
	bottom: 0;
	background: #fff;
}

@keyframes fadeIn { from {opacity:0;} to {opacity:1;} }

body.no-scroll { overflow: hidden; }


.filter-acc .card { border: none; border-bottom: 1px solid #e6e6e6; }
.filter-acc .card-header {
	cursor: pointer; padding: 0.75rem 0; font-weight: 600;
	color: #0a2b22; font-family: var(--font-ui);
	border: none; background: transparent;
}
.filter-acc .card-header i { font-style: normal; }
.filter-acc .card-body { padding: 0.5rem 0.75rem 0.75rem 0.75rem; }
/* Méret szűrő: „Több megjelenítése” gomb – kicsi, igényes */
.filter-size-more-btn {
	display: inline-block; margin-top: 0.5rem; padding: 0;
	font-size: 0.75rem; font-weight: 400; color: var(--c-blue);
	background: none; border: none; cursor: pointer; text-decoration: none;
}
.filter-size-more-btn:hover { text-decoration: underline; color: var(--c-blue-strong); }
.filter-acc label { font-weight: 400; color: #0a2b22; font-size: 15px; display: block; cursor: pointer; }

/* Emblémázás: egyedi rádió (a gombszerű .btn-custom-filter / színkör szűrők változatlanok) */
.filter-acc label.filter-radio-label,
label.filter-radio-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
	cursor: pointer;
	font-weight: 400;
	color: #0a2b22;
	font-size: 15px;
}
.filter-radio-mark {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	border: 2px solid #c5cdc9;
	border-radius: 50%;
	position: relative;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	background: #fff;
}
.filter-radio-input:focus + .filter-radio-mark {
	box-shadow: 0 0 0 3px rgba(58, 58, 170, 0.28);
	border-color: #3A3AAA;
}
.filter-radio-input:checked + .filter-radio-mark {
	border-color: #0a2b22;
}
.filter-radio-input:checked + .filter-radio-mark::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #0a2b22;
}
.filter-radio-caption {
	line-height: 1.3;
	user-select: none;
}

/* Listaoldal: Ajax betöltés */
#product-container { min-height: 200px; }
.category-ajax-overlay {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 12;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.category-ajax-overlay.is-active { display: flex; }
.category-ajax-overlay__panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 2rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 8px 32px rgba(10, 43, 34, 0.12);
}
.category-ajax-overlay__text {
	font-size: 0.9rem;
	font-weight: 600;
	color: #0a2b22;
	letter-spacing: 0.02em;
}
.category-ajax-spinner {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 3px solid rgba(10, 43, 34, 0.12);
	border-top-color: #0a2b22;
	border-right-color: #3A3AAA;
	animation: category-ajax-spin 0.85s linear infinite;
}
@keyframes category-ajax-spin {
	to { transform: rotate(360deg); }
}
#filter-sidebar.filter-sidebar--ajax-busy {
	position: relative;
}
#filter-sidebar.filter-sidebar--ajax-busy::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 5;
	pointer-events: none;
	background: linear-gradient(90deg, #0a2b22, #3A3AAA, #0a2b22);
	background-size: 220% 100%;
	animation: filter-sidebar-ajax-shimmer 1.1s linear infinite;
}
@keyframes filter-sidebar-ajax-shimmer {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}
.ajax-inline-spinner {
	display: inline-block;
	width: 15px;
	height: 15px;
	border: 2px solid rgba(10, 43, 34, 0.2);
	border-top-color: #0a2b22;
	border-radius: 50%;
	animation: category-ajax-spin 0.7s linear infinite;
	vertical-align: middle;
}
.ajax-inline-spinner--sm {
	width: 12px;
	height: 12px;
	border-width: 2px;
}

.btn-custom-filter {
	display: inline-block; border: 1px solid #ccc; padding: 5px 10px;
	border-radius: 6px; font-size: 14px; margin: 3px; cursor: pointer;
}

/* Gomb ikonok */
.ico-filter::before { content: "≡"; font-weight: bold; font-size: 15px; }
.ico-sort::before { content: "⇅"; font-weight: bold; font-size: 14px; }
.ico-close::before { content: "×"; font-weight: bold; font-size: 26px; line-height: 1; }
.collapsed .ico-close::before { content: "›"; font-weight: bold; font-size: 26px; line-height: 1; }

/* Overlay (mobil) */
/* Overlay kinézet csak mobilon */
@media (max-width: 991.98px) {
	.filter-overlay {
		position: fixed;
		top: 0; left: 0; right: 0; bottom: 0;
		background: #fff;
		z-index: 1050;
		display: none;
		flex-direction: column;
	}
	#filter-sidebar { display:none !important; }
	#filter-sidebar.category-filter-visible {
		display: flex !important;
		flex-direction: column;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1040;
		max-width: 100%;
		margin: 0;
		padding: 0;
		background: #fff;
		overflow: hidden;
	}
	#filter-sidebar.category-filter-visible .filter-sidebar-scroll {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 1rem 1rem 0.5rem;
	}
	#filter-sidebar.category-filter-visible .filter-sidebar-mobile-footer.d-lg-none {
		display: block !important;
		flex-shrink: 0;
		padding: 0.75rem 1rem;
		padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
		border-top: 1px solid #eee;
		background: #fff;
		box-shadow: 0 -4px 12px rgba(0,0,0,.06);
	}
	.filter-overlay.show { display: flex; }
	.filter-body { flex: 1; overflow-y: auto; padding: 1rem; }
	.filter-footer { border-top: 1px solid #eee; }
	body.no-scroll { overflow: hidden; }
}

.filter-overlay.show { display:flex; }
.filter-overlay-inner { flex:1; display:flex; flex-direction:column; height:100%; }
.filter-header { padding:1rem; border-bottom:1px solid #eee; }
.filter-body { flex:1; overflow-y:auto; padding:1rem; }
.filter-footer { border-top:1px solid #eee; }
.apply-btn { background:#ff4cff; border:none; }

/* Dropdown fix */
.dropdown-menu-right { right: 0; left: auto; min-width: 180px; }
.dropdown-menu a { font-size: 14px; color: #0a2b22; }

.btn-outline-dark {
	text-transform: none;
	color: #000;
}

.ico-close { font-style: normal; }

label input[type='checkbox']:checked + .btn-custom-filter {
	background: #0a2b22; color: #fff; border-color: #0a2b22;
}

/* Általános szerződési feltételek, adatvédelem, kapcsolat, katalógusok, technológiák stb.: h1 48px, csökkentett margók */
nav.content-page-nav h1 {
	font-size: 48px !important;
	line-height: 1.2;
	margin-top: 0.5rem;
	margin-bottom: 0.75rem;
}

.catalogs-wrap h1 {
	font-family: var(--font-heading);
	font-weight: 800;
	color: #0b3b24;
}

.catalog-tile {
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0,0,0,.08);
	transition: box-shadow .2s ease, transform .2s ease;
}
.catalog-tile:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,.12);
	transform: scale(1.02);
}

.catalog-tile-link {
	display: block;
	text-decoration: none;
	color: inherit;
	position: relative;
}

/* Nagyobb kép: magasabb arány (4:5) */
.catalog-tile-img {
	width: 100%;
	padding-top: 125%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Cím a képre: nagy fehér betű, alul középen */
.catalog-tile .catalog-label {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
	padding: 1rem 1rem 1.25rem;
	color: #fff;
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.25;
	text-transform: uppercase;
	text-align: center;
	text-shadow: 0 1px 3px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.4);
	pointer-events: none;
}
@media (min-width: 768px) {
	.catalog-tile .catalog-label {
		font-size: 1.4rem;
		padding: 1.25rem 1rem 1.5rem;
	}
}
@media (min-width: 992px) {
	.catalog-tile .catalog-label {
		font-size: 1.5rem;
	}
}

.faq-wrap h1 {
	font-family: var(--font-heading);
	font-weight: 800;
	color: #0b3b24;
}

.faq-wrap .h5 {
	font-family: var(--font-ui);
	font-weight: 600;
	color: #000;
}

.faq-wrap .accordion .card {
	border: none;
	border-bottom: 1px solid #14332a !important;
	border-radius: 0;
	background: transparent;
}

.faq-wrap .accordion .card-header {
	background: transparent;
	padding: 0;
	border: none;
}

.faq-wrap .accordion .card-body {
	margin-bottom: 40px;
}

.faq-wrap .accordion .btn-link {
	font-weight: 500;
	color: #000;
	font-size: 16px;
	text-decoration: none;
	padding: 1rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.faq-wrap .accordion .btn-link:after {
	content: '+';
	font-size: 20px;
	line-height: 1;
	transition: transform .2s ease;
	background: #F9F9F9;
	border-radius: 50%;
	padding: 10px 14px;
}

.faq-wrap .accordion .btn-link[aria-expanded="true"]:after {
	content: '–';
	transform: rotate(180deg);
}

.faq-wrap .accordion .card-body {
	padding: 0 0 1.2rem 0;
	color: #333;
	font-size: 15px;
}

.yourchoice-wrap .hero-bg img {
	object-fit: cover;
	height: auto;
}

.yourchoice-wrap .hero-overlay {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.4);
}

.yourchoice-wrap .category-card img {
	transition: transform .3s ease;
}

.yourchoice-wrap .category-card:hover img {
	transform: scale(1.05);
}

.yourchoice-wrap .category-label {
	left: 15px;
	bottom: 25px;
	font-weight: 600;
	font-size: 1.4rem;
}

.yourchoice-wrap .category-btn {
	right: 15px;
	bottom: 25px;
	color: #fff;
	font-weight: 500;
}

.yourchoice-wrap .product-tile img {
	border-radius: 4px;
}

.yourchoice-wrap .cta {
	background-color: #2e31a6;
}

.yourchoice-wrap .video-cta h4 {
	font-size: 1.5rem;
}

.yourchoice-wrap .video-cta .btn {
	background: #f0f;
	
	border: none;
}
@media (max-width: 767px){
	.yourchoice-wrap .hero-overlay .display-5{
		font-size: 1.75rem;
	}
	.yourchoice-wrap .category-card{
		margin-bottom: 1rem;
	}
}

.yourchoice-carousel .slick-arrow {
	background: none;
	top: 100%;
	height: 40px;
}

.yourchoice-carousel .slick-next {
	left: 100px;
}



.catalog-card {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

.catalog-card img {
	width: 100%;
	height: auto;
	display: block;
}

.catalog-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 12px 15px;
	background: rgba(0,0,0,0.45);
}

.catalog-title {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0;
}

.tech-card {
	position: relative;
}

.tech-card img {
	width: 100%;
	height: auto;
	display: block;
}

.tech-title {
	font-size: 14px;
	font-weight: 600;
	margin-top: 8px;
}

/* Technológiák lista: több függőleges térköz a tételek között (DB-s rács) */
.technologies-list > [class*="col-"] {
	margin-bottom: 3.75rem;
}

@media (max-width: 767.98px) {
	.technologies-list > [class*="col-"] {
		margin-bottom: 3rem;
	}
}

/* Technológiák lista: négyzetes bélyegkép — lekerekítés mint a főoldali bannerek (4px) */
.technologies-list .tech-thumb-square {
	position: relative;
	width: 100%;
	padding-bottom: 100%;
	overflow: hidden;
	background: #f0f0f0;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.06);
}

.technologies-list .tech-thumb-square img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.technologies-list .tech-thumb-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #e8e8e8;
}

.technologies-list .tech-list-title {
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 600;
	color: var(--c-text);
	line-height: 1.3;
	letter-spacing: 0.025em;
	text-wrap: balance;
}

.technologies-list .tech-list-intro {
	line-height: 1.3;
}

.technology-detail-hero {
	max-height: 420px;
	width: auto;
	object-fit: contain;
}

/* Hasznos információk */
.info-row {
	padding: 12px 0;
	border-bottom: 1px solid #e7e7e7;
	font-size: 15px;
}

.info-row a {
	text-decoration: none;
	color: #000;
	font-weight: 500;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.info-row a:hover {
	color: #7c2fff;
}

.info-row i {
	font-size: 16px;
}

.profile-wrapper {
    min-height: 100vh;
    padding-top: 40px;
    padding-bottom: 40px;
}

.profile-sidebar {
    background: #fff;
    padding: 40px 30px;
    height: 100%;
    min-height: 600px;
}

.profile-sidebar h2 {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 40px;
    color: var(--darkblue);
}

.profile-menu .nav-link {
    color: #333;
    font-size: 14px;
    padding-left: 0;
    margin-bottom: 10px;
    letter-spacing: 0.4px;
}

.profile-menu .nav-link.active {
    color: #ff7dff !important;
    font-weight: 600;
}

.profile-content {
    padding: 40px 60px;
    min-height: 600px;
}

.section-header a {
    color: var(--darkblue);
    font-weight: 600;
    text-decoration: none;
}

.section-header a:hover {
    color: #ff7dff;
}

/* Profil űrlap kártya – egységes mezők és szakaszok */
.profile-form-card .form-label {
    font-size: 14px;
    margin-bottom: 6px;
    color: #444;
    font-weight: 500;
}
.profile-form-card .custom-input {
    border: 1px solid var(--c-border, #e7e7e7);
    border-radius: var(--radius-4, 4px);
    padding: 10px 14px;
    width: 100%;
    font-size: 14px;
    transition: border-color .2s;
}
.profile-form-card .custom-input:focus {
    border-color: var(--c-pink, #ff42c6);
    outline: none;
}
.profile-form-card .custom-input.is-invalid {
    border-color: #dc3545;
}
.profile-form-card .section-title {
    font-size: 18px;
    font-weight: 700;
    margin: 28px 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--c-line, #eee);
    color: var(--c-darkblue, #21345A);
}
.profile-form-card .section-title:first-child {
    margin-top: 0;
}
.profile-form-card .invalid-feedback {
    font-size: 13px;
    color: #dc3545;
    margin-top: 4px;
}

/* Igényes megerősítő popup – egyedi kinézet, nem böngésző confirm */
.confirm-modal-content {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    overflow: hidden;
}
.confirm-modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid var(--c-border, #eee);
    background: #f8f9fa;
}
.confirm-modal-header .modal-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--c-darkblue, #21345A);
}
.confirm-modal-close {
    color: #666;
    opacity: 0.8;
    font-size: 1.5rem;
    line-height: 1;
    padding: 0 4px;
}
.confirm-modal-close:hover {
    color: #333;
    opacity: 1;
}
.confirm-modal-body {
    padding: 24px 20px;
    font-size: 1rem;
    color: #333;
}
.confirm-modal-footer {
    padding: 16px 20px;
    border-top: 1px solid var(--c-border, #eee);
    gap: 12px;
}
.confirm-modal-btn-cancel {
    padding: 10px 20px;
    border: 1px solid var(--c-blue, #406CC5);
    color: var(--c-blue, #406CC5);
    background: #fff;
    border-radius: 8px;
    font-weight: 500;
}
.confirm-modal-btn-cancel:hover {
    background: #f0f4ff;
    color: var(--c-blue, #406CC5);
    border-color: var(--c-blue, #406CC5);
}
.confirm-modal-btn-ok {
    padding: 10px 24px;
    background: var(--c-blue, #406CC5);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
}
.confirm-modal-btn-ok:hover {
    background: var(--c-blue-strong, #21345A);
    color: #fff;
}

.addr-card {
    background: #fff;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 0 0 1px var(--c-border, #e0e0e0);
    min-height: 120px;
    transition: box-shadow .2s, border-color .2s;
}
.addr-card:hover {
    box-shadow: 0 4px 16px rgba(33, 52, 90, .08);
}
.addr-card .addr-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--c-darkblue, #21345A);
    margin-bottom: 10px;
}
.addr-card .addr-details {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    margin-bottom: 14px;
}
.addr-card .addr-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.addr-edit-icon {
    background: #ffd7ff;
    color: #c12acd;
    padding: 6px 8px;
    border-radius: 8px;
}
.addr-card .btn-addr-edit,
.addr-card .btn-addr-delete {
    font-size: 13px;
    padding: 6px 12px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .2s, color .2s;
}
.addr-card .btn-addr-edit {
    background: #f0e6f5;
    color: #8b2a9e;
}
.addr-card .btn-addr-edit:hover {
    background: #ffd7ff;
    color: #5e1a6b;
}
.addr-card .btn-addr-delete {
    background: #f5f5f5;
    color: #666;
}
.addr-card .btn-addr-delete:hover {
    background: #fee;
    color: #c33;
}

/* Szállítási cím űrlap doboz */
.shipping-form-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 0 0 1px var(--c-border, #e0e0e0);
    padding: 28px 32px;
    margin-bottom: 32px;
}
.shipping-form-card .form-label {
    font-size: 14px;
    margin-bottom: 6px;
    color: #444;
    font-weight: 500;
}
.shipping-form-card .custom-input,
.shipping-form-card .form-select {
    border: 1px solid var(--c-border, #e7e7e7);
    border-radius: var(--radius-4, 4px);
    padding: 10px 14px;
    width: 100%;
    font-size: 14px;
}
.shipping-form-card .custom-input:focus,
.shipping-form-card .form-select:focus {
    border-color: var(--c-pink, #ff42c6);
    outline: none;
}
.shipping-form-card .btn-save-address {
    padding: 12px 24px;
    font-weight: 600;
    border-radius: 8px;
    background: var(--c-darkblue, #21345A);
    color: #fff;
    border: none;
    cursor: pointer;
    transition: background .2s;
}
.shipping-form-card .btn-save-address:hover {
    background: #2d4a7c;
    color: #fff;
}
.shipping-form-card .btn-cancel-address {
    padding: 12px 20px;
    margin-left: 10px;
    font-weight: 500;
    border-radius: 8px;
    background: #f0f0f0;
    color: #555;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: background .2s;
}
.shipping-form-card .btn-cancel-address:hover {
    background: #e5e5e5;
    color: #333;
}
.shipping-addresses-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--c-line, #eee);
    color: var(--c-darkblue, #21345A);
}
.addr-card-wrap {
    margin-bottom: 0;
}

.hidden {
    display: none !important;
}

.orders-table-header {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.4px;
    color: #999;
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.order-item {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 0 0 1px #e5e5e5;
    padding: 22px 25px;
    margin-bottom: 25px;
}

.order-toprow {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr minmax(90px, 1fr);
    font-size: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
    gap: 8px;
    align-items: start;
}
@media (max-width: 767px) {
    .order-toprow {
        grid-template-columns: 1fr;
    }
    .orders-table-header {
        display: none !important;
    }
}

.order-details-toggle {
    color: var(--darkblue);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
}

.order-details-toggle:hover {
    color: #ff7dff;
}

.order-details {
    margin-top: 20px;
    display: none;
}

.order-item .product-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
}

.order-item .product-thumb {
    width: 50px;
    height: 50px;
    background: #ddd;
    border-radius: 6px;
}

.order-item .product-title {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 3px;
}

.order-item .product-meta {
    font-size: 13px;
    color: #666;
}

.order-item .product-price {
    font-weight: 600;
    margin-top: 3px;
}

.order-footer {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #eee;
    font-size: 13px;
}

.reorder-btn {
    background: #2e33a8;
    color: #fff;
    border: none;
    padding: 12px 22px;
    border-radius: 8px;
    font-weight: 600;
}


/* --- QUOTE STEPS (folyamatkijelző) --- */
.quote-steps-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
}
.quote-step-item {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    font-weight: 500;
}
.quote-step-item .quote-step-label,
.quote-step-item .quote-step-link {
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
    transition: background 0.2s, color 0.2s;
}
.quote-step-item.active .quote-step-label {
    background: var(--c-blue-strong, #21345A);
    color: #fff;
}
.quote-step-item.done .quote-step-link {
    color: var(--c-blue);
}
.quote-step-item .quote-step-link:hover {
    background: #f0f0f0;
    color: var(--c-blue);
}
.quote-step-sep {
    display: inline-block;
    width: 24px;
    height: 2px;
    background: #ddd;
    margin-left: 0.25rem;
    vertical-align: middle;
}
.quote-step-item.done .quote-step-sep,
.quote-step-item.active .quote-step-sep {
    background: var(--c-blue-strong, #21345A);
}

/* --- GENERAL --- */
.order-page-wrapper {
    background: #f8f8f8;
}

.text-purple {
    color: #ff7dff !important;
}

.cursor-pointer {
    cursor: pointer;
}

/* --- SWITCH --- */
.purple-switch:checked {
    background-color: #ff7dff !important;
    border-color: #ff7dff !important;
}

/* --- PRODUCT CARDS --- */
.order-page-wrapper .product-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #ececec;
}

.order-page-wrapper .product-image {
    width: 130px;
    height: 130px;
    background: #ddd;
    border-radius: 6px;
}

.order-page-wrapper .price-container {
    width: 120px;
}

/* --- QUANTITY BOX --- */
.order-page-wrapper .qty-box {
    background: #f1f1f1;
    border-radius: 30px;
    padding: 5px 10px;
    width: fit-content;
}

.order-page-wrapper .qty-btn {
    background: transparent;
    border: none;
    font-size: 20px;
    padding: 0 8px;
    font-weight: bold;
    color: #444;
    line-height: 1;
}

.order-page-wrapper .qty-btn:disabled {
    opacity: 0.3;
}

.order-page-wrapper .qty-input {
    width: 40px;
    border: none;
    text-align: center;
    background: transparent;
    font-weight: bold;
    font-size: 16px;
}

.order-page-wrapper .qty-input:focus {
    outline: none;
}

/* --- UPLOAD LIST --- */
.upload-file-list {
    margin-top: 8px;
}

.upload-file-list .file-item {
    background: #fff;
    border: 1px solid #dedede;
    padding: 6px 10px;
    border-radius: 10px;
    margin-bottom: 5px;
    font-size: 13px;
}

/* Right side grey variants */
.order-summary .upload-file-list .file-item {
    background: #f2f2f2;
}

/* --- SUMMARY PANEL --- */
.order-summary {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e4e4e4;
}
/* Jobb oldali összegző: cím + Szerkesztés link ne csússzon szét */
.order-summary .d-flex.justify-content-between.mb-1 {
    flex-wrap: wrap;
    gap: 0.25rem;
}
.order-summary .d-flex.justify-content-between.mb-1 .text-purple {
    flex-shrink: 0;
}
.order-summary .summary-address-block {
    min-width: 0;
}

.order-summary .btn-submit-order {
    background: #ff00ff;
    font-weight: 600;
    border-radius: 12px;
}

/* Szállítási cím választó a szerkesztés blokkban – igényes select */
.checkout-address-select {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0.6rem 2.25rem 0.6rem 0.85rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
    background-size: 1.25rem;
    border: 1px solid #ced4da;
    border-radius: 8px;
    appearance: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.checkout-address-select:hover { border-color: #adb5bd; }
.checkout-address-select:focus {
    border-color: #ff7dff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(255, 125, 255, 0.2);
}

/* --- ADDRESS FORM --- */
.summary-address-block {
    background: #f7f7f7;
    padding: 10px;
    border-radius: 10px;
}

.address-title {
    font-weight: 600;
}

/* Purple upload trigger */
.upload-trigger {
    cursor: pointer;
    font-weight: 600;
}


/* Order summary (Rendelés összegzés) – felső térköz kisebb, breadcrumbs ne kezdődjön lent */
.order-summary-page { padding-top: 0; }
.order-summary-page__container {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
    background: #f8f8f8;
}
.order-summary-page .quote-steps { margin-top: 0; margin-bottom: 1rem; }
.order-summary-wrapper {
    background: #f8f8f8;
}

/* Címkártya: Szállítási + Számlázási cím két oszlopban 768px felett */
.order-summary-wrapper .order-summary-address-row {
    display: flex;
    flex-wrap: wrap;
}
.order-summary-wrapper .order-summary-address-row .order-summary-col-shipping,
.order-summary-wrapper .order-summary-address-row .order-summary-col-billing {
    flex: 0 0 100%;
    max-width: 100%;
}
@media (min-width: 768px) {
    .order-summary-wrapper .order-summary-address-row .order-summary-col-shipping,
    .order-summary-wrapper .order-summary-address-row .order-summary-col-billing {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

.order-summary-wrapper .text-purple {
    color: #ff7dff !important;
}

.order-summary-wrapper .cursor-pointer {
    cursor: pointer;
}

/* RIGHT SUMMARY PANEL */
.order-summary-wrapper .summary-right {
    background: #fff;
    border: 1px solid #e8e8e8;
}

/* Thumbnail */
.order-summary-wrapper .mini-thumb {
    width: 60px;
    height: 60px;
    background: #ddd;
    border-radius: 8px;
}

/* Terméklista összesítő: árak ne törjenek sort */
.order-summary-wrapper .summary-product-prices {
    white-space: nowrap;
    min-width: 5.5rem;
}
.order-summary-wrapper .mini-product {
    gap: 0.5rem;
}

/* Order button */
.order-summary-wrapper .order-submit-btn {
    background: #ff00ff;
}
.order-summary-wrapper .order-submit-btn:hover {
    background: #d900d9;
}

.thankyou-wrapper {
    min-height: 80vh;
    display: flex;
    align-items: center;
    background: #ffffff;
}

.thankyou-box {
    padding-right: 60px;
}

/* Címsor */
.thankyou-title {
    font-size: 42px;
    line-height: 1.2;
    color: #333333;
}

/* Ékezetek: PHP strtoupper helyett böngésző uppercase (UTF-8 helyes) */
.thankyou-title--uppercase {
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.thankyou-success-icon svg {
    display: block;
}

/* Alszöveg */
.thankyou-sub {
    color: #666666;
    font-size: 16px;
}

/* Gomb */
.thankyou-btn {
    background: #3232c8;
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.3px;
    border: none;
    transition: 0.2s;
    box-shadow: 0 4px 12px rgba(50,50,200,0.25);
}

.thankyou-btn:hover {
    background: #2a2ab6;
    color: #ffffff;
}

/* ========== Kategória / Keresés lapozó ========== */
.category-pagination-wrap {
    --pagination-blue: #3A3AAA;
    --pagination-blue-hover: #2e2e88;
    --pagination-blue-bg: rgba(58, 58, 170, 0.08);
    overflow: visible;
}
.category-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    list-style: none;
    padding-left: 0;
    overflow: visible;
}
.category-pagination .page-item {
    margin: 0;
}
.category-pagination .page-item .page-link {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 15px;
    color: var(--pagination-blue);
    background: #fff;
    border: 1px solid #e0e0e8;
    border-radius: 8px;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.category-pagination .page-item .page-link:hover {
    color: var(--pagination-blue-hover);
    background: var(--pagination-blue-bg);
    border-color: var(--pagination-blue);
}
.category-pagination .page-item.active .page-link {
    color: #fff;
    background: var(--pagination-blue);
    border-color: var(--pagination-blue);
}
.category-pagination .page-item.disabled .page-link {
    color: #b0b0b8;
    background: #f5f5f7;
    border-color: #e8e8ec;
    cursor: not-allowed;
}
.category-pagination .page-link-ellipsis {
    border: none;
    background: transparent;
    color: #6b6b78;
    font-weight: 400;
    letter-spacing: 0.02em;
}
.category-pagination .page-item.category-pagination-ellipsis .page-link-ellipsis {
    cursor: pointer;
    color: var(--pagination-blue);
    border: 1px solid #e0e0e8;
    background: #fff;
    border-radius: 8px;
}
.category-pagination .page-item.category-pagination-ellipsis .page-link-ellipsis:hover,
.category-pagination .page-item.category-pagination-ellipsis.show .page-link-ellipsis {
    color: var(--pagination-blue-hover);
    background: var(--pagination-blue-bg);
    border-color: var(--pagination-blue);
}
.category-pagination-ellipsis-menu {
    min-width: 220px;
    max-width: min(320px, 92vw);
    padding: 0;
    border-radius: 10px;
    border: 1px solid #e0e0e8;
    box-shadow: 0 8px 28px rgba(58, 58, 170, 0.12);
    overflow: hidden;
}
.category-pagination-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 10px;
    max-height: 260px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.category-pagination-page-pick {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 4px 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--pagination-blue);
    text-decoration: none;
    border-radius: 6px;
    border: 1px solid #e8e8ec;
    background: #fafafb;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.category-pagination-page-pick:hover {
    color: var(--pagination-blue-hover);
    background: var(--pagination-blue-bg);
    border-color: var(--pagination-blue);
    text-decoration: none;
}
.category-pagination .page-link-arrow {
    padding: 0 10px;
}
.pagination-arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    border: 2px solid currentColor;
    border-top: 0;
    border-right: 0;
    vertical-align: middle;
    transition: border-color 0.2s, transform 0.2s;
}
.pagination-prev {
    margin-left: 1px;
    transform: rotate(-45deg);
}
.pagination-next {
    margin-right: 1px;
    transform: rotate(135deg);
}
.category-pagination .page-item:not(.disabled) .page-link-arrow:hover .pagination-arrow {
    border-color: var(--pagination-blue-hover);
}
.category-pagination .page-item .page-link-arrow:focus-visible {
    outline: 2px solid var(--pagination-blue);
    outline-offset: 2px;
}

/* ========== Termék részletes oldal ========== */
.product-gallery-main {
    background: #f5f5f7;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-gallery-main .product-main-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.product-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.product-gallery-thumb {
    width: 64px;
    height: 64px;
    padding: 4px;
    background: #fff;
    border: 2px solid #e0e0e8 !important;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.product-gallery-thumb:hover,
.product-gallery-thumb.active {
    border-color: #3A3AAA !important;
    box-shadow: 0 0 0 1px #3A3AAA;
}
.product-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}
.product-tags .product-tag {
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 6px;
    margin-right: 6px;
    margin-bottom: 4px;
    background: var(--c-green, #20604E);
    color: #fff;
}
.product-item-id { font-family: var(--font-mono); letter-spacing: 0.02em; }
.product-title { font-size: 1.35rem; line-height: 1.3; color: #111; }
.product-prices .product-price-gross { font-size: 1.25rem; font-weight: 700; color: #111; }
.product-stock-link { color: var(--c-blue); text-decoration: none; }
.product-stock-link:hover { text-decoration: underline; }
.product-color-swatch {
    display: inline-block;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid transparent;
    transition: border-color 0.2s, box-shadow 0.2s;
    text-decoration: none;
}
.product-color-swatch:hover { border-color: #333; }
.product-color-swatch.active { border-color: #3A3AAA; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #3A3AAA; }
.product-size-btn { min-width: 44px; }
.product-zoom-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.85);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
}
.product-zoom-overlay.active { opacity: 1; visibility: visible; }
.product-zoom-inner {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-zoom-inner img { max-width: 100%; max-height: 85vh; object-fit: contain; }
.product-zoom-overlay .product-zoom-prev,
.product-zoom-overlay .product-zoom-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    color: #333;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background 0.2s;
}
.product-zoom-overlay .product-zoom-prev:hover,
.product-zoom-overlay .product-zoom-next:hover { background: #fff; }
.product-zoom-overlay .product-zoom-prev { left: 16px; }
.product-zoom-overlay .product-zoom-next { right: 16px; }
.product-zoom-overlay .product-zoom-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    color: #333;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
}
.product-zoom-overlay .product-zoom-counter {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 14px;
}

/* Global action loading (public/js/action-loading.js) */
.action-loading-el { position: relative; box-sizing: border-box; }
.action-loading-el.is-action-loading {
	pointer-events: none;
	cursor: wait !important;
}
.action-loading-el.is-action-loading .action-loading-content {
	visibility: hidden !important;
}
.action-loading-el.is-action-loading::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 1.25rem;
	height: 1.25rem;
	margin: -0.625rem 0 0 -0.625rem;
	border: 2px solid rgba(0,0,0,0.1);
	border-top-color: rgba(58,58,170,0.95);
	border-radius: 50%;
	animation: action-loading-spin 0.65s linear infinite;
	z-index: 3;
	pointer-events: none;
}
@keyframes action-loading-spin {
	to { transform: rotate(360deg); }
}
a.action-loading-el.is-action-loading {
	text-decoration: none !important;
}
input[type="submit"].action-loading-el.is-action-loading,
input[type="button"].action-loading-el.is-action-loading,
input[type="image"].action-loading-el.is-action-loading {
	color: transparent !important;
	text-shadow: none !important;
	background-image: linear-gradient(90deg, rgba(58,58,170,0.15) 0%, rgba(58,58,170,0.45) 50%, rgba(58,58,170,0.15) 100%) !important;
	background-size: 200% 100% !important;
	animation: action-loading-input-shimmer 0.9s ease-in-out infinite !important;
}
@keyframes action-loading-input-shimmer {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}
input[type="submit"].action-loading-el.is-action-loading::after,
input[type="button"].action-loading-el.is-action-loading::after,
input[type="image"].action-loading-el.is-action-loading::after {
	display: none !important;
	content: none !important;
}
