/* ============================================
   CDHome: Biztosítás oldal
   Előtag: bizt-
   A CDHome világát követi (bordó, arany kiemelés, meleg világos alapok), a címek a logó
   betűjével (Poppins) szólnak. Az oldal gerince az ingatlanügylet idővonala.
   ============================================ */

.bizt-oldal {
    --bizt-bordo: var(--primary, #990000);
    --bizt-bordo-vilagos: var(--primary-light, #b81c1c);
    --bizt-bordo-mely: #4a0000;
    --bizt-bordo-ej: #240505;
    --bizt-arany: #d4a853;
    --bizt-arany-vilagos: #f0d48a;
    --bizt-tinta: #2d2222;
    --bizt-szoveg: #4a3f3f;
    --bizt-halk: #6b5f5f;
    --bizt-vonal: #e8e0d8;
    --bizt-vonal-halk: #f0ebe6;
    --bizt-mezo-vonal: #d9cfc6;
    --bizt-alap-meleg: #f5f0eb;
    --bizt-alap-vilagos: #faf8f6;
    --bizt-hiba: #b42318;
    --bizt-display: 'Poppins', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --bizt-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --bizt-szakasz: clamp(3.5rem, 2rem + 5vw, 6rem);
}

.bizt-oldal [hidden] {
    display: none !important;
}

.bizt-oldal p,
.bizt-oldal dd,
.bizt-oldal li {
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 10 4 4;
    text-wrap: pretty;
}

.bizt-oldal h1,
.bizt-oldal h2,
.bizt-oldal h3 {
    hyphens: manual;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.bizt-oldal ::selection {
    background: rgba(212, 168, 83, 0.38);
    color: var(--bizt-tinta);
}

.bizt-oldal input,
.bizt-oldal textarea {
    caret-color: var(--bizt-bordo);
}

.bizt-oldal :focus-visible {
    outline: 3px solid var(--bizt-bordo);
    outline-offset: 3px;
    border-radius: 6px;
}

.bizt-hero :focus-visible,
.bizt-igeret :focus-visible,
.bizt-kapcsolat-szoveg :focus-visible {
    outline-color: var(--bizt-arany-vilagos);
}

.bizt-szam {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}

/* A horgonyok a rögzített fejléc alá érkezzenek */
html {
    scroll-padding-top: 88px;
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* Az űrlapszekció sötét alja egybefolyik a lábléccel */
.site-footer {
    margin-top: 0 !important;
    border-top: none !important;
}

/* ============================================
   Közös szekciófej
   ============================================ */
.bizt-fej {
    max-width: 44rem;
    margin: 0 auto clamp(2.5rem, 1.5rem + 3vw, 4rem);
    text-align: center;
}

.bizt-fej h2 {
    font-family: var(--bizt-display);
    font-weight: 700;
    font-size: clamp(1.65rem, 1.2rem + 1.6vw, 2.35rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bizt-tinta);
    margin: 0;
}

.bizt-fej h2::after {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    margin: 1.1rem auto 0;
    border-radius: 2px;
    background: var(--bizt-bordo);
}

.bizt-fej p {
    max-width: 36rem;
    margin: 1.1rem auto 0;
    font-size: 1.075rem;
    line-height: 1.7;
    color: var(--bizt-halk);
}

/* ============================================
   1. HERO
   ============================================ */
.bizt-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: clamp(620px, 84vh, 760px);
    margin-top: -1rem;
    padding: 5rem 0;
    overflow: hidden;
    color: #fff;
    background: var(--bizt-bordo-ej);
}

.bizt-hero-kep {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% 50%;
}

.bizt-hero-fatyol {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(28, 5, 5, 0.94) 0%, rgba(40, 7, 7, 0.86) 38%, rgba(40, 7, 7, 0.42) 68%, rgba(28, 5, 5, 0.62) 100%),
        linear-gradient(0deg, rgba(28, 5, 5, 0.5) 0%, rgba(28, 5, 5, 0) 40%);
}

.bizt-hero-belso {
    position: relative;
}

.bizt-hero h1 {
    font-family: var(--bizt-display);
    font-weight: 700;
    font-size: clamp(2.15rem, 1.35rem + 2.9vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
    margin: 0 0 1.4rem;
    color: #fff;
}

.bizt-arany {
    color: var(--bizt-arany-vilagos);
}

.bizt-oldal .bizt-hero-lead {
    -webkit-hyphens: manual;
    hyphens: manual;
    max-width: 36rem;
    margin: 0 0 2rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
}

.bizt-hero-gombok {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.bizt-gomb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 52px;
    padding: 0.8rem 1.55rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: 1.02rem;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 0.2s var(--bizt-ease), box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.bizt-gomb-feher {
    background: #fff;
    color: var(--bizt-bordo);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.bizt-gomb-keret {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.04);
}

.bizt-gomb-keret .bi {
    color: var(--bizt-arany-vilagos);
}

.bizt-gomb:active {
    transform: scale(0.98);
}

@media (hover: hover) {
    .bizt-gomb-feher:hover {
        color: var(--bizt-bordo-mely);
        transform: translateY(-2px);
        box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
    }

    .bizt-gomb-keret:hover {
        color: #fff;
        border-color: #fff;
        background: rgba(255, 255, 255, 0.1);
    }
}

.bizt-hero-apro {
    margin: 1.25rem 0 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.74);
}

/* Névjegy: valódi arc, név és nyilvántartási szám a hero jobb oldalán */
.bizt-nevjegy {
    width: min(100%, 340px);
    margin: 0 0 0 auto;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    color: var(--bizt-tinta);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45), 0 2px 6px rgba(0, 0, 0, 0.2);
}

.bizt-nevjegy img {
    display: block;
    width: 100%;
    background: var(--bizt-vonal);
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: 50% 20%;
}

.bizt-nevjegy figcaption {
    display: grid;
    gap: 0.2rem;
    padding: 1.1rem 1.25rem 1.25rem;
}

.bizt-nevjegy-nev {
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: 1.15rem;
    line-height: 1.3;
}

.bizt-nevjegy-szerep {
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--bizt-szoveg);
}

.bizt-nevjegy-mnb {
    margin-top: 0.35rem;
    font-size: 0.85rem;
    color: var(--bizt-halk);
}

/* ============================================
   2. IDŐVONAL
   ============================================ */
.bizt-menet {
    padding: var(--bizt-szakasz) 0;
    background: var(--bizt-alap-meleg);
}

.bizt-idovonal {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bizt-allomas {
    position: relative;
}

/* Összekötő vonal a következő állomásig; a kulcsátadásig bordó, utána halvány */
.bizt-allomas:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 27px;
    left: 64px;
    right: calc(-2rem + 8px);
    height: 2px;
    border-radius: 1px;
    background: var(--bizt-bordo);
    transform-origin: left center;
}

.bizt-allomas:nth-child(2)::after {
    background: linear-gradient(90deg, var(--bizt-bordo), var(--bizt-arany));
}

/* A kulcsátadás utáni szakasz szaggatott: az évi átnézés folyamatos, nincs vége */
.bizt-allomas.bizt-allomas-kulcs:not(:last-child)::after {
    height: 0;
    border-top: 2px dashed var(--bizt-arany);
    background: none;
}

.bizt-allomas-jel {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-bottom: 1.25rem;
    border: 2px solid var(--bizt-bordo);
    border-radius: 50%;
    background: #fff;
    color: var(--bizt-bordo);
    font-size: 1.3rem;
    box-shadow: 0 6px 16px rgba(74, 0, 0, 0.1);
}

.bizt-allomas-kulcs .bizt-allomas-jel {
    border-color: var(--bizt-arany);
    background: var(--bizt-arany);
    color: var(--bizt-bordo-mely);
    box-shadow: 0 0 0 8px rgba(212, 168, 83, 0.22), 0 10px 24px rgba(138, 100, 32, 0.28);
}

.bizt-allomas h3 {
    margin: 0 0 0.5rem;
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: 1.15rem;
    line-height: 1.3;
    color: var(--bizt-tinta);
}

.bizt-allomas p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--bizt-szoveg);
}

