/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
caption,
figcaption,
p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

footer#site-footer {
	background: #111;
	color: #eee;
	padding: 40px 20px;
	font-size: 0.95rem;
}

.footer-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1em;
}

.footer-links {
	list-style: none;
	display: flex;
	gap: 20px;
	padding: 0;
	margin: 0;
}

.footer-links a {
	color: #eee;
	text-decoration: none;
	transition: color 0.3s;
}

.footer-links a:hover {
	color: #00bfff;
}

/*****************************/
.hero-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 60vh;
	/* arányos a viewport magasságával */
	min-height: 300px;
	/* mobilon ne legyen túl kicsi */
	max-height: 600px;
	/* desktopon se legyen túl nagy */
}

.hero-slider .slides {
	display: flex;
	height: 100%;
	/* örökli a hero-slider magasságát */
	transition: transform 0.8s ease-in-out;
}

.hero-slider .slide {
	flex: 0 0 100%;
	min-height: 100%;
	/* biztosítja, hogy mindig kitöltse a szülő magasságát */
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0, 0, 0, 0);
	color: #000;
	border: none;
	font-size: 1.5em;
	padding: 0.5em 0.8em;
	cursor: pointer;
	border-radius: 50%;
	z-index: 10;
}

.slider-arrow:hover {
	background: rgba(0, 0, 0, 0);
}

.slider-arrow.prev {
	left: 120px;
}

.slider-arrow.next {
	right: 120px;
}

.slider-dots {
	position: absolute;
	bottom: 25px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 5px;
	z-index: 10;
}

.slider-dots .dot {
	width: 12px;
	height: 12px;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	cursor: pointer;
	transition: transform 0.2s;
}

.slider-dots .dot:hover {
	transform: scale(1.1);
}

.slider-dots .dot.active {
	background: rgb(181, 2, 8);
}

@media (max-width: 1024px) {
	.slider-arrow.prev {
		left: 50px;
	}

	.slider-arrow.next {
		right: 50px;
	}

	.hero-slider {
		height: 45vh;
	}
}

@media (max-width: 768px) {
	.hero-slider {
		height: 40vh;
	}

	.slider-arrow.prev {
		left: 20px;
	}

	.slider-arrow.next {
		right: 20px;
	}

	.slider-arrow {
		font-size: 1.2em;
		padding: 0.3em 0.5em;
	}

	.slider-dots .dot {
		width: 8px;
		height: 8px;
	}

	.slider-dots {
		gap: 4px;
	}

}

/* RÓLUNK */

/* Aboutus szekció */
.aboutus {
	position: relative;
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	padding: 0px 20px 0px;
	color: #222;
}

.aboutus::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0);
	z-index: 1;
}

.aboutus>* {
	position: relative;
	z-index: 2;
}

/* Két oszlopos rész */
.section-two-columns {
	padding: 0;
}

.section-two-columns .container {
	max-width: 1200px;
	margin: 0 auto;
}

.columns-wrapper {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	align-items: flex-start;
}

