/*
Theme Name: Assembly Theme
Theme URI: https://assembly.hu
Description: Assembly fejlesztői alap-sablon WordPress-hez.
Author: Assembly
Author URI: https://assembly.hu
Version: 2026.01
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: assembly
*/

/* ==========================================================================
   CSS változók – színek, méretek központilag
   ========================================================================== */
:root {
	/* Sötét, elegáns alapséma. A --color-primary / --color-accent
	   értékének cseréjével könnyen átszínezhető a sablon. */
	--color-primary: #1594a0; /* gombok, kiemelt teal akcentus            */
	--color-accent:  #0b1118; /* legsötétebb felületek (statusbar, footer) */
	--color-danger:  #ef4444;
	--color-text:    #e7edf3; /* világos törzsszöveg sötét háttéren        */
	--color-muted:   #94a3b8; /* halványított szöveg                       */
	--color-bg:      #131b24; /* fő tartalmi háttér                        */
	--color-surface: #1a232e; /* váltakozó / kiemelt sötét felület         */
	--color-border:  #2a3645; /* finom elválasztó vonalak                  */
	--color-dark:    #000000;
	--color-card:    #1e2935; /* kártyák háttere                           */

	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 12px;

	--wrapper-max: 1800px;
	--header-sticky-offset: 120px; /* JS frissíti a tényleges fejléc magasságra */

	--transition-fast: 150ms ease;
	--transition-mid:  250ms ease;
	--transition-slow: 500ms ease;

	--shadow-soft: 0 1px 3px rgba(0, 0, 0, 0.3), 0 8px 28px rgba(0, 0, 0, 0.4);
	--shadow-deep: 0 16px 50px rgba(0, 0, 0, 0.55);
}

/* ==========================================================================
   Alapok / reset
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding: 0;
	color: var(--color-text);
	/* A body háttere a 4K/ultraszéles képernyők oldalsávját adja a #hd körül. */
	background-color: #232325;
	font-family: "Mulish", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* A fő tartalmi keret sötét háttere */
#hd { background-color: var(--color-bg); }

/* A teljes oldal-tartalom "kerete" – 1920px-nél szélesebb képernyőkön
   középre húzza a sablont, hogy ne nyúljon szét vékony, elnyújtott csíkká. */
#hd {
	max-width: 1920px;
	margin: 0 auto;
	position: relative;
	/* overflow szándékosan nincs: a sticky fejléchez az ősön nem lehet
	   overflow:hidden, különben nem ragadna a tetejére görgetéskor. */
}

/* Az input elemek alapból nem öröklik a font-family-t – ezt pótoljuk. */
input, select, textarea, button {
	font-family: inherit;
	font-size: inherit;
}

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

/* Akadálymentes skip-link */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	border: 0; clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	white-space: nowrap;
}
.skip-link:focus {
	position: fixed;
	top: 10px; left: 10px;
	width: auto; height: auto; clip: auto;
	padding: 10px 16px;
	background: #000; color: #fff;
	z-index: 1000;
}

/* Átmenetek */
a, .fast { transition: all var(--transition-fast); }
.anim    { transition: all var(--transition-mid); }
.slow    { transition: all var(--transition-slow); }

.hide { opacity: 0 !important; }

/* ==========================================================================
   Tipográfia
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-style: italic;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0;
	color: #ffffff;
}
h1 { font-size: clamp(1.875rem, 3.5vw, 2.5rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.625rem); }
h4 { font-size: clamp(1.125rem, 2vw, 1.375rem); }

p { margin: 0 0 1em; }
a { color: var(--color-text); }

/* ==========================================================================
   Layout
   ========================================================================== */
.wrapper {
	position: relative;
	margin: 0 auto;
	padding: 0;
	max-width: var(--wrapper-max);
}

.padding {
	position: relative;
	margin: 0 3%;
}

.layout {
	padding: 5% 0;
	position: relative;
	overflow: hidden;
}

.entry {
	position: relative;
	z-index: 100;
	line-height: 1.5;
}
.content-placeholder {
	margin: 0;
	color: var(--color-muted);
	font-style: italic;
}

.narrow {
	max-width: 800px;
	margin: -80px auto 0;
	padding: 5%;
	background-color: var(--color-card);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-deep);
	position: relative;
}

.layoutimage {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
}

.parallax {
	text-align: center;
	background-color: var(--color-dark);
	color: #fff;
}
.parallax .entry { max-width: 640px; margin: 0 auto 2em; }
.parallax .layoutimage img {
	width: 100%; height: 100%;
	object-fit: cover;
	position: fixed;
	top: 0; left: 0;
	opacity: .5;
}

.clear { clear: both; }

/* Pozicionáló segédek (transform alapú centrálás) */
.center, .hcenter, .vcenter { position: absolute; }
.center  { top: 50%; left: 50%; transform: translate(-50%, -50%); }
.hcenter { left: 50%; transform: translateX(-50%); }
.vcenter { top: 50%; transform: translateY(-50%); }

/* ==========================================================================
   Morzsa-navigáció
   ========================================================================== */