.bizt-allomas p strong {
    font-weight: 600;
    color: var(--bizt-bordo);
}

.bizt-allomas-kulcs h3 {
    color: var(--bizt-bordo-mely);
}

.bizt-elado {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    max-width: 44rem;
    margin: clamp(2.5rem, 1.5rem + 3vw, 3.5rem) auto 0;
    padding: 1.25rem 1.5rem;
    border: 1px solid var(--bizt-vonal);
    border-radius: 14px;
    background: #fff;
}

.bizt-elado .bi {
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: 1.35rem;
    color: var(--bizt-bordo);
}

.bizt-elado p {
    max-width: 62ch;
    margin: 0;
    line-height: 1.65;
    color: var(--bizt-szoveg);
}

.bizt-elado strong {
    color: var(--bizt-tinta);
}

/* Egyszeri kirajzolás: a szkript csak akkor rejti el előre, ha a mozgás engedélyezett */
@media (prefers-reduced-motion: no-preference) {
    .bizt-idovonal.bizt-var .bizt-allomas {
        opacity: 0;
        transform: translateY(14px);
    }

    .bizt-idovonal.bizt-var .bizt-allomas::after {
        transform: scaleX(0);
    }

    .bizt-idovonal.bizt-fut .bizt-allomas {
        transition: opacity 0.6s var(--bizt-ease) calc(var(--i, 0) * 170ms),
                    transform 0.6s var(--bizt-ease) calc(var(--i, 0) * 170ms);
    }

    .bizt-idovonal.bizt-fut .bizt-allomas::after {
        transition: transform 0.55s var(--bizt-ease) calc(var(--i, 0) * 170ms + 260ms);
    }

    .bizt-idovonal.bizt-fut .bizt-allomas-kulcs .bizt-allomas-jel {
        animation: biztKulcs 1.1s var(--bizt-ease) 0.62s both;
    }
}

