/* ==========================================
   THEORIEREADY PREMIUM FOOTER V2
========================================== */

#site-footer {

    background:
    linear-gradient(
        180deg,
        #ffffff 0%,
        #f7fbff 50%,
        #eef6ff 100%
    );

    position: relative;
    overflow: hidden;

    padding: 80px 40px;

    border-top: 1px solid rgba(59,130,246,.08);

}

/* Premium glow */

#site-footer::before {

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-250px;
    right:-200px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(59,130,246,.15),
        transparent 70%
    );

    filter:blur(80px);

}

#site-footer::after {

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    bottom:-150px;
    left:-150px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(96,165,250,.12),
        transparent 70%
    );

    filter:blur(70px);

}

/* Footer content */

#site-footer {

    text-align:center;

}

/* Links */

#site-footer a {

    color:#475569 !important;

    text-decoration:none;

    font-weight:600;

    transition:all .25s ease;

    position:relative;

}

#site-footer a:hover {

    color:#2563eb !important;

}

/* Underline animation */

#site-footer a::after {

    content:"";

    position:absolute;

    bottom:-4px;
    left:0;

    width:0;

    height:2px;

    background:#2563eb;

    transition:.25s;

}

#site-footer a:hover::after {

    width:100%;

}

/* Menu spacing */

#site-footer ul {

    display:flex;
    justify-content:center;
    flex-wrap:wrap;

    gap:24px 50px;

    list-style:none;

    padding:0;

    margin:0 0 35px 0;

}

/* Copyright */

#site-footer p,
#site-footer .copyright {

    color:#64748b;

    font-size:14px;

    margin-top:20px;

}

/* Optional glass effect */

#site-footer .elementor-widget-wrap,
#site-footer .elementor-container {

    backdrop-filter:blur(15px);

}

/* Mobile */

@media(max-width:767px){

    #site-footer {

        padding:50px 25px;

    }

    #site-footer ul {

        flex-direction:column;

        gap:16px;

    }

}


/* ===================================
   THEORIEREADY HEADER V4
   =================================== */

/* Complete header pill */
.elementor-location-header,
.site-header,
.elementor-sticky--active {

    background: transparent !important;
    box-shadow: none !important;
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Hoofdcontainer */
.elementor-location-header .elementor-container {

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f7fbff 45%,
            #eef6ff 100%
        );

    border-radius: 999px;

    min-height: 92px;

    padding-left: 35px;
    padding-right: 35px;

    box-shadow:
        0 10px 35px rgba(15,23,42,.06),
        0 1px 0 rgba(255,255,255,.9) inset;

    border:
        1px solid rgba(220,230,245,.75);
}

/* Menu */
.elementor-nav-menu--main .elementor-item {

    color: #4b5563 !important;

    font-size: 18px;
    font-weight: 600;

    padding: 10px 18px !important;

    transition: .25s ease;
}

/* Hover */
.elementor-nav-menu--main .elementor-item:hover {

    color: #111827 !important;
}

/* Actief */
.elementor-nav-menu--main .current-menu-item > a {

    color: #2563eb !important;
}

/* ======================
   DASHBOARD BUTTON
   ====================== */

.menu-dashboard a {

    background:
        rgba(255,255,255,.8);

    color: #374151 !important;

    border: 1px solid #d9e4f5;

    border-radius: 999px;

    padding: 14px 24px !important;

    font-weight: 700;

    margin-left: 20px;

    transition: .25s ease;
}

.menu-dashboard a:hover {

    transform: translateY(-1px);

    background: white;

    box-shadow:
        0 8px 20px rgba(15,23,42,.08);
}

/* ======================
   BESTELLEN BUTTON
   ====================== */

.menu-bestellen a {

    background:
        linear-gradient(
            135deg,
            #177DFF,
            #0B57D0
        );

    color: white !important;

    border-radius: 999px;

    padding: 14px 28px !important;

    font-weight: 700;

    margin-left: 12px;

    box-shadow:
        0 10px 25px rgba(23,125,255,.25);

    transition: .25s ease;
}

.menu-bestellen a:hover {

    transform: translateY(-2px);

    box-shadow:
        0 14px 32px rgba(23,125,255,.35);
}

/* Logo */

.custom-logo,
.elementor-widget-theme-site-logo img {

    max-height: 58px;
}

/* MOBILE */

@media (max-width:1024px){

    .elementor-location-header .elementor-container {

        border-radius: 24px;

        min-height: 78px;

        padding-left: 20px;
        padding-right: 20px;
    }

    .elementor-nav-menu--dropdown {

        background: white;

        border-radius: 20px;

        box-shadow:
            0 15px 40px rgba(15,23,42,.10);

        padding: 18px;
    }

    .elementor-nav-menu--dropdown .menu-dashboard a,
    .elementor-nav-menu--dropdown .menu-bestellen a {

        display: block;
        text-align: center;
        margin: 12px 0;
    }
}

/* =====================
   MOBILE FIX
   ===================== */

@media (max-width: 1024px) {

    .site-header {

        width: calc(100% - 20px);
        margin: 10px auto;

        border-radius: 22px !important;

        padding: 12px 16px !important;
    }

    .site-branding img,
    .custom-logo {

        max-height: 42px !important;
    }

    /* Dropdown menu */

    .site-navigation ul.menu {

        background: white;
        border-radius: 18px;

        box-shadow:
            0 15px 35px rgba(15,23,42,.12);

        padding: 10px;
    }

    .site-navigation ul.menu li {

        width: 100%;
    }

    .site-navigation ul.menu li a {

        display: block;

        padding: 14px 16px !important;

        border-radius: 12px;

        margin: 4px 0;
    }

    /* Dashboard */

    .menu-dashboard {

        margin-top: 10px;
    }

    .menu-dashboard a {

        display: block;

        text-align: center;

        margin: 0 !important;
    }

    /* Bestellen */

    .menu-bestellen {

        margin-top: 10px;
    }

    .menu-bestellen a {

        display: block;

        text-align: center;

        margin: 0 !important;
    }
}