.breadcrumb {
	font-size: 12px;
	margin: 0 0 56px;
	text-align: center;
	letter-spacing: 0.08em;
	line-height: 1.4;
	padding: 0;
	text-transform: uppercase;
	font-weight: 500;
}
.breadcrumb ul { list-style: none; padding: 0; margin: 0; }
.breadcrumb .padding { padding: 0; }
.breadcrumb li  { display: inline-block; color: rgba(255, 255, 255, .55); }
.breadcrumb a   { text-decoration: none; color: rgba(255, 255, 255, .85); transition: color var(--transition-fast); }
.breadcrumb a:hover { color: #fff; }
.breadcrumb li::after {
	content: "/";
	font-family: inherit;
	font-weight: 400;
	display: inline-block;
	margin: 0 10px;
	color: rgba(255, 255, 255, .3);
}
.breadcrumb li:last-child::after { content: none; }

/* ==========================================================================
   Gombok
   ========================================================================== */
.button {
	display: inline-block;
	padding: 14px 26px;
	background-color: var(--color-primary);
	color: #fff !important;
	border: 1px solid var(--color-primary);
	border-radius: var(--radius-sm);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color var(--transition-mid), border-color var(--transition-mid), transform var(--transition-fast);
}
.button:hover {
	background-color: #117c87;
	border-color: #117c87;
	transform: translateY(-1px);
}
/* A .entry a globális szabály (aláhúzás) felülírása gomboknál. */
.entry a.button,
.entry a.button:hover { text-decoration: none; }
.button.cancel {
	background-color: transparent;
	color: var(--color-text) !important;
	border-color: var(--color-border);
}
.button.cancel:hover {
	background-color: var(--color-surface);
	border-color: var(--color-text);
}

/* ==========================================================================
   Űrlap elemek
   ========================================================================== */
.formline { margin-bottom: 10px; }

label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: var(--color-muted);
	margin-bottom: 6px;
	letter-spacing: 0.01em;
}

.field,
#contactform textarea,
.dropdown {
	width: 100%;
	padding: 12px 14px;
	font-size: 15px;
	color: var(--color-text);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.field::placeholder,
#contactform textarea::placeholder { color: var(--color-muted); }
.field:focus,
#contactform textarea:focus,
.dropdown:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(21, 148, 160, 0.18);
}
#contactform textarea { min-height: 150px; resize: vertical; }

#fieldboxes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 20px;
}
.fieldbox { font-size: 15px; min-width: 0; }

/* Checkbox sorok (pl. kapcsolat-űrlap kötelező jelölőnégyzetek) */
.checkbox-line { margin: 0 0 12px; }
.checkbox-line label.checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: auto;
	font-size: 14px;
	font-weight: 400;
	color: var(--color-text);
	letter-spacing: 0;
	text-transform: none;
	margin: 0;
	cursor: pointer;
	line-height: 1.5;
}
.checkbox-line input[type="checkbox"] {
	margin: 3px 0 0;
	width: 16px;
	height: 16px;
	accent-color: var(--color-primary);
	flex-shrink: 0;
	cursor: pointer;
}
.checkbox-line a {
	color: var(--color-text);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
.checkbox-line a:hover { color: var(--color-muted); }
.checkbox-line + .formline { margin-top: 22px; }

.infotext {
	font-size: 12px;
	text-align: right;
	opacity: .7;
}

.message {
	padding: 14px 18px;
	margin-bottom: 16px;
	border-radius: var(--radius-sm);
	background-color: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
	font-size: 14px;
}
.message.error {
	background-color: #fef2f2;
	color: #991b1b;
	border-color: #fecaca;
}

/* ==========================================================================
   Status bar / fejléc top
   ========================================================================== */
#statusbar {
	position: relative;
	padding: 8px 0 0;
	color: rgba(255, 255, 255, .75);
	font-size: 12px;
	letter-spacing: 0.02em;
	overflow: hidden;
	min-height: 32px;
	background-color: var(--color-accent);
}
.headon #statusbar { padding: 0; min-height: 0; height: 0; }
#statusbar .padding { padding-bottom: 8px; }

#slogan { padding-right: 90px; }

#icons {
	position: absolute;
	right: 0;
	top: 0;
}
#icons a {
	display: inline-block;
	color: rgba(255, 255, 255, .75);
	border-left: 1px solid rgba(255, 255, 255, .18);
	padding: 0 12px;
	text-align: center;
	font-size: 13px;
	vertical-align: middle;
	transition: color var(--transition-fast);
}
#icons a:hover { color: #fff; }

#language {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
	padding-right: 10px;
	border-right: 1px solid rgba(255, 255, 255, .18);
}
#language .lang {
	display: inline-block;
	vertical-align: middle;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
}
#language .lang a {
	display: inline-block;
	padding: 0 6px;
	color: rgba(255, 255, 255, .55);
	text-decoration: none;
	border: 0;
	transition: color var(--transition-fast);
}
#language .lang a:hover { color: #fff; }
#language .lang.langon a { color: #fff; }

/* ==========================================================================
   Fejléc – fixen a tetőn maradó (sticky) sáv
   ========================================================================== */
/* Csak a site fejléce (közvetlen #hd gyermek) – így a szekció-címek
   fölé használt <header class="home-section-header"> nem kap háttért/borderet. */
#hd > header.site-header {
	position: sticky;
	top: 0;
	z-index: 300;
	width: 100%;
	background-color: #232325;
	transition: box-shadow var(--transition-mid);
}
#hd > header.site-header.is-scrolled {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}
#hd > header a, h3 a { text-decoration: none; }

/* Belső flex-sor: balra logó, jobbra a telefon/gomb + menü blokk */
.hd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: var(--wrapper-max);
	margin: 0 auto;
	padding: 12px 3%;
}

#logo {
	position: relative;
	display: inline-block;
	padding: 0;
	line-height: 0;
	flex-shrink: 0;
}
#logo img { height: 40px; width: auto; display: block; }

/* Jobb oldali oszlop: felső sor (telefon + gomb), alatta a menü */
.hd-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}
.hd-top {
	display: flex;
	align-items: center;
	gap: 18px;
}

