﻿/*
    Author: TedSite
    Date: 15-09-2025
    Description: Succeed Offices Home Stylesheet
*/

.hero-container {
    font-family: DMSans;
    position: relative;
    height: 100vh;
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 auto;
    color: #fff;
    background: #000;
    overflow: hidden;
    padding-top: 5rem; /* ruimte voor je navbar */
    z-index: 0;
}

/* Video full-bleed achtergrond */
.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

/* Donkere overlay boven video, onder tekst */
.bg-overlay {
    position: absolute;
    inset: 0;
    background: #000;
    opacity: 0.2; /* pas desgewenst aan */
    z-index: 2;
}

/* Tekst/CTA bovenop alles */
.hero-container .overlay-text {
    position: relative;
    margin-left: 10%;
    z-index: 3;
    max-width: min(900px, 80vw);
    letter-spacing: 0.05em;
}

/* Titel */
.hero-container .overlay-text p:first-of-type {
    font-size: clamp(2rem, 6vw, 5.625rem);
    font-weight: bold;
    font-family: Poppins;
    margin: 0 0 1rem 0;
    text-transform: uppercase;
    line-height: 1.05;
    letter-spacing: 0.1em;
}

/* Ondertekst */
.hero-container .overlay-text .video-text {
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    font-weight: 400;
    margin: 0 0 2rem 0;
    opacity: 0.95;
}

/* Logo */
.hero-container .overlay-text img {
    display: block;
    max-width: min(40%, 320px);
    height: auto;
    margin: 0 0 1rem 0;
}

/* Buttons */
.hero-container .button-text {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;

}

.hero-container .btn,
.hero-container .btn.btn-outline {
    display: inline-block;
    text-decoration: none;
    padding: 0.9rem 1.25rem;
    min-width: 180px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    cursor: pointer;
    text-align: center;
    border: 2px solid var(--orange-color);
    transition: background-color 1s ease, border-color 1s ease, color 1s ease, transform 0.2s ease;
}

/* default filled */
.hero-container .btn {
    background-color: var(--orange-color); /* let op: background-color */
    color: #fff;
}

/* default outline */
.hero-container .btn.btn-outline {
    background-color: transparent;
    color: #fff;
}

/* hover states */
.hero-container .btn:hover {
    transform: translateY(-2px);
    background-color: transparent; /* background-color ipv background */
    border-color: var(--orange-color);
    color: #fff;
    opacity: 0.95;
}

.hero-container .btn:active {
    transform: translateY(0);
    opacity: 0.9;
}

.hero-container .btn.btn-outline:hover {
    background-color: var(--orange-color); /* background-color ipv background */
    color: #fff;
    border-color: var(--orange-color);
}

.hero-container .emblem
{
    position: absolute;
    right: 2rem;
    bottom: 5.5rem;
    height: 125px;
    width: 92px;
    z-index: 100;
}

.container-2
{
    background-color: var(--purple-color);

}

.container-2 h2
{
    font-size: 4rem;
    color: var(--orange-color);
    margin: 0rem 0 0 5%;
    padding-top: 3rem;
}


    .container-2 .wave-divider svg, .container-4 .wave-divider svg {
        height: 96px;
    }

.wave-divider svg {
    width: 100%; /* schaal zoals je wilt */
    height: auto;
    display: block;
    margin: 1rem auto; /* centreren */
}


.container-2a, .container-2b
{
    display:flex;
    width: 90%;
    margin: 0 auto;
    gap: 20%;
    padding-bottom: 2rem;
}

.container-2a article:first-of-type
{
    margin-top: 3rem;
}

.container-2a article {
    width: 100%;
}

.container-2a article h3
{
    color: var(--pink-color);
    text-align: center;
    font-size: 2.25rem;
    text-transform: uppercase;
}

.container-2a article p
{
    color: var(--pink-color);
    font-size: 1.5rem;
    letter-spacing: 0.05em;
}

.container-2a .service {
    max-width: 100%;
}

.container-2a .service img {
    max-width: 100%;
    box-shadow: 7px 7px 4px 3px rgba(0,0,0,0.2)
}

.container-2b h2
{
    margin: 0;
}

.container-2b article p {
    color: var(--pink-color);
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    width: 65%;
}

.container-2b .button-text
{
    flex-wrap: wrap;
}

.container-3
{
    background-color: var(--light-color);
    position: relative;
    padding-bottom: 3rem;
}

.container-3a
{
    width: 95%;
}

.container-3 h2
{
    color: var(--orange-color);
    font-size: 4rem;
}

.container-3 .title-block {
    width: 60%;
    display: block;
    margin-left: auto;
}


.container-3 .title-block p
{
    font-size: 1.5rem;
    text-align: right;
}

.container-3 .title-block .wave-orange{
    display: block;
    margin: 4rem 0 2rem auto;
}

/* Container: lijst links + preview rechts */
.container-3b {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    width: 90%;
    margin: 0 auto 3rem; /* center in parent */
}