.column {
	flex: 1 1 45%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.column-left {
	padding-left: 20px;
	max-width: 500px;
	gap: 0px;
}

.column-left img {
	width: 65%;
	height: auto;
	margin-top: 40px;
}

.column-left p {
	font-size: 0.85em;
	font-weight: 500;
	color: #000;
	margin: 10px 0;
}

.column-right {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.column-right .top-img {
	width: 70%;
	height: auto;
	border-radius: 10px;
	align-self: flex-end;
	z-index: 1;
	margin-top: 20px;
}

.column-right .bottom-img {
	width: 70%;
	height: auto;
	border-radius: 10px;
	align-self: flex-start;
	margin-top: -200px;
	z-index: 2;
}

@media (max-width: 768px) {
	.columns-wrapper {
		flex-direction: column;
		/* oszlopok egymás alá mobilon */
	}

	.column {
		flex: 1 1 100%;
		padding: 0 15px;
	}

	/* Bal oldali kép kisebb legyen */
	.column-left img {
		width: 80%;
		margin: 20px auto 0;
		display: block;
	}

	/* Jobb oszlop: a két kép egymás mellett */
	.column-right {
		flex-direction: row;
		/* vízszintes elrendezés */
		justify-content: center;
		/* középre igazítás */
		align-items: center;
		gap: 10px;
		margin-top: 20px;
	}

	.column-right .top-img,
	.column-right .bottom-img {
		width: 48%;
		/* két kép egymás mellett */
		margin: 0;
		border-radius: 10px;
		height: auto;
	}

	/* Mobilon ne legyenek elcsúsztatva egymáshoz képest */
	.column-right .bottom-img {
		margin-top: 0;
	}
}

/* Kártyák */
.section-hero-cards {
	padding: 50px 20px 0px;
}

.section-hero-cards .container {
	max-width: 1200px;
	margin: 0 auto;
}

.section-hero-cards .section-title {
	text-align: left;
	text-transform: uppercase;
	font-size: 1.7em;
	font-weight: 900;
	margin-top: 0;
	margin-bottom: 140px;
	color: #fff;
	padding-left: 20px;
}

.cards-wrapper {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	justify-content: space-between;
}

.card {
	background: #fff;
	border-radius: 60px;
	border: solid 3px rgb(146, 0, 4);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	padding: 20px;
	flex: 1 1 calc(20% - 22.5px);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
	transition: transform 0.3s;
}

.card:hover {
	transform: translateY(-5px);
}

.card img {
	width: 75%;
	height: auto;
	position: absolute;
	top: -30%;
	left: 50%;
	transform: translateX(-50%);
}

.card-title {
	font-size: 1.2em;
	font-weight: 800;
	margin-bottom: 0;
	color: rgb(181, 2, 8);
	margin-top: calc(20% + 15px);
}

.card-text {
	font-size: 0.75em;
	font-weight: 600;
	color: #000;
	margin: 25px 0;
	padding: 0 20px;
}

/* Section bottom logo */
.section-bottom-image {
	text-align: center;
	margin-top: 10px;
}

.section-bottom-image img {
	max-width: 150px;
	width: 100%;
	height: auto;
}

/* Column cím */
.column-title {
	font-size: 2em;
	font-weight: bold;
	color: rgb(181, 2, 8);
	margin-bottom: 20px;
}

/* Közepes képernyő: 2x2 kártya */
@media (max-width: 1128px) {
	.card {
		flex: 1 1 calc(40% - 0px);
	}

	.cards-wrapper {
		gap: 40px;
	}

	.card img {
		width: 47%;
	}
}

/* Reszponzív */
@media (max-width: 992px) {
	.column {
		flex: 1 1 100%;
	}

	.column-right .top-img {
		width: 50%;
		margin-top: -50px;
		align-self: center;
	}

	.column-right .bottom-img {
		width: 50%;
		margin-top: -150px;
		align-self: center;
	}

	.card-title {
		margin-top: calc(20% + 0px);
	}

}

@media (max-width: 768px) {
	.card {
		flex: 1 1 calc(33% - 0px);
	}

	.card-title {
		margin-top: 20px;
	}
}

@media (max-width: 600px) {
	.column-left img {
		width: 70%;
		margin-top: 0px;
	}

	.column-right .top-img,
	.column-right .bottom-img {
		width: 50%;
		margin-top: 10PX;
	}

	.section-title {
		text-align: center;
		margin-bottom: 40px;
	}

	.card {
		flex: 1 1 100%;
		margin-bottom: 30px;
	}

	.section-hero-cards {
		padding: 80px 20px 0px;
	}

	.section-hero-cards .section-title {
		margin-bottom: 75px;
		text-align: center;
	}

	.card-title {
		margin-top: calc(20% + 0px);
	}

	.card img {
		width: 50%;
		top: -25%;
	}

}


/*****************************************/
/*****************************************
 * TERMÉK KATALÓGUS – KÖZÉPRE IGAZÍTOTT FLEX GRID
 *****************************************/

.section-products {
	padding: 0;
	margin-bottom: 50px;
}

.section-products .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.section-products .section-title {
	text-align: left;
	font-size: 1.7em;
	font-weight: 800;
	color: rgb(181, 2, 8);
	margin-bottom: 75px;
	padding-left: 20px;
}

/* === TERMÉK GRID – FLEXBOX (max 4 per sor, középre igazítva) === */
.product-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	/* minden sor középre kerül */
	gap: 40px;
	margin: 0 auto;
	box-sizing: border-box;
}

.product-card {
	position: relative;
	text-align: center;
	transition: transform 0.3s ease;
	flex: 0 0 calc((100% - 120px) / 4);
	/* 4 oszlop, 3 gap × 40px */
	max-width: calc((100% - 120px) / 4);
	box-sizing: border-box;
}

.product-card:hover {
	transform: translateY(-3px);
}

/* === KÉP ÉS ÁRNYÉKOK === */
.product-image-wrapper {
	position: relative;
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
}

.product-image {
	width: 100%;
	height: auto;
	z-index: 2;
	position: relative;
	display: block;
}

.product-shadow {
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	transition: opacity 0.3s ease, filter 0.3s ease;
	z-index: 1;
}

.product-shadow.shadow-dark {
	opacity: 0;
	transition: opacity 0.5s ease;
}

.product-card:hover .product-shadow.shadow-dark {
	opacity: 1;
}

.product-card:hover .product-shadow.shadow-light {
	opacity: 0;
}

/* === LINK ÉS TERMÉKNÉV === */
.product-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.product-name {
	margin-top: 10px;
	font-weight: 800;
	font-size: 0.9em;
	color: rgb(181, 2, 8);
	text-align: center;
	padding-top: 15px;
}

/* === RESZPONZÍV === */
@media (max-width: 992px) {
	.section-products .section-title {
		text-align: center;
	}

	.product-grid {
		gap: 30px;
	}

	.product-card {
		flex: 0 0 calc((100% - 30px) / 2);
		max-width: calc((100% - 30px) / 2);
	}
}

@media (max-width: 600px) {
	.product-grid {
		gap: 20px;
	}

	.product-card {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/*************************************/

.section-packaging {
	padding: 80px 20px;
	background-color: #fff;
}

.section-packaging .container {
	max-width: 1200px;
	margin: 0 auto;
}

.section-packaging .section-title {
	text-align: left;
	font-size: 1.6em;
	font-weight: 800;
	color: rgb(181, 2, 8);
	margin-bottom: 50px;
}

.packaging-cards-wrapper {
	display: flex;
	gap: 30px;
	justify-content: space-between;
}

.packaging-card {
	background: #fff;
	border-radius: 50px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	border: solid 3px rgb(181, 2, 8);
}

.packaging-card:hover {
	/*transform: translateY(-3px);*/
}

.packaging-card-left,
.packaging-card-right {
	flex: 1 1 35%;
}

.packaging-card-center {
	flex: 0 0 25%;
	border: solid 3px rgb(255, 255, 255, 1);
	background-color: rgb(181, 2, 8);
}

.packaging-card-image {
	width: 65%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	/* megőrzi az arányt, nem nyújtja */
	border-radius: 10px;
	margin-bottom: 15px;
}

.packaging-card-text-wrapper {
	width: 100%;
	margin-bottom: 40px;
}

.packaging-card-text-box {
	background-color: rgb(181, 2, 8);
	border-radius: 30px;
	padding: 10px 40px;
	margin: -60px 50px 40px;
	text-align: center;
	color: #fff;
	font-size: 0.7em;
	font-weight: 800;
	min-height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.packaging-card-subtext {
	margin: 5px 0;
	position: relative;
	padding-bottom: 5px;
	color: rgb(181, 2, 8);
	font-size: 1rem;
	font-weight: 800;
}

.packaging-card-center .packaging-card-subtext {
	color: rgb(255, 255, 255, 1);
	font-size: 1.2rem;

}

.packaging-card-text-wrapper:not(.packaging-subtext-grid) .packaging-card-subtext:not(:last-child)::after {
	content: '';
	display: block;
	height: 2px;
	background-color: rgb(181, 2, 8);
	margin: 5px 50px 0;
}

.packaging-card-center .packaging-card-text-wrapper:not(.packaging-subtext-grid) .packaging-card-subtext:not(:last-child)::after {
	background-color: rgb(255, 255, 255, 1);
	margin: 10px 10px 0;
}

/* Középső kártya */
.packaging-card-center .packaging-card-image {
	width: 30%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.packaging-card-right .packaging-subtext-grid .packaging-card-subtext::after {
	display: none !important;
}

.packaging-card-right .packaging-subtext-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 0;
	margin: 10px 50px 0;
}

.packaging-card-right .packaging-subtext-grid .packaging-card-subtext {
	margin: 0;
	padding: 0 0 10px 0;
	text-align: center;
	border-bottom: 2px solid rgb(181, 2, 8);
}

.packaging-card-right .packaging-subtext-grid .packaging-card-subtext:nth-last-child(-n+2) {
	border-bottom: none;
}

.packaging-button {
	display: inline-block;
	background-color: #000;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	padding: 20px 30px;
	border-radius: 30px;
	margin-top: 20px;
	font-size: 1rem;
}

.packaging-button:hover {
	background-color: rgb(255, 255, 255, 1);
	color: black;
}

@media (max-width: 992px) {
	.packaging-cards-wrapper {
		flex-wrap: wrap;
		gap: 20px;
	}

	.packaging-card-left,
	.packaging-card-right,
	.packaging-card-center {
		flex: 1 1 100%;
	}

	.packaging-card {
		max-width: 100%;
	}

	.section-packaging .section-title {
		text-align: center;
		margin-bottom: 30px;
	}

	.section-packaging {
		padding: 20px 20px;
	}

	.packaging-card-image {
		width: 80%;
		object-fit: contain;
	}

	.packaging-card-center .packaging-card-image {
		width: 50%;
	}
}

@media (max-width: 600px) {
	.packaging-cards-wrapper {
		gap: 15px;
	}

	.packaging-card-text-box {
		font-size: 0.9em;
		padding: 8px;
	}

	.packaging-card-subtext {
		font-size: 0.85em;
	}
}

/**************************************/

.section-offers {
	position: relative;
	padding: 0px 20px;
	overflow: hidden;
}

.section-offers .container {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
}

.section-offers .section-title {
	text-align: left;
	font-size: 1.6em;
	font-weight: 800;
	color: rgb(255, 255, 255);
	margin-bottom: 40px;
	margin-top: 70px;
}

.offers-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.offer-card {
	text-align: center;
	padding: 10px;
}

.offer-image {
	width: 100%;
	max-width: 250px;
	height: auto;
	margin: 0 auto 20px;
	display: block;
	border-radius: 15px;
}

.offer-title {
	font-size: 0.85em;
	font-weight: 800;
	color: rgb(255, 255, 255);
	margin: 30px 60px 30px;
	padding: 0 30px;
}

.offer-text {
	font-size: 0.85em;
	color: #fff;
	line-height: 1.2;
	margin-bottom: 20px;
	padding: 0px 45px;
	font-weight: 400;
}

@media (max-width: 1178px) {
	.section-offers {
		background-color: rgb(181, 2, 8) !important;
	}

	.section-offers .section-title {
		text-align: center;
	}
}

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

}

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

/****************************************/

.section-sustainability {
	position: relative;
	padding-top: 10px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 10vw;
}

.section-sustainability .container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.section-sustainability .section-title {
	text-align: left;
	font-size: 1.6em;
	font-weight: 800;
	color: rgb(255, 255, 255);
	margin-bottom: 120px;
	margin-top: 80px;
}

.sustainability-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	justify-items: center;
}

.sustainability-card {
	position: relative;
	background: #fff;
	border-radius: 30px;
	padding: 60px 20px 30px;
	text-align: center;
	border: 3px solid rgb(181, 2, 8);
	overflow: visible;
}

.sustainability-image-wrapper {
	position: absolute;
	top: -25%;
	left: 50%;
	transform: translateX(-50%);
	width: 60%;
}

.sustainability-image {
	width: 100%;
	height: auto;
	border-radius: 25px;
	border: 3px solid rgb(181, 2, 8);
}

.sustainability-text {
	font-size: 0.85em;
	color: #000000;
	line-height: 1.5;
	margin-top: 70px;
	text-align: justify;
	padding: 10px 14px;
	font-weight: 600;
}

@media (max-width: 1128px) {
	.sustainability-text {
		margin-top: 3vw;
	}
}

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

	.sustainability-image {
		width: 75%;
	}
}

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

	.section-sustainability .section-title {
		text-align: center;
	}

	.sustainability-image-wrapper {
		top: -10%;
		width: 60%;
	}

	.sustainability-text {
		margin-top: 40px;
	}
}