.hd-phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--color-text);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--transition-fast);
}
.hd-phone i { color: var(--color-primary); font-size: 0.95em; }
.hd-phone:hover { color: #fff; }

.hd-cta {
	padding: 9px 22px;
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

#topmenu { position: static; transform: none; }

/* Hamburger gomb (button elem) */
#hamburger {
	display: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	flex-shrink: 0;
}
#hambi { display: block; width: 30px; }
#hambi span {
	display: block;
	background-color: #e7edf3;
	height: 2px;
	margin: 4px auto;
	border-radius: 1px;
	transition: all var(--transition-mid);
}

.hambitox #x1 { transform: rotateZ(45deg)  translate(4px, 4px); }
.hambitox #x2 { transform: rotateY(90deg); }
.hambitox #x3 { transform: rotateZ(-45deg) translate(4.5px, -4.5px); }

/* ==========================================================================
   Menü
   ========================================================================== */
.nav {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0;
}
.nav li {
	display: inline-block;
	position: relative;
	transition: all var(--transition-mid);
}
.nav li a {
	display: block;
	padding: 6px 14px;
	color: var(--color-text);
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: color var(--transition-fast);
}
.nav li a:hover { color: var(--color-primary); }

.nav ul {
	position: absolute;
	top: 100%;
	left: 0;
	background-color: var(--color-card);
	padding: 0;
	z-index: 99999;
	box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .5);
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s linear .3s, opacity .3s linear;
}
.nav li:hover > ul {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}
.nav ul ul { top: 30%; left: 100%; background: var(--color-surface); }
.nav ul li { width: 100%; border-top: 1px solid var(--color-border); }
.nav ul a {
	height: auto;
	line-height: 1em;
	padding: 15px 20px;
	white-space: nowrap;
}

.nav li:active, .nav li:focus, .clicked {
	box-shadow: 0 0 0 50px rgba(0, 0, 0, .01) inset;
}

.menu-item-has-children > a::after {
	content: "\f107";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: inline-block;
	margin-left: 8px;
	font-size: 0.85em;
	opacity: .6;
}

.current-menu-item > a { color: var(--color-primary); position: relative; }
.current-menu-item > a::before {
	content: "";
	position: absolute;
	left: 14px; right: 14px; bottom: 0;
	height: 2px;
	background-color: var(--color-primary);
}

/* ==========================================================================
   Slider vezérlők (Owl alapú fallback-hoz)
   ========================================================================== */
.owl-buttons {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	overflow: hidden;
	font-weight: 300;
}
.owl-prev, .owl-next {
	position: absolute;
	top: 0;
	color: #fff;
	font-size: 140px;
	line-height: 350px;
	width: 45%; height: 100%;
	opacity: 0;
	transition: all var(--transition-mid);
}
.owl-prev { left: 0;  padding-left: 5%; }
.owl-next { right: 0; text-align: right; padding-right: 5%; }
.owl-prev:hover, .owl-next:hover { opacity: .5; }

#slider .slide {
	height: 400px;
	background-size: cover;
	background-position: center;
}

/* ==========================================================================
   Article / post
   ========================================================================== */
article {
	float: left;
	width: calc(97% - 320px);
	position: relative;
}

#tophead {
	position: relative;
	padding: 0;
	background-color: #0069ae;
	overflow: hidden;
}
#tophead::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(15, 23, 42, 0.75) 100%);
	z-index: 1;
	pointer-events: none;
}
#tophead img {
	position: absolute;
	top: 50%; left: 50%;
	min-width: 100%; min-height: 100%;
	width: auto; height: auto;
	transform: translate(-50%, -50%);
	opacity: .3;
	object-fit: cover;
	z-index: 0;
	filter: grayscale(1) contrast(15);
}
#tophead .wrapper,
#tophead .padding,
#tophead .breadcrumb { position: relative; z-index: 2; }

#tophead h1 {
	margin: 90px 0 16px;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0;
	line-height: 1.2;
}

.editpostlink {
	position: absolute;
	right: 3%; top: 16px;
}
.editpostlink .button {
	padding: 10px 14px;
	font-size: 13px;
	background-color: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(4px);
}
.editpostlink .button:hover {
	background-color: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.35);
}

/* Csempék */
ul.boxes {
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 0;
	line-height: 0;
	list-style: none;
}

.box {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(20% - 40px);
	margin: 20px;
	aspect-ratio: 9 / 7;
	border-radius: var(--radius-md);
	overflow: hidden;
	background-color: var(--color-surface);
	transition: transform var(--transition-mid), box-shadow var(--transition-mid);
}
.box:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-soft);
}
.box img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 1;
}
.box h3 {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	margin: 0;
	padding: 20px 22px;
	text-align: left;
	color: #fff;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.01em;
	z-index: 15;
}

.textback {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0) 40%, rgba(15, 23, 42, 0.75) 100%);
	z-index: 5;
}

.subpages {
	padding: 0;
	margin: 2em 0 0;
	list-style: none;
	border-top: 1px solid var(--color-border);
}
.subpages .subpage {
	border-bottom: 1px solid var(--color-border);
}
.subpages a {
	display: block;
	padding: 18px 0;
	color: var(--color-text) !important;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.01em;
	transition: color var(--transition-fast), padding-left var(--transition-mid);
}
.subpages a:hover {
	color: var(--color-muted) !important;
	padding-left: 8px;
}

.post {
	padding: 0;
	margin: 0px 0 0px;
	position: relative;
}

