/* ==========================================================================
   content.css – a builder által készített oldalak futásidejű stílusai.
   Ezt a fájlt a kész (publikált) oldalon is be kell tölteni a Bootstrap 5 után.
   ========================================================================== */

.is-wrapper {
    font-family: var(--cb-font-body, inherit);
}
.is-wrapper h1, .is-wrapper h2, .is-wrapper h3, .is-wrapper h4, .is-wrapper h5, .is-wrapper h6,
.is-wrapper .display-1, .is-wrapper .display-2, .is-wrapper .display-3,
.is-wrapper .display-4, .is-wrapper .display-5, .is-wrapper .display-6 {
    font-family: var(--cb-font-heading, inherit);
    font-weight: var(--cb-heading-weight, 500);
    letter-spacing: var(--cb-heading-spacing, normal);
}
.is-section[data-font] { font-family: var(--cb-font-body, inherit); }

/* ---- Szekció / doboz ---------------------------------------------------- */
.is-section {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    min-height: 0;
}
.is-section > .is-box {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    background-color: transparent;
}
.is-section-20  { min-height: 20vh; }
.is-section-30  { min-height: 30vh; }
.is-section-40  { min-height: 40vh; }
.is-section-50  { min-height: 50vh; }
.is-section-60  { min-height: 60vh; }
.is-section-75  { min-height: 75vh; }
.is-section-100 { min-height: 100vh; }

.is-box.is-content-top    { justify-content: flex-start; }
.is-box.is-content-middle { justify-content: center; }
.is-box.is-content-bottom { justify-content: flex-end; }

/* ---- Háttér réteg -------------------------------------------------------- */
.is-overlay {
    position: absolute;
    inset: 0;
    overflow: hidden;
    overflow: clip;   /* nem görgethető doboz, így a parallax a lap görgetését követi */
    pointer-events: none;
    z-index: 0;
}
.is-overlay-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}
.is-overlay-bg.is-bg-fixed { background-attachment: fixed; }

/* Parallax: görgetéskor a háttér lassabban mozog. Ahol a böngésző nem ismeri a görgetés-vezérelt
   animációt, ott rögzített háttérként jelenik meg. */
.is-overlay-bg.is-bg-parallax { background-attachment: fixed; }
@supports (animation-timeline: view()) {
    .is-overlay-bg.is-bg-parallax {
        background-attachment: scroll;
        inset: -20% 0;
        animation: is-parallax linear both;
        animation-timeline: view();
    }
}
@keyframes is-parallax {
    from { transform: translateY(-12%); }
    to { transform: translateY(12%); }
}

/* Ken Burns: lassú, folyamatos közelítés / távolítás */
@keyframes is-kenburns {
    from { transform: scale(1); }
    to { transform: scale(1.18); }
}
.is-overlay-bg.is-bg-kb-in { animation: is-kenburns 22s ease-in-out infinite alternate; }
.is-overlay-bg.is-bg-kb-out { animation: is-kenburns 22s ease-in-out infinite alternate-reverse; }
@media (prefers-reduced-motion: reduce) {
    .is-overlay-bg.is-bg-parallax, .is-overlay-bg.is-bg-kb-in, .is-overlay-bg.is-bg-kb-out,
    .is-fx-kb-in img, .is-fx-kb-out img { animation: none; }
    .is-overlay-bg.is-bg-parallax { inset: 0; }
}
.is-overlay-bg.is-bg-grayscale { filter: grayscale(1); }
.is-overlay-color {
    position: absolute;
    inset: 0;
    background-color: #000;
    opacity: 0;
}
.is-overlay-gradient {
    position: absolute;
    inset: 0;
}

/* ---- Tartalom konténer --------------------------------------------------- */
.is-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 80px 24px;
}
.is-content-500  { max-width: 500px; }
.is-content-640  { max-width: 640px; }
.is-content-800  { max-width: 800px; }
.is-content-980  { max-width: 980px; }
.is-content-1100 { max-width: 1100px; }
.is-content-1200 { max-width: 1200px; }
.is-content-1400 { max-width: 1400px; }
.is-content-full { max-width: none; }