@keyframes biztKulcs {
    0% {
        box-shadow: 0 0 0 0 rgba(212, 168, 83, 0.6), 0 10px 24px rgba(138, 100, 32, 0.28);
    }
    100% {
        box-shadow: 0 0 0 8px rgba(212, 168, 83, 0.22), 0 10px 24px rgba(138, 100, 32, 0.28);
    }
}

/* ============================================
   3. TERMÉKADATLAP
   ============================================ */
.bizt-termekek {
    padding: var(--bizt-szakasz) 0;
    background: #fff;
}

.bizt-adatlap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto repeat(3, auto) auto;
    overflow: hidden;
    border: 1px solid var(--bizt-vonal);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(74, 0, 0, 0.08);
}

/* A három oszlop sorai egy vonalba kerülnek (Kinek, Mit old meg, Amire figyelek) */
.bizt-termek {
    display: grid;
    grid-row: span 5;
    grid-template-rows: subgrid;
    padding: 1.75rem 1.75rem 1.5rem;
}

.bizt-termek + .bizt-termek {
    border-left: 1px solid var(--bizt-vonal);
}

.bizt-termek h3 {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 0.6rem;
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 1.3;
    color: var(--bizt-tinta);
}

.bizt-termek h3 .bi {
    font-size: 1.3rem;
    color: var(--bizt-bordo);
}

.bizt-termek dl {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    margin: 0;
}

.bizt-termek dl > div {
    padding: 1rem 0;
    border-top: 1px solid var(--bizt-vonal-halk);
}

.bizt-termek dt {
    margin-bottom: 0.3rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--bizt-bordo);
}

.bizt-termek dd {
    margin: 0;
    line-height: 1.6;
    color: var(--bizt-szoveg);
}

