/*
Theme Name: Fegyvertár Hello Child Theme
Theme URI: https://github.com/elementor/hello-theme/
Description: WPFegyvertár Hello Child Theme is a child theme of Hello Elementor, created by WPkurzus
Author: WPViking
Author URI: https://wpkurzus.hu/
Template: hello-elementor
Version: 1.0.12
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ----------------- DESIGN ----------------- */
/* Selection */
::-moz-selection {
	color: #fff;
	background: var( --e-global-color-primary )
}

::selection {
	color: #fff;
	background: var( --e-global-color-primary )
}

:root {
    --ia-adminbar-height: 0px;
    --ia-header-height: 80px;
    --ia-header-safe: var(--ia-header-height);
}

body.admin-bar {
    --ia-adminbar-height: 32px;
    --ia-header-safe: calc(var(--ia-adminbar-height) + var(--ia-header-height));
}

@media (max-width: 782px) {
    body.admin-bar {
        --ia-adminbar-height: 46px;
        --ia-header-safe: calc(var(--ia-adminbar-height) + var(--ia-header-height));
    }
}


/* Mark */
mark {
    background: var( --e-global-color-primary )
    color: #fff;
    font-weight: 700;
}

/* Fluent Forms */
.fluentform .ff-btn-submit {
	margin-top: 10px !important;
    font-weight: 700 !important;
}

.fluentform .ff-btn:hover {
    opacity: 1 !important;
}

/* Galéria címsor */
.elementor-slideshow__title {
    display: none !important;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* -----------------
   Next black section
   ----------------- */

.ia-next-black-section {
    background: #000000;
    position: relative;
    z-index: 1;
}


/* -----------------
   Generic scroll reveal
   ----------------- */

.js-ia-scroll-reveal {
    opacity: 0;
    transform: translateY(32px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
    pointer-events: none;
}

.js-ia-scroll-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Generic hover zoom - teljes elem finom nagyítása */
.ia-hover-zoom {
    transition:
        transform 0.35s ease,
        opacity 0.35s ease,
        filter 0.35s ease !important;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .ia-hover-zoom:hover {
        transform: scale(1.04);
    }
}


/* ----------------- MENU ----------------- */

/* HEADER */
.ia-site-header {
    z-index: 9999;
    transform: translateZ(0);
    backface-visibility: hidden;
}

@media (min-width: 1025px) {
    .home .ia-site-header {
        position: fixed;
        top: var(--ia-adminbar-height);
        left: 0;
        right: 0;
        z-index: 9999;
        width: 100%;
        transition: box-shadow 0.28s ease, background-color 0.28s ease;
    }

    .home .ia-site-header.is-sticky {
        top: var(--ia-adminbar-height);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    }
}

#contact {
    scroll-margin-top: 10px;
}

/* Elementor WordPress Menu - Kapcsolat CTA */
@media (min-width: 1025px) {
	/* Kapcsolat menüpont CTA */
	.ia-menu-item-contact > a {
		color: #ffffff !important;
		border: 2px solid #ffffff !important;
		border-radius: 999px !important;
		background: transparent !important;
		padding: 10px 22px !important;
		line-height: 1.2 !important;
		text-transform: uppercase !important;
		font-family: "Arial", sans-serif !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		font-style: normal !important;
		transition: all 0.2s ease-in-out !important;
	}

	/* Aktív/current állapot - NE legyen kitöltött */
	.ia-menu-item-contact.current-menu-item > a,
	.ia-menu-item-contact.current_page_item > a,
	.ia-menu-item-contact > a.elementor-item-active {
		color: #ffffff !important;
		background: transparent !important;
		border-color: #ffffff !important;
	}
}

/* Hover állapot */
.ia-menu-item-contact:hover > a,
.ia-menu-item-contact > a:hover,
.ia-menu-item-contact > a:focus,
.ia-menu-item-contact.current-menu-item:hover > a,
.ia-menu-item-contact.current_page_item:hover > a,
.ia-menu-item-contact > a.elementor-item-active:hover {
    color: #ca9b3c !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
}

/* Konkrét nyelvi menüpont */
.ia-menu-item-lang > .elementor-item,
.ia-menu-item-lang > a,
.ia-menu-item-lang a.elementor-item {
    font-weight: 800 !important;
}

/* Főmenü hover: optikai vastagítás elmozdulás nélkül */
.ia-main-menu .elementor-nav-menu .menu-item .elementor-item-active,
.ia-main-menu .elementor-nav-menu .menu-item .elementor-item:hover,
.ia-main-menu .elementor-nav-menu .menu-item .elementor-item:focus {
    font-weight: 300 !important;
    text-shadow:
        0 0 0.75px currentColor,
        0 0 0.75px currentColor;
}

/* Menü aláhúzás CSAK kijelölt főmenüpontokon + nyelvválasztón */
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.ia-menu-underlined > a.elementor-item,
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.lang-item > a.elementor-item {
    position: relative;
}

/* Alap állapot */
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.ia-menu-underlined > a.elementor-item::after,
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.lang-item > a.elementor-item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transform: translateX(-50%);
    opacity: 0;
    transition:
        width 0.32s ease,
        opacity 0.32s ease;
}

/* Hover / focus / aktív */
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.ia-menu-underlined > a.elementor-item:hover::after,
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.ia-menu-underlined > a.elementor-item:focus::after,
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.ia-menu-underlined > a.elementor-item.elementor-item-active::after,
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.lang-item > a.elementor-item:hover::after,
.ia-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.lang-item > a.elementor-item:focus::after {
    width: calc(100% - 16px);
    opacity: 0.85;
}

/* Almenükön soha ne legyen ilyen aláhúzás */
.ia-main-menu .sub-menu a.elementor-sub-item::after,
.ia-main-menu .sub-menu a.elementor-item::after {
    content: none !important;
    display: none !important;
}