/***************************************/
.section-process {
	padding: 20px 0px 50px 0px;
}

.section-process .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 50px;
}

.process-container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.process-left {
	flex: 0 0 40%;
}

.process-right {
	flex: 0 0 60%;
	position: relative;
	box-sizing: border-box;
}

.section-process .section-title {
	text-align: left;
	font-size: 1.6em;
	font-weight: 800;
	color: rgb(181, 2, 8);
	margin-bottom: 50px;
}

.process-steps {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.process-step {
	display: flex;
	align-items: center;
	gap: 15px;
	border: 1px solid rgb(236, 29, 37);
	border-radius: 40px;
	padding: 10px 15px;
}

.process-number {
	width: 45px;
	height: 45px;
	border: 2px solid rgb(181, 2, 8);
	background-color: rgb(181, 2, 8);
	border-radius: 50%;
	color: rgb(255, 255, 255);
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 30px;
}

.process-text {
	font-size: 0.65em;
	color: rgb(181, 2, 8);
	line-height: 1.5;
	text-align: justify;
	font-weight: 800;
}

.video-widget-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 20px;
	overflow: hidden;
	background: #000;
}

@supports not (aspect-ratio: 16 / 9) {
	.video-widget-wrapper {
		padding-top: 56.25%;
	}

	.video-widget-wrapper>* {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.custom-video-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	cursor: pointer;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	border-radius: 20px;
	transition: opacity 0.3s ease;
}

.custom-video-placeholder:hover {
	opacity: 0.9;
}

.custom-play-button {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	background: rgb(181, 2, 8);
	color: #fff;
	border: none;
	border-radius: 30px;
	padding: 6px 6px;
	font-weight: 700;
	cursor: pointer;
	font-size: 0.9rem;
	z-index: 2;
	bottom: 20px;
	left: 20px;
}

.play-triangle {
	display: block;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
	position: relative;
}

.play-triangle::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 15px solid rgb(181, 2, 8);
}