.is-container > .row + .row { margin-top: 1.5rem; }
.is-container > .row > [class*="col"] { min-width: 0; background-size: cover; background-position: center; }
.is-container > .row > [class*="col"] > :last-child { margin-bottom: 0; }

/* ---- Szöveg mód ---------------------------------------------------------- */
.is-light-text,
.is-light-text h1, .is-light-text h2, .is-light-text h3,
.is-light-text h4, .is-light-text h5, .is-light-text h6,
.is-light-text p, .is-light-text li, .is-light-text blockquote,
.is-light-text .text-body-secondary, .is-light-text .text-muted { color: #fff; }
.is-light-text .text-body-secondary, .is-light-text .text-muted { opacity: .75; }
.is-light-text a:not(.btn) { color: #fff; }
.is-dark-text,
.is-dark-text h1, .is-dark-text h2, .is-dark-text h3,
.is-dark-text h4, .is-dark-text h5, .is-dark-text h6,
.is-dark-text p, .is-dark-text li, .is-dark-text blockquote { color: #111; }

/* ---- Elemek -------------------------------------------------------------- */
.is-wrapper img { max-width: 100%; height: auto; }
.is-wrapper .spacer { width: 100%; height: 80px; }
.is-wrapper .embed-responsive {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #e9ecef;
    overflow: hidden;
}
.is-wrapper .embed-responsive iframe,
.is-wrapper .embed-responsive video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}
.is-wrapper .is-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 4px;
    font-size: 20px;
    color: inherit;
    text-decoration: none;
}
.is-wrapper .is-lead-label {
    font-size: 12px;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .6;
}
.is-wrapper blockquote.is-quote {
    font-size: 1.5rem;
    line-height: 1.5;
    font-style: italic;
    border-left: 3px solid currentColor;
    padding-left: 1.25rem;
}
.is-grayscale { filter: grayscale(1); }
.is-text-gradient {
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
}

/* ---- Reszponzív képméret (változók: --w, --w-md, --w-sm, --ar, --ar-md, --ar-sm) ---- */
.is-img-r {
    width: var(--w, auto);
    aspect-ratio: var(--ar, auto);
    object-fit: cover;
}
@media (max-width: 1199.98px) {
    .is-img-r { width: var(--w-md, var(--w, auto)); aspect-ratio: var(--ar-md, var(--ar, auto)); }
}
@media (max-width: 767.98px) {
    .is-img-r { width: var(--w-sm, var(--w-md, var(--w, auto))); aspect-ratio: var(--ar-sm, var(--ar-md, var(--ar, auto))); }
}

/* ---- Kép effektek: nagyítás és színréteg ---------------------------------- */
.is-fx {
    --fx-time: .6s;
    position: relative;
    display: inline-block;
    overflow: hidden;
    max-width: 100%;
    vertical-align: middle;
    line-height: 0;
}
.is-fx > picture { display: block; width: 100%; height: 100%; }
.is-fx img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform var(--fx-time) ease;
}
.is-fx-kb-in img { animation: is-kenburns 18s ease-in-out infinite alternate; }
.is-fx-kb-out img { animation: is-kenburns 18s ease-in-out infinite alternate-reverse; }
.is-fx::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--fx-color, transparent);
    opacity: 0;
    transition: opacity var(--fx-time) ease;
    pointer-events: none;
}
.is-fx-zoom:hover img { transform: scale(1.12); }
.is-fx-zoomout img { transform: scale(1.12); }
.is-fx-zoomout:hover img { transform: scale(1); }
.is-fx-tint::after { opacity: 1; }
.is-fx-tint-in:hover::after { opacity: 1; }
.is-fx-tint-out::after { opacity: 1; }
.is-fx-tint-out:hover::after { opacity: 0; }

/* ---- Megjelenési animációk (data-anim) ------------------------------------
   A `cb-anim` osztályt a publikus oldal szkriptje (animate.js) teszi a <html>-re: JavaScript nélkül
   és a szerkesztőben minden látszik. Az `is-inview` osztályt görgetéskor kapja meg az elem. */
