/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


    html, body {
        margin: 0;
        padding: 0;
        background: #EDF2F6;
        height: 100%;
        overflow: hidden;
    }
    .slides {
        position: relative;
        width: 100vw;
        height: 100vh;
        padding: 100px 80px;
        box-sizing: border-box;
        font-family: 'Montserrat', sans-serif;
    }

    .slide {
        position: absolute;
        top: 100px;
        left: 80px;
        right: 80px;
        /* bottom: 100px; */
        opacity: 0;
        transition: opacity 0.5s ease;
    }

    .slide.active {
        opacity: 1;
        z-index: 1;
    }


    h1 {
        font-family: 'Montserrat', sans-serif;
        font-size: 44px;
        line-height: 44px;
        font-weight: 600; /* optioneel, meestal mooi bij headings */
        margin: 0;
        margin-bottom:44px;
        color: #17324B;
        text-align: center;
    }

    /* Partners */
    .partners-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
        margin-top: 20px;
    }

    /* Single partner box */
    .partner-item {
        border: 1px solid #D9DEE5;
        background: #F3F6F8;
        padding: 50px 40px;
        text-align: center;
        border-radius: 8px;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    /* Header: check icon + text */
    .partner-header {
        margin-bottom: 15px;
    }

    .check-icon {
        font-size: 24px;
        color: green;
        display: block;
    }

    .initiator-text {
        font-weight: bold;
        color: #2196F3;
        margin-top: 5px;
    }

    /* Thumbnail container: 60% breedte, vierkant, wit kader, padding */
    .partner-thumbnail {
        width: 60%;             /* 60% van de kolombreedte */
        padding: 10px;          /* wit kader binnenin */
        background: #fff;       /* witte achtergrond */
        border-radius: 5px;     /* afgeronde hoeken */
        overflow: hidden;       /* zorgt dat img niet buiten container komt */
        aspect-ratio: 1 / 1;    /* altijd vierkant */
        margin: 32px auto 32px;    /* gecentreerd + ondermarge */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Afbeelding: volledig vullen van container en netjes bijsnijden */
    .partner-thumbnail img {
        width: 100%;
        object-fit: cover;      /* vult container en snijdt bij indien nodig */
        display: block;
    }   

    /* Title */
    .partner-title {
        font-size: 1.2rem;
        margin-bottom: 10px;
        color: #17324B;
        font-family: 'Montserrat', sans-serif;
        font-size: 32px;
        line-height: 32px;
        margin-bottom:32px;
        font-weight: 600; /* optioneel, meestal mooi bij headings */

    }

    /* Content */
    .partner-content {
        font-size: 0.95rem;
        margin-bottom: 10px;
        color: #17324B;
        text-align: left;
    }

    /* Tags */
    .partner-tags {
        margin-top: 32px;
        text-align: left;
    }

    .partner-tag {
        display: inline-block;
        background: #E8F4FE;
        color: #2196F3;
        margin: 2px;
        padding: 6px 10px;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight:700;
    }

    /* Nieuws / Lanceringen */

    /* GRID blijft zoals eerder */
    .news-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
        gap: 20px;
        height: 100%;
    }

    /* Grote bovenste kaart */
    .news-large {
        grid-column: 1 / 3; /* full width */
        grid-row: 1;
    }

    /* Onderste 4 kaarten */
    .news-item:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .news-item:nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .news-item:nth-child(4) {
        grid-column: 1;
        grid-row: 3;
    }

    .news-item:nth-child(5) {
        grid-column: 2;
        grid-row: 3;
    }

    /* Card basis */
    .news-item {
        position: relative;
        border-radius: 20px;
        overflow: hidden;
        color: #fff;
    }

    /* Afbeelding full cover */
    .news-thumb {
        height: 100%;
    }
    .news-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* Gradient overlay */
    .news-item::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
            to top,
            rgba(0,0,0,0.75) 0%,
            rgba(0,0,0,0.4) 40%,
            rgba(0,0,0,0.1) 70%,
            rgba(0,0,0,0) 100%
        );
        z-index: 1;
    }

    /* Content overlay */
    .news-content {
        position: absolute;
        bottom: 0;
        left: 0;
        padding: 30px;
        z-index: 2;
        width: 100%;
        box-sizing: border-box;
    }

    /* Tags (UITGELICHT / NIEUWS) */
    .news-tags {
        display: flex;
        gap: 10px;
        margin-bottom: 15px;
        font-family: 'Figtree', sans-serif;
        font-size: 16px;
        font-weight: 400;
    }

    .news-tag-primary {
        background: #2EA3F2;
        padding: 6px 10px;
        border-radius: 20px;
    }

    .news-tag-secondary {
        opacity: 0.9;
        padding: 6px 10px;
        text-transform: uppercase;
    }

    /* Titel */
    .news-item h2 {
        font-family: 'Montserrat', sans-serif;
        font-size: 40px;
        line-height: 1.2;
        margin: 0 0 10px 0;
    }

    /* Grote kaart (links) */
    .news-large h2 {
        font-size: 50px;
        line-height: 1.2;
        font-weight: 400;
    }
    .news-large h2 strong {
        font-weight: 700;
    }

    /* Kleine kaarten rechts */
    .news-top h2,
    .news-bottom h2 {
        font-size: 30px;
        font-weight: 400;
    }
    .news-top h2 strong,
    .news-bottom h2 strong {
        font-weight: 700;
    }

    /* Optioneel: tekst onder titel */
    .news-excerpt {
        font-family: 'Figtree', sans-serif;
        font-size: 18px;
        line-height: 1.5;
        opacity: 0.9;
        font-weight: 700;
    }

    /* Kalender */
    .calendar-wrapper iframe {
        width: 100%;
        height: 100%;
        min-height: 800px;
        border: none;
    }