/* Az oszlop alján: a témát előre kiválasztja az űrlapon */
.bizt-termek-cta {
    display: inline-flex;
    align-items: center;
    align-self: end;
    justify-self: start;
    gap: 0.45rem;
    min-height: 44px;
    margin-top: 0.25rem;
    padding: 0.55rem 1.1rem;
    border: 1px solid rgba(153, 0, 0, 0.35);
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--bizt-bordo);
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bizt-termek-cta .bi {
    transition: transform 0.2s var(--bizt-ease);
}

@media (hover: hover) {
    .bizt-termek-cta:hover {
        border-color: var(--bizt-bordo);
        background: var(--bizt-bordo);
        color: #fff;
    }

    .bizt-termek-cta:hover .bi {
        transform: translateX(3px);
    }
}

.bizt-termekek-lab {
    max-width: 44rem;
    margin: 1.75rem auto 0;
    text-align: center;
    color: var(--bizt-halk);
}

.bizt-termekek-lab a {
    margin-left: 0.35rem;
    font-weight: 600;
    color: var(--bizt-bordo);
    text-underline-offset: 0.22em;
}

/* ============================================
   4. ÍGÉRET ÉS KÖZVETÍTŐI ADATOK
   ============================================ */
.bizt-igeret {
    padding: var(--bizt-szakasz) 0;
    color: #fff;
    background-color: var(--bizt-bordo-mely);
    background-image: linear-gradient(160deg, #5a0808 0%, var(--bizt-bordo-mely) 55%, #380303 100%);
}

.bizt-idezet {
    margin: 0;
}

.bizt-idezet blockquote {
    margin: 0 0 1.75rem;
}

.bizt-idezet blockquote p {
    margin: 0;
    text-indent: -0.42em;
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: clamp(1.75rem, 1.2rem + 2vw, 2.7rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
    -webkit-hyphens: manual;
    hyphens: manual;
}

.bizt-idezet figcaption {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.bizt-idezet figcaption img {
    width: 56px;
    height: 56px;
    border: 2px solid var(--bizt-arany);
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 18%;
}

.bizt-idezet figcaption span {
    display: grid;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.75);
}

.bizt-idezet figcaption strong {
    font-family: var(--bizt-display);
    font-weight: 600;
    color: var(--bizt-arany-vilagos);
}

.bizt-igeretek {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bizt-igeretek li {
    display: grid;
    grid-template-columns: 2.25rem 1fr;
    gap: 0.9rem;
    padding: 1.25rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.bizt-igeretek li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.bizt-igeretek .bi {
    font-size: 1.4rem;
    line-height: 1.35;
    color: var(--bizt-arany-vilagos);
}

.bizt-igeretek p {
    margin: 0;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
}

.bizt-igeretek strong {
    font-weight: 600;
    color: #fff;
}

.bizt-igeret-gombok {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.bizt-jogi {
    margin-top: clamp(2.5rem, 1.5rem + 3vw, 4rem);
    padding: 1.5rem 1.75rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(0, 0, 0, 0.18);
}

.bizt-jogi h3 {
    margin: 0 0 1rem;
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: 1rem;
    color: var(--bizt-arany-vilagos);
}

.bizt-jogi dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 2.5rem;
    margin: 0;
}

.bizt-jogi dt {
    margin-bottom: 0.15rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.64);
}

.bizt-jogi dd {
    max-width: 62ch;
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
}

.bizt-jogi a {
    color: var(--bizt-arany-vilagos);
    text-underline-offset: 0.2em;
}

.bizt-jogi a:hover {
    color: #fff;
}

.bizt-jogi-lab {
    max-width: 75ch;
    margin: 1.1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.85rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.64);
}

/* ============================================
   5. GYIK (natív details, JavaScript nélkül is működik)
   ============================================ */
.bizt-gyik {
    padding: var(--bizt-szakasz) 0;
    background: var(--bizt-alap-meleg);
}

.bizt-gyik-lista {
    display: grid;
    gap: 0.75rem;
    max-width: 50rem;
    margin: 0 auto;
}

.bizt-gyik details {
    border: 1px solid var(--bizt-vonal);
    border-radius: 14px;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bizt-gyik details[open] {
    border-color: rgba(153, 0, 0, 0.22);
    box-shadow: 0 10px 28px rgba(74, 0, 0, 0.07);
}

.bizt-gyik summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.35rem;
    border-radius: 14px;
    list-style: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 1.02rem;
    line-height: 1.4;
    color: var(--bizt-tinta);
}

.bizt-gyik summary::-webkit-details-marker {
    display: none;
}

/* Rajzolt plusz jel, nyitva x-szé fordul */
.bizt-gyik summary::after {
    content: "";
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background:
        linear-gradient(var(--bizt-bordo), var(--bizt-bordo)) center / 100% 2px no-repeat,
        linear-gradient(var(--bizt-bordo), var(--bizt-bordo)) center / 2px 100% no-repeat;
    transition: transform 0.3s var(--bizt-ease);
}

.bizt-gyik details[open] summary::after {
    transform: rotate(45deg);
}

.bizt-gyik details[open] summary {
    color: var(--bizt-bordo);
}

@media (hover: hover) {
    .bizt-gyik details:hover {
        border-color: rgba(153, 0, 0, 0.18);
    }
}

.bizt-valasz {
    padding: 0 1.35rem 1.25rem;
}

.bizt-valasz p {
    max-width: 62ch;
    margin: 0;
    line-height: 1.7;
    color: var(--bizt-szoveg);
}

@supports (interpolate-size: allow-keywords) {
    @media (prefers-reduced-motion: no-preference) {
        .bizt-gyik details {
            interpolate-size: allow-keywords;
        }

        .bizt-gyik details::details-content {
            height: 0;
            overflow: clip;
            transition: height 0.35s var(--bizt-ease), content-visibility 0.35s allow-discrete;
        }

        .bizt-gyik details[open]::details-content {
            height: auto;
        }
    }
}

/* ============================================
   6. VISSZAHÍVÁS-KÉRÉS
   ============================================ */
.bizt-kapcsolat {
    position: relative;
    isolation: isolate;
    padding: clamp(4rem, 2.5rem + 5vw, 7rem) 0 clamp(4.5rem, 3rem + 5vw, 7.5rem);
    overflow: hidden;
    color: #fff;
    background: #1a1a1a;
}

.bizt-kapcsolat-kep {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 60%;
}

/* A fotó látszódjon (esti ház, égő lámpa), a fehér szöveg alatt mégis maradjon sötét */
.bizt-kapcsolat-fatyol {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(42, 4, 4, 0.64) 0%, rgba(30, 4, 4, 0.74) 72%, #1a1a1a 100%);
}

.bizt-kapcsolat h2 {
    margin: 0 0 1rem;
    font-family: var(--bizt-display);
    font-weight: 700;
    font-size: clamp(1.85rem, 1.3rem + 1.8vw, 2.5rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #fff;
}

.bizt-kapcsolat-lead {
    max-width: 30rem;
    margin: 0 0 2rem;
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.85);
}

.bizt-elerhetoseg {
    display: grid;
    gap: 0.6rem;
    max-width: 30rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bizt-elerhetoseg li {
    position: relative;
    display: grid;
    grid-template-columns: 2.6rem 1fr;
    column-gap: 0.9rem;
    align-items: center;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.bizt-elerhetoseg .bi {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 10px;
    background: rgba(212, 168, 83, 0.18);
    color: var(--bizt-arany-vilagos);
}

.bizt-elerhetoseg span {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.66);
}

.bizt-elerhetoseg a,
.bizt-elerhetoseg .bizt-elerhetoseg-ertek {
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    overflow-wrap: anywhere;
}

/* A teljes sor kattintható, mobilon ez a nagy érintési felület */
.bizt-elerhetoseg a::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 12px;
}

@media (hover: hover) {
    .bizt-elerhetoseg li:has(a):hover {
        border-color: rgba(240, 212, 138, 0.4);
        background: rgba(255, 255, 255, 0.1);
    }
}

.bizt-urlap-lap {
    padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
    border-radius: 18px;
    background: #fff;
    color: var(--bizt-tinta);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}

.bizt-urlap-lap ::selection {
    background: rgba(212, 168, 83, 0.38);
    color: var(--bizt-tinta);
}

.bizt-urlap .form-label {
    margin-bottom: 0.4rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--bizt-tinta);
}

.bizt-nem-kotelezo {
    font-weight: 400;
    color: var(--bizt-halk);
}

/* 16 px-es betű, hogy iPhone-on a mezőre koppintva ne nagyítson rá az oldal */
.bizt-urlap .form-control,
.bizt-urlap .form-select {
    min-height: 50px;
    padding: 0.75rem 1rem;
    border: 1px solid var(--bizt-mezo-vonal);
    border-radius: 10px;
    font-size: 1rem;
    color: var(--bizt-tinta);
    background-color: #fff;
}

.bizt-urlap .form-select {
    padding-right: 2.5rem;
}

.bizt-urlap textarea.form-control {
    min-height: 96px;
    resize: vertical;
}

.bizt-urlap .form-control::placeholder {
    color: #7a6d6d;
    opacity: 1;
}

.bizt-urlap .form-control:focus,
.bizt-urlap .form-select:focus {
    border-color: var(--bizt-bordo);
    outline: none;
    box-shadow: 0 0 0 4px rgba(153, 0, 0, 0.12);
}

.bizt-urlap .form-control.is-invalid,
.bizt-urlap .form-select.is-invalid {
    border-color: var(--bizt-hiba);
}

.bizt-urlap .form-control.is-invalid:focus {
    box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.14);
}