.play-text {
	white-space: nowrap;
}

/* --- TABLET NÉZET (max 992px) --- */
@media (max-width: 992px) {
	.process-container {
		flex-direction: column;
		align-items: center;
		gap: 40px;
		text-align: center;
	}

	.section-process .container {
		padding: 0 25px;
	}

	.process-left,
	.process-right {
		flex: 1 1 100%;
		width: 100%;
	}

	.section-process .section-title {
		text-align: center;
		margin-bottom: 30px;
	}

	.process-steps {
		align-items: center;
	}

	.process-step {
		width: 80%;
		max-width: 500px;
	}

	.process-text {
		font-size: 0.8em;
		text-align: center;
	}

	.process-right {
		width: 100%;
		margin: 0 auto;
	}

	.video-widget-wrapper {
		width: 100%;
		margin: 0 auto;
		border-radius: 15px;
	}
}

/* --- MOBIL NÉZET (max 600px) --- */
@media (max-width: 600px) {
	.section-process {
		padding: 60px 0;
	}

	.section-process .section-title {
		font-size: 1.4em;
	}

	.process-step {
		flex-direction: row;
		align-items: center;
		gap: 10px;
		padding: 10px;
		width: 100%;
		display: flex;
		justify-content: flex-start;
	}

	.process-number {
		flex: 0 0 35px;
		/* fix szélesség a számnak */
		height: 35px;
		font-size: 1.2em;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.process-text {
		flex: 1;
		/* kitölti a maradék helyet */
		font-size: 0.9em;
		text-align: center;
		/* középre igazítás a maradék helyen */
		line-height: 1.4;
	}

	.custom-play-button {
		gap: 4px;
		padding: 6px 10px;
		font-size: 0.8rem;
		position: absolute;
		left: 50%;
		bottom: 15px;
		transform: translateX(-50%);
	}

	.play-triangle {
		width: 30px;
		height: 30px;
	}

	.play-triangle::before {
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 12px solid rgb(181, 2, 8);
	}
}

/* === FOOTER === */

.site-footer {
	background-color: #fff;
	padding: 0px 0px;
	color: #222;
}

.footer-top {
	padding: 50px 20px 0px;
}

.footer-container {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
	flex-wrap: wrap;
}

.footer-column {
	flex: 1 1 30%;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.footer-title {
	color: rgb(129, 0, 5);
	font-size: 1.6em;
	font-weight: 800;
	margin-bottom: 10px;
}

.footer-subtitle {
	color: rgb(129, 0, 5);
	font-size: .8em;
	font-weight: 800;
	margin: 10px 0px 0px 0px;
}

.footer-subsubtitle {
	color: rgb(129, 0, 5);
	font-size: .0.9rem;
	font-weight: 800;
	margin: 10px 0px -10px 0px;
}

.footer-logo {
	width: 80%;
	height: auto;
}

.footer-buttons {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

.footer-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background-color: rgb(129, 0, 5);
	color: #fff;
	text-decoration: none;
	padding: 12px 25px;
	border-radius: 30px;
	font-weight: 700;
	font-size: 0.9rem;
	transition: background-color 0.3s ease, transform 0.2s ease;
}

.footer-btn.contact-btn {
	max-width: 110px;
}

.footer-btn:hover {
	background-color: rgb(129, 0, 5);
	transform: translateY(-2px);
}

.footer-btn-icon {
	width: 22px;
	height: 22px;
	object-fit: contain;
}

.footer-list {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	font-weight: 600;
}

.footer-map iframe {
	margin-top: 0px;
}

.footer-partner {
	width: 95%;
	height: auto;
	margin-top: 5px;
}

@media (max-width: 992px) {
	.footer-container {
		flex-direction: column;
	}

	.footer-column {
		flex: 1 1 100%;
	}

	.footer-buttons {
		justify-content: center;
	}

	.footer-logo {
		margin: 0 auto 20px;
	}

	.footer-title,
	.footer-subtitle,
	.footer-subsubtitle {
		text-align: center;
	}

	.footer-list,
	.footer-map,
	.footer-partner {
		align-self: center;
	}
}

/* === FOOTER - MÁSODIK OSZLOP === */

.footer-info-blocks {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-left: 25px;
}

.footer-info-item {
	background: #ffffff00;
	padding: 5px;
}

.footer-info-item p {
	margin: 0 0 8px 0;
	color: #000000;
	font-size: 0.8rem;
	line-height: 1;
	font-weight: 500;
}

.footer-info-item p:last-child {
	margin-bottom: 0;
}

/* Mobil */
@media (max-width: 992px) {
	.footer-info-item {
		font-size: 0.85rem;
		padding: 15px;
	}
}

/* === FOOTER - HARMADIK OSZLOP === */

.footer-cards {
	display: flex;
	flex-direction: column;
	gap: 25px;
	padding: 0px;
}

.footer-card {
	background: #fff;
	border: 2px solid rgb(181, 2, 8);
	border-radius: 50px;
	padding: 20px;
	text-align: left;
}

.footer-card-image {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: 15px;
	object-fit: cover;
}

.footer-card-text {
	font-size: 0.9rem;
	color: #333;
	line-height: 1.5;
}

@media (max-width: 992px) {
	.footer-card {
		padding: 15px;
	}

	.footer-card-text {
		font-size: 0.85rem;
	}
}

.footer-bottom .container p {
	color: #fff;
}

.footer-bottom {
	background-color: #ffbfc1;
	background-size: cover;
	background-position: top;
	color: #fff;
	padding: 60px 20px;
}

.footer-bottom h2,
.footer-bottom h3,
.footer-bottom h4 {
	color: #fff;
	margin-bottom: 15px;
}

.footer-bottom p {
	line-height: 1.4;
	margin-bottom: 0;
	font-size: 1.1rem;
	font-weight: 500;
	margin-top: 0px;
}

.footer-bottom ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.footer-bottom ul li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 10px;
	flex-wrap: nowrap;
	color: #fff;
	line-height: 1.4;
	font-size: 1.1rem;
	font-weight: 500;
}

.footer-list-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	padding: 3px 3px 0px 3px;
}

