/* ==========================================
   Mobile FULLSCREEN overlay menu (KAISER)
   ========================================== */
@media (max-width: 767px) {
    #top-bar-wrap {
        display: none;
    }
    .mm-logo a img {
        margin-top: 140px;
        margin-left: -8.6px;
        max-width: 190px;
        height: auto;
        background-color: white;
        border-radius: 95px;
        content:url(../images/logo.png);
    }
    /* --- Hamburger button in header --- */
    .mm-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border: 0;
        background: transparent;
        cursor: pointer;
        position: absolute;
        right: 18px;
        top: 18px;
        z-index: 10002;
    }

    .mm-toggle .mm-icon {
        width: 22px;
        height: 16px;
        position: relative;
    }
    .mm-toggle .mm-icon span {
        position: absolute;
        left: 0;
        right: 0;
        height: 2px;
        background: #111;
        border-radius: 2px;
        transition: transform .2s ease, top .2s ease, opacity .2s ease;
    }
    .mm-toggle .mm-icon span:nth-child(1) { top: 0; }
    .mm-toggle .mm-icon span:nth-child(2) { top: 7px; }
    .mm-toggle .mm-icon span:nth-child(3) { top: 14px; }

    /* --- Overlay container --- */
    .mm-overlay {
        position: fixed;
        inset: 0;
        background: #fff;
        z-index: 10001;
        display: none;
    }

    .mm-overlay.is-open {
        display: block;
    }

    /* prevent page scroll when menu open */
    body.mm-lock {
        overflow: hidden;
    }

    /* --- Overlay top bar (logo left, close right) --- */
    .mm-top {
        position: relative;
        height: 76px;
        padding: 16px 18px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .mm-close {
        width: 44px;
        height: 44px;
        border: 0;
        background: transparent;
        cursor: pointer;
        position: relative;
    }
    .mm-close::before,
    .mm-close::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 22px;
        height: 2px;
        background: #111;
        transform-origin: center;
    }
    .mm-close::before { transform: translate(-50%, -50%) rotate(45deg); }
    .mm-close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

    /* --- Menu list --- */
    .mm-nav {
        padding: 140px 18px 110px 18px; /* bottom space for CTA */
    }

    .mm-nav ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mm-nav li {
        margin: 0;
        padding: 0;
    }

    .mm-nav a {
        display: block;
        padding: 18px 0;
        font-size: 26px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
    }

    /* optional: submenu support */
    .mm-nav .sub-menu {
        margin-top: 6px;
        padding-left: 16px;
    }
    .mm-nav .sub-menu a {
        font-size: 18px;
        font-weight: 600;
        padding: 12px 0;
    }

    /* --- Bottom CTA like screenshot --- */
    .mm-cta {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 18px;
        background: #fff;
        z-index: 10002;
    }

    .mm-cta a {
        display: block;
        width: 100%;
        text-align: center;
        padding: 18px 14px;
        background: #0e3e0f; /* close to your green */
        color: #fff;
        text-decoration: none;
        font-size: 18px;
        font-weight: 700;
        border-radius: 0; /* screenshot looks rectangular */
    }

    /* --- Hide original desktop nav on mobile (we use overlay instead) --- */
    #site-navigation-wrap {
        position: static;
    }

    #site-navigation-wrap .dropdown-menu {
        display: none !important;
    }
    #site-logo #site-logo-inner {
        padding: 0;
    }
    .container {
        max-width: 95%;
    }
    .elementor-section.elementor-header.main-page {
        background-attachment: scroll !important;
        background-position: -475px 18px !important;
        padding: 17em 5em 16em 0em;
    }

    .elementor-5 .elementor-element.elementor-element-e66d2f8 .elementor-heading-title {
        font-size: 54px;
    }
    .elementor-5 .elementor-element.elementor-element-e66d2f8 .elementor-heading-title-line-2 {
        font-size: 45px;
        line-height: 74px;
        letter-spacing: -4px;
    }
    .elementor-section .elementor-container {
        display: block;
    }
    #main {
        margin-bottom: 0px;
    }
    /*#site-logo #site-logo-inner a img {*/
    /*    width: auto;*/
    /*    height: auto;*/
    /*}*/
    .parallax-footer {
        position: static;
        width: 100%;
        font-size: 16px;
    }

    #footer-inner,
    #footer-widgets,
    .footer-widgets-inner {
        width: 100%;
    }

    .footer-widgets-inner.container {
        max-width: 100%;
        padding: 0 15px;
    }

    body .oceanwp-row .col,
    body .oceanwp-row .span_1_of_4,
    #footer-widgets .footer-box {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        display: block;
        margin: 0 0 28px 0;
        padding: 0;
        clear: both;
    }

    #footer-widgets {
        padding: 34px 0 18px;
    }

    #footer-widgets .footer-box .footer-widget {
        margin-bottom: 0;
    }

    #footer-widgets .footer-box .widget-title {
        font-size: 18px;
        line-height: 1.3;
        margin: 0 0 14px 0;
        padding-left: 12px;
        border-left-width: 4px;
    }

    #footer-widgets .footer-box,
    #footer-widgets .footer-box p,
    #footer-widgets .footer-box a,
    #footer-widgets .footer-box li {
        font-size: 16px;
        line-height: 1.5;
        word-break: break-word;
    }

    #footer-widgets .textwidget p {
        margin: 0 0 12px;
    }

    #footer-widgets .footer-box a {
        text-decoration: none;
    }

    .oceanwp-social-icons {
        width: auto;
        display: block;
    }

    .oceanwp-social-icons li {
        display: inline-block;
        margin-right: 12px;
    }

    #footer-widgets .social-widget li a,
    .oceanwp-social-icons li a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
    }

    #footer-bottom {
        padding: 18px 20px;
    }

    #footer-bottom #copyright {
        font-size: 14px;
        line-height: 1.5;
        text-align: center;
    }
    .elementor-section.elementor-header.contact-page{
        background-attachment: scroll !important;
        background-repeat: unset;
        background-position: -400px -531px;
    }
    .nf-form-content {
        padding: 0px;
    }
    .elementor-section.elementor-header.about-us-page{
        background-attachment: scroll !important;
        background-repeat: unset;
        background-position: -818px -636px;
    }
    .elementor-5 .elementor-element.elementor-header.other-pages {
        padding: 10em 5em 10em 0em;
    }
    .elementor-section.elementor-header.projects-page{
        background-attachment: scroll !important;
        background-repeat: unset;
        background-position: -400px -570px;
    }
    .projects-page-section {
        margin-top: 70px;
        height: 570px;
    }
    .projects-page-container .col-md-8 {
        width: 100%;
        height: 275px;
        padding: 0 15px;
    }
    .projects-page-container .col-md-4 {
        width: 100%;
        padding: 0 15px;
    }
    .projects-page-container .box {
        padding: 0px;
    }
    .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
        padding-left: 15px;
    }
    .elementor-5 .elementor-element.elementor-element-7b6ba59 {
        padding: 0px 15px;
    }
    .spotlight-group {
        grid-template-columns: repeat(1, 1fr);
        /*margin-bottom: 300px;*/
    }
    .data-protection-content{
        padding: 130px 15px 0px 15px;
    }

}