.entry a        { color: var(--color-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry a:hover  { color: var(--color-muted); }

.alignleft, .alignright {
	width: 40%;
	font-size: 0;
	line-height: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.alignright { float: right; margin: 0 0 2% 3%; }
.alignleft  { float: left;  margin: 0 3% 2% 0; }
.alignleft img, .alignright img { width: 100%; height: 100%; object-fit: cover; }

.wp-caption-text {
	margin: 0;
	padding: 6px 10px;
	background-color: var(--color-surface);
	color: var(--color-muted);
	font-size: 15px;
	line-height: 1.4;
}

/* WordPress alap [gallery] – rácsos elrendezés a függőleges egymás-alatt helyett */
.entry .gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 1.5em 0 2em;
}
.entry .gallery-columns-1 { grid-template-columns: 1fr; }
.entry .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.entry .gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.entry .gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.entry .gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.entry .gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.entry .gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.entry .gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.entry .gallery-item {
	width: auto !important;
	margin: 0;
	padding: 0;
	text-align: center;
}
.entry .gallery-icon {
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-md);
}
.entry .gallery-icon img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform var(--transition-fast);
}
.entry .gallery-item:hover .gallery-icon img { transform: scale(1.05); }
.entry .gallery-caption {
	display: block;
	margin: 6px 0 0;
	padding: 0;
	background: none;
	font-size: 0.85rem;
	line-height: 1.4;
	color: var(--color-muted);
}
@media (max-width: 640px) {
	.entry .gallery-columns-3,
	.entry .gallery-columns-4,
	.entry .gallery-columns-5,
	.entry .gallery-columns-6,
	.entry .gallery-columns-7,
	.entry .gallery-columns-8 { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   Képfeltöltés (admin)
   ========================================================================== */
.ui-sortable-handle {
	float: left;
	position: relative;
	width: auto;
	height: 80px;
	margin: 0 10px 10px 0;
	border: 1px solid #ccc;
}
.ui-sortable-handle:first-child::after {
	content: "kiemelt kép";
	position: absolute;
	left: 50%; bottom: -5px;
	padding: 0 3px;
	background-color: #fff;
	font-size: 13px;
	border-radius: 4px;
	box-shadow: 1px 1px 15px rgba(0, 0, 0, .5);
	opacity: .9;
	transform: translateX(-50%);
	white-space: nowrap;
}
.ui-sortable-handle label { width: auto; padding: 0; }
.ui-sortable-handle img   { width: auto; height: 80px; }

.torles {
	position: absolute;
	right: -5px; top: -5px;
	width: 15px;
	background-color: #fff;
	border: 3px solid #d64642;
	color: #d64642;
	text-align: center;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, .3);
	border-radius: 50%;
}
.plus { cursor: pointer; }

/* ==========================================================================
   Aside / sidebar
   ========================================================================== */
aside {
	float: right;
	width: 280px;
	margin: 60px 0;
	padding: 28px 28px 32px;
	background-color: var(--color-surface);
	color: var(--color-text);
	text-align: left;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	line-height: 1.55;
	font-size: 15px;
	list-style: none;
}
aside a { color: var(--color-text); font-weight: 600; }
aside a:hover { color: var(--color-muted); }

#facebook { overflow: hidden; }

/* ==========================================================================
   Lábléc
   ========================================================================== */
footer {
	position: relative;
	clear: both;
	padding: 60px 30px 40px;
	background-color: var(--color-accent);
	color: rgba(255, 255, 255, .55);
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.01em;
	z-index: 10;
}
footer a {
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
	font-weight: 500;
	transition: color var(--transition-fast);
}
footer nav li a  { color: rgba(255, 255, 255, .85) !important; }
footer a:hover   { color: #fff; }
footer span      { display: inline-block; }

#footlogo img {
	width: 60%;
	max-width: 240px;
	margin-bottom: 30px;
	filter: grayscale(1);
	opacity: .7;
}

/* Közösségi / kapcsolati ikonok a láblécben */
footer .social-icons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 0 0 24px;
}
footer .social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
footer .social-icon:hover {
	background-color: rgba(255, 255, 255, 0.16);
	color: #fff !important;
	transform: translateY(-2px);
}

/* ==========================================================================
   Kezdőoldal – szekciók
   ========================================================================== */
.home-section {
	position: relative;
	padding: 80px 0;
}
.home-section + .home-section { border-top: 1px solid var(--color-border); }

/* Váltakozó háttér – tiszta vizuális ritmus */
.home-section:nth-of-type(even) { background-color: var(--color-surface); }

/* ---- Hero (kezdőoldal nyitóképe) ---- */
.home-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(520px, 78vh, 760px);
	background-color: var(--color-accent);
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	overflow: hidden;
}
/* Színátmenet a bal oldalon a body háttérszínével indulva, jobbra teljesen átlátszóan */
.home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #232325 0%, rgba(35, 35, 37, 0) 100%);
	z-index: 1;
}
.home-hero > .wrapper { position: relative; z-index: 2; width: 100%; }
.home-hero-inner {
	max-width: 660px;
	/* Alsó padding nagyobb: a -56px-es feature-strip rálógás miatt különben
	   a felső tér nagyobbnak tűnik, mint az alsó. */
	padding: 72px 0 132px;
}
@media (min-width: 901px) {
	.home-hero-inner { padding-left: 48px; }
}
.home-hero-title {
	margin: 0 0 26px;
	font-size: clamp(2rem, 4.6vw, 3.5rem);
	line-height: 1.15;
	font-weight: 400;
	color: #fff;
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.35);
}
.home-hero-text {
	margin: 0 0 34px;
	max-width: 520px;
	font-size: 18px;
	line-height: 1.7;
	color: rgba(231, 237, 243, 0.86);
}
.home-hero .button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.home-hero .button i { font-size: 0.8em; transition: transform var(--transition-fast); }
.home-hero .button:hover i { transform: translateX(3px); }