/* Kapcsolat CTA: továbbra se kapjon aláhúzást */
.ia-main-menu .elementor-nav-menu .ia-menu-item-contact > a::after,
.ia-main-menu .elementor-nav-menu .ia-menu-item-contact > a:hover::after,
.ia-main-menu .elementor-nav-menu .ia-menu-item-contact > a:focus::after,
.ia-main-menu .elementor-nav-menu .ia-menu-item-contact > a.elementor-item-active::after,
.ia-main-menu .elementor-nav-menu .ia-menu-item-contact > a.elementor-item-active:hover::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    opacity: 0 !important;
}

/* =========================================================
   HERO / MAIN
   pinned video + word highlight + cards reveal + black fade
   ========================================================= 
*/

.ia-main-story {
    display: block !important;
    position: relative;
    min-height: var(--ia-main-story-height, 260vh);
}

.ia-main-story-sticky {
    position: sticky;
    top: 0;
    min-height: 100vh;
    height: 100vh;
    z-index: 1;
}

/* Általános sötétítés a videó fölött */
.ia-main-story-sticky::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.38);
    pointer-events: none;
}


/* Alsó feketébe futó átmenet */
.ia-main-story-sticky::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 78vh;
    z-index: 2;
    background: linear-gradient(
        to bottom,
        rgba(21, 21, 21, 0) 0%,
        rgba(21, 21, 21, 0.08) 9%,
        rgba(21, 21, 21, 0.14) 18%,
        rgba(21, 21, 21, 0.21) 27%,
        rgba(21, 21, 21, 0.28) 36%,
        rgba(21, 21, 21, 0.38) 46%,
        rgba(21, 21, 21, 0.58) 56%,
        rgba(21, 21, 21, 0.70) 66%,
        rgba(21, 21, 21, 0.82) 78%,
        rgba(21, 21, 21, 0.96) 92%,
        #151515 100%
    );
    pointer-events: none;
}

/* Főcím / alcím réteg */

.ia-main-hero-text {
    position: relative;
    z-index: 40;
    opacity: 1 !important;
    transform: none !important;
}

.ia-main-title,
.ia-main-subtitle {
    opacity: 1 !important;
    transform: none !important;
}

/* Alcím alapállapot: oldalbetöltéskor ne látszódjon */
.js-ia-main-subtitle-highlight {
    color: transparent !important;
}

/* Alcím szavai induláskor teljesen rejtve */
.js-ia-main-subtitle-highlight .ia-main-subtitle-word {
    color: rgba(255, 255, 255, 1);
    opacity: 0;
    transform: translateY(8px);
    transition:
        opacity 0.22s ease,
        transform 0.22s ease,
        color 0.18s linear;
}

/* Görgetésre aktivált szavak: ekkor jelennek meg fehéren */
.js-ia-main-subtitle-highlight .ia-main-subtitle-word.is-main-subtitle-word-active {
    color: rgba(255, 255, 255, 1);
    opacity: 1;
    transform: translateY(0);
}

/* Scroll-highlight subtitle text */
.ia-scroll-text {
    max-width: 1200px;
    margin: 0 auto;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 32px;
    font-weight: 200;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    color: transparent !important;
}

.ia-scroll-text span.word {
    color: #FCF1EE !important;
    opacity: 0;
    transform: translateY(8px);
    transition:
        opacity 0.22s ease,
        transform 0.22s ease,
        color 0.15s linear;
}

.ia-scroll-text span.word.is-active {
    color: #FCF1EE !important;
    opacity: 1;
    transform: translateY(0);
}

/* Kártyaréteg */
.ia-main-cards {
    position: relative;
    z-index: 30;
}

.ia-main-cards-track {
    position: relative;
    z-index: 30;
}

/* Kártya alapclass: ne rejtsen el semmit */
.ia-main-card {
    position: relative;
}

/* Csak azok a kártyák legyenek induláskor rejtve, amelyek animált reveal class-t kapnak */
.js-ia-main-card-reveal {
    opacity: 0;
    transform: translate3d(0, 80px, 0) scale(0.96);
    transition: none;
    will-change: opacity, transform;
    pointer-events: none;
}

/* Kártyák látható állapota */
/*
.ia-main-card {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}
*/


/* ---------------------------------------------------------
   TABLET MODE
   901px - 1024px
   - ugyanaz a logika, mint desktopon/laptopon
   - 3 kártya egymás mellett
   - JS scroll-progress mozgatja a kártyákat
   --------------------------------------------------------- */

@media (min-width: 769px) and (max-width: 1024px) {
    .ia-main-story {
		display: block !important;
        position: relative;
        min-height: var(--ia-main-story-height, 200vh);
        overflow: visible;
    }

    .ia-main-story-sticky {
        position: sticky;
		top: var(--ia-header-safe);   
		min-height: calc(100svh - var(--ia-header-safe));
		height: calc(100svh - var(--ia-header-safe));
        z-index: 1;
    }

    .ia-main-hero-text {
        position: relative;
        z-index: 40;
        opacity: 1 !important;
        transform: none !important;
    }

    .ia-main-title,
    .ia-main-subtitle {
        opacity: 1 !important;
        transform: none !important;
    }
	
    .ia-scroll-text {
        max-width: 90%;
		font-size: 36px !important;
        line-height: 1.2;
    }

    .ia-scroll-text span.word {
        opacity: 0 !important;
        transform: translateY(8px) !important;
        color: #FCF1EE !important;
    }
	
    .ia-scroll-text span.word.is-active {
        opacity: 1 !important;
        transform: translateY(0) !important;
        color: #FCF1EE !important;
    }

    .ia-main-cards {
        position: relative;
        z-index: 30;
        overflow: visible;
    }

    .ia-main-cards-track {
        position: relative;
        z-index: 30;

        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: stretch;

        gap: clamp(18px, 2vw, 28px);

        width: 100%;
        max-width: 100%;

        overflow: visible;
        transform: none;
    }

    .ia-main-card {
        flex: 1 1 0;
        min-width: 0;

        opacity: 0;
        transform: translate3d(0, 56px, 0) scale(0.98);

        will-change: opacity, transform;
        pointer-events: none;
    }

    .ia-main-card.is-main-card-visible {
        pointer-events: auto;
    }
}