/* Cards-grid links */
.container-3c {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 156px));
    gap: 3rem;
    width: 50%;
    margin-bottom: 5rem;
    z-index: 200;
}

    .container-3c article {
        position: relative;
        width: 100%;
        word-wrap: break-word; /* oudere fallback */
        overflow-wrap: break-word; /* moderne standaard */
        hyphens: auto; /* afbreken met koppeltekens */
        font-size: clamp(0.95rem, 1.6vw, 1.15rem);
        color: var(--light-purple-color);
        max-width: 156px;
        background-color: var(--green-color);
        text-align: center;
        border-radius: 8px;
        padding: 1.25rem;
        cursor: pointer;
        transition: transform .15s ease, box-shadow .15s ease;
        box-shadow: 7px 7px 4px rgba(0,0,0,.25);
        margin: 0 auto;
    }

.container-3c article:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,.12);
}

/* Preview-rechts: toont maar één image */
.container-3d {
    flex: 1; /* neemt restbreedte */
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px; /* zodat het vak niet inklapt */
    margin-top: 3rem;
}


.container-3d article {
    width: 100%;
    display: flex;
    justify-content: center;

}

.container-3d article img,
.container-3d > img,
#facility-preview {
    width: 100%;
    aspect-ratio: 16 / 9; /* nette verhouding; pas aan naar wens */
    object-fit: cover; /* mooi vullen zonder vervormen */
    border-radius: 12px;
    box-shadow: 7px 7px 4px rgba(0,0,0,.25);
}

.container-3 .wave-divider
{
    position: absolute;
    bottom: 3rem;
    z-index: 100;
    width:100%;
}

.container-3 .wave-divider svg {
    height: 475px;
}

.container-3 .button-text, .container-4 .button-text, .container-5 .button-text {
    justify-content: center;
    z-index: 200;
}

    .container-3 .button-text .link-button, .container-4 .button-text .link-button, .container-5 .button-text .link-button {
        color: #000;
    }

.container-3 .button-text .link-button:hover {
    color: var(--light-color);
}

.container-4
{
    position:relative;
    background-color: var(--green-color);
    padding: 2rem 0;
}

.container-4 .title-block {
    width: 90%;
    display: block;
    margin: 1rem auto;
}