/* Nagy felbontáson (1600px felett) nagyobb betűk */
@media (min-width: 1601px) {
	.nav li a { font-size: 16px; }
	.home-hero-inner { max-width: 760px; padding-top: 80px; padding-bottom: 148px; padding-left: 72px; }
	.home-hero-title { font-size: 4.25rem; }
	.home-hero-text { font-size: 21px; }
	.home-hero .button { font-size: 17px; padding: 16px 30px; }
	.stat-ico { font-size: 46px; }
	.stat-big { font-size: 2.4rem; }
	.stat-label { font-size: 1.1rem; }
	.stat-label span { font-size: 0.98rem; }
}

@media (max-width: 1000px) {
	.home-hero { min-height: clamp(420px, 60vh, 600px); }
	.home-hero-inner { padding: 56px 0 112px; }
}
@media (max-width: 560px) {
	.home-hero { min-height: 0; background-position: center; }
	.home-hero-inner { padding: 48px 0 96px; }
	.home-hero-text { font-size: 16px; }
}

/* ---- Jellemzők sáv (a hero alatt, részben rálógva) ---- */
.home-features {
	position: relative;
	z-index: 5;
	margin-top: -56px;
}
.feature-strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: linear-gradient(90deg, rgba(36, 36, 40, 0.96) 0%, rgba(28, 28, 32, 0.9) 100%);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
	padding: 34px 20px;
}
.feature {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 10px 26px;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.feature:last-child { border-right: 0; }
.feature-ico {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--color-primary);
	font-size: 38px;
	line-height: 1;
}
.feature-body h4 {
	margin: 0 0 7px;
	font-family: "Mulish", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	font-style: normal;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
}
.feature-body p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--color-muted);
}