.cb-anim .is-wrapper { overflow-x: clip; }
.cb-anim [data-anim] {
    opacity: 0;
    transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1);
    will-change: opacity, transform;
}
.cb-anim [data-anim="fade-up"] { transform: translate3d(0, 40px, 0); }
.cb-anim [data-anim="fade-down"] { transform: translate3d(0, -40px, 0); }
.cb-anim [data-anim="fade-left"] { transform: translate3d(-60px, 0, 0); }
.cb-anim [data-anim="fade-right"] { transform: translate3d(60px, 0, 0); }
.cb-anim [data-anim="zoom-in"] { transform: scale(.85); }
.cb-anim [data-anim="zoom-out"] { transform: scale(1.15); }
.cb-anim [data-anim="flip"] { transform: perspective(1200px) rotateX(-70deg); }
.cb-anim [data-anim].is-inview { opacity: 1; transform: none; }
.cb-anim [data-anim].is-anim-done { will-change: auto; }
/* Animált szekció: nem egyben, hanem a blokkjai (a sorok oszlopai) jelennek meg egymás után – az animate.js
   a szekció effektjét ráteszi a blokkokra; addig is rejtve vannak. data-anim-stagger="0": a szekció egyben animál. */
.cb-anim .is-section[data-anim]:not([data-anim-stagger="0"]) { opacity: 1; transform: none; transition: none; will-change: auto; }
.cb-anim .is-section[data-anim]:not([data-anim-stagger="0"]) .is-container > .row:not([data-anim]) > :not([data-anim]) { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
    .cb-anim [data-anim] { opacity: 1; transform: none; transition: none; }
}

/* ---- Láthatóság eszközönként --------------------------------------------- */
@media (min-width: 1200px) { .is-hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1199.98px) { .is-hide-tablet { display: none !important; } }
@media (max-width: 767.98px) { .is-hide-mobile { display: none !important; } }

@media (max-width: 767.98px) {
    .is-section > .is-box { flex: 1 1 100%; }
    .is-container { padding: 48px 20px; }
    .is-overlay-bg.is-bg-fixed { background-attachment: scroll; }
    @supports not (animation-timeline: view()) {
        .is-overlay-bg.is-bg-parallax { background-attachment: scroll; }
    }
}

/* ==========================================================================
   Szerkesztőségi („editorial”) elemek: a minta szekciók és az Elemlista modul közös építőkövei.
   A kiemelő szín a --is-accent változóval állítható (szekción, dobozon vagy a téma :root-jában).
   ========================================================================== */
