
html, body {
    margin: 0;
    padding: 0;
    font-family: Arial;
    background: #0b0b0b;
    color: white;
    scroll-behavior: smooth;
}

/* =============== HEADER FIXED CLEAN VERSION =============== */
.header {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1001;

text-align: center;
    transition: all 0.4s ease;
}

.header img {
    max-height: 140px;
    transition: all 0.4s ease;
}

/* SCROLLED STATE = TOP BAR */
.header.scrolled {
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
 /*   background: rgba(0,0,0,0.85); */
    backdrop-filter: blur(10px);
    padding: 10px 0;
}

/* shrink logo */
.header.scrolled img {
    max-height: 60px;
}

/* ============ MENU ================= */
.menu {
    position: fixed;
    top: 150px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;

    background: rgba(0,0,0,0.35);
    padding: 10px 18px;
    border-radius: 14px;
    backdrop-filter: blur(10px);

    transition: all 0.4s ease;

    font-family: 'Playfair Display', serif;

    display:flex;
    align-items:center;
    gap:4px;
}

/* scrolled state */
.header.scrolled ~ .menu {
    top: 70px;
    left: 0;
    transform: none;
    width: 100%;
    border-radius: 0;
    display: flex;
    justify-content: center;
}

/* LINKS */
.menu a {
    color: #eaeaea;
    margin: 0 7px;
    text-decoration: none;

    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 0.95rem;

    letter-spacing: 1px;

    transition: all 0.3s ease;
    position: relative;
}

/* hover elegant (geen felle kleur) */
.menu a:hover {
    color: #ffffff;
}

/* subtiele underline animation */
.menu a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 0%;
    height: 1px;
    background: #b7a07a; /* luxe gold accent */
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

.menu a:hover::after {
    width: 80%;
}

.menu-languages {
    display:flex;
    align-items:center;
    gap:4px;
    margin-right:10px;
}


.menu-languages a {
    margin:0 2px;
}


.menu-languages .flag {
    width:22px;
    height:15px;
    object-fit:cover;
    border-radius:2px;
    transition:.3s;
}


.menu-languages .flag:hover {
    transform:scale(1.15);
}

.language-switcher {
    position:relative;
    margin-right:10px;
}


.current-language {
    display: flex;
    align-items: center;
    justify-content: center;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background: transparent;
    border: none;
    outline: none;

    cursor: pointer;
    padding: 0;
    margin: 0;
}

.current-language::before,
.current-language::after {
    content: none !important;
    display: none !important;
}


.current-language img {

    width:26px;
    height:18px;
    object-fit:cover;
    border-radius:3px;

}



.language-dropdown {

    display:none;

    position:absolute;

    top:30px;
    left:0;

    background:rgba(0,0,0,.9);

    padding:10px;

    border-radius:8px;

    min-width:130px;

}



.language-dropdown a {

    display:flex;

    align-items:center;

    gap:10px;

    padding:6px;

    margin:0;

    color:white;

    text-decoration:none;

}



.language-dropdown a:hover {

    background:rgba(255,255,255,.1);

}



.language-dropdown img {

    width:22px;
    height:15px;
    object-fit:cover;

}



.language-dropdown.show {

    display:block;

}

/* ================= PARALLAX ================ */
.parallax {
    height: 100vh;
    background-size: cover;
    background-attachment: fixed;
}

.img1 { background-image: url('../images/background/img1.jpg'); }
.img2 { background-image: url('../images/background/img2.jpg'); }
.img3 { background-image: url('../images/background/img3.jpg'); }
.img4 { background-image: url('../images/background/img4.jpg'); }
.img5 { background-image: url('../images/background/img5.jpg'); }
.img6 { background-image: url('../images/background/img6.jpg'); }


/* CONTENT */
.content {
    background: #111;
    padding: 80px 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
     scroll-margin-top: 115px;
}

/* ================= GALLERY ================= */
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
    padding: 40px;
}