@media (max-width: 1000px) {
	.feature-strip { grid-template-columns: repeat(2, 1fr); gap: 8px 0; }
	.feature { padding: 18px 22px; }
	.feature:nth-child(2) { border-right: 0; }
	.feature:nth-child(1), .feature:nth-child(2) { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
}
@media (max-width: 560px) {
	.home-features { margin-top: -36px; }
	.feature-strip { grid-template-columns: 1fr; padding: 10px 8px; }
	.feature { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
	.feature:last-child { border-bottom: 0; }
}

/* ---- Termék-panelek (a 49-es oldal aloldalai, képes kártyák) ---- */
.home-products { padding-top: 64px; }
.product-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
/* Oldal sablon (page.php) – oldalsáv nélkül, teljes szélességben */
.page-article { float: none; width: 100%; }
.page-article .page-prose { max-width: 760px; margin: 0 auto; }
.page-article .product-cards { margin-top: 40px; }

/* ---- Termékoldal / Rólunk: háromhasábos, sticky elrendezés ---- */
.product-layout {
	display: grid;
	grid-template-columns: 1fr 1.6fr 1fr;
	gap: 40px;
	align-items: start;
	padding: 48px 0 24px;
}
.product-layout .product-col {
	position: sticky;
	top: var(--header-sticky-offset);
	align-self: start;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
}

/* Bal oszlop – galéria / kiemelt kép */
.product-col-gallery .gallery { margin: 0; grid-template-columns: repeat(3, 1fr); }
.product-col-gallery .gallery-columns-1 { grid-template-columns: 1fr; }
.product-col-gallery .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.product-col-gallery .gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.product-col-gallery .gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.product-feat-img {
	overflow: hidden;
	border-radius: var(--radius-md);
}
.product-feat-img img { display: block; width: 100%; height: auto; }

/* Jobb oszlop – „További termékeink" lista */
.product-aside-box {
	padding: 22px;
	background: var(--color-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}
.product-aside-title {
	margin: 0 0 18px;
	font-size: 1.75rem;
	line-height: 1.2;
}
.product-list { margin: 0; padding: 0; list-style: none; }
.product-list-nested {
	margin: 4px 0 0;
	padding-left: 14px;
	border-left: 1px solid var(--color-border);
}
.product-list-item { margin: 0; border-top: 1px solid var(--color-border); }
.product-list > .product-list-item:first-child { border-top: 0; }
.product-list-nested .product-list-item { border-top: 0; }
.product-list-nested .product-list-item a { padding: 7px 0; font-size: 0.92rem; }
.product-list-item a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	color: var(--color-text);
	text-decoration: none;
	transition: color var(--transition-fast);
}
.product-list-item a:hover { color: var(--color-primary); }
.product-list-title { flex: 1 1 auto; font-weight: 600; line-height: 1.3; }
.product-list-item .fa-chevron-right { font-size: 0.75em; opacity: 0.5; transition: transform var(--transition-fast); }
.product-list-item a:hover .fa-chevron-right { transform: translateX(3px); opacity: 1; }
.product-list-item.is-current a { color: var(--color-primary); font-weight: 700; }
.product-list-item.is-ancestor > a { color: var(--color-primary); }

/* Al-termékek kártyái a három oszlop alatt */
.product-subcards { margin-top: 8px; padding-bottom: 64px; }

/* Kapcsolat oszlop (Rólunk sablon) */
.product-aside-content { line-height: 1.6; }
.product-aside-content :first-child { margin-top: 0; }
.product-aside-content :last-child { margin-bottom: 0; }

@media (max-width: 1200px) {
	.product-layout { grid-template-columns: 1fr 1.5fr 1fr; gap: 28px; }
}
@media (max-width: 900px) {
	.product-layout { grid-template-columns: 1fr; gap: 32px; padding: 32px 0 48px; }
	.product-layout .product-col { position: static; top: auto; }
	.product-col-gallery .gallery,
	.product-col-gallery .gallery-columns-3,
	.product-col-gallery .gallery-columns-4 { grid-template-columns: repeat(2, 1fr); }

	/* Termékoldal: al-termékek kártyái mobilon a „További termékeink” elé */
	.product-page-stack {
		display: flex;
		flex-direction: column;
		gap: 32px;
		padding: 32px 0 48px;
	}
	.product-page-stack .product-layout {
		display: contents;
		padding: 0;
	}
	.product-page-stack .product-col-gallery { order: 1; }
	.product-page-stack .product-col-main { order: 2; }
	.product-page-stack .product-subcards {
		order: 3;
		margin-top: 0;
		padding-bottom: 0;
	}
	.product-page-stack .product-col-aside { order: 4; }
}

.entry .product-cards { margin-top: 32px; }
.product-cards--count-3 { grid-template-columns: repeat(3, 1fr); }
.product-cards--count-2 { grid-template-columns: repeat(2, 1fr); max-width: 880px; margin: 0 auto; }
.product-cards--count-1 { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }

.product-card {
	position: relative;
	float: none;
	width: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 380px;
	padding: 30px 28px;
	border-radius: var(--radius-md);
	overflow: hidden;
	color: #fff;
	isolation: isolate;
}
.product-card-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-color: var(--color-surface);
	filter: grayscale(1);
	z-index: -2;
	transition: transform var(--transition-slow);
}
.product-card:hover .product-card-bg { transform: scale(1.05); }
.product-card-tint { position: absolute; inset: 0; z-index: -1; }
.product-card--tint-1 .product-card-tint { background: linear-gradient(45deg, rgba(21, 148, 160, 0.92) 25%, rgba(12, 70, 80, 0.45)); }
.product-card--tint-2 .product-card-tint { background: linear-gradient(45deg, rgba(38, 58, 50, 0.92) 25%, rgba(18, 34, 30, 0.45)); }
.product-card--tint-3 .product-card-tint { background: linear-gradient(45deg, rgba(150, 98, 46, 0.92) 25%, rgba(86, 52, 22, 0.45)); }
.product-card--tint-4 .product-card-tint { background: linear-gradient(45deg, rgba(20, 82, 150, 0.92) 25%, rgba(13, 46, 90, 0.45)); }

.product-card-ico {
	margin-bottom: auto;
	font-size: 46px;
	line-height: 1;
	color: #fff;
	opacity: 0.95;
}
.product-card-title {
	margin: 0 0 12px;
	font-size: clamp(1.75rem, 2.4vw, 2.3rem);
	line-height: 1.15;
	color: #fff;
}
.product-card-title a { color: #fff; text-decoration: none; }
.product-card-desc {
	margin: 0 0 22px;
	max-width: 280px;
	font-size: 1.1rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.9);
}
.button.button-outline {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: transparent;
	border: 1.5px solid rgba(255, 255, 255, 0.6);
	color: #fff !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.button.button-outline:hover {
	background: #fff;
	border-color: #fff;
	color: var(--color-accent) !important;
	transform: translateY(-1px);
}
.button.button-outline i { font-size: 0.8em; transition: transform var(--transition-fast); }
.button.button-outline:hover i { transform: translateX(3px); }

@media (max-width: 1200px) {
	.product-cards,
	.product-cards--count-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.product-cards,
	.product-cards--count-2,
	.product-cards--count-3,
	.product-cards--count-4 { grid-template-columns: 1fr; }
}

/* ---- Statisztika sáv ---- */
.home-stats {
	position: relative;
	overflow: hidden;
	margin-top: 64px;
	background: linear-gradient(120deg, #084a7a 0%, #0069ae 100%);
}
.home-stats::after {
	content: "";
	position: absolute;
	inset: 0;
	background: url('images/aquadit-hero.webp') center / cover;
	opacity: 0.08;
	mix-blend-mode: luminosity;
	pointer-events: none;
}
.home-stats .padding { position: relative; z-index: 1; }
.stats-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	padding: 46px 0;
}
.stat {
	display: flex;
	align-items: center;
	gap: 18px;
	color: #fff;
}
.stat-ico {
	flex: 0 0 auto;
	font-size: 40px;
	line-height: 1;
	opacity: 0.92;
}
.stat-big {
	margin-bottom: 4px;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1;
}
.stat-label {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.stat-label span {
	display: block;
	font-weight: 500;
	text-transform: none;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.75);
}
@media (max-width: 1000px) {
	.stats-inner { grid-template-columns: repeat(2, 1fr); gap: 30px; }
}
@media (max-width: 560px) {
	.stats-inner { grid-template-columns: 1fr; gap: 24px; }
}

/* „Eyebrow" kis felső címke, ami fölé emeli a szekció-címeket */
.home-eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.home-section-header {
	max-width: 720px;
	margin: 0 auto 48px;
	text-align: center;
}
.home-section-header h2 {
	margin: 0;
	font-size: clamp(1.875rem, 3.2vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 0;
}

/* ---- Bemutatkozó ---- */
.home-about-inner {
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
.home-about-inner h2 {
	margin: 0 0 20px;
	font-size: clamp(1.875rem, 3.2vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 0;
}
.home-about-excerpt {
	font-size: 17px;
	line-height: 1.7;
	color: var(--color-text);
	margin: 0 0 28px;
}
.home-about-excerpt p { margin: 0 0 1em; }
.home-about-excerpt p:last-child { margin-bottom: 0; }
.home-about-cta { margin: 0; }
.home-about-inner .editpostlink {
	position: absolute;
	right: 0; top: 0;
}

/* ---- Szolgáltatásaink ---- */
.home-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	justify-content: center;
}
/* 1 elem esetén nincs értelme gridnek – sima blokk, középre zárva */
.home-services-grid--count-1 {
	display: block;
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}
.home-services-grid--count-2 {
	grid-template-columns: repeat(2, 1fr);
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}
.service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	/* A téma globális `article { float: left; width: calc(97% - 320px) }`
	   szabálya ezt a szekció-kártyát szétcsúsztatná – explicit reset. */
	float: none;
	width: auto;
	background-color: var(--color-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: transform var(--transition-mid), box-shadow var(--transition-mid), border-color var(--transition-mid);
}
.service-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-soft);
	border-color: var(--color-primary);
}
.home-section:nth-of-type(even) .service-card {
	background-color: var(--color-card);
}
.service-card-thumb {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background-color: var(--color-surface);
}
.service-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--transition-mid);
}
.service-card:hover .service-card-thumb img { transform: scale(1.04); }
.service-card-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 24px 24px 22px;
}
.service-card-title {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.01em;
}
.service-card-title a {
	color: var(--color-text);
	text-decoration: none;
	transition: color var(--transition-fast);
}
.service-card:hover .service-card-title a { color: var(--color-primary); }
.service-card-excerpt {
	margin: 0 0 18px;
	color: var(--color-muted);
	font-size: 15px;
	line-height: 1.55;
	flex: 1 1 auto;
}
.service-card-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-primary);
	text-decoration: none;
	transition: gap var(--transition-fast);
}
.service-card-link:hover { gap: 12px; }