.is-wrapper, .cms-items { --is-accent: #b08d4a; --is-ink: #0f1b2d; --is-paper: #f6f1e7; --is-line: rgba(15, 27, 45, .14); }
.is-light-text { --is-line: rgba(255, 255, 255, .22); }

/* kis felirat a cím fölött, előtte vonallal */
.is-eyebrow {
    display: flex; align-items: center; gap: .9rem;
    margin-bottom: 1rem;
    font-size: .75rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase;
    color: var(--is-accent);
}
.is-eyebrow::before { content: ""; flex: 0 0 2rem; height: 1px; background: currentColor; }
.text-center .is-eyebrow, .is-eyebrow.text-center { justify-content: center; }
.text-center .is-eyebrow::after, .is-eyebrow.text-center::after { content: ""; flex: 0 0 2rem; height: 1px; background: currentColor; }
.is-light-text .is-eyebrow, .is-light-text p.is-eyebrow { color: var(--is-accent); }

/* nagy cím: az <em> a kiemelt, dőlt rész */
.is-display { line-height: 1.06; letter-spacing: -.01em; text-wrap: balance; }
.is-display em, .is-accent { font-style: italic; font-weight: 500; color: var(--is-accent); }
.is-light-text .is-display em, .is-light-text .is-accent { color: color-mix(in srgb, var(--is-accent) 70%, #fff); }

/* szögletes, ritkított betűs gombok */
.is-wrapper .btn.is-btn, .cms-items .btn.is-btn {
    padding: .95rem 1.9rem; border-radius: 2px;
    font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
}
.btn.is-btn-accent { background: var(--is-accent); border-color: var(--is-accent); color: #fff; }
.btn.is-btn-accent:hover, .btn.is-btn-accent:focus-visible { background: color-mix(in srgb, var(--is-accent) 84%, #000); border-color: transparent; color: #fff; }
/* aláhúzott szöveges hivatkozás */
.is-link {
    display: inline-block; padding-bottom: .3rem;
    font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; text-decoration: none;
    color: inherit; border-bottom: 1px solid currentColor;
    transition: color .2s ease;
}
.is-link:hover { color: var(--is-accent); }
.is-light-text .is-link { color: color-mix(in srgb, var(--is-accent) 55%, #fff); }

/* keretes címkék */
.is-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.is-tags > * {
    padding: .4rem .8rem; border: 1px solid currentColor; border-radius: 2px;
    font-size: .7rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: inherit; opacity: .9;
}
.is-tags > a:hover { background: #fff; border-color: #fff; color: var(--is-ink); opacity: 1; }

/* képes kártya: a kép kitölti, alul sötét átmenet, rajta a szöveg */
.is-card-img {
    position: relative; display: flex; flex-direction: column; justify-content: flex-end;
    min-height: 26rem; height: 100%; padding: 2rem; overflow: hidden;
    color: #fff; background: var(--is-ink); border-radius: 2px; text-decoration: none; isolation: isolate;
}
.is-card-img > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.is-card-img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15, 27, 45, 0) 30%, rgba(15, 27, 45, .88) 100%); pointer-events: none; }
.is-card-img:hover > img { transform: scale(1.05); }
.is-card-img h2, .is-card-img h3, .is-card-img h4, .is-card-img p { color: #fff; }
.is-card-img .is-card-no { margin-bottom: .6rem; font-style: italic; font-size: .95rem; color: color-mix(in srgb, var(--is-accent) 60%, #fff); }
.is-card-img-sm { min-height: 18rem; }
.is-card-img-lg { min-height: 34rem; }

/* egyszerű kártya hivatkozás (kép + szöveg) */
.is-card-plain { display: block; color: inherit; text-decoration: none; }
.is-card-plain img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; transition: opacity .25s ease; }
.is-card-plain:hover img { opacity: .88; }
.is-card-plain:hover h3, .is-card-plain:hover h4 { color: var(--is-accent); }

/* keretes doboz */
.is-panel { height: 100%; padding: 2rem; border: 1px solid var(--is-line); border-radius: 2px; background: rgba(255, 255, 255, .6); }
.is-light-text .is-panel { background: rgba(255, 255, 255, .04); }
.is-panel > :last-child { margin-bottom: 0; }

/* előnyök sávja: elemek függőleges vonallal elválasztva */
.is-usp { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); border-block: 1px solid var(--is-line); }
.is-usp > * { display: flex; align-items: center; gap: .9rem; padding: 1.4rem 1.5rem; margin: 0; border-inline-start: 1px solid var(--is-line); font-size: .9rem; }
.is-usp > :first-child { border-inline-start: 0; }
.is-usp i { font-size: 1.5rem; color: var(--is-accent); }
@media (max-width: 767.98px) { .is-usp > * { border-inline-start: 0; border-top: 1px solid var(--is-line); } .is-usp > :first-child { border-top: 0; } }

/* futó szövegsáv */
.is-ticker { display: flex; overflow: hidden; padding: .65rem 0; background: var(--is-ink); color: color-mix(in srgb, var(--is-accent) 55%, #fff); font-size: .72rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; }
.is-ticker > * { display: flex; flex: 0 0 auto; gap: 3.5rem; min-width: 100%; margin: 0; padding: 0 1.75rem; list-style: none; animation: is-ticker var(--is-ticker-time, 40s) linear infinite; }
.is-ticker li { display: flex; align-items: center; gap: .7rem; }
.is-ticker:hover > * { animation-play-state: paused; }
@keyframes is-ticker { to { transform: translateX(-100%); } }

/* számok */
.is-stat { font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; font-weight: 600; letter-spacing: -.02em; }
.is-stat + p { margin-top: .6rem; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; opacity: .7; }

/* számozott lépések */
.is-steps { counter-reset: is-step; }
.is-step { position: relative; height: 100%; padding-top: 1.5rem; border-top: 1px solid var(--is-line); counter-increment: is-step; }
.is-step::before { content: counter(is-step, decimal-leading-zero); display: block; margin-bottom: 1rem; font-style: italic; font-size: 1.1rem; color: var(--is-accent); }

/* vélemény */
.is-testimonial { height: 100%; padding: 2.25rem; border: 1px solid var(--is-line); border-radius: 2px; }
.is-testimonial blockquote { margin: 0 0 1.5rem; font-size: 1.15rem; line-height: 1.6; font-style: italic; }
.is-testimonial blockquote::before { content: "“"; display: block; height: 2.2rem; font-size: 3.5rem; line-height: 1; font-style: normal; color: var(--is-accent); }
.is-testimonial figcaption { display: flex; align-items: center; gap: .9rem; font-size: .9rem; }
.is-testimonial figcaption img { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; }
.is-testimonial figcaption small { display: block; opacity: .65; }

/* vonalas harmonika (GYIK) */
.is-faq { --bs-accordion-bg: transparent; --bs-accordion-color: inherit; --bs-accordion-border-color: var(--is-line); --bs-accordion-btn-color: inherit; --bs-accordion-active-color: inherit; --bs-accordion-active-bg: transparent; --bs-accordion-btn-focus-box-shadow: none; --bs-accordion-btn-padding-x: 0; --bs-accordion-body-padding-x: 0; --bs-accordion-btn-padding-y: 1.4rem; --bs-accordion-border-radius: 0; --bs-accordion-inner-border-radius: 0; }
.is-faq .accordion-item { border-inline: 0; }
.is-faq .accordion-button { font-size: 1.15rem; font-weight: 500; box-shadow: none; }
.is-faq .accordion-button:focus-visible { outline: 2px solid var(--is-accent); outline-offset: 2px; }
.is-faq .accordion-button::after { width: 1rem; height: 1rem; background: none; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translate(-25%, -25%); transition: transform .25s ease; }
.is-faq .accordion-button:not(.collapsed)::after { transform: rotate(-135deg) translate(-25%, -25%); }
.is-faq .accordion-body { padding-top: 0; padding-bottom: 1.6rem; opacity: .8; max-width: 46rem; }

/* lejátszás gomb videó előnézeti képre */
.is-play {
    display: inline-flex; align-items: center; justify-content: center;
    width: 5.5rem; height: 5.5rem; border: 1px solid currentColor; border-radius: 50%;
    font-size: 1.6rem; color: inherit; text-decoration: none;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.is-play:hover { background: #fff; color: var(--is-ink); transform: scale(1.06); }
.is-play i { margin-left: .2rem; }

/* logósor */
.is-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2rem 3.5rem; }
.is-logos img { max-height: 2.75rem; width: auto; opacity: .6; filter: grayscale(1); transition: opacity .25s ease, filter .25s ease; }
.is-logos a:hover img, .is-logos img:hover { opacity: 1; filter: none; }

/* ---- Elemlista modul ------------------------------------------------------ */
.cms-items-feature { height: 100%; }
.cms-items-feature > i { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; margin-bottom: 1.25rem; border: 1px solid var(--is-line); border-radius: 2px; font-size: 1.5rem; color: var(--is-accent); }
.cms-items-tabs .nav-link { padding: .9rem 1.4rem; border: 0; border-bottom: 2px solid transparent; border-radius: 0; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: inherit; opacity: .6; }
.cms-items-tabs .nav-link.active { background: none; border-bottom-color: var(--is-accent); color: inherit; opacity: 1; }
.cms-items-tabs.nav { border-bottom: 1px solid var(--is-line); }

@media (prefers-reduced-motion: reduce) {
    .is-ticker > * { animation: none; }
    .is-card-img > img, .is-play { transition: none; }
}
@media (max-width: 767.98px) {
    .is-card-img, .is-card-img-lg { min-height: 20rem; padding: 1.5rem; }
}