.container-4 h2 {
    color: var(--purple-color);
    font-size: 4rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.container-4 h4 {
    color: var(--purple-color);
    font-weight: normal;
    font-size: 2rem;
    margin-top: 0;
}

.container-4 .title-block p {
    font-size: 1.5rem;
    text-align: right;
}

.container-4 .wave-purple
{
    position: absolute;
    left: 5%;
    bottom: .5rem;
}

.container-5
{
    background: var(--light-color);
    padding-bottom: 5rem;
}

.container-5 .title-block {
    width: 90%;
    display: block;
    margin: 1rem auto;
}

.container-5 h2 {
    color: var(--orange-color);
    font-size: 4rem;
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.container-5 h4 {
    font-weight: normal;
    font-size: 2rem;
    margin-top: 0;
    margin-bottom: 4rem;
}

.container-3b.desktop-only {
    display: flex !important;
}

/* Mobiel & tablets */
@media (max-width: 1200px) {
    .container-3b.desktop-only {
        display: none !important;
    }

    .container-3b.mobile-only {
        display: block !important;
    }
}


/* =========================================
   ≥ 1440px (optioneel - vaak desktop XL tweaks)
   ========================================= */
@media (max-width: 1440px) {
    /* place XL tweaks here if needed */
    .container-3c {
        grid-template-columns: repeat(3, minmax(140px, 156px));
    }

    .container-3c article {
        width: 80%;
        height: inherit;
    }
}

/* =========================================
   ≤ 1280px (extra hook)
   ========================================= */
@media (max-width: 1280px) {
    /* add styles for large laptops */
    .container-4 .wave-purple {
        position: relative;
        margin: 1rem auto;
        left: 0;
        bottom: 0;
    }
}

/* =========================================
   ≤ 1200px (extra hook)
   ========================================= */
@media (max-width: 1200px) {
    /* add styles for medium laptops */
}

/* =========================================
   ≤ 1024px (extra hook - tablets landscape)
   ========================================= */
@media (max-width: 1024px) {
    /* add styles for tablets landscape */


}

/* =========================================
   ≤ 992px  (je bestaande rules)
   ========================================= */
@media (max-width: 992px) {
    .container-3c {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
        width: 55%;
    }

    .container-4 .button-text
    {
        margin-top: 2rem;
    }

    .container-4 .wave-purple
    {
        bottom: 4.5rem;
    }
}

/* =========================================
   ≤ 980px (je bestaande "Responsiveness" blok)
   ========================================= */
@media (max-width: 980px) {
    .container-1a {
        grid-template-columns: 1fr;
    }

    .container-1a-image {
        order: -1;
    }
    /* beeld eerst op mobiel */

    .container-2a {
        display: block;
    }

        .container-2a article:last-child {
            margin-top: 5rem;
        }

    .container-3a
    {
        width: 90%;
        margin: 0 auto;
    }

    .container-3b
    {
        display: block;
        margin: 3rem auto;
    }

    .container-3a .title-block {
        width: 100%;
    }

    .container-3c {
        width: 100%;
        justify-content: center;
    }
}

/* =========================================
   ≤ 900px (extra hook)
   ========================================= */
@media (max-width: 900px) {
    /* add styles for small laptops / large tablets */
    .container-4 .wave-purple {
        position: relative;
        margin: 0 auto;
        left: 0;
        bottom: 0;
    }
}

/* =========================================
   ≤ 768px (je bestaande rules)
   ========================================= */
@media (max-width: 768px) {
    .hero-container {
        padding-top: 4.25rem;
        align-items: flex-end;
    }

        .hero-container .overlay-text {
            margin-left: 6%;
            margin-bottom: 10vh;
        }

            .hero-container .overlay-text img {
                max-width: 55%;
            }

    .container-4 .wave-purple
    {
        position: relative;
        margin: 0 auto;
        left: 0;
        bottom: 0;
    }
}

/* =========================================
   ≤ 680px (je bestaande rules)
   ========================================= */
@media (max-width: 680px) {
    .container-2a, .container-3a {
        display: block;
    }

        .container-2a article {
            margin-top: 5rem;
        }

    .container-3 .title-block {
        width: 90%;
        text-align: left;
    }

    .container-2 h2, .container-3 h2, .container-5 h2 {
        font-size: 3.5rem;
    }

    .container-4 .wave-purple {
        position: relative;
        margin: 1rem auto;
        left: 0;
    }

    .container-5 h4 {
        font-size: 1.5rem;
    }

    .container-3b {
        flex-direction: column;
        gap: 1.5rem;
        width: 100%;
    }

    .container-3c {
        width: 100%;
        max-width: 420px; /* beperk totale gridbreedte */
        margin: 0 auto 2rem; /* center de grid */
        grid-template-columns: repeat(2, 160px); /* vaste kolombreedte */
        gap: 1rem 1.25rem;
        justify-content: center; /* center kolommen binnen container */
        align-items: stretch;
    }

        .container-3c article {
            width: 100%;
            max-width: 160px; /* match kolombreedte */
            min-height: 110px;
            padding: 1rem;
            border-radius: 12px;
            box-shadow: 4px 4px 10px rgba(0,0,0,.12);
            font-size: clamp(0.9rem, 3.6vw, 1rem);
            line-height: 1.25;
            hyphens: none;
            overflow-wrap: anywhere;
            word-break: normal;
        }

            .container-3c article svg,
            .container-3c article img {
                display: block;
                margin: 0 auto .5rem;
                width: 36px;
                height: 36px;
            }

    .container-3 .button-text {
        margin-top: 4rem;
    }

    .container-3 .wave-divider {
        bottom: 5rem;
    }

    .container-3d {
        width: 100%;
    }

    .container-4 .wave-purple {
        bottom: 0rem;
    }
}
    /* =========================================
   ≤ 600px (extra hook)
   ========================================= */
    @media (max-width: 600px) {
        /* add styles for phones large */
        .container-4 .wave-purple {
            bottom: .5rem;
        }
    }

    /* =========================================
   ≤ 520px (je bestaande rules)
   ========================================= */
    @media (max-width: 520px) {
        .container-1a {
            gap: 1.2rem;
        }

        .container-1a-text h2 {
            font-size: 1.5rem;
        }
    }

    /* =========================================
   ≤ 480px (extra hook)
   ========================================= */
    @media (max-width: 480px) {
        /* add styles for phones medium */
        .hero-container .emblem {
            height: 96px;
            width: 78px;
            right: 1rem;
            bottom: 7.5rem;
        }
        .hero-container .overlay-text
        {
            margin-bottom: 13vh
        }

        .hero-container .button-text
        {
            margin: 0;
        }

        .container-3a .title-block h2, .container-4 .title-block h2, .container-5 .title-block h2 {
            font-size: 3rem !important;
        }

        .container-5 .title-block h4, .container-4 .title-block h4 {
            font-size: 1.5rem !important;
        }

        .container-4 .accordion p
        {
           font-size: 1rem;
        }


        .container-4 .button-text {
            margin-top: 0;
        }

        .container-4 .wave-purple {
            bottom: .5rem;
        }

    }

    /* =========================================
   ≤ 375px (extra hook - small phones)
   ========================================= */
    @media (max-width: 375px) {
        .hero-container .emblem {
            height: 64px;
            width: 46px;
        }

        .container-2 h2, .container-2a h2, .container-3a h2, .container-4a h2, .container-5 h2 {
            font-size: 2.5rem !important;
        }

        .container-5 h4 {
            font-size: 1.5rem !important;
        }



        .container-4 .wave-purple
        {
            bottom: .5rem;
        }
    }