/* ---------------------------------------------------------
   MOBILE / SMALL TABLET CAROUSEL MODE
   max 767/900px
   - NEM scroll-progress kártya animáció
   - 1 kártya látszik
   - vízszintes swipe / touch / egér húzás
   - a JS-nek itt nem szabad opacity/transform alapján rejtenie
   --------------------------------------------------------- */

@media (max-width: 768px) {
    .ia-main-story {
        position: relative;
        min-height: var(--ia-main-story-height, 300vh);
        overflow: visible;
    }

    .ia-main-story-sticky {
        position: sticky;
		top: var(--ia-header-safe);   
		min-height: calc(100svh - var(--ia-header-safe));
		height: calc(100svh - var(--ia-header-safe));
        z-index: 1;
    }
	
	.ia-main-story,
    .ia-main-story-sticky {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        background: #000000 !important;
        overflow: visible !important;
    }

    .ia-main-story.e-con,
    .ia-main-story-sticky.e-con,
    .ia-main-story.elementor-element,
    .ia-main-story-sticky.elementor-element {
        --width: 100% !important;
        --content-width: 100% !important;
        --container-max-width: none !important;
    }

    .ia-main-story-sticky {
        min-height: 100svh !important;
        height: auto !important;
    }

    .ia-main-hero-text {
        position: relative;
        z-index: 40;
        opacity: 1 !important;
        transform: none !important;
    }

    .ia-main-title,
    .ia-main-subtitle {
        opacity: 1 !important;
        transform: none !important;
    }
	
    .ia-scroll-text {
        max-width: 85%;
        font-size: 24px !important;
        line-height: 1.2;
    }

    .ia-main-cards {
        position: relative;
        z-index: 30;

        display: block !important;

        overflow-x: auto !important;
        overflow-y: visible !important;

        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-bottom: 90px !important;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;

        scroll-snap-type: x mandatory;
        scroll-padding-left: 20px;
		
		opacity: 0;
        transform: translate3d(0, 36px, 0);
        pointer-events: none;
        transition:
            opacity 0.35s ease,
            transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .ia-main-cards::-webkit-scrollbar {
        display: none;
    }

    .ia-main-cards-track {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: stretch !important;

        gap: 24px !important;

        width: max-content !important;
        max-width: none !important;

        overflow: visible !important;

        transform: none !important;
        transition: none !important;
    }

	.ia-main-card,
    .js-ia-main-card-reveal {
        flex: 0 0 78vw !important;
        width: 78vw !important;
        max-width: 78vw !important;
        min-width: 0 !important;

        opacity: 1 !important;
        transform: none !important;
        transition: none !important;

        pointer-events: auto !important;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}
@media (min-width: 1025px) and (max-width: 1366px) {
    body.home .ia-main-story .ia-main-hero-text {
        transform: translate3d(0, 104px, 0) !important;
    }
}

/* MAIN HERO - iPad Pro / magas tablet háttér hosszabbítás */
@media (min-width: 769px) and (max-width: 1366px) and (max-height: 1100px) {
    .ia-main-story-sticky {
        min-height: 120svh !important;
        height: 120svh !important;
        overflow: visible !important;
    }
}

/* ---------------------------------------------------------
   SMALL MOBILE FINOMHANGOLÁS
   max 480px
   - kisebb oldalsó padding
   - picit keskenyebb kártya
   --------------------------------------------------------- */

@media (max-width: 480px) {
    .ia-main-cards {
        padding-left: 14px !important;
        padding-right: 14px !important;
        scroll-padding-left: 14px;
    }

    .ia-main-cards-track {
        gap: 24px !important;
    }

    .ia-main-card,
    .js-ia-main-card-reveal {
        flex-basis: 76vw !important;
        width: 76vw !important;
        max-width: 76vw !important;
    }
}

@media (min-width: 1367px) {
    body.home .ia-main-story .ia-main-hero-text {
        transform: translate3d(0, 104px, 0) !important;
    }

    body.home .ia-main-story-sticky {
        min-height: 120svh !important;
        height: 120svh !important;
        overflow: visible !important;
    }

    body.home .ia-main-story,
    body.home .ia-main-cards,
    body.home .ia-main-cards-track {
        overflow: visible !important;
    }
}
/* ----------------- END HERO ----------------- */

/* =========================================================
   ABOUT US SZEKCIÓ
   Nagy fehér tartalomkártya kinyílása görgetésre, sötét háttér előtt.
   ========================================================= */
   
   /* ABOUT STORY - card opening */
.ia-about-story {
    position: relative;
    overflow: visible;
}

.ia-about-sticky {
    position: sticky;
    top: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Alapállapot: legyen látható, ha a JS valamiért nem futna le */
.ia-about-card {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    transform-origin: center center;
    will-change: opacity, transform;
    overflow: hidden !important;
}

/* Csak akkor rejtjük el induláskor, ha a JS már felismerte a sectiont */
.ia-about-story.is-about-ready .ia-about-card {
    opacity: 0;
    transform: translate3d(0, 48px, 0) scale(0.78);
}

/* =========================================================
   ABOUT STAT VISUAL
   Nagy számalapú képmaszk az About szekció stat soraiban.
   - nagy szám vizuális megjelenése
   - kép megjelenítése a szám karakterein belül
   ========================================================= */

.ia-about-stat-row {
    position: relative;
}

.ia-about-stat-visual {
    position: relative;
    overflow: visible;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    --ia-stat-image: none;
}

/* About stat képek */
.ia-about-stat-21 .ia-about-stat-visual {
    --ia-stat-image: url('/wp-content/themes/fegyvertar-hello-child-theme/assets/pics/image-21.png');
}

.ia-about-stat-500 .ia-about-stat-visual {
    --ia-stat-image: url('/wp-content/themes/fegyvertar-hello-child-theme/assets/pics/image-500.png');
}

.ia-about-stat-250 .ia-about-stat-visual {
    --ia-stat-image: url('/wp-content/themes/fegyvertar-hello-child-theme/assets/pics/image-250.png');
}

/* ABOUT STAT - nagy számos képmaszk */
.ia-about-stat-number,
.ia-about-stat-number .elementor-heading-title {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap;

    color: transparent !important;
    -webkit-text-fill-color: transparent !important;

    pointer-events: none;
    user-select: none;
    will-change: transform;
}

.ia-about-stat-21 .ia-about-stat-number,
.ia-about-stat-21 .ia-about-stat-number .elementor-heading-title {
    font-size: clamp(220px, 42vw, 720px) !important;
    letter-spacing: 0.00em !important;
    font-weight: 800 !important;
    line-height: 0.78 !important;
}

.ia-about-stat-500 .ia-about-stat-number,
.ia-about-stat-500 .ia-about-stat-number .elementor-heading-title {
    font-size: clamp(150px, 32vw, 530px) !important;
    letter-spacing: -0.15em !important;
    font-weight: 800 !important;
    line-height: 0.78 !important;
    transform-origin: right center !important;
}

.ia-about-stat-250 .ia-about-stat-number,
.ia-about-stat-250 .ia-about-stat-number .elementor-heading-title {
    font-size: clamp(130px, 30vw, 500px) !important;
    letter-spacing: -0.15em !important;
    font-weight: 800 !important;
    line-height: 0.78 !important;
}

@media (max-width: 1024px) {
	.ia-about-stat-500 .ia-about-stat-number,
	.ia-about-stat-500 .ia-about-stat-number .elementor-heading-title,
	.ia-about-stat-250 .ia-about-stat-number,
	.ia-about-stat-250 .ia-about-stat-number .elementor-heading-title {
		letter-spacing: -0.01em !important;
	}
}

/* A JS által létrehozott karakterek kapják meg ténylegesen a képmaskot */
.ia-about-stat-number .ia-stat-char {
    display: inline-block;
	margin-left: -0.05em;

/*  background-color: #ca9b3c; */
    background-image: var(--ia-stat-image);
    background-repeat: no-repeat;
    background-size: var(--ia-stat-bg-size, 1000px auto);
    background-position: var(--ia-stat-char-bg-x, 0px) var(--ia-stat-bg-y, 50%);

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent !important;
    -webkit-text-fill-color: transparent !important;

    will-change: transform, background-position;
}

/* ABOUT STORY - tartalom késleltetett beúszása */
.ia-about-reveal-item {
    will-change: opacity, transform;
}

/* Csak akkor rejtjük el a tartalmakat, ha a JS már felismerte az about story-t */
.ia-about-story.is-about-ready .ia-about-reveal-item {
    opacity: 0;
    transform: translate3d(0, 36px, 0);
}

@media (max-width: 900px) {
    .ia-about-stat-number,
    .ia-about-stat-number .elementor-heading-title {
        transform: none !important;

        background-image: var(--ia-stat-image) !important;
        background-size: 150% auto !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;

        -webkit-background-clip: text !important;
        background-clip: text !important;

        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
    }
}

/* =========================================================
   SZOLGÁLTATÁSOK SZEKCIÓ
   ========================================================= */
   
/* SERVICES scroll scene */
.ia-services-story .ia-services-section {
    position: relative;
    min-height: 240vh;
    padding-top: clamp(80px, 12vh, 150px);
    overflow: visible !important;
    isolation: isolate;
    background: #151515;
}

/* Elementor belső containerek se vágják le a sticky / overlap hatást */
.ia-services-story .ia-services-section .e-con-inner,
.ia-services-story .ia-services-section .elementor-container,
.ia-services-story .ia-services-section .elementor-widget-wrap {
    overflow: visible !important;
}

/* A nagy cím hátul marad, scrollnál odatapad */
.ia-services-story .ia-services-title {
    position: sticky !important;
    top: clamp(160px, 25vh, 250px);
    z-index: 1 !important;
    pointer-events: none;
    text-align: center;
	
	transform: translateY(clamp(60px, 8vh, 120px));
}

/* Maga a heading se kapjon magasabb réteget */
.ia-services-story .ia-services-title .elementor-heading-title {
    position: relative;
    z-index: 1 !important;
}

/* Kártyablokk a title FÖLÖTT */
.ia-services-story .ia-services-cards {
    position: relative !important;
    z-index: 20 !important;

 /*   width: min(1260px, calc(100% - 48px));*/
    margin-inline: auto;

    /* Ez adja meg, mikor kezdjenek a kártyák a title fölé érni */
 /*   margin-top: clamp(80px, 18vh, 220px);*/

    overflow: visible !important;

    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* Track: egymás alatt mennek a kártyasorok */
/*
.ia-services-story .ia-services-cards-track {
    position: relative;
    z-index: 25 !important;

    display: flex;
    flex-direction: column;
    gap: clamp(40px, 10vh, 80px);

    overflow: visible !important;
}*/

/* Bal/jobbra rendező wrapper */
 
.ia-services-story .ia-services-card-row {
    min-width: 350px;
    display: flex;
    position: relative;
    z-index: 25 !important;
}

/*
.ia-services-story .ia-services-card-row.is-left {
    justify-content: flex-start;
}

.ia-services-story .ia-services-card-row.is-right {
    justify-content: flex-end;
}
*/

/* Maga a kártya: ez takarja ki a title-t */
.ia-services-story .ia-services-card {
    position: relative;
    z-index: 30 !important;

 /*   width: min(620px, 100%);*/
    opacity: 1 !important;

    overflow: hidden;
    cursor: pointer;
}

/* SERVICES title eltüntetése a szekció végén */
.ia-services-story .ia-services-section::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    height: clamp(260px, 45vh, 560px);

    z-index: 8;
    pointer-events: none;

    background: linear-gradient(
        to bottom,
        rgba(21, 21, 21, 0) 0%,
        #151515 45%,
        #151515 100%
    );
}

/* SERVICES title fade */
.ia-services-story .ia-services-title {
    will-change: opacity, transform;
}

/* =========================================================
   SERVICES FIX
   A hero mobil carousel szabályai NE hassanak a services kártyákra
   ========================================================= */

@media (max-width: 1024px) {
    .ia-services-story .ia-scroll-cards {
        position: relative !important;
        right: auto !important;
        top: auto !important;
/*
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 auto !important;
        padding: 40px !important;
*/
        overflow: visible !important;
        transform: none !important;

        -webkit-mask-image: none !important;
        mask-image: none !important;
    } 

    .ia-services-story .ia-scroll-cards-track {	
        display: flex !important;
        transform: none !important;
        scroll-snap-type: none !important;
    }

    .ia-services-story .ia-scroll-card {
        flex: none !important;

        opacity: 0 !important;
        transform: translate3d(0, 36px, 0) !important;

        transition:
            opacity 0.7s ease,
            transform 0.7s ease !important;
    }

    .ia-services-story .ia-scroll-card.is-visible,
    .ia-services-story .ia-scroll-card.js-ia-scroll-reveal.is-visible {
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
    }
}

@media (max-width: 767px) {
/*    .ia-services-story .ia-scroll-cards {
        padding: 40px !important;
	}*/
/*	
	.ia-services-story  .ia-services-card {
		max-width: 95% !important;
	}*/
}

@media (max-width: 500px) {
	.ia-services-story  .ia-services-card {
		max-width: 95% !important;
	}
}

/* =========================================================
   SERVICES CARD HOVER OVERLAY + CENTER BUTTON
   Csak kiegészítés, meglévő services CSS-t nem ír felül
   ========================================================= */

/* Hover gomb alapból mindenhol rejtve */
.ia-hover-overlay-card .ia-hover-overlay-button,
.ia-services-story .ia-services-card-hover-button {
    display: none !important;
}

/* A kártya legyen pozicionálási alap */
.ia-hover-overlay-card {
    position: relative;
}

/* Desktop / hover-képes eszközök */
@media (hover: hover) and (min-width: 768px) {

    /* A mostani alsó gomb desktopon ne látszódjon */
    .ia-hover-overlay-card .ia-hover-overlay-normal-button,
	.ia-services-story .ia-services-card .ia-services-card-button {
        display: none !important;
    }

    /* Blur/fátyol réteg a teljes kártya fölött */
	.ia-hover-overlay-card::before,
    .ia-services-story .ia-services-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 40;
        opacity: 0;
        pointer-events: none;

        background: rgba(238, 238, 238, 0.38);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);

        transition: opacity 0.25s ease;
    }

    /* Hoverre megjelenik a homályos réteg */
	.ia-hover-overlay-card:hover::before,
    .ia-hover-overlay-card:focus-within::before,
    .ia-services-story .ia-services-card:hover::before,
    .ia-services-story .ia-services-card:focus-within::before {
        opacity: 1;
    }

    /* Középső hover gomb */
	.ia-hover-overlay-card .ia-hover-overlay-button,
    .ia-services-story .ia-services-card .ia-services-card-hover-button {
        display: block !important;
        position: absolute !important;
        left: 50%;
        top: 50%;
        z-index: 50;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translate(-50%, -50%) scale(0.96);
        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            visibility 0.25s ease;
    }

    /* Hoverre a gomb látszik a blur fölött */
	.ia-hover-overlay-card:hover .ia-hover-overlay-button,
    .ia-hover-overlay-card:focus-within .ia-hover-overlay-button,
    .ia-services-story .ia-services-card:hover .ia-services-card-hover-button,
    .ia-services-story .ia-services-card:focus-within .ia-services-card-hover-button {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* Mobilon csak a meglévő alsó gomb látszódjon */
@media (hover: none), (max-width: 767px) {
    .ia-services-story .ia-services-card .ia-services-card-hover-button {
        display: none !important;
    }

    .ia-services-story .ia-services-card .ia-services-card-button {
        display: block !important;
    }
}

/* =========================================================
   SERVICES DESKTOP CARD REVEAL
   Kiegészítő belépő effekt, layoutot nem módosít
   ========================================================= */

@media (min-width: 1025px) {
    .ia-services-story .ia-services-card {
        opacity: 0 !important;

        transform:
            translate3d(var(--ia-card-x, 0), var(--ia-card-y, 80px), 0)
            rotate(var(--ia-card-rotate, 0deg))
            scale(0.96) !important;

        transition:
            opacity 0.75s ease,
            transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important;

        transition-delay: var(--ia-card-delay, 0ms) !important;
        will-change: opacity, transform;
    }

    .ia-services-story .ia-services-card.is-services-visible {
        opacity: 1 !important;

        transform:
            translate3d(0, 0, 0)
            rotate(0deg)
            scale(1) !important;
    }
}

/* =========================================================
   SERVICES MOBILE STICKY CARD STACK - CLEAN VERSION
   Mobilon a kártyák előbb beúsznak, majd egymásra rétegződnek
   ========================================================= */

@media (max-width: 767px) {
    .ia-services-story .ia-services-section {
        overflow: visible !important;
        min-height: auto !important;
        padding-bottom: clamp(120px, 28vh, 240px);
    }

    .ia-services-story .ia-services-cards {
        position: relative !important;
        z-index: 30 !important;
        overflow: visible !important;
    }

    .ia-services-story .ia-services-cards-track,
    .ia-services-story .ia-scroll-cards-track {
        display: block !important;
        position: relative !important;
        overflow: visible !important;
        transform: none !important;
        padding-bottom: clamp(180px, 40vh, 320px);
    }

    /*
     * FONTOS:
     * Nincs negatív margin.
     * Ettől nem egymáson indulnak a kártyák,
     * hanem sorban beúsznak a viewportba.
     */
    .ia-services-story .ia-services-card-row {
        position: sticky !important;

        /*
         * Itt tapad meg az adott kártya.
         * Ha túl fent van: növeld.
         * Ha túl lent van: csökkentsd.
         */
        top: calc(88px + var(--ia-services-stack-offset, 0px));

        display: flex !important;
        justify-content: center !important;
        align-items: flex-start !important;

        /*
         * Ez adja a "lassított" jelenet hosszát kártyánként.
         * Nagyobb érték = tovább tart, mire jön a következő kártya.
         * Kisebb érték = gyorsabban jön a következő.
         */
        min-height: 68vh;

        margin-top: 0 !important;
        margin-bottom: 0 !important;

        overflow: visible !important;
        z-index: var(--ia-services-stack-z, 30) !important;
    }

    .ia-services-story .ia-services-card {
        width: min(92vw, 95%) !important;
        max-width: 98% !important;

        opacity: 1 !important;
        transform: none !important;

        will-change: transform;
    }

    /*
     * Rétegezés:
     * mindig a következő kártya kerül az előző fölé.
     * A kis offset miatt nem teljesen ugyanoda tapadnak,
     * hanem pakli-szerűen egymás fölé rétegződnek.
     */
    .ia-services-story .ia-services-card-row:nth-child(1) {
        --ia-services-stack-z: 31;
        --ia-services-stack-offset: 0px;
    }

    .ia-services-story .ia-services-card-row:nth-child(2) {
        --ia-services-stack-z: 32;
        --ia-services-stack-offset: 10px;
    }

    .ia-services-story .ia-services-card-row:nth-child(3) {
        --ia-services-stack-z: 33;
        --ia-services-stack-offset: 20px;
    }

    .ia-services-story .ia-services-card-row:nth-child(4) {
        --ia-services-stack-z: 34;
        --ia-services-stack-offset: 30px;
    }

    .ia-services-story .ia-services-card-row:nth-child(5) {
        --ia-services-stack-z: 35;
        --ia-services-stack-offset: 40px;
    }

    .ia-services-story .ia-services-card-row:nth-child(6) {
        --ia-services-stack-z: 36;
        --ia-services-stack-offset: 50px;
    }
}

/* =========================================================
   SERVICES MOBILE STACK ALIGN FIX
   Csak az elcsúszást javítja, kártyaméretet nem állít
   ========================================================= */

@media (max-width: 767px) {
    .ia-services-story .ia-services-cards,
    .ia-services-story .ia-services-cards-track,
    .ia-services-story .ia-scroll-cards-track {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        overflow: visible !important;
        transform: none !important;
    }

    .ia-services-story .ia-services-card-row {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        display: flex !important;
        justify-content: center !important;
        align-items: flex-start !important;

        padding-inline: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;

        box-sizing: border-box !important;
    }

    .ia-services-story .ia-services-card {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* =========================================================
   CASE STUDY LOOP ITEM
   Kártya: kereten belüli kép, hoverre színesedik + finoman zoomol
   ========================================================= */

/* Case studies CTA gomb nyil ikon */
#ia-case-studies-action-icon {
	cursor: pointer !important;
}

#ia-case-studies-action-icon svg,
#ia-case-studies-action-icon i {
    width: 30px !important;
    height: 30px !important;
    font-size: 30px !important;
}

#ia-case-studies-action-icon .elementor-button-text {
    margin-top: 8px !important;
}

.ia-case-studies-carousel .ia-case-study-card {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 24px !important;
}

.ia-case-studies-carousel .ia-case-study-image,
.ia-case-studies-carousel .ia-case-study-image .elementor-widget-container {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 24px !important;
}

.ia-case-studies-carousel .ia-case-study-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
    display: block !important;

    filter: grayscale(100%) saturate(0.25) contrast(0.82) brightness(0.88);

    transition:
        filter 0.55s ease,
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) !important;

    will-change: filter, transform;
}