.grid img {
    width: 100%;
    border-radius: 10px;
    cursor: pointer;
    transition: 0.3s;
}

.grid img:hover {
    transform: scale(1.05);
}

/* ================= LIGHTBOX POPUP ================= */
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.9);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.lightbox img {
    max-width: 90%;
    max-height: 80%;
    border-radius: 10px;
}

.lightbox .close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 40px;
    cursor: pointer;
    color: white;
}

.lightbox .nav {
    position: absolute;
    top: 50%;
    font-size: 40px;
    cursor: pointer;
    color: white;
    user-select: none;
}

.lightbox .prev { left: 30px; }
.lightbox .next { right: 30px; }

.lightbox-content {
    text-align: center;
    max-width: 95%;
}

.photo-info {
    max-width: 900px;
    margin: 20px auto 0;
    padding: 20px;

    background: rgba(255,255,255,0.05);
    border-radius: 12px;

    text-align: left;
}

.photo-info h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
}

.photo-info p {
    margin: 0;
    color: #d0d0d0;
    line-height: 1.8;
    font-family: 'Montserrat', sans-serif;
}




/*=================== about me  ====================*/
.about-section {
    max-width: 920px;
    margin: 0 auto;
    padding: 40px 24px 70px;
    font-family: 'Montserrat', sans-serif;
    color: #d6d6d6;
    line-height: 1.95;
}

/* TITEL - editorial luxe */
.about-section h1 {
    font-family: 'Playfair Display', serif;
    font-size: 4rem;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
    margin-top: 0;
}

/* SUBTITEL - minimal */
.about-section .subtitle {
    font-size: 1.05rem;
    color: #9a9a9a;
    margin-bottom: 55px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* PARAGRAAF */
.about-section p {
    font-size: 1.08rem;
    color: #cfcfcf;
    margin-bottom: 26px;
}

/* QUOTE - subtiel luxe handschrift */
.about-section .highlight {
    margin: 60px 0;
    padding: 30px 35px;
    border-left: 2px solid #b7a07a; /* zachte gold tone */
    background: rgba(255,255,255,0.03);
    font-family: 'Great Vibes', cursive;
    font-size: 2.2rem;
    color: #f5f1ea;
    line-height: 1.4;
}

/* SIGNATURE - heel chic */
.about-section .signature {
    margin-top: 70px;
    font-family: 'Great Vibes', cursive;
    font-size: 2.8rem;
    color: #ffffff;
    text-align: center;
    opacity: 0.95;
}

/* kleine luxe details */
.about-section strong {
    color: #ffffff;
    font-weight: 500;
}

/* ================= FOOTER ================= */
.footer {
    background: #0b0b0b;
    padding: 60px 20px;
    text-align: center;
    color: #a3a3a3;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
}

.footer-content {
    max-width: 900px;
    margin: 0 auto;
}

.ad-container {
    margin-top: 30px;
    opacity: 0.7;
}

/* =========================================================
   PATRICKPHOTO FOOTER
   ========================================================= */

.patrick-footer {

    width: 100%;

    background: #111;

    color: #ddd;

    padding: 80px 20px 35px;

    text-align: center;

}


.footer-inner {

    max-width: 1100px;

    margin: 0 auto;

}


/* =========================================================
   QUOTE
   ========================================================= */

.footer-quote {

    max-width: 850px;

    margin: 0 auto;

}


.footer-quote-main {

    font-family: "Playfair Display", serif;

    font-size: 25px;

    line-height: 1.6;

    color: #f2f2f2;

    margin: 0 auto 25px;

}


.footer-quote-text {

    font-family: "Montserrat", sans-serif;

    font-size: 15px;

    line-height: 1.8;

    color: #aaa;

    max-width: 700px;

    margin: 0 auto 30px;

}


.footer-signature {

    font-family: "Great Vibes", cursive;

    font-size: 42px;

    color: #b7a07a;

    margin: 20px 0 25px;

}


.footer-last-line {

    font-family: "Playfair Display", serif;

    font-size: 17px;

    font-style: italic;

    color: #aaa;

    margin: 0;

}


/* =========================================================
   SCHEIDINGSLIJN
   ========================================================= */

.footer-line {

    width: 80px;

    height: 1px;

    background: #b7a07a;

    margin: 45px auto 30px;

    opacity: .7;

}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.footer-bottom {

    font-family: "Montserrat", sans-serif;

    font-size: 12px;

    letter-spacing: 1px;

    color: #777;

    margin-bottom: 45px;

}


/* =========================================================
   ADVERTENTIE
   ========================================================= */

.patrick-footer .ad-container {

    width: 100%;

    max-width: 728px;

    margin: 0 auto;

    overflow: hidden;

}


.patrick-footer #banner-rotator {

    width: 100%;

    text-align: center;

}