.footer-bottom-subtitle {
	font-size: 1.5rem;
	font-weight: 600;
}

.footer-bottom ul li .footer-list-text {
	color: #fff;
	line-height: 1.4;
	font-size: 1.1rem;
	font-weight: 500;
}

.footer-bottom .container h1 {
	/*font-size: 32px;*/
}

@media (max-width: 768px) {
	.footer-bottom {
		padding: 50px 20px 40px;
	}

	.footer-bottom .container {
		margin-top: 20px;
	}

	.footer-bottom ul li {
		padding-left: 0px;
	}

	.footer-bottom h2,
	.footer-bottom h3,
	.footer-bottom h4 {
		font-size: 1.2em;
	}
}

.footer-top .footer-column {
	background: transparent;
}

@media (max-width: 992px) {
	.footer-top {
		display: flex;
		flex-direction: column;
		gap: 0;
		background: none;
	}

	.footer-top .footer-column {
		width: 100%;
		background-color: #ffbfc1;
		padding: 0px;
		box-sizing: border-box;
	}

	.footer-top {
		background-color: #ffbfc1;
	}

	.footer-top .footer-column:first-child {
		background-image: url('<?php echo get_template_directory_uri(); ?>/assets/images/footer/footer_bg1.png');
		background-size: cover;
		background-position: top;
		background-repeat: no-repeat;
	}
}

