/* ========================================================
   HOMEPAGE HERO — PRAKTIJK ROZENHART
   Alleen actief op de homepage. Kleuren, fonts en knopstijl
   sluiten aan op de bestaande website.
======================================================== */

/* ============================
   HERO — BEELD EN OVERLAY
============================ */

.header--hero.header--hero--home {
    align-items: stretch;
    height: clamp(600px, calc(100svh - 120px), 800px);
    max-height: none;
    min-height: 600px;
    position: relative;
}

.header--hero--home .header--hero--visual {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.header--hero--home .header--hero--image {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center 48%;
    width: 100%;
}

.header--hero--home::after {
    background: linear-gradient(90deg,
        rgba(255, 250, 247, .68) 0%,
        rgba(255, 250, 247, .51) 28%,
        rgba(255, 250, 247, .24) 47%,
        rgba(255, 250, 247, .03) 68%,
        rgba(255, 250, 247, 0) 82%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

/* ============================
   HERO — INHOUD EN TYPOGRAFIE
============================ */

.header--hero--home .header--hero--content {
    z-index: 2;
}

.header--hero--home .header--hero--body {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    max-width: none;
    padding-bottom: 0;
    padding-right: 1rem;
    padding-top: 0;
    text-align: left;
    transform: none;
}

.header--hero--home .hero--eyebrow {
    color: #61408A;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1.4;
    margin-bottom: 1.3rem;
    text-transform: uppercase;
}

.header--hero--home .hero--h2 {
    color: #1B043E;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: clamp(3.35rem, 5vw, 5rem);
    font-weight: 800;
    letter-spacing: .015em;
    line-height: 1;
    margin: 0;
    max-width: 750px;
    text-shadow: none;
    text-wrap: balance;
}

.header--hero--home .hero--h2 span {
    display: block;
}

.header--hero--home .hero--h3 {
    color: #37214E;
    display: block;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: clamp(1.17rem, 1.42vw, 1.45rem);
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.5;
    margin: 1.35rem 0 0;
    max-width: none;
    text-shadow: none;
}

/* ============================
   HERO — PERSOONLIJKE MEDEDELING
============================ */

.header--hero--home .hero--personal {
    margin-top: 1.65rem;
    max-width: 100%;
}

.header--hero--home .header--hero__holiday {
    background-color: #FF946D;
    border-radius: 100px;
    box-shadow: none;
    color: #FFFFFF;
    display: inline-block;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: clamp(.99rem, 1.05vw, 1.075rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    margin: 0;
    padding: .65rem 1.1rem;
    text-shadow: none;
}

/* ============================
   HERO — BESTAANDE ROZENHART-KNOP
============================ */

.header--hero--home .hero--button--box {
    margin: 1.8rem 0 0;
    padding: 0;
}

.header--hero--home .hero--button--box .cta--button {
    align-items: center;
    animation: none;
    background-color: #3ED9D0;
    border: 1.5px solid #3ED9D0;
    border-radius: 10rem;
    box-shadow: none;
    color: #000000;
    display: inline-flex;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
    justify-content: center;
    letter-spacing: .025rem;
    line-height: 1;
    padding: .95rem 1.5rem 1.1rem;
    position: relative;
    text-decoration: none;
    text-transform: lowercase;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    vertical-align: middle;
}

.header--hero--home .hero--button--box .cta--button:hover {
    background-color: #111111;
    border-color: #111111;
    color: #FFFFFF;
}

.header--hero--home .hero--button--box .cta--button:focus-visible {
    outline: 3px solid #61408A;
    outline-offset: 4px;
}

/* ============================
   HERO — RESPONSIVE
============================ */

@media (min-width: 1200px) {
    .header--hero--home .header--hero--body {
        padding-left: clamp(3.5rem, 5.7vw, 6.8rem);
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .header--hero--home .header--hero--body {
        padding-left: 3.5rem;
    }
}

@media (min-width: 992px) {
    .header--hero--home .hero--h3 {
        white-space: nowrap;
    }
}

@media (max-width: 1199.98px) {
    .header--hero--home .hero--h2 {
        font-size: clamp(3rem, 5.4vw, 4.15rem);
    }
}

@media (max-width: 991.98px) {
    .header--hero.header--hero--home {
        height: clamp(560px, calc(100svh - 85px), 700px);
        min-height: 560px;
    }

    .header--hero--home .header--hero--image {
        object-position: 58% center;
    }

    .header--hero--home::after {
        background: linear-gradient(90deg,
            rgba(255, 250, 247, .83) 0%,
            rgba(255, 250, 247, .68) 44%,
            rgba(255, 250, 247, .15) 92%);
    }

    .header--hero--home .header--hero--body {
        transform: none;
    }

    .header--hero--home .hero--h2 {
        font-size: clamp(2.75rem, 5.9vw, 3.8rem);
        max-width: 610px;
    }

    .header--hero--home .hero--h3 {
        font-size: 1.19rem;
    }
}

@media (max-width: 767.98px) {
    .header--hero.header--hero--home {
        height: clamp(550px, calc(100svh - 75px), 680px);
        min-height: 550px;
    }

    .header--hero--home .header--hero--image {
        object-position: 70% center;
    }

    .header--hero--home::after {
        background: linear-gradient(90deg,
            rgba(255, 250, 247, .84) 0%,
            rgba(255, 250, 247, .74) 55%,
            rgba(255, 250, 247, .29) 100%);
    }

    .header--hero--home .header--hero--body {
        padding: 0 1rem;
        transform: none;
    }

    .header--hero--home .hero--eyebrow {
        font-size: .68rem;
        letter-spacing: .09em;
        margin-bottom: .95rem;
    }

    .header--hero--home .hero--h2 {
        font-size: clamp(2.25rem, 8.5vw, 3rem);
        letter-spacing: .005em;
        line-height: 1;
    }

    .header--hero--home .hero--h3 {
        display: block;
        font-size: clamp(1.02rem, 3.8vw, 1.13rem);
        line-height: 1.5;
        margin-top: 1.05rem;
    }

    .header--hero--home .hero--personal {
        margin-top: 1.35rem;
    }

    .header--hero--home .header--hero__holiday {
        border-radius: 16px;
        font-size: .91rem;
        padding: .6rem .8rem;
    }

    .header--hero--home .hero--button--box {
        margin-top: 1.45rem;
    }

    .header--hero--home .hero--button--box .cta--button {
        font-size: 1.1rem;
        padding: .85rem 1.25rem 1rem;
    }
}

@media (max-width: 575.98px) {
    .header--hero--home .header--hero--content .navigation--section {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (max-width: 359.98px) {
    .header--hero--home .hero--h2 {
        font-size: 2.05rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .header--hero--home .hero--button--box .cta--button {
        transition: none;
    }
}