.patrick-footer #banner-rotator img {

    max-width: 100%;

    height: auto;

    display: block;

    margin: 0 auto;

}


/* =========================================================
   MOBIEL
   ========================================================= */

@media (max-width: 768px) {

    .patrick-footer {

        padding: 60px 20px 30px;

    }


    .footer-quote-main {

        font-size: 20px;

        line-height: 1.5;

    }


    .footer-quote-text {

        font-size: 14px;

        line-height: 1.7;

    }


    .footer-signature {

        font-size: 36px;

    }


    .footer-last-line {

        font-size: 15px;

    }


    .footer-bottom {

        margin-bottom: 30px;

    }

}


/*=================== COOKIE BANNER ====================*/
.cookie-banner {
    position: fixed;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99999;
    display: none;
}

.cookie-box {
    width: 380px;
    padding: 22px;

    background: rgba(10,10,10,0.8);
    backdrop-filter: blur(14px);

    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;

    color: #e5e7eb;
    font-family: 'Montserrat', sans-serif;
    box-shadow: 0 15px 45px rgba(0,0,0,0.7);
}

.cookie-box h3 {
    font-family: 'Playfair Display', serif;
    color: #fff;
    margin-bottom: 10px;
}

.cookie-box p {
    font-size: 0.95rem;
    color: #cfcfcf;
    line-height: 1.5;
}

.cookie-buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 15px;
}

.cookie-buttons button {
    padding: 10px;
    border-radius: 8px;
    border: none;
    cursor: pointer;

    font-family: 'Montserrat', sans-serif;
    font-size: 0.85rem;
    transition: 0.2s ease;
}

.cookie-buttons button:first-child {
    background: #84cc16;
    color: #000;
}

.cookie-buttons button:nth-child(2) {
    background: transparent;
    border: 1px solid #555;
    color: #fff;
}

.cookie-buttons button:last-child {
    background: transparent;
    color: #aaa;
    font-size: 0.8rem;
}

/* instellingen box */
.cookie-settings {
    display: none;
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.cookie-settings label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: #ddd;
}

.cookie-settings button {
    margin-top: 10px;
    width: 100%;
    background: #3b82f6;
    color: #fff;
    border-radius: 8px;
}

.albums {
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding: 40px 20px;
}

/* elk album blok */
.album {
    background: rgba(255,255,255,0.03);
    padding: 10px;
    border-radius: 12px;
    text-align: center;
}

/* foto grid binnen album */
.album .grid {
    display: block;
}

/* alleen cover foto tonen */
.album .grid img:not(:first-child) {
    display: none;
}

.album .grid img {
    width: 100%;
    border-radius: 10px;
    cursor: pointer;
}