.bizt-segit {
    margin-top: 0.35rem;
    font-size: 0.85rem;
    color: var(--bizt-halk);
}

.bizt-mezo-hiba {
    margin-top: 0.4rem;
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--bizt-hiba);
}

.bizt-urlap-hiba {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    border: 1px solid #fecdca;
    border-radius: 10px;
    background: #fef3f2;
    font-size: 0.95rem;
    color: #912018;
}

.bizt-temak {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.bizt-tema-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.bizt-tema {
    position: relative;
    cursor: pointer;
}

/* A választógomb látható marad a kisegítő eszközöknek, csak a pirula rajzolja ki */
.bizt-tema input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.bizt-tema span {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.55rem 1rem;
    border: 1px solid var(--bizt-mezo-vonal);
    border-radius: 999px;
    background: #fff;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--bizt-szoveg);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

@media (hover: hover) {
    .bizt-tema:hover span {
        border-color: var(--bizt-bordo);
    }
}

.bizt-tema input:checked + span {
    border-color: var(--bizt-bordo);
    background: var(--bizt-bordo);
    color: #fff;
}

.bizt-tema input:focus-visible + span {
    outline: 3px solid rgba(153, 0, 0, 0.35);
    outline-offset: 2px;
}

.bizt-temak.is-invalid .bizt-tema span {
    border-color: var(--bizt-hiba);
}

.bizt-hozzajarulas {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--bizt-vonal-halk);
    border-radius: 12px;
    background: var(--bizt-alap-vilagos);
}

.bizt-hozzajarulas input {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.15rem;
    accent-color: var(--bizt-bordo);
    cursor: pointer;
}

.bizt-hozzajarulas label {
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--bizt-szoveg);
    cursor: pointer;
}