.copyright {
	font-size: 0.85rem;
	color: white;
	font-weight: 600;
	padding: 10px 0px;
	line-height: 1.1;
}

@media (max-width: 992px) {
	.copyright {
		padding: 0px 20px;
	}
}

/* Footer partnerek */
.footer-card.footer-partners {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin-bottom: 60px;
	padding-left: 30px;
}

.footer-partners-text {
	flex: 0 0 65%;
	/* Desktop: 70% szélesség */
	font-size: 1rem;
	line-height: 1.4;
}

.footer-partners-image {
	flex: 0 0 30%;
	/* Desktop: 30% szélesség */
}

.footer-partners-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Mobil nézet */
@media (max-width: 768px) {
	.footer-card.footer-partners {
		flex-direction: column;
		/* egymás alá */
		text-align: center;
	}

	.footer-partners-text,
	.footer-partners-image {
		flex: 0 0 100%;
	}

	.footer-partners-image img {
		max-width: 80%;
		margin: 0 auto;
	}
}

/* =================== Contact Popup =================== */
.contact-popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	align-content: center;
	overflow-y: auto;
	/* ➜ görgethető, ha kilóg */
	-webkit-overflow-scrolling: touch;
	/* iOS gördülés támogatás */
}

.contact-popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
}

.contact-popup-content {
	position: relative;
	max-width: 1200px;
	margin: 0px auto;
	background-color: #b50208;
	padding: 0px;
	border-radius: 50px;
	color: #fff;
	z-index: 10;
	box-sizing: border-box;
	max-height: 90vh;
	/* ➜ ne lógjon ki teljesen */
	overflow-y: auto;
	/* ➜ csak a tartalom görgethető */
	-webkit-overflow-scrolling: touch;
}

.contact-popup-close {
	position: absolute;
	top: 15px;
	right: 15px;
	background: none;
	border: none;
	font-size: 2rem;
	color: #fff;
	cursor: pointer;
}

.contact-popup-title {
	text-align: center;
	font-size: 2rem;
	padding-top: 40px;
	margin-bottom: 40px;
	font-weight: 700;
}

/* 3x3 rács */
.contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 0px 30px;
}

.contact-card {
	background: #fff;
	color: #000;
	border-radius: 70px;
	display: flex;
	align-items: flex-start;
	padding: 10px;
	gap: 15px;
}

.contact-card-icon {
	background-color: #920003;
	flex-shrink: 0;
	width: 90px;
	height: 90px;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid white;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

.contact-card-icon img {
	max-width: 60px;
	max-height: 60px;
}

.contact-card-text p {
	margin: 3px 0;
	font-size: 0.9rem;
}

/* Popup footer */
.contact-popup-footer {
	position: relative;
	text-align: center;
	margin-top: 30px;
	padding: 50px 0 5px;
	background-size: cover;
	background-position: center;
	border-radius: 0 0px 50px 50px;
	overflow: hidden;
}


.contact-popup-footer img {
	max-width: 300px;
}

/* Mobil nézet */
@media (max-width: 992px) {
	.contact-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.contact-cards-grid {
		grid-template-columns: 1fr;
	}
}

/* HEADER */

/* Top rész */
.header-top {
	height: 33px;
	background-color: transparent;
}

.header-bg-wrapper {
	position: relative;
	/*width: 100vw;
	margin-left: -50vw;
	left: 50%;*/
	width: 100%;
	margin-left: -0vw;
	left: 0%;
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	overflow: visible;
	height: 120px;
}



.header-middle {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0px 0 0px;
	position: relative;
	z-index: 1;
}

.header-section.left,
.header-section.right {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: 15px;
	margin-top: -20px;
}

.header-section.left {
	left: -4%;
}

.header-section.right {
	right: -4%;
}

.header-section.center {
	display: flex;
	justify-content: center;
	margin-top: -32px;
}

.center-image {
	max-height: 140px;
	width: auto;
	height: auto;
}

.header-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	border: none;
	border-radius: 5px;
	color: white;
	background-color: rgba(255, 255, 255, 0);
	cursor: pointer;
	font-weight: bold;
	white-space: nowrap;
}