.home-services-fallback {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
	color: var(--color-muted);
	font-size: 16px;
}
.home-services-fallback .button { margin-top: 8px; }

/* ---- Hírek ---- */
.home-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	justify-content: center;
}
/* 1 bejegyzés esetén nincs értelme gridnek – sima blokk, középre zárva */
.home-news-grid--count-1 {
	display: block;
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}
.home-news-grid--count-2 {
	grid-template-columns: repeat(2, 1fr);
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}
.news-card {
	display: flex;
	flex-direction: column;
	/* A globális `article { float: left; width: calc(97% - 320px) }` és
	   a `.post { margin: 72px 0 96px }` nem szabad hogy érvényesüljön
	   a kezdőoldali kártyáknál (ezek a post_class miatt megjelennek). */
	float: none;
	width: auto;
	margin: 0;
	background-color: var(--color-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: transform var(--transition-mid), box-shadow var(--transition-mid), border-color var(--transition-mid);
}
.news-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-soft); border-color: var(--color-primary); }
.news-card-thumb {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background-color: var(--color-surface);
}
.news-card-thumb img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--transition-mid);
}
.news-card:hover .news-card-thumb img { transform: scale(1.04); }
.news-card-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 22px 24px 24px;
}
.news-card-date {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-muted);
	margin-bottom: 8px;
}
.news-card-title {
	margin: 0 0 10px;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.35;
}
.news-card-title a {
	color: var(--color-text);
	text-decoration: none;
	transition: color var(--transition-fast);
}
.news-card:hover .news-card-title a { color: var(--color-primary); }
.news-card-excerpt {
	margin: 0 0 16px;
	color: var(--color-muted);
	font-size: 15px;
	line-height: 1.55;
	flex: 1 1 auto;
}
.news-card-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
	transition: gap var(--transition-fast);
}
.news-card-link:hover { gap: 12px; }

/* ---- Kapcsolat CTA – sötét kártya világos háttér fölött, hogy
   vizuálisan elváljon a láblécztől (amely ugyanilyen sötét tónusú). ---- */