.bizt-hozzajarulas a {
    color: var(--bizt-bordo);
    text-underline-offset: 0.2em;
}

.bizt-hozzajarulas.is-invalid {
    border-color: #fecdca;
    background: #fef3f2;
}

.bizt-kuld {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    padding: 0.9rem 1.5rem;
    border: 0;
    border-radius: 999px;
    background: var(--bizt-bordo);
    color: #fff;
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: 1.05rem;
    box-shadow: 0 8px 20px rgba(45, 10, 10, 0.2);
    transition: background-color 0.2s ease, transform 0.15s var(--bizt-ease), box-shadow 0.2s ease;
}

.bizt-kuld-szoveg,
.bizt-kuld-folyamat {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.bizt-kuld:active {
    transform: scale(0.985);
}

.bizt-kuld[disabled] {
    cursor: progress;
    opacity: 0.78;
}

@media (hover: hover) {
    .bizt-kuld:hover:not([disabled]) {
        background: var(--bizt-bordo-vilagos);
        box-shadow: 0 12px 26px rgba(45, 10, 10, 0.26);
    }
}

.bizt-urlap-lab {
    max-width: 40rem;
    margin: 0.9rem auto 0;
    text-align: center;
    font-size: 0.85rem;
    color: var(--bizt-halk);
}

.bizt-siker {
    padding: 2.5rem 1rem;
    text-align: center;
}

.bizt-siker:focus {
    outline: none;
}

.bizt-siker > .bi {
    display: block;
    margin-bottom: 1rem;
    font-size: 3rem;
    color: #1f7a4d;
}

.bizt-siker h3 {
    margin: 0 0 0.5rem;
    font-family: var(--bizt-display);
    font-weight: 600;
    font-size: 1.5rem;
    color: var(--bizt-tinta);
}

.bizt-siker p {
    max-width: 26rem;
    margin: 0 auto;
    line-height: 1.65;
    color: var(--bizt-szoveg);
}

.bizt-siker a {
    font-weight: 600;
    color: var(--bizt-bordo);
    white-space: nowrap;
}

/* ============================================
   RÖGZÍTETT MOBILSÁV
   ============================================ */
.bizt-ragados {
    display: none;
}

@media (max-width: 991.98px) {
    .bizt-ragados {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1040;
        display: flex;
        gap: 0.5rem;
        padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid var(--bizt-vonal);
        background: #fff;
        box-shadow: 0 -6px 24px rgba(45, 10, 10, 0.12);
        transform: translateY(110%);
        visibility: hidden;
        transition: transform 0.35s var(--bizt-ease), visibility 0s linear 0.35s;
    }

    .bizt-ragados.bizt-ragados--lathato {
        transform: translateY(0);
        visibility: visible;
        transition: transform 0.35s var(--bizt-ease), visibility 0s linear 0s;
    }

    .bizt-ragados-gomb {
        display: flex;
        flex: 1 1 0;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        min-height: 48px;
        padding: 0.7rem 0.5rem;
        border-radius: 999px;
        font-family: var(--bizt-display);
        font-weight: 600;
        font-size: 0.98rem;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    .bizt-ragados-hivas {
        flex-grow: 0.8;
        border: 1px solid var(--bizt-bordo);
        color: var(--bizt-bordo);
        background: #fff;
    }

    .bizt-ragados-visszahivas {
        flex-grow: 1.2;
        border: 1px solid var(--bizt-bordo);
        color: #fff;
        background: var(--bizt-bordo);
    }

    .bizt-ragados-gomb:active {
        transform: scale(0.98);
    }
}

@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    .bizt-ragados,
    .bizt-ragados.bizt-ragados--lathato {
        transition: none;
    }
}

/* ============================================
   RESZPONZÍV
   ============================================ */
@media (max-width: 1199.98px) {
    .bizt-idovonal {
        gap: 1.5rem;
    }

    .bizt-allomas:not(:last-child)::after {
        right: calc(-1.5rem + 8px);
    }
}

@media (max-width: 991.98px) {
    .bizt-hero {
        min-height: 0;
        padding: 3.5rem 0 3.75rem;
    }

    .bizt-hero-fatyol {
        background:
            linear-gradient(180deg, rgba(28, 5, 5, 0.9) 0%, rgba(40, 7, 7, 0.82) 55%, rgba(28, 5, 5, 0.88) 100%);
    }

    /* Mobilon a névjegy a gombok alá kerül, fekvő névjegyként */
    .bizt-nevjegy {
        display: grid;
        grid-template-columns: 112px 1fr;
        align-items: center;
        width: 100%;
        max-width: 30rem;
        margin: 0;
        border-radius: 16px;
    }

    .bizt-nevjegy img {
        height: 100%;
        min-height: 140px;
    }

    .bizt-nevjegy figcaption {
        padding: 0.9rem 1.1rem;
    }

    .bizt-nevjegy-nev {
        font-size: 1.05rem;
    }

    .bizt-nevjegy-szerep {
        font-size: 0.875rem;
    }

    .bizt-nevjegy-mnb {
        font-size: 0.82rem;
    }

    /* Az idővonal függőleges lesz, a vonal az ikonok alatt fut */
    .bizt-idovonal {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        max-width: 36rem;
        margin: 0 auto;
    }

    .bizt-allomas {
        display: grid;
        grid-template-columns: 56px minmax(0, 1fr);
        column-gap: 1.1rem;
        padding-bottom: 2rem;
    }

    .bizt-allomas:last-child {
        padding-bottom: 0;
    }

    .bizt-allomas-jel {
        grid-row: span 2;
        margin: 0;
    }

    .bizt-allomas h3 {
        align-self: center;
        margin-top: 0.9rem;
    }

    .bizt-allomas:not(:last-child)::after {
        top: 64px;
        bottom: 8px;
        left: 27px;
        right: auto;
        width: 2px;
        height: auto;
        transform-origin: center top;
    }

    .bizt-allomas:nth-child(2)::after {
        background: linear-gradient(180deg, var(--bizt-bordo), var(--bizt-arany));
    }

    .bizt-allomas.bizt-allomas-kulcs:not(:last-child)::after {
        width: 0;
        height: auto;
        border-top: 0;
        border-left: 2px dashed var(--bizt-arany);
    }

    .bizt-adatlap {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        max-width: 36rem;
        margin: 0 auto;
    }

    .bizt-termek,
    .bizt-termek dl {
        display: block;
        grid-row: auto;
    }

    .bizt-termek + .bizt-termek {
        border-left: 0;
        border-top: 1px solid var(--bizt-vonal);
    }

    .bizt-termek-cta {
        margin-top: 0.5rem;
    }

    .bizt-jogi dl {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Egy oszlopban a szekció nagyon magas: a fotó csak a felső, szöveges részt fedi,
       így a lámpafény a cím és az elérhetőségek mögé kerül, nem az űrlap mögé */
    .bizt-kapcsolat-kep {
        height: 600px;
    }

    .bizt-kapcsolat-fatyol {
        background: linear-gradient(180deg, rgba(42, 4, 4, 0.62) 0%, rgba(30, 4, 4, 0.72) 360px, #1a1a1a 600px, #1a1a1a 100%);
    }
}

@media (prefers-reduced-motion: no-preference) and (max-width: 991.98px) {
    .bizt-idovonal.bizt-var .bizt-allomas::after {
        transform: scaleY(0);
    }
}

@media (max-width: 575.98px) {
    /* Telefonon 20 px oldalmargó a Bootstrap 12 px-e helyett, hogy a szöveg ne tapadjon a széléhez */
    .bizt-oldal .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .bizt-hero {
        padding: 2.75rem 0 3rem;
    }

    .bizt-oldal .bizt-hero-lead {
        font-size: 1.05rem;
    }

    .bizt-hero-gombok,
    .bizt-igeret-gombok {
        flex-direction: column;
        align-items: stretch;
    }

    .bizt-elado {
        padding: 1.1rem 1.15rem;
    }

    .bizt-termek {
        padding: 1.4rem 1.25rem 1.35rem;
    }

    .bizt-jogi {
        padding: 1.25rem 1.15rem;
    }

    .bizt-gyik summary {
        padding: 1rem 1.1rem;
        font-size: 1rem;
    }

    .bizt-valasz {
        padding: 0 1.1rem 1.1rem;
    }
}
