/* Custom Layout Styles for Führerscheinportal.de
   Fixed version — all nested media queries resolved into flat, valid blocks */

/* ---- GLOBAL ---- */
#wpadminbar #wp-admin-bar-wccp_free_top_button .ab-icon:before { content: "\f160"; color: #02CA02; top: 3px; }
#wpadminbar #wp-admin-bar-wccp_free_top_button .ab-icon { transform: rotate(45deg); }
form#stickyelements-form input::-moz-placeholder { color: #4F4F4F; }
form#stickyelements-form input::-ms-input-placeholder { color: #4F4F4F; }
form#stickyelements-form input::-webkit-input-placeholder { color: #4F4F4F; }
form#stickyelements-form input::placeholder { color: #4F4F4F; }
form#stickyelements-form textarea::placeholder { color: #4F4F4F; }
form#stickyelements-form textarea::-moz-placeholder { color: #4F4F4F; }
.cmplz-hidden { display: none !important; }
.envato-block__preview { overflow: visible !important; }

/* Header background */
section[data-id="537b5d55"],
section[data-id="3ca03a40"] {
    background-color: #ffffff !important;
}

/* Nav items */
.elementor-nav-menu--main .elementor-item {
    color: #333333 !important;
    font-weight: 600 !important;
}

/* Prevent horizontal scroll */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
    padding: 0;
}

/* Container full width */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100vw;
    width: 100%;
}

/* Image widget basics */
.elementor-widget-image { text-align: center; }
.elementor-widget-image a { display: inline-block; }
.elementor-widget-image a img[src$=".svg"] { width: 48px; }
.elementor-widget-image img { vertical-align: middle; display: inline-block; }

/* Copy protection warning */
#wpcp-error-message {
    direction: ltr;
    text-align: center;
    transition: opacity 900ms ease 0s;
    z-index: 99999999;
}
.hideme { opacity: 0; visibility: hidden; }
.showme { opacity: 1; visibility: visible; }
.msgmsg-box-wpcp {
    border: 1px solid #f5aca6;
    border-radius: 10px;
    color: #555;
    font-family: Tahoma;
    font-size: 11px;
    margin: 10px;
    padding: 10px 36px;
    position: fixed;
    width: 255px;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -130px;
    box-shadow: 0px 0px 34px 2px rgba(242,191,191,1);
}
.msgmsg-box-wpcp span { font-weight: bold; text-transform: uppercase; }
.warning-wpcp { background: #ffecec url('images/warning.png') no-repeat 10px 50%; }

/* Print protection */
@media print {
    body * { display: none !important; }
    body:after { content: "You are not allowed to print preview this page, Thank you"; }
}

/* ==========================================================================
   DESKTOP SUBMENU — min-width: 768px
   ========================================================================== */
@media (min-width: 768px) {
    .sub-menu {
        background: #ffffff !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
        padding: 10px 0 !important;
        position: absolute !important;
        top: 100% !important;
        border-top: 20px solid transparent !important;
        background-clip: padding-box !important;
        z-index: 9999999 !important;
        display: none !important;
    }
    .menu-item-has-children:hover > .sub-menu {
        display: block !important;
    }
    .sub-menu::before {
        display: none !important;
    }
    .sub-menu .elementor-sub-item {
        color: #444 !important;
        background: transparent !important;
        transition: all 0.2s ease !important;
        padding: 10px 20px !important;
    }
    .sub-menu .elementor-sub-item:hover {
        background-color: #e0f2fe !important;
        color: #0091d6 !important;
    }
    .elementor-nav-menu--main .elementor-item:hover,
    .elementor-nav-menu--main .elementor-item:focus {
        background-color: transparent !important;
        color: #0091d6 !important;
    }
    .e--pointer-underline .elementor-item:before,
    .e--pointer-underline .elementor-item:after {
        display: none !important;
    }
}

/* ==========================================================================
   MOBILE DROPDOWN — max-width: 767px
   ========================================================================== */
@media (max-width: 767px) {
    .elementor-nav-menu--dropdown {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        width: 100vw !important;
        background: #ffffff !important;
        border-top: 3px solid #0091d6 !important;
        box-shadow: 0 15px 30px rgba(0,0,0,0.15) !important;
        z-index: 999999 !important;
        padding: 0 !important;
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        max-height: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        transform: scaleY(0) !important;
        transform-origin: top !important;
        transition: transform 0.3s ease, opacity 0.3s ease !important;
    }
    .elementor-nav-menu--dropdown.mobile-menu-active {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: 85vh !important;
        height: auto !important;
        overflow-y: auto !important;
        transform: scaleY(1) !important;
    }
    .elementor-nav-menu--dropdown.mobile-menu-active > ul {
        display: block !important;
    }
}