.btn-icon {
	width: auto;
	height: 20px;
}


.header-bottom {
	position: relative;
	text-align: center;
	padding: 10px 0;
	z-index: 2;
	margin-top: -50px;
}

.bottom-bg-image {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.bottom-buttons {
	display: flex;
	justify-content: center;
	gap: 50px;
	position: relative;
	z-index: 3;
}

.site-header .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 50px;
}

#site-content {
	margin-top: -90px;
}

@media (max-width: 768px) {
	.btn-icon {
		width: auto;
		height: 25px;
	}

	.header-bg-wrapper {
		height: 150px;
	}

	.header-bottom {
		padding: 30px 0;
	}

	#site-content {
		margin-top: -75px;
	}
}

.site-header {
	z-index: 10;
	position: relative;
}

.header-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	border: none;
	border-radius: 5px;
	color: white;
	background-color: rgba(255, 255, 255, 0);
	cursor: pointer;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
}

.header-btn:hover {
	opacity: 0.8;
}

@media (max-width: 992px) {
	.header-bg-wrapper {
		background-size: inherit;
	}

	.header-middle {
		justify-content: left;
	}

	.center-image {
		max-height: 120px;
		margin-top: 5px !important;
	}
}

/* ===== Mobil ikonváltás az alsó header-gombokra ===== */
@media (max-width: 768px) {
	.header-bottom .header-btn {
		position: relative;
		font-size: 0;
		width: 33%;
		padding: 3px 0;
		justify-content: center;
	}

	.bottom-buttons {
		display: flex;
		justify-content: center;
		gap: 0px;
		position: relative;
		z-index: 3;
	}

	/*.header-bottom .header-btn::before {
		content: "";
		display: inline-block;
		width: 28px;
		height: 28px;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}

	.header-bottom .header-btn[data-target="#aboutus"]::before {
		background-image: url('/wp-content/themes/twentytwentyfive/assets/images/header/kapcsolat_icon.png');
	}

	.header-bottom .header-btn[data-target="#section-process"]::before {
		background-image: url('/wp-content/themes/twentytwentyfive/assets/images/header/kapcsolat_icon.png');
	}

	.header-bottom .header-btn[data-target="#section-products"]::before {
		background-image: url('/wp-content/themes/twentytwentyfive/assets/images/header/kapcsolat_icon.png');
	}

	.header-bottom .header-btn[data-target="#section-sustainability"]::before {
		background-image: url('/wp-content/themes/twentytwentyfive/assets/images/header/kapcsolat_icon.png');
	}*/
}


@media (max-width: 576px) {
	.center-image {
		max-height: 100px;
		margin-top: 0px !important;

	}

	.header-middle {
		justify-content: center;
	}

	.header-bg-wrapper {
		background-size: inherit;
	}

	.header-section.center {
		margin-top: -23px;
	}
}



/* --- Hamburger gomb --- */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 30px;
	height: 22px;
	background: transparent;
	border: none;
	cursor: pointer;
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 9;
}

.menu-bar {
	height: 3px;
	width: 100%;
	background: white;
	border-radius: 3px;
}

/* --- Mobil menü panel --- */
.mobile-menu {
	position: fixed;
	top: 0;
	right: -100%;
	width: 80%;
	height: 100vh;
	background: rgba(181, 2, 8, 0.95);
	color: white;
	transition: right 0.3s ease-in-out;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 60px 20px;
}

.mobile-menu.active {
	right: 0;
}

.close-menu {
	background: none;
	border: none;
	color: white;
	font-size: 2em;
	position: absolute;
	top: 15px;
	right: 20px;
	cursor: pointer;
}

.mobile-menu-buttons {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}

.mobile-menu-buttons .header-btn {
	justify-content: center;
	background: rgba(255, 255, 255, 0.1);
	padding: 12px;
	border-radius: 8px;
	color: white;
	font-size: 1em;
}

/* --- Mobil nézet aktiválás --- */
@media (max-width: 992px) {

	.header-section.left,
	.header-section.right {
		display: none;
	}

	.menu-toggle {
		display: flex;
	}

	.center-image {
		margin: 0 auto;
	}
}

html {
	scroll-behavior: smooth;
}