@media (max-width: 1200px) {
    .albums {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .albums {
        grid-template-columns: 1fr;
    }
}

.album:hover img {
    transform: scale(1.05);
}

.album h3{
    margin:20px 0;
    color:#b7a07a;
    font-family:'Playfair Display',serif;
    font-size:28px;
    font-weight:400;
}

/* ================= CONTACT FORM ================= */

.contact-form {

    max-width:900px;
    margin:50px auto;
    padding:40px;

    background:rgba(255,255,255,0.03);
    border-radius:15px;

    box-shadow:0 20px 50px rgba(0,0,0,.4);

}


.contact-form h2 {

    font-family:'Playfair Display', serif;
    font-size:3rem;
    font-weight:400;

    color:#ffffff;

    margin-bottom:40px;

}


.form-row {

    display:grid;
    grid-template-columns:220px 1fr;

    align-items:center;

    gap:25px;

    margin-bottom:20px;

}


.form-row label {

    text-align:right;

    color:#b7a07a;

    font-family:'Montserrat',sans-serif;

    font-size:1rem;

}



.form-row input,
.form-row select,
.form-row textarea {


    width:100%;

    padding:14px 16px;

    background:#181818;

    border:1px solid rgba(255,255,255,.15);

    border-radius:8px;

    color:white;

    font-family:'Montserrat',sans-serif;

    font-size:1rem;

}


.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {


    outline:none;

    border-color:#b7a07a;

}



textarea {

    resize:vertical;

}



.message-row {

    align-items:start;

}



.form-submit {

    text-align:right;

    margin-top:30px;

}



.form-submit button {

    padding:14px 45px;

    background:#b7a07a;

    color:#111;

    border:none;

    border-radius:8px;

    cursor:pointer;

    font-family:'Montserrat',sans-serif;

    font-size:1rem;

    transition:.3s;

}

.form-submit button:hover {

    background:#d4bd93;

}

/* Popup achtergrond */

.iframe-popup{

    display:none;

    position:fixed;

    left:0;
    top:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.9);

    z-index:99999;

}


/* Venster */

.iframe-window{

    position:absolute;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    width:95%;

    height:95%;

    background:#000;

    border-radius:10px;

    overflow:hidden;

}


/* iframe */

.iframe-window iframe{

    width:100%;

    height:100%;

    border:none;

}


/* sluitknop */

.iframe-close{

    position:absolute;

    right:15px;

    top:10px;

    font-size:40px;

    color:white;

    cursor:pointer;

    z-index:5;

}
/* =========================================================
   TAALKEUZE
   ========================================================= */