@media (hover: hover) and (pointer: fine) {
    .ia-case-studies-carousel .ia-case-study-card:hover .ia-case-study-image img {
        filter: grayscale(0%) saturate(1) contrast(1);
        transform: scale(1.06);
    }
}


/* ---------------------------------------------------------
   ÜGYFELEK SZEKCIÓ
   - lineáris mozgatás fix
   --------------------------------------------------------- */

/* Elementor image carousel folyamatos, lineáris mozgás */
.ia-logo-marquee .swiper-wrapper {
    transition-timing-function: linear !important;
}

/* =========================================================
   LOGO BOX CAROUSEL
   Csak a logó mögötti fix hátteret kezeli.
   Nem módosít carousel-, wrapper- vagy slide-szélességet.
   ========================================================= */

.ia-logo-box-carousel .swiper-slide-inner {
    width: 180px;
    height: 90px;
    background: #ffffff;
    border-radius: 18px;
    padding: 15px;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: center;
}

.ia-logo-box-carousel-black .swiper-slide-inner {
    width: 120px;
    height: 60px;
    border-radius: 18px;
    padding: 15px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
	background: #151515 !important;
}

.ia-logo-box-carousel .swiper-slide-inner a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
}

.ia-logo-box-carousel .swiper-slide-inner img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* ---------------------------------------------------------
   KAPCSOLAT SZEKCIÓ
   - Kapcsolat blokk checkbox szöveg csúszás bug 
   --------------------------------------------------------- */