.home-cta {
	padding-top: 60px;
	padding-bottom: 60px;
}
.home-cta-inner {
	max-width: 880px;
	margin: 0 auto;
	padding: 56px 40px;
	background-color: var(--color-primary);
	color: #fff;
	border-radius: var(--radius-md);
	text-align: center;
	box-shadow: var(--shadow-soft);
}
.home-cta-inner h2 {
	margin: 0 0 14px;
	font-size: clamp(1.875rem, 3.2vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 0;
	color: #fff;
}
.home-cta-inner p {
	margin: 0 0 28px;
	font-size: 17px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
}
.home-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 0 !important;
}
.home-cta-actions .button {
	background-color: #fff;
	border-color: #fff;
	color: var(--color-primary) !important;
}
.home-cta-actions .button:hover {
	background-color: #e5e7eb;
	border-color: #e5e7eb;
	color: var(--color-primary) !important;
	transform: translateY(-1px);
}
.home-cta-actions .button.cancel {
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.home-cta-actions .button.cancel:hover {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   Reszponzív
   ========================================================================== */
@media (max-width: 1600px) {
	.box { width: calc(25% - 40px); font-size: 19px; }
	.nav li a { padding: 6px 10px; }
}

@media (max-width: 1350px) {
	.box      { width: calc(33% - 40px); font-size: 16px; }
	article   { width: 100%; float: none; }
	aside     { float: none; width: auto; margin: 30px 0; }
}

/* Fejléc → mobil nézet: hamburger + lenyíló panel a telefon/gomb/menü blokkal */
@media (max-width: 1100px) {
	.hd { flex-wrap: wrap; gap: 0; }
	#hamburger { display: inline-block; }

	.hd-right {
		flex-basis: 100%;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin-top: 12px;
		background-color: var(--color-card);
		border-top: 1px solid var(--color-border);
	}
	.hd-right.open { display: flex; }

	.hd-top {
		justify-content: center;
		gap: 16px;
		padding: 16px 0;
		border-bottom: 1px solid var(--color-border);
	}

	#topmenu { width: 100%; }
	.nav { display: flex; flex-direction: column; }
	.nav li { display: block; width: 100%; text-align: center; border-top: 1px solid var(--color-border); }
	.nav li:first-child { border-top: 0; }
	.nav li a { padding: 14px 16px; font-size: 14px; }
	.nav ul {
		position: static;
		visibility: visible;
		opacity: 1;
		box-shadow: none;
		background-color: var(--color-surface);
		transition: none;
	}
	.nav ul ul { left: 0; }
	.current-menu-item > a::before { display: none; }
}

/* ==========================================================================
   404 oldal
   ========================================================================== */
.tophead-error .padding {
	text-align: center;
	padding-top: 40px;
	padding-bottom: 40px;
}
.tophead-error .error-number {
	display: block;
	font-size: clamp(6rem, 16vw, 11rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: #fff;
	opacity: 0.9;
	margin: 40px 0 8px;
}
.tophead-error h1 {
	margin: 0 0 24px;
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
	letter-spacing: 0;
}

.error404 article.error-404 {
	float: none;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}
.error-404 .entry { text-align: center; }
.error-404 .error-lead {
	font-size: 17px;
	line-height: 1.6;
	color: var(--color-muted);
	margin: 0 auto 28px;
	max-width: 560px;
}
.error-404 .error-search {
	max-width: 520px;
	margin: 0 auto 24px;
}
.error-404 .error-search .search-form {
	display: flex;
	gap: 8px;
	align-items: stretch;
	width: 100%;
}
.error-404 .error-search .search-field {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	height: 46px;
	padding: 0 14px;
	font-size: 15px;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.error-404 .error-search .search-field:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(21, 148, 160, 0.18);
}
.error-404 .error-search .search-submit {
	flex: 0 0 auto;
	height: 46px;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	line-height: 1;
}
.error-404 .error-actions {
	margin: 0 0 48px;
}
.error-404 .error-actions .button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.error-404 .error-nav {
	border-top: 1px solid var(--color-border);
	padding-top: 32px;
	margin-top: 24px;
}
.error-404 .error-nav h2 {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-muted);
	margin: 0 0 16px;
}
.error-404 .error-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 24px;
}
.error-404 .error-nav-list li { margin: 0; padding: 0; }
.error-404 .error-nav-list a {
	display: inline-block;
	padding: 6px 4px;
	font-size: 15px;
	font-weight: 500;
	color: var(--color-text);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color var(--transition-fast), border-color var(--transition-fast);
}
.error-404 .error-nav-list a:hover {
	color: var(--color-primary);
	border-bottom-color: var(--color-primary);
}

@media (max-width: 560px) {
	.error-404 .error-search form,
	.error-404 .error-search .search-form {
		flex-direction: column;
	}
}

/* ==========================================================================
   Keresési eredmények oldal
   ========================================================================== */
.tophead-search .search-meta {
	margin: 4px 0 0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.75);
	text-align: center;
}

.search article.search-results {
	float: none;
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
}

.search-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.search-item {
	padding: 24px 0;
	border-bottom: 1px solid var(--color-border);
}
.search-item:first-child { padding-top: 8px; }
.search-item:last-child  { border-bottom: none; }

.search-item-title {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
}
.search-item-title a {
	color: var(--color-text);
	text-decoration: none;
	transition: color var(--transition-fast);
}
.search-item-title a:hover { color: var(--color-primary); }

.search-item-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--color-muted);
}
.search-item-type {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.search-item-url {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	opacity: 0.8;
	word-break: break-all;
}

.search-item-excerpt {
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-text);
}
.search-item-excerpt p { margin: 0; }
.search-item-excerpt p + p { margin-top: 8px; }

/* Üres állapot */
.search-empty {
	max-width: 520px;
	margin: 0 auto;
	padding: 32px 0;
	text-align: center;
}
.search-empty h2 {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 600;
}
.search-empty p {
	color: var(--color-muted);
	margin: 0 0 24px;
}
.search-empty-form .search-form {
	display: flex;
	gap: 8px;
	align-items: stretch;
}
.search-empty-form .search-field {
	flex: 1 1 auto;
	min-width: 0;
}

/* Oldalszámozás */
.search-results .navigation {
	margin-top: 32px;
	padding-top: 16px;
}
.search-results .pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}
.search-results .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 14px;
	font-weight: 500;
	color: var(--color-text);
	text-decoration: none;
	transition: all var(--transition-fast);
}
.search-results .page-numbers:hover {
	background-color: var(--color-surface);
	border-color: var(--color-text);
}
.search-results .page-numbers.current {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff;
}

@media (max-width: 1000px) {
	.box               { width: calc(50% - 40px); font-size: 16px; }
	.home-services-grid,
	.home-news-grid    { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	.home-section      { padding: 60px 0; }
}

@media (max-width: 800px) {
	.box          { width: calc(50% - 40px); font-size: 15px; }
}

@media (max-width: 560px) {
	.box               { width: calc(100% - 40px); font-size: 15px; }
	#fieldboxes        { grid-template-columns: 1fr; gap: 16px; }
	#logo img          { height: 40px; }
	.home-services-grid,
	.home-news-grid    { grid-template-columns: 1fr; gap: 16px; }
	.home-section      { padding: 48px 0; }
	.home-section-header { margin-bottom: 32px; }
}

@media (max-width: 400px) {
	.alignleft, .alignright { float: none; margin: 0 0 1em; width: 100%; }
	.alignleft img, .alignright img { width: 100%; height: auto; }
	label { width: auto; }
}

/* Csökkentett animáció – akadálymentesség */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