.language-switcher {
    position: relative;
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.language-current {
    display: flex;
    align-items: center;
    gap: 6px;

    background: transparent;
    border: 0;

    padding: 0;
    margin: 0;

    cursor: pointer;
    color: white;
}

.language-current .flag {
    width: 26px;
    height: 18px;
    object-fit: cover;
}

.language-dropdown {
    display: none;

    position: absolute;
    top: calc(100% + 10px);
    left: 0;

    min-width: 180px;

    background: #1b1b1b;
    border: 1px solid #444;
    border-radius: 8px;

    padding: 8px;

    z-index: 9999;

    box-shadow: 0 8px 25px rgba(0,0,0,.4);
}

.language-dropdown.show {
    display: block;
}

.language-dropdown a {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 8px 10px;

    color: white;
    text-decoration: none;

    border-radius: 5px;
}

.language-dropdown a:hover {
    background: #333;
}

.language-dropdown .flag {
    width: 26px;
    height: 18px;
    object-fit: cover;
}

.language-dropdown .active-language {
    background: #2a2a2a;
}

.language-dropdown .active-language .flag {
    border: 2px solid #b7a07a;
}
/* =========================================================
   MOBIEL - DEFINITIEVE VERSIE
   ========================================================= */

@media (max-width: 600px) {

    /* -----------------------------------------------------
       ALGEMEEN
       ----------------------------------------------------- */

    html,
    body {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    img,
    video,
    iframe {
        max-width: 100%;
    }


    /* -----------------------------------------------------
       HEADER
       ----------------------------------------------------- */

    .header {
            position: absolute;

            top: 0;
            left: 0;

            width: 100%;
            height: 60px;
            min-height: 60px;
            max-height: 60px;

            padding: 5px 10px;

            display: flex;
            align-items: center;
            justify-content: center;

            overflow: hidden;

            background: transparent;

            z-index: 10001;

            transform: none;
}


    .header img {
        display: block;

        width: 140px;
        max-width: 140px;

        height: auto;
        max-height: 50px;

        min-height: 0;

        object-fit: contain;
    }


    /* Wanneer header.scrolled actief wordt */

    .header.scrolled {
        top: 0;
        left: 0;

        width: 100%;

        height: 65px;
        min-height: 65px;
        max-height: 65px;

        padding: 4px 10px;

        transform: none;

        background: rgba(0,0,0,.95);
    }


    .header.scrolled img {
        width: 125px;
        max-width: 125px;

        height: auto;
        max-height: 52px;
    }


    /* -----------------------------------------------------
       HAMBURGER
       ----------------------------------------------------- */

    .mobile-menu-toggle {
        display: flex;

        position: fixed;

        top: 82px;
        right: 10px;

        width: 44px;
        height: 42px;

        padding: 0;

        border: 1px solid rgba(183,160,122,.35);
        border-radius: 7px;

        background: rgba(17,17,17,.95);

        align-items: center;
        justify-content: center;

        flex-direction: column;

        gap: 5px;

        cursor: pointer;

        z-index: 10002;
    }


    .mobile-menu-toggle span {
        display: block;

        width: 27px;
        height: 2px;

        background: #b7a07a;

        transition: .25s ease;
    }


    .mobile-menu-toggle.open span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }


    .mobile-menu-toggle.open span:nth-child(2) {
        opacity: 0;
    }


    .mobile-menu-toggle.open span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }


    /* -----------------------------------------------------
       MENU
       ----------------------------------------------------- */

    .menu {

        position: fixed;

        top: 75px;
        left: 0;

        width: 100%;
        max-width: 100%;

        height: auto;

        max-height: calc(100vh - 75px);

        padding: 8px 10px 12px;

        margin: 0;

        display: none;

        flex-direction: column;
        align-items: stretch;

        gap: 0;

        background: rgba(17,17,17,.98);

        border-bottom: 1px solid #333;

        box-shadow: 0 8px 20px rgba(0,0,0,.5);

        overflow-x: hidden;
        overflow-y: auto;

        transform: none;

        z-index: 10000;
    }


    .menu.mobile-open {
        display: flex;
    }


    /* menu links */

    .menu > a {

        display: block;

        width: 100%;
        max-width: 100%;

        margin: 0;

        padding: 12px 10px;

        box-sizing: border-box;

        font-size: 15px;

        line-height: 1.4;

        text-align: left;

        white-space: normal;

        overflow-wrap: anywhere;

        border-bottom: 1px solid #292929;
    }


    .menu > a:last-child {
        border-bottom: none;
    }


    .menu > a::after {
        display: none;
    }


    /* -----------------------------------------------------
       TAALKEUZE
       ----------------------------------------------------- */

    .language-switcher {

        order: -1;

        position: relative;

        width: 100%;
        max-width: 100%;

        display: flex;

        justify-content: flex-start;

        align-items: center;

        margin: 0;

        padding: 5px 5px 8px;

        box-sizing: border-box;

        border-bottom: 1px solid #292929;
    }


    .language-current {

        display: flex;

        align-items: center;

        gap: 6px;

        padding: 6px 8px;

        background: transparent;

        border: 0;

        color: white;
    }


    .language-current .flag {

        width: 26px;
        height: 18px;

        max-width: 26px;

        object-fit: cover;
    }


    /* taal driehoekje */

    .language-current span {
        font-size: 10px;
        color: #b7a07a;
    }


    .language-dropdown {

        position: absolute;

        top: 42px;
        left: 5px;

        width: 180px;
        max-width: calc(100vw - 30px);

        z-index: 10020;

        box-sizing: border-box;
    }


    /* -----------------------------------------------------
       DYNAMISCHE SECTIONS
       ----------------------------------------------------- */

    .dynamic-section,
    .content {

        width: 100%;
        max-width: 100%;

        min-width: 0;

        margin: 0;

        padding: 30px 15px;

        box-sizing: border-box;

        overflow-x: hidden;

        overflow-wrap: anywhere;

        word-wrap: break-word;

        text-align: center;

        scroll-margin-top: 75px;
    }


    /* -----------------------------------------------------
       TEKSTVLAKKEN
       ----------------------------------------------------- */

    .section-content {

        display: block;

        width: 100%;
        max-width: 100%;

        min-width: 0;

        margin: 0 auto;

        padding: 0;

        box-sizing: border-box;

        overflow-x: hidden;

        overflow-wrap: anywhere;

        word-break: break-word;

        white-space: normal;

        font-size: 15px;

        line-height: 1.7;

        text-align: left;
    }


    /*
       Alles wat vanuit de editor in een tekstvlak
       wordt geplaatst, mag nooit breder worden
       dan het scherm.
    */

    .section-content * {

        max-width: 100%;

        box-sizing: border-box;

        overflow-wrap: anywhere;

        word-break: break-word;
    }


    .section-content p {

        width: 100%;

        max-width: 100%;

        margin-left: 0;
        margin-right: 0;

        overflow-wrap: anywhere;
    }


    .section-content a {

        overflow-wrap: anywhere;

        word-break: break-word;
    }


    .section-content img {

        display: block;

        width: auto;

        max-width: 100%;

        height: auto;

        margin-left: auto;
        margin-right: auto;
    }


    .section-content iframe {

        display: block;

        width: 100% !important;

        max-width: 100% !important;

        height: auto;

        border: 0;
    }


    .section-content table {

        display: block;

        width: 100% !important;

        max-width: 100%;

        overflow-x: auto;

        border-collapse: collapse;
    }


    .section-content pre {

        width: 100%;

        max-width: 100%;

        white-space: pre-wrap;

        overflow-wrap: anywhere;

        word-break: break-word;

        overflow-x: auto;
    }


    .section-content h1,
    .section-content h2,
    .section-content h3,
    .section-content h4 {

        max-width: 100%;

        overflow-wrap: anywhere;

        word-break: break-word;

        line-height: 1.25;
    }


    .content h1 {
        font-size: 28px;
    }


    .content h2 {
        font-size: 24px;
    }


    .content h3 {
        font-size: 20px;
    }


    /* -----------------------------------------------------
       PARALLAX
       ----------------------------------------------------- */

    .parallax {

        width: 100%;
        max-width: 100%;

        height: 42vh;

        min-height: 220px;
        max-height: 400px;

        background-attachment: scroll;

        background-position: center center;

        background-size: cover;

        overflow: hidden;
    }




    /* -----------------------------------------------------
       ALBUMS
       ----------------------------------------------------- */

    .albums {

        width: 100%;
        max-width: 100%;

        margin: 0;

        padding: 20px 0;

        box-sizing: border-box;

        display: grid;

        grid-template-columns: 1fr;

        gap: 25px;

        overflow: hidden;
    }


    .album {

        width: 100%;
        max-width: 100%;

        min-width: 0;

        box-sizing: border-box;

        padding: 8px;
    }


    .album .grid {

        width: 100%;
        max-width: 100%;

        padding: 0;

        margin: 0;
    }


    .album .grid img {

        display: block;

        width: 100%;

        max-width: 100%;

        height: auto;
    }


    .album h3 {

        max-width: 100%;

        font-size: 22px;

        overflow-wrap: anywhere;
    }


    /* -----------------------------------------------------
       CONTACT
       ----------------------------------------------------- */

    .contact-form {

        width: 100%;
        max-width: 100%;

        margin: 20px 0;

        padding: 20px 15px;

        box-sizing: border-box;

        overflow: hidden;
    }


    .contact-form h2 {

        font-size: 28px;
    }


    .form-row {

        display: flex;

        flex-direction: column;

        width: 100%;

        max-width: 100%;

        gap: 6px;

        margin-bottom: 18px;
    }


    .form-row label {

        width: 100%;

        max-width: 100%;

        text-align: left;
    }


    .form-row input,
    .form-row select,
    .form-row textarea {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0;

        box-sizing: border-box;

        font-size: 16px;
    }


    .form-submit {

        width: 100%;

        text-align: center;
    }


    .form-submit button {

        width: 100%;

        max-width: 100%;
    }


    /* -----------------------------------------------------
       FOOTER
       ----------------------------------------------------- */

    .patrick-footer,
    .footer {

        width: 100%;
        max-width: 100%;

        box-sizing: border-box;

        overflow: hidden;

        padding-left: 15px;
        padding-right: 15px;
    }


    .footer-inner,
    .footer-content {

        width: 100%;
        max-width: 100%;

        box-sizing: border-box;
    }


    .footer-quote-main,
    .footer-quote-text,
    .footer-last-line {

        max-width: 100%;

        overflow-wrap: anywhere;

        word-break: break-word;
    }


    /* -----------------------------------------------------
       COOKIE BOX
       ----------------------------------------------------- */

    .cookie-banner {

        width: 100%;

        max-width: 100%;

        left: 0;
        right: 0;

        bottom: 0;

        transform: none;

        padding: 8px;

        box-sizing: border-box;
    }


    .cookie-box {

        width: 100% !important;

        max-width: 100% !important;

        box-sizing: border-box;

        padding: 18px;

        overflow-x: hidden;
    }


    .cookie-box p {

        overflow-wrap: anywhere;

        word-break: break-word;
    }


    /* -----------------------------------------------------
       LIGHTBOX
       ----------------------------------------------------- */

    .lightbox {

        width: 100%;
        max-width: 100%;

        padding: 8px;

        box-sizing: border-box;

        overflow: hidden;
    }


    .lightbox-content {

        width: 100%;

        max-width: 100%;

        min-width: 0;

        box-sizing: border-box;

        padding: 5px;
    }


    #lightbox-img {

        display: block;

        width: auto;

        max-width: 100%;

        max-height: 62vh;

        margin: auto;

        object-fit: contain;
    }


    .photo-info {

        width: 100%;

        max-width: 100%;

        box-sizing: border-box;

        overflow-wrap: anywhere;
    }


    /* -----------------------------------------------------
       PIWIGO
       ----------------------------------------------------- */

    .iframe-popup {

        width: 100%;
        max-width: 100%;

        padding: 5px;

        box-sizing: border-box;
    }


    .iframe-window {

        width: 100% !important;

        max-width: 100% !important;

        height: 94vh;

        max-height: 94vh;

        box-sizing: border-box;
    }


    .iframe-window iframe {

        width: 100% !important;

        max-width: 100% !important;

        height: 100%;

        border: 0;
    }

}


/* =========================================================
   ZEER KLEINE TELEFOONS
   ========================================================= */

@media (max-width: 380px) {

    .header {
        height: 70px;
        min-height: 70px;
        max-height: 70px;
    }


    .header img {
        width: 130px;
        max-width: 130px;
    }


    .mobile-menu-toggle {
        top: 77px;
    }


    .menu {
        top: 70px;
    }


    .dynamic-section,
    .content {
        padding-left: 12px;
        padding-right: 12px;
    }


    .section-content {
        font-size: 14px;
        line-height: 1.65;
    }


    .content h2 {
        font-size: 22px;
    }


    .parallax {
        min-height: 200px;
        height: 38vh;
    }


    
}