#form-field-field_799827a,
#form-field-privacy_acceptance {
    width: 14px !important;
    height: 14px !important;
    margin: 3px 8px 0 0 !important;
    padding: 0 !important;
    vertical-align: top !important;
    flex: 0 0 14px !important;
}

#form-field-field_799827a + label,
#form-field-privacy_acceptance + label {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.50 !important;
    vertical-align: top !important;
}

.elementor-field-option:has(#form-field-field_799827a),
.elementor-field-option:has(#form-field-privacy_acceptance) {
    display: flex !important;
    align-items: flex-start !important;
}
/* ----------------- END KAPCSOLAT ----------------- */

/* ---------------------------------------------------------
   ALOLDALAK SZEKCIÓ
   - Kártya header
   --------------------------------------------------------- */
   
   
   /* =========================================================
   SUB CARD
   Klónozva: .ia-main-card → .ia-sub-card
   Statikus aloldali kártyához
   ========================================================= */

.ia-sub-card {
    position: relative;
}

/* Folyamatábra tartalma szövegesen is megjelneik, de elrejtve - mobilon látszik */
/* Desktop / laptop / tablet: szöveg vizuálisan rejtve, de HTML-ben elérhető */
@media (min-width: 768px) {
    .ia-process-mobile-text {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
}

/* Mobilon normál szövegként jelenjen meg */
@media (max-width: 767px) {
    .ia-process-mobile-text {
        position: static !important;
        width: auto !important;
        height: auto !important;
        padding: initial !important;
        margin: initial !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        white-space: normal !important;
        border: initial !important;
    }
}

/* SUB PAGE CARD - Elementor tablet width override fix */
@media (min-width: 768px) and (max-width: 1366px) {
    body .ia-sub-card {
        width: 480px !important;
        max-width: 480px !important;
        flex: 0 0 480px !important;
    }
}

@media (max-width: 768px) {
    .ia-sub-card {
        flex: 0 0 78vw !important;
        width: 78vw !important;
        max-width: 78vw !important;
        min-width: 0 !important;

        opacity: 1 !important;
        transform: none !important;
        transition: none !important;

        pointer-events: auto !important;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
	
	.ia-sub-hero-bg {
        margin-left: -28px !important;
        margin-right: -28px !important;
        width: calc(100% + 56px) !important;
        max-width: calc(100% + 56px) !important;
    }
	
	.ia-case-loop-wrap {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ia-case-loop-wrap > .elementor-widget-loop-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 1 auto !important;
    }

    .ia-case-loop-wrap .elementor-loop-container {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .ia-case-loop-wrap .e-loop-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ia-case-loop-wrap img {
        max-width: 100% !important;
        height: auto;
    }
}

@media (max-width: 480px) {
    body .ia-sub-card {
        --min-height: 0px !important;
        min-height: auto !important;
        height: auto !important;
    }
}

.ia-subpage-frame {
    display: flex;
    flex-direction: column;
    min-height: calc(100svh - 96px);
}

.ia-subpage-logos {
    margin-top: auto !important;
}

/* -----------------
   Tartalom szekció külön reveal
   ----------------- */

.js-ia-content-reveal {
    opacity: 0;
    transform: translateY(32px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
    pointer-events: none;
}

.js-ia-content-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* ----------------- BLOG ----------------- */

/* Címke doboz styles blogpost oldalsávban */
.tag-box {
  background: #fff;
  padding: 25px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.tag-box-title {
  font-size: 20px;
  margin-bottom: 15px;
  color: #444;
  font-weight: 400 !important;
  text-transform: uppercase;
}

.tag-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag-container a {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #CA9B3C;
  color: #CA9B3C;
  text-decoration: none;
  font-size: 13px;
  border-radius: 3px;
  transition: all 0.3s ease;
}

.tag-container a:hover {
  background-color: #CA9B3C;
  color: #fff;
}
/* ------------------------------------------ */

/* Kategória doboz styles blogpost oldalsávban*/
.category-box,
.tag-box {
  background: #fff;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tag-title,
.category-title,
.category-list,
.category-list li {
  margin: 0 !important;
  padding: 0 !important;
}

.tag-title,
.category-title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  margin-bottom: 20px !important;
  text-transform: uppercase !important;
  color: #333333;
  letter-spacing: normal;
  line-height: 26.4px !important;
}

.category-list {
  list-style: none;
}

.category-list li {
  font-family: 'Raleway', 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 15px !important;
  letter-spacing: normal;
  color: #525452 !important;
  line-height: 33.3px;
}

.category-list li::before {
  content: "■";
  color: #CA9B3C;
  font-size: 12px;
  margin-right: 8px;
}

.category-list a {
  color: #989999 !important;
  text-decoration: none;
  font-weight: 400 !important;
}

.category-list a:hover {
  color: #CA9B3C !important;
}
/* ------------------------------------------ */

/* KATEGÓRIA TERMS VONALAK A BLOGPOST FELETT */
.category-divider {
  position: relative !important;
  display: flex;
  justify-content: center !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px 0;
}

.category-divider ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px; 
  position: relative !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  color: #bbb;
  letter-spacing: 1px;
  padding: 0 20px;
  line-height: 1.5;
}
.category-divider ul a {
  font-family: 'Oswald', sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
}

@media (max-width: 768px) {
  .category-divider ul a {
	  font-size: 18px !important;
  }
}

.category-divider ul a:hover{
  color: #CA9B3C !important;
}

/* BAL ÉS JOBB DEKORVONAL */
.category-divider ul::before,
.category-divider ul::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 70px;
  height: 1px;
  background-color: #dcdcdc;
  transform: translateY(-3px);
  opacity: 0.8;
}

/* Kicsit lejjebb lévő rövidebb vonalpár */
.category-divider ul span::before,
.category-divider ul span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 50px;
  height: 1px;
  background-color: #dcdcdc;
  transform: translateY(3px);
  opacity: 0.8;
}

/* Bal és jobb oldali elhelyezés */
.category-divider ul::before { left: -80px; }
.category-divider ul::after  { right: -80px; }
.category-divider ul span::before    { left: -60px; }
.category-divider ul span::after     { right: -60px; }

/* Mobilon eltűnik minden dekorvonal */
@media (max-width: 767px) {
  .category-divider ul span::before,
  .category-divider ul span::after,
  .category-divider ul::before,
  .category-divider ul::after {
    display: none;
  }
}
/* ------------------------------------------ */

/* DÁTUM és SZERZŐ A BLOGPOST ALATT */
.meta-banner ul li a {
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  word-spacing: 0;
}

.meta-banner ul li {
  position: relative;
}

.meta-banner ul li a {
  display: inline-block;
  text-decoration: none;
  transition: color 0.3s ease;
}

/* Fehér vonal hoverkor */
.meta-banner ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 0;
  height: 2px;
  background: #f4f7f7;
}

/* Hoverkor animáltan megjelenik */
.meta-banner ul li a:hover::after {
  transition: all 0.35s ease-in-out;
  width: 100%;
}

/*
.meta-banner ul li a span:hover {
  color: #CA9B3C !important;
}*/

.meta-banner {
  display: inline-block;
  background-color: #333333;
  color: #fff;
  padding: 8px 35px 8px 15px;
  position: relative;
}

/* Jobboldali nyíl alakzat */
.meta-banner::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 0;
  width: 0;
  height: 0;
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent;
  border-right: 22px solid #ffffff;
}

@media (max-width: 1024px) {
	.meta-banner::after {
	  border-right: 0;
	}
	
	.meta-banner ul li a::after {
	  bottom: 0;
	}
	
	.meta-banner ul li a {
	  font-size: 12px !important;
	  font-weight: 400 !important;
	  letter-spacing: 0.5px;
	}
}
/* ------------------------------------------ */

/* FŐOLDAL POST CÍM */
.prgm-post-title h2 a {
/*  font-family: 'Oswald', sans-serif !important;*/
  font-size: 42px !important;
  font-weight: 400 !important;
  line-height: 50px !important;
}

@media (max-width: 1024px) {
  .prgm-post-title h2 a {
	  font-size: 38px !important;
	  line-height: 50px !important;
  }
}

@media (max-width: 768px) {
  .prgm-post-title h2 a {
	  font-size: 24px !important;
	  line-height: 30px !important;
  }
}

/* ------------------------------------------ */

/* Iniciálé - Nagy kezdőbetű minden bejegyzés első bekezdésénél */
.elementor-widget-archive-posts p:first-of-type:first-letter,
.prgm-initialed p:first-of-type::first-letter,
.prgm-initialed .elementor-text-editor::first-letter,
.prgm-initialed.elementor-widget-text-editor::first-letter {
  float: left;
  font-size: 100px;
  line-height: 0.8;
  font-weight: 700;
  margin-right: 10px;
  margin-top: 5px;
  color: #333;
}
/* ------------------------------------------ */


/* ----------- ARCHIVE BLOG POSTS ---------------- */
.pgrm-archives article h3 {
  text-align: center;
  padding-bottom: 10px;
}

.pgrm-archives article p {
  line-height: 33px;
}

/*---------------------------------------- */

/* Bejegyzés kivonatok után 3 pont*/
.elementor-posts .elementor-post__excerpt p:after {
content: "..." !important;
}

/* ------ ELEMENTOR CSS ---------- */

/* -- BLOG -- */

/* Bejegyzés kivonatok után 3 pont*/
.elementor-posts .elementor-post__excerpt p:after {
content: "..." !important;
}


/* PLusz/Minusz mennyiség gombok */

.gomb input {
	border: 2px solid #EBEAE6 !important;
    border-radius: 0px !important;
    margin-left: -1px !important;
}

.mennyiseg input {
	padding: 0px !important;
	min-height: 45px;
}

.gomb button.qty-button {
    background-color: #fff !important;
    color: #000 !important;
    border: 2px solid #EBEAE6 !important;
    border-radius: 0px 100px 100px 0px !important;
    width: 45px !important;
    padding: 11px 0px !important;
}

.gomb button.qty-button.minus {
    border-radius: 100px 0px 0px 100px !important;
	margin-right: -5px !important;
}

.gomb button.qty-button.plus {
	margin-left: -8px !important;
}

.elementor-widget-woocommerce-cart .woocommerce .input-text.qty {
    border-left: 0px !important;
    border-top: 2px !important;
    border-bottom: 2px !important;
    border-style: solid !important;
    border-color: #EBEAE6 !important;
    min-height: 47px !important;
    text-align: center !important;
}
    
.woocommerce div.product form.cart div.quantity {
    min-width: 145px;
}
    
.gomb .single_add_to_cart_button {
        margin-left: 5px!important;
    }

@media only screen and (max-width: 768px) {
    td.product-quantity .quantity-wrap {
    justify-content: flex-end;
}
}

/* Variáció */

table.variations th.label, td.value {
    background: #fff !important;
	padding: 0px 0px 10px 0px !important;
	text-align: left !important;
}

a.reset_variations {
    display: none !important;
}

/* Lábléc hivatkozás színe */
.lablec a {
    color: #000 !important;
    font-weight: normal !important;
}

.lablec a:hover {
    color: var( --e-global-color-primary ) !important;
}

/**
 * Accessibility: reduced motion support
 *
 * Ez a blokk azoknál a felhasználóknál lép életbe, akik az operációs rendszerben
 * bekapcsolták a "Reduce motion" / "Mozgás csökkentése" beállítást.
 *
 * Cél:
 * - animációk kikapcsolása,
 * - transitionök kikapcsolása,
 * - smooth scroll kikapcsolása,
 * - villogó / beúszó / parallax jellegű mozgások minimalizálása.
 *
 * Fontos:
 * - normál felhasználóknál semmit nem változtat,
 * - csak akkor aktív, ha a böngésző ezt a felhasználói preferenciát jelzi.
 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}