.footer-list a,
.footer-info-item a {
	color: rgb(181, 2, 8);
	font-weight: 600;
	text-decoration: none;
}

.footer-list a:hover,
.footer-info-item a:hover {
	text-decoration: underline;
}


#author option {
	text-transform: capitalize;
	/* az első betű minden szóban nagy lesz */
}

.language-switcher {
	display: flex;
	gap: 5px;
}

.language-switcher .header-btn {
	padding: 3px 6px;
	background: transparent;
	border: 1px solid #ccc;
	transition: all 0.3s ease;
	text-decoration: none;
	color: white;
}

.language-switcher .header-btn.active {
	background: rgb(120, 0, 6);
	color: white;
	border-color: rgb(120, 0, 6);
}

.language-switcher .header-btn:hover {
	background: rgba(120, 0, 6, 0.7);
}

.language-switcher .header-btn.active:hover {
	background: rgb(120, 0, 6);
}

/* Mobil nézet */
@media (max-width: 768px) {
	.language-switcher {
		gap: 10px;
		padding: 10px 10px;
	}

	.language-switcher .header-btn {
		padding: 8px 12px;
		/* Nagyobb tap target */
		font-size: 14px;
		min-width: 50px;
		/* Minimális szélesség */
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 5px;
	}

	.language-switcher .btn-icon {
		width: 16px;
		height: 16px;
	}

	/* Kisebb képernyőkre */
	@media (max-width: 480px) {
		.language-switcher .header-btn {
			padding: 6px 8px;
			font-size: 12px;
			min-width: 45px;
		}

		.language-switcher .btn-icon {
			width: 14px;
			height: 14px;
		}

		/* Csak zászló ikon mobilra */
		.language-switcher .header-btn span {
			display: none;
		}

		.language-switcher .header-btn .btn-icon {
			margin: 0;
		}
	}
}

.footer-copyright {
	background-color: #000000;
}

.popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

.popup-content {
	background: #fff;
	max-width: 70%;
	max-height: 80%;
	overflow-y: auto;
	padding: 20px 30px;
	border-radius: 12px;
	position: relative;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	animation: fadeIn 0.3s ease-in-out;
	font-size: 18px;
}

.close-popup {
	position: absolute;
	top: 0px;
	right: 15px;
	font-size: 30px;
	color: #b50208;
	cursor: pointer;
	font-weight: bold;
}

.popup-content h2 {
	text-align: center !important;
	margin-top: 20px;
	margin-bottom: 0px;
	color: #c30f1b;
}

.popup-content p.download-btn {
	text-align: center !important;
	background-color: #c30f1b;
	color: white;
	padding: 12px;
	border-radius: 8px;
	margin-top: 20px;
}

.popup-content p.download-btn a {
	color: white !important;
	text-decoration: none;
	font-weight: bold;
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: 18px;
}

.wp-block-table th,
.wp-block-table td {
	border: 1px solid #b50208;
	padding: 10px 8px;
	text-align: center;
	vertical-align: middle;
}

.wp-block-table th {
	background-color: #b50208;
	font-weight: bold;
	color: #fff;
}

.is-popup {
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@media (max-width: 768px) {
	.popup-content .scrollable-tables-mobile .wp-block-table {
		width: 100%;
		overflow-x: auto;
		display: block;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 20px;
	}

	.popup-content .scrollable-tables-mobile .wp-block-table table {
		min-width: 600px;
	}

	.popup-content {
		max-width: 90%;
		max-height: 90%;
		padding: 10px 10px;
		font-size: 16px;
	}

	.popup-content h2 {
		font-size: 20px;
		line-height: 1.3;
		word-wrap: break-word;
		white-space: normal;
		padding: 0 5px;
	}

	.wp-block-table {
		width: 100%;
		overflow-x: auto;
		display: block;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 20px;
	}

	.wp-block-table table {
		min-width: 600px;
	}

	.wp-block-table th,
	.wp-block-table td {
		padding: 8px 6px;
		font-size: 15px;
	}

	.popup-content p.download-btn {
		padding: 10px;
		font-size: 16px;
		margin: 25px auto 10px;
		width: 50%;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	.popup-content {
		max-width: 90%;
		max-height: 85%;
		padding: 15px 20px;
		font-size: 16px;
	}

	.popup-content h2 {
		font-size: 20px;
		line-height: 1.3;
		word-wrap: break-word;
		white-space: normal;
		text-align: center;
		padding: 0 5px;
	}

	.wp-block-table {
		width: 100%;
		overflow-x: auto;
		display: block;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 20px;
	}

	.wp-block-table table {
		min-width: 600px;
		border-collapse: collapse;
		width: max-content;
	}

	.wp-block-table th,
	.wp-block-table td {
		padding: 8px 6px;
		font-size: 15px;
		text-align: center;
		white-space: nowrap;
	}

	.popup-content p.download-btn {
		padding: 12px;
		font-size: 16px;
		margin: 25px auto 10px;
		width: 30%;
		text-align: center;
	}
}