/*
Theme Name:     Freiluft Child
Template:       freiluft
Version:        2.0.0 (bereinigt)
*/

/* ========================================
   1. GLOBALE FARBEN & TYPOGRAFIE
   ======================================== */

/* Globale Schriftfarbe - NICHT auf Startseite */
body:not(.home),
body:not(.home) *:not(.elementor-button):not(.button):not(a.button):not(button.button):not(:hover) {
    color: #121212 !important;
}

/* Startseite - Schriftfarbe #efeeee (außer Header/Navbar und Modals) */
body.home:not(.page):not(.single):not(.archive) *:not(.elementor-button):not(.button):not(a.button):not(button.button):not(.woocommerce *):not(#site-header *):not(header *):not(.site-header *):not(.site-navigation *):not(nav *):not(button):not(.daten-grid-button):not(.nextcloud-popup-link):not(.wc-block-components-button):not(.wp-element-button):not(.wp-block-button__link):not(.add_to_cart_button):not(.ajax_add_to_cart):not(.add-post-btn):not(.edit):not(a.edit):not(#freiluft-service-modal *):not(.service-modal *):not(.modal-container *):not(.modal-body *):not(.form-group *) {
    color: #efeeee !important;
}

/* Navbar auf Startseite bleibt #121212 */
body.home #site-header,
body.home #site-header *,
body.home header.site-header,
body.home header.site-header *,
body.home .site-navigation,
body.home .site-navigation *,
body.home nav:not(footer nav),
body.home nav:not(footer nav) * {
    color: #121212 !important;
}

/* Footer auf Startseite in #efeeee */
body.home:not(.page):not(.single):not(.archive) #site-footer,
body.home:not(.page):not(.single):not(.archive) #site-footer *,
body.home:not(.page):not(.single):not(.archive) footer,
body.home:not(.page):not(.single):not(.archive) footer * {
    color: #efeeee !important;
}

/* ========================================
   2. TYPOGRAFIE-SYSTEM
   ======================================== */

/* H1 - 28px */
h1, .h1-style,
.woocommerce .product .summary h1,
.freiluft-customer-dashboard h1,
.freiluft-registration-dashboard h1 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #121212 !important;
    margin-bottom: 20px;
}

/* H2/H3 - 22px */
h2, h3, .h2-style, .h3-style,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.widget-title {
    font-size: 22px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: #121212 !important;
    margin-bottom: 15px;
}

/* Standard Text - 16px */
body, p, .text-standard,
label:not(.woocommerce form .form-row label) {
    font-size: 16px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    color: #333 !important;
}

/* Preis/Highlight - 20px */
.price-highlight,
.woocommerce ul.products li.product .price,
.woocommerce .product .summary .price {
    font-size: 20px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: #121212 !important;
}

/* ========================================
   3. LINKS & HOVER
   ======================================== */

a, .site-header a, .site-navigation a, nav a,
.menu a, .menu-item a, .elementor-nav-menu a {
    color: #121212 !important;
    transition: color 0.3s ease !important;
    text-decoration: none !important;
}

a:hover, a:focus,
.site-header a:hover, .site-navigation a:hover,
nav a:hover, .menu a:hover, .menu-item a:hover,
.elementor-nav-menu a:hover, .elementor-item:hover {
    color: #ee705f !important;
    text-decoration: none !important;
}

/* Button Hover Schriftfarbe */
body:not(.home) .wc-block-components-button:hover,
body:not(.home) .woocommerce button.button:hover,
body:not(.home) .woocommerce a.button:hover,
body:not(.home) .product_type_variable:hover,
body:not(.home) .product_type_simple:hover,
body:not(.home) .add_to_cart_button:hover,
body:not(.home) .ajax_add_to_cart:hover,
body:not(.home) button[type="submit"]:hover,
body:not(.home) input[type="submit"]:hover,
body:not(.home) .document-open-btn:hover,
body:not(.home) .primary-button:hover,
body:not(.home) a.edit:hover {
    color: #efeeee !important;
}

/* ========================================
   4. HEADER
   ======================================== */

#site-header, header.site-header,
.elementor-location-header, #portal-header {
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
}

body:not(.home) #page-header,
body:not(.home) header#portal-header {
    position: relative !important;
    background-color: #fff !important;
    top: 0 !important;
}

/* Logo Größe */
#page-header .logo img,
#portal-header .portal-logo img {
    max-height: 90px;
    width: auto;
    display: block;
    margin: 0 auto;
}

#page-footer .logo img,
footer .logo img {
    max-height: 100px;
    width: auto;
}

/* Header immer über Content */
#page-header {
    position: relative !important;
    z-index: 10050 !important;
}

/* ========================================
   5. UNIFIED BUTTON DESIGN
   ======================================== */

.wc-block-components-button,
.wc-block-cart__submit-button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce-button,
.wc-forward,
input[type="submit"],
button[type="submit"],
.wp-element-button,
.wp-block-button__link,
.elementor-button:not(.elementor-button-link),
.add_to_cart_button,
.ajax_add_to_cart,
.product_type_variable,
.product_type_simple,
.daten-grid-button,
.nextcloud-popup-link,
.document-open-btn,
.primary-button,
.add-post-btn,
a.edit {
    background-color: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    padding: 15px 30px !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    cursor: pointer !important;
    line-height: 1.5 !important;
}

.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce-button:hover,
.wc-forward:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.elementor-button:not(.elementor-button-link):hover,
.add_to_cart_button:hover,
.ajax_add_to_cart:hover,
.product_type_variable:hover,
.product_type_simple:hover,
.daten-grid-button:hover,
.nextcloud-popup-link:hover,
.document-open-btn:hover,
.primary-button:hover,
.add-post-btn:hover,
a.edit:hover {
    background-color: #121212 !important;
    color: #efeeee !important;
    border-color: #121212 !important;
    transform: translateY(-2px);
}

/* Disabled Buttons */
.woocommerce button.button:disabled,
button:disabled,
input[type="submit"]:disabled {
    background-color: transparent !important;
    color: #ccc !important;
    border-color: #ccc !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
}

/* ========================================
   6. FORMULARE - GLOBAL
   ======================================== */

.woocommerce form .form-row {
    margin-bottom: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.woocommerce form .form-row label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #121212 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    padding: 14px 18px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 15px !important;
    width: 100% !important;
    color: #121212 !important;
    transition: border-color 0.3s ease !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: #121212 !important;
    outline: none !important;
}

/* Form-Row mit zwei Spalten */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
    width: 48% !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.woocommerce form .form-row-first {
    margin-right: 4% !important;
}

/* Select2 Styling */
.woocommerce form .form-row .select2-container {
    width: 100% !important;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 48px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 14px 18px !important;
    color: #121212 !important;
    font-size: 15px !important;
}

/* ========================================
   7. LOGIN-SEITE (page-id-191) - KONSOLIDIERT
   ======================================== */

/* Login-Seite mit :has() Selektor - EXAKT WIE Passwort-zurücksetzen */
body.page-id-191,
body:has(.wpum-login-form) {
    background-image: url("https://freiluft.cloud/wp-content/uploads/2025/02/Freiluft-05-06-1.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    height: 100vh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Header ausblenden */
body.page-id-191 #page-header,
body.page-id-191 header,
body.page-id-191 #portal-header,
body.page-id-191 .elementor-location-header,
body.page-id-191 #site-header,
body.page-id-191 nav:not(footer nav),
body:has(.wpum-login-form) #page-header,
body:has(.wpum-login-form) header,
body:has(.wpum-login-form) #portal-header,
body:has(.wpum-login-form) .elementor-location-header,
body:has(.wpum-login-form) #site-header,
body:has(.wpum-login-form) nav:not(footer nav) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Hauptfooter ausblenden - Copyright-Leiste (#footerbottom) bleibt sichtbar */
body.page-id-191 #page-footer,
body.page-id-191 footer#page-footer,
body.page-id-191 footer:not(#footerbottom),
body.page-id-191 .site-footer,
body:has(.wpum-login-form) #page-footer,
body:has(.wpum-login-form) footer#page-footer,
body:has(.wpum-login-form) footer:not(#footerbottom),
body:has(.wpum-login-form) .site-footer {
    background: transparent !important;
}

/* Footer-Inhalte ausblenden (Logo, Kontakt, Social, etc.) */
body.page-id-191 footer#page-footer .container > .row:first-child,
body.page-id-191 footer#page-footer .kontakt,
body.page-id-191 footer#page-footer .social,
body.page-id-191 footer#page-footer .logo,
body.page-id-191 footer#page-footer .menu:not(#footerbottom .menu),
body.page-id-191 footer#page-footer .col-md-4,
body:has(.wpum-login-form) footer#page-footer .container > .row:first-child,
body:has(.wpum-login-form) footer#page-footer .kontakt,
body:has(.wpum-login-form) footer#page-footer .social,
body:has(.wpum-login-form) footer#page-footer .logo,
body:has(.wpum-login-form) footer#page-footer .menu:not(#footerbottom .menu),
body:has(.wpum-login-form) footer#page-footer .col-md-4 {
    display: none !important;
}

/* Content Container zentrieren */
body.page-id-191 #content,
body:has(.wpum-login-form) #content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    background: none !important;
}

body.page-id-191 #primary,
body.page-id-191 .site-main,
body:has(.wpum-login-form) #primary,
body:has(.wpum-login-form) .site-main {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    background: none !important;
}

/* Login Box - Glaseffekt - EXAKT WIE Passwort-zurücksetzen */
body.page-id-191 .entry-content,
body:has(.wpum-login-form) .entry-content {
    background-color: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 40px !important;
    border-radius: 0 !important;
    max-width: 480px !important;
    width: 100% !important;
    margin: auto !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    text-align: center !important;
    position: relative !important;
    z-index: 20 !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    scrollbar-width: none;
    box-sizing: border-box !important;
}

body.page-id-191 .entry-content::-webkit-scrollbar,
body:has(.wpum-login-form) .entry-content::-webkit-scrollbar {
    display: none;
}

/* Seitentitel verstecken */
body.page-id-191 .entry-title,
body.page-id-191 .page-header,
body:has(.wpum-login-form) .entry-title,
body:has(.wpum-login-form) .page-header {
    display: none !important;
}

/* Logo */
body.page-id-191 .entry-content img,
body:has(.wpum-login-form) .entry-content img {
    max-width: 220px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 30px auto !important;
}

/* Formular Labels */
body.page-id-191 .wpum-login-form label,
body:has(.wpum-login-form) .wpum-login-form label {
    color: #121212 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    display: block !important;
    text-align: left !important;
}

/* Formular Inputs */
body.page-id-191 .wpum-login-form input[type="text"],
body.page-id-191 .wpum-login-form input[type="password"],
body:has(.wpum-login-form) .wpum-login-form input[type="text"],
body:has(.wpum-login-form) .wpum-login-form input[type="password"] {
    background: #ffffff !important;
    border: none !important;
    padding: 15px !important;
    font-size: 16px !important;
    color: #121212 !important;
    width: 100% !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
    margin-bottom: 5px !important;
}

body.page-id-191 .wpum-login-form input:focus,
body:has(.wpum-login-form) .wpum-login-form input:focus {
    outline: 2px solid #121212 !important;
}

/* Fieldsets */
body.page-id-191 .wpum-login-form fieldset,
body:has(.wpum-login-form) .wpum-login-form fieldset {
    margin-bottom: 15px !important;
    border: none !important;
    padding: 0 !important;
}

/* Checkbox */
body.page-id-191 .fieldset-remember,
body:has(.wpum-login-form) .fieldset-remember {
    margin-top: 10px !important;
}

body.page-id-191 .fieldset-remember label,
body:has(.wpum-login-form) .fieldset-remember label {
    text-transform: none !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
}

body.page-id-191 .fieldset-remember input[type="checkbox"],
body:has(.wpum-login-form) .fieldset-remember input[type="checkbox"] {
    margin-right: 10px !important;
    accent-color: #121212 !important;
    width: auto !important;
}

/* Submit Button */
body.page-id-191 .wpum-login-form input[type="submit"],
body:has(.wpum-login-form) .wpum-login-form input[type="submit"] {
    background-color: transparent !important;
    border: 1px solid #121212 !important;
    color: #121212 !important;
    padding: 12px 0 !important;
    width: 100% !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    margin-top: 10px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 0 !important;
}

body.page-id-191 .wpum-login-form input[type="submit"]:hover,
body:has(.wpum-login-form) .wpum-login-form input[type="submit"]:hover {
    background-color: #121212 !important;
    color: #ffffff !important;
}

/* Action Links */
body.page-id-191 .wpum-action-links,
body:has(.wpum-login-form) .wpum-action-links {
    margin-top: 15px !important;
    margin-bottom: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    list-style: none !important;
    padding: 0 !important;
}

body.page-id-191 .wpum-action-links li,
body:has(.wpum-login-form) .wpum-action-links li {
    margin-bottom: 8px !important;
}

body.page-id-191 .wpum-action-links a,
body:has(.wpum-login-form) .wpum-action-links a {
    color: #121212 !important;
    text-decoration: none !important;
}

body.page-id-191 .wpum-action-links a:hover,
body:has(.wpum-login-form) .wpum-action-links a:hover {
    text-decoration: underline !important;
    color: #ee705f !important;
}

/* Footer Bottom - Glaseffekt */
body.page-id-191 #footerbottom,
body:has(.wpum-login-form) #footerbottom {
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    width: 100% !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 15px 40px !important;
    z-index: 100 !important;
}

body.page-id-191 #footerbottom *,
body.page-id-191 #footerbottom p,
body.page-id-191 #footerbottom a,
body:has(.wpum-login-form) #footerbottom *,
body:has(.wpum-login-form) #footerbottom p,
body:has(.wpum-login-form) #footerbottom a {
    color: #ffffff !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

body.page-id-191 #footerbottom .container,
body:has(.wpum-login-form) #footerbottom .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.page-id-191 #footerbottom .row,
body:has(.wpum-login-form) #footerbottom .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
}

body.page-id-191 #footerbottom .copyright,
body:has(.wpum-login-form) #footerbottom .copyright {
    text-align: left !important;
    flex: 1 !important;
}

body.page-id-191 #footerbottom .rechtliches,
body:has(.wpum-login-form) #footerbottom .rechtliches {
    text-align: right !important;
    flex: 1 !important;
}

body.page-id-191 #footerbottom .rechtliches ul,
body:has(.wpum-login-form) #footerbottom .rechtliches ul {
    justify-content: flex-end !important;
    margin: 0 !important;
    display: flex !important;
    list-style: none !important;
    padding: 0 !important;
    gap: 10px !important;
}

body.page-id-191 #footerbottom p,
body:has(.wpum-login-form) #footerbottom p {
    margin-bottom: 0 !important;
}

/* ========================================
   8. PASSWORT VERGESSEN (page262) - KONSOLIDIERT
   ======================================== */

body#page262,
body.passwort-zuruecksetzen {
    height: 100vh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hauptfooter transparent - #footerbottom bleibt sichtbar */
body#page262 footer#page-footer,
body#page262 #page-footer,
body.passwort-zuruecksetzen footer#page-footer,
body.passwort-zuruecksetzen #page-footer {
    background: transparent !important;
    position: relative !important;
}

/* Footer-Inhalte ausblenden */
body#page262 footer#page-footer .container > .row:first-child,
body#page262 footer#page-footer .kontakt,
body#page262 footer#page-footer .social,
body#page262 footer#page-footer .logo,
body#page262 footer#page-footer .menu:not(#footerbottom .menu),
body#page262 footer#page-footer .col-md-4,
body.passwort-zuruecksetzen footer#page-footer .container > .row:first-child,
body.passwort-zuruecksetzen footer#page-footer .kontakt,
body.passwort-zuruecksetzen footer#page-footer .social,
body.passwort-zuruecksetzen footer#page-footer .logo,
body.passwort-zuruecksetzen footer#page-footer .menu:not(#footerbottom .menu),
body.passwort-zuruecksetzen footer#page-footer .col-md-4 {
    display: none !important;
}

/* Sticky Footer Bottom */
body#page262 #footerbottom,
body.passwort-zuruecksetzen #footerbottom {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 15px 40px !important;
    z-index: 100 !important;
}

body#page262 #footerbottom *,
body.passwort-zuruecksetzen #footerbottom * {
    color: #ffffff !important;
}

body#page262 #footerbottom .row,
body.passwort-zuruecksetzen #footerbottom .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
}

body#page262 #footerbottom .copyright,
body.passwort-zuruecksetzen #footerbottom .copyright {
    text-align: left !important;
    flex: 1 !important;
}

body#page262 #footerbottom .rechtliches,
body.passwort-zuruecksetzen #footerbottom .rechtliches {
    text-align: right !important;
    flex: 1 !important;
}

body#page262 #footerbottom .rechtliches ul,
body.passwort-zuruecksetzen #footerbottom .rechtliches ul {
    justify-content: flex-end !important;
    margin: 0 !important;
    display: flex !important;
    list-style: none !important;
    padding: 0 !important;
    gap: 10px !important;
}

body#page262 #footerbottom p,
body.passwort-zuruecksetzen #footerbottom p {
    margin-bottom: 0 !important;
}

/* ========================================
   9. REGISTRIERUNG & WPUM FORMULARE - KONSOLIDIERT
   ======================================== */

/* Gemeinsame Styles für alle Auth-Seiten */
body:has(.wpum-registration-form),
body:has(.wpum-password-recovery-form),
body.page-slug-registrieren,
body.page-slug-registration,
body.page-slug-passwort-vergessen,
body:has(.freiluft-registration-form),
body:has(.freiluft-guarantee-form),
body:has(.freiluft-registration-dashboard),
body:has(.registration-container) {
    background-image: url("https://freiluft.cloud/wp-content/uploads/2025/02/Freiluft-05-06-1.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    height: 100vh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Navbar ausblenden auf Auth-Seiten */
body:has(.wpum-registration-form) #page-header,
body:has(.wpum-registration-form) header,
body:has(.wpum-password-recovery-form) #page-header,
body:has(.wpum-password-recovery-form) header,
body.page-slug-registrieren #page-header,
body.page-slug-registrieren header,
body.page-slug-passwort-vergessen #page-header,
body.page-slug-passwort-vergessen header,
body:has(.freiluft-registration-dashboard) #page-header,
body:has(.freiluft-registration-dashboard) header,
body:has(.registration-container) #page-header,
body:has(.registration-container) header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
}

/* Footer auf Registrierungsseite - Hauptinhalt ausblenden, #footerbottom sichtbar */
body:has(.freiluft-registration-dashboard) #page-footer,
body:has(.freiluft-registration-dashboard) footer,
body:has(.registration-container) #page-footer,
body:has(.registration-container) footer,
body.page-slug-registration #page-footer,
body.page-slug-registration footer {
    background: transparent !important;
}

/* Content Container zentrieren */
body:has(.wpum-registration-form) #content,
body:has(.wpum-password-recovery-form) #content,
body.page-slug-registrieren #content,
body.page-slug-passwort-vergessen #content,
body:has(.freiluft-registration-form) #content,
body:has(.freiluft-registration-dashboard) #content,
body:has(.registration-container) #content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    background: none !important;
}

body:has(.wpum-registration-form) #primary,
body:has(.wpum-registration-form) .site-main,
body:has(.wpum-password-recovery-form) #primary,
body:has(.wpum-password-recovery-form) .site-main,
body.page-slug-registrieren #primary,
body.page-slug-registrieren .site-main,
body.page-slug-passwort-vergessen #primary,
body.page-slug-passwort-vergessen .site-main,
body:has(.freiluft-registration-dashboard) #primary,
body:has(.freiluft-registration-dashboard) .site-main,
body:has(.registration-container) #primary,
body:has(.registration-container) .site-main {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    background: none !important;
}

/* Entry Content Box - Glaseffekt */
body:has(.wpum-registration-form) .entry-content,
body:has(.wpum-password-recovery-form) .entry-content,
body.page-slug-registrieren .entry-content,
body.page-slug-passwort-vergessen .entry-content,
body:has(.freiluft-registration-form) .entry-content,
body:has(.freiluft-guarantee-form) .entry-content,
body:has(.freiluft-registration-dashboard) .entry-content {
    background-color: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 40px !important;
    border-radius: 0 !important;
    max-width: 600px !important;
    width: 100% !important;
    margin: auto !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    text-align: left !important;
    position: relative !important;
    z-index: 20 !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    scrollbar-width: none;
    box-sizing: border-box !important;
}

body:has(.wpum-registration-form) .entry-content::-webkit-scrollbar,
body:has(.wpum-password-recovery-form) .entry-content::-webkit-scrollbar,
body:has(.freiluft-registration-dashboard) .entry-content::-webkit-scrollbar {
    display: none;
}

/* Logo */
body:has(.wpum-registration-form) .entry-content img,
body:has(.wpum-password-recovery-form) .entry-content img,
body.page-slug-registrieren .entry-content img,
body.page-slug-passwort-vergessen .entry-content img,
body:has(.freiluft-registration-form) .entry-content img,
body:has(.freiluft-registration-dashboard) .entry-content img,
body:has(.freiluft-registration-dashboard) .registration-logo,
body:has(.registration-container) .registration-logo {
    max-width: 220px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 30px auto !important;
}

/* Verstecke Seitentitel */
body:has(.wpum-registration-form) .entry-title,
body:has(.wpum-password-recovery-form) .entry-title,
body.page-slug-registrieren .entry-title,
body.page-slug-passwort-vergessen .entry-title,
body:has(.wpum-registration-form) .page-header,
body:has(.wpum-password-recovery-form) .page-header {
    display: none !important;
}

/* Formular Styling */
body:has(.wpum-registration-form) .wpum-form,
body:has(.wpum-password-recovery-form) .wpum-form,
body.page-slug-registrieren .wpum-form,
body.page-slug-passwort-vergessen .wpum-form {
    width: 100% !important;
}

/* Labels */
body:has(.wpum-registration-form) .wpum-form label,
body:has(.wpum-password-recovery-form) .wpum-form label,
body.page-slug-registrieren .wpum-form label,
body.page-slug-passwort-vergessen .wpum-form label,
.freiluft-registration-form label,
.freiluft-guarantee-form label {
    color: #121212 !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
}

/* Inputs */
body:has(.wpum-registration-form) .wpum-form input[type="text"],
body:has(.wpum-registration-form) .wpum-form input[type="email"],
body:has(.wpum-registration-form) .wpum-form input[type="password"],
body:has(.wpum-password-recovery-form) .wpum-form input[type="text"],
body:has(.wpum-password-recovery-form) .wpum-form input[type="email"],
body.page-slug-registrieren .wpum-form input[type="text"],
body.page-slug-registrieren .wpum-form input[type="email"],
body.page-slug-registrieren .wpum-form input[type="password"],
body.page-slug-passwort-vergessen .wpum-form input[type="text"],
body.page-slug-passwort-vergessen .wpum-form input[type="email"],
.freiluft-registration-form input[type="text"],
.freiluft-registration-form input[type="email"],
.freiluft-registration-form input[type="password"],
.freiluft-guarantee-form input[type="text"],
.freiluft-guarantee-form textarea {
    background: #ffffff !important;
    border: none !important;
    padding: 15px !important;
    font-size: 16px !important;
    color: #121212 !important;
    width: 100% !important;
    margin-bottom: 5px !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}

body:has(.wpum-registration-form) .wpum-form input:focus,
body:has(.wpum-password-recovery-form) .wpum-form input:focus,
.freiluft-registration-form input:focus,
.freiluft-guarantee-form input:focus,
.freiluft-guarantee-form textarea:focus {
    outline: 2px solid #121212 !important;
}

/* Fieldsets */
body:has(.wpum-registration-form) .wpum-form fieldset,
body:has(.wpum-password-recovery-form) .wpum-form fieldset,
body.page-slug-registrieren .wpum-form fieldset,
body.page-slug-passwort-vergessen .wpum-form fieldset {
    margin-bottom: 15px !important;
}

/* Action Links */
body:has(.wpum-registration-form) .wpum-action-links,
body:has(.wpum-password-recovery-form) .wpum-action-links,
body.page-slug-registrieren .wpum-action-links,
body.page-slug-passwort-vergessen .wpum-action-links {
    margin-top: 15px !important;
    margin-bottom: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    list-style: none !important;
    padding: 0 !important;
}

body:has(.wpum-registration-form) .wpum-action-links a,
body:has(.wpum-password-recovery-form) .wpum-action-links a,
body.page-slug-registrieren .wpum-action-links a,
body.page-slug-passwort-vergessen .wpum-action-links a {
    color: #121212 !important;
    text-decoration: none !important;
}

body:has(.wpum-registration-form) .wpum-action-links a:hover,
body:has(.wpum-password-recovery-form) .wpum-action-links a:hover {
    text-decoration: underline !important;
    color: #ee705f !important;
}

/* Submit Button */
body:has(.wpum-registration-form) .wpum-form input[type="submit"],
body:has(.wpum-registration-form) .wpum-form button[type="submit"],
body:has(.wpum-password-recovery-form) .wpum-form input[type="submit"],
body.page-slug-registrieren .wpum-form input[type="submit"],
body.page-slug-passwort-vergessen .wpum-form input[type="submit"],
.freiluft-registration-form input[type="submit"],
.freiluft-registration-form button[type="submit"],
.freiluft-guarantee-form input[type="submit"],
.freiluft-guarantee-form button[type="submit"] {
    background-color: transparent !important;
    border: 1px solid #121212 !important;
    color: #121212 !important;
    padding: 12px 0 !important;
    width: 100% !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
}

body:has(.wpum-registration-form) .wpum-form input[type="submit"]:hover,
body:has(.wpum-password-recovery-form) .wpum-form input[type="submit"]:hover,
.freiluft-registration-form input[type="submit"]:hover,
.freiluft-guarantee-form input[type="submit"]:hover {
    background-color: #121212 !important;
    color: #ffffff !important;
    border-color: #121212 !important;
}

/* Hauptfooter-Inhalte ausblenden für Auth-Seiten - #footerbottom bleibt sichtbar */
body:has(.wpum-registration-form) footer#page-footer,
body:has(.wpum-password-recovery-form) footer#page-footer,
body.page-slug-registrieren footer#page-footer,
body.page-slug-passwort-vergessen footer#page-footer,
body:has(.freiluft-registration-form) footer#page-footer,
body:has(.freiluft-guarantee-form) footer#page-footer,
body:has(.freiluft-registration-dashboard) footer#page-footer {
    background: transparent !important;
}

body:has(.wpum-registration-form) footer#page-footer .container > .row:first-child,
body:has(.wpum-registration-form) footer#page-footer .kontakt,
body:has(.wpum-registration-form) footer#page-footer .social,
body:has(.wpum-registration-form) footer#page-footer .logo,
body:has(.wpum-registration-form) footer#page-footer .menu:not(#footerbottom .menu),
body:has(.wpum-registration-form) footer#page-footer .col-md-4,
body:has(.wpum-password-recovery-form) footer#page-footer .container > .row:first-child,
body:has(.wpum-password-recovery-form) footer#page-footer .kontakt,
body:has(.wpum-password-recovery-form) footer#page-footer .social,
body:has(.wpum-password-recovery-form) footer#page-footer .logo,
body:has(.wpum-password-recovery-form) footer#page-footer .menu:not(#footerbottom .menu),
body:has(.wpum-password-recovery-form) footer#page-footer .col-md-4,
body.page-slug-registrieren footer#page-footer .container > .row:first-child,
body.page-slug-registrieren footer#page-footer .kontakt,
body.page-slug-registrieren footer#page-footer .social,
body.page-slug-registrieren footer#page-footer .logo,
body.page-slug-registrieren footer#page-footer .menu:not(#footerbottom .menu),
body.page-slug-registrieren footer#page-footer .col-md-4,
body.page-slug-passwort-vergessen footer#page-footer .container > .row:first-child,
body.page-slug-passwort-vergessen footer#page-footer .kontakt,
body.page-slug-passwort-vergessen footer#page-footer .social,
body.page-slug-passwort-vergessen footer#page-footer .logo,
body.page-slug-passwort-vergessen footer#page-footer .menu:not(#footerbottom .menu),
body.page-slug-passwort-vergessen footer#page-footer .col-md-4,
body:has(.freiluft-registration-form) footer#page-footer .container > .row:first-child,
body:has(.freiluft-registration-form) footer#page-footer .kontakt,
body:has(.freiluft-registration-form) footer#page-footer .social,
body:has(.freiluft-registration-form) footer#page-footer .logo,
body:has(.freiluft-registration-form) footer#page-footer .menu:not(#footerbottom .menu),
body:has(.freiluft-registration-form) footer#page-footer .col-md-4,
body:has(.freiluft-guarantee-form) footer#page-footer .container > .row:first-child,
body:has(.freiluft-guarantee-form) footer#page-footer .kontakt,
body:has(.freiluft-guarantee-form) footer#page-footer .social,
body:has(.freiluft-guarantee-form) footer#page-footer .logo,
body:has(.freiluft-guarantee-form) footer#page-footer .menu:not(#footerbottom .menu),
body:has(.freiluft-guarantee-form) footer#page-footer .col-md-4,
body:has(.freiluft-registration-dashboard) footer#page-footer .container > .row:first-child,
body:has(.freiluft-registration-dashboard) footer#page-footer .kontakt,
body:has(.freiluft-registration-dashboard) footer#page-footer .social,
body:has(.freiluft-registration-dashboard) footer#page-footer .logo,
body:has(.freiluft-registration-dashboard) footer#page-footer .menu:not(#footerbottom .menu),
body:has(.freiluft-registration-dashboard) footer#page-footer .col-md-4,
body:has(.registration-container) footer#page-footer .container > .row:first-child,
body:has(.registration-container) footer#page-footer .kontakt,
body:has(.registration-container) footer#page-footer .social,
body:has(.registration-container) footer#page-footer .logo,
body:has(.registration-container) footer#page-footer .menu:not(#footerbottom .menu),
body:has(.registration-container) footer#page-footer .col-md-4,
body.page-slug-registration footer#page-footer .container > .row:first-child,
body.page-slug-registration footer#page-footer .kontakt,
body.page-slug-registration footer#page-footer .social,
body.page-slug-registration footer#page-footer .logo,
body.page-slug-registration footer#page-footer .menu:not(#footerbottom .menu),
body.page-slug-registration footer#page-footer .col-md-4 {
    display: none !important;
}

/* Footer Bottom - Auth Seiten */
body:has(.wpum-registration-form) #footerbottom,
body:has(.wpum-password-recovery-form) #footerbottom,
body.page-slug-registrieren #footerbottom,
body.page-slug-passwort-vergessen #footerbottom,
body:has(.freiluft-registration-form) #footerbottom,
body:has(.freiluft-guarantee-form) #footerbottom,
body:has(.freiluft-registration-dashboard) #footerbottom,
body:has(.registration-container) #footerbottom,
body.page-slug-registration #footerbottom {
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    width: 100% !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 15px 40px !important;
    z-index: 100 !important;
}

body:has(.wpum-registration-form) #footerbottom *,
body:has(.wpum-password-recovery-form) #footerbottom *,
body.page-slug-registrieren #footerbottom *,
body.page-slug-passwort-vergessen #footerbottom *,
body:has(.freiluft-registration-dashboard) #footerbottom *,
body:has(.registration-container) #footerbottom *,
body.page-slug-registration #footerbottom * {
    color: #ffffff !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

body:has(.wpum-registration-form) #footerbottom .row,
body:has(.wpum-password-recovery-form) #footerbottom .row,
body.page-slug-registrieren #footerbottom .row,
body.page-slug-passwort-vergessen #footerbottom .row,
body:has(.freiluft-registration-dashboard) #footerbottom .row,
body:has(.registration-container) #footerbottom .row,
body.page-slug-registration #footerbottom .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
}

body:has(.wpum-registration-form) #footerbottom .copyright,
body:has(.wpum-password-recovery-form) #footerbottom .copyright,
body:has(.freiluft-registration-dashboard) #footerbottom .copyright,
body:has(.registration-container) #footerbottom .copyright,
body.page-slug-registration #footerbottom .copyright {
    text-align: left !important;
    flex: 1 !important;
}

body:has(.wpum-registration-form) #footerbottom .rechtliches,
body:has(.wpum-password-recovery-form) #footerbottom .rechtliches,
body:has(.freiluft-registration-dashboard) #footerbottom .rechtliches,
body:has(.registration-container) #footerbottom .rechtliches,
body.page-slug-registration #footerbottom .rechtliches {
    text-align: right !important;
    flex: 1 !important;
}

body:has(.wpum-registration-form) #footerbottom .rechtliches ul,
body:has(.wpum-password-recovery-form) #footerbottom .rechtliches ul,
body:has(.freiluft-registration-dashboard) #footerbottom .rechtliches ul,
body:has(.registration-container) #footerbottom .rechtliches ul,
body.page-slug-registration #footerbottom .rechtliches ul {
    justify-content: flex-end !important;
    margin: 0 !important;
    display: flex !important;
    list-style: none !important;
    padding: 0 !important;
    gap: 10px !important;
}

body:has(.wpum-registration-form) #footerbottom p,
body:has(.wpum-password-recovery-form) #footerbottom p,
body:has(.freiluft-registration-dashboard) #footerbottom p,
body:has(.registration-container) #footerbottom p,
body.page-slug-registration #footerbottom p {
    margin-bottom: 0 !important;
}

/* Registrieren-Link ausblenden - alle Seiten */
.wpum-action-links li:has(a[href*="registrieren"]) {
    display: none !important;
}

.wpum-action-links a[href*="registrieren"] {
    display: none !important;
}

/* ========================================
   10. DASHBOARD (page183/home) - KONSOLIDIERT
   ======================================== */

/* Willkommensnachricht - Glaskasten */
body#page183 .welcome-message,
body.home .welcome-message {
    background-color: rgba(255, 255, 255, 0.3) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    padding: 20px 30px !important;
    border-radius: 0 !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    display: inline-block !important;
    margin-bottom: 20px !important;
}

/* Schriftfarbe für Willkommenstext */
body#page183 .welcome-message,
body#page183 .welcome-message *,
body.home .welcome-message,
body.home .welcome-message * {
    color: #121212 !important;
    -webkit-text-fill-color: #121212 !important;
}

/* Dashboard Cards - nur äußere Box mit Glaseffekt */
body#page183 .dashboard-card,
body.home .dashboard-card {
    background-color: rgba(255, 255, 255, 0.3) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
    padding: 20px 30px !important;
    border-radius: 0 !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
}

/* Innere tile-content transparent */
body#page183 .tile-content,
body.home .tile-content {
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Dashboard Cards - alle Texte schwarz */
body#page183 .dashboard-card *,
body#page183 .tile-content *,
body#page183 .dashboard-grid *,
body#page183 .dashboard-container *,
body.home .dashboard-card *,
body.home .tile-content *,
body.home .dashboard-container * {
    color: #121212 !important;
    -webkit-text-fill-color: #121212 !important;
}

/* ========================================
   11. STARTSEITE (home)
   ======================================== */

body.home {
    background-image: url("https://freiluft.cloud/wp-content/uploads/2025/02/Freiluft-05-06-1.jpg") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-attachment: fixed !important;
    height: 100vh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

body.home #site-footer,
body.home footer,
body.home .site-footer {
    display: none !important;
}

body.home .site-main,
body.home #content {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    height: 100% !important;
}

body.home #page-header,
body.home .site-header {
    background: transparent !important;
    box-shadow: none !important;
    position: absolute !important;
    width: 100%;
    z-index: 1000;
}

/* Startseite: Grid nebeneinander */
body.home .elementor-section .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-bottom: 80px !important;
}

body.home .elementor-column,
body.home .elementor-col-33 {
    width: 33.33% !important;
    max-width: 33.33% !important;
    flex: 0 0 33.33% !important;
}

/* QR Code Box Styling */
.elementor-widget-image-box .elementor-image-box-wrapper {
    background: rgba(255, 255, 255, 0.95);
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    text-align: center;
    transition: transform 0.3s ease;
    height: auto !important;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.elementor-widget-image-box .elementor-image-box-wrapper:hover {
    transform: translateY(-10px);
}

/* Texte IN den weißen Boxen dunkel */
body.home .elementor-image-box-wrapper h1,
body.home .elementor-image-box-wrapper h2,
body.home .elementor-image-box-wrapper h3,
body.home .elementor-image-box-wrapper p,
body.home .elementor-image-box-wrapper .elementor-image-box-title,
body.home .elementor-image-box-wrapper .elementor-image-box-description {
    color: #121212 !important;
    text-shadow: none !important;
}

/* ========================================
   12. WOOCOMMERCE SHOP
   ======================================== */

/* Grid Layout - 3 Spalten */
.woocommerce .products,
.woocommerce-page .products,
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 60px 40px !important;
    margin-top: 20px !important;
}

/* Product Card */
.woocommerce ul.products li.product {
    border: none !important;
    background-color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* Image */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block !important;
    position: relative;
    overflow: hidden;
    background: #f9f9f9;
    aspect-ratio: 1 / 1;
}

.woocommerce ul.products li.product img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.05);
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #121212 !important;
    margin: 20px 0 8px 0 !important;
    padding: 0 20px !important;
}

/* Price */
.woocommerce ul.products li.product .price {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #121212 !important;
    margin: 0 0 20px 0 !important;
    padding: 0 20px !important;
}

/* Add to Cart */
.woocommerce ul.products li.product .button {
    display: block !important;
    width: calc(100% - 40px) !important;
    margin: 0 20px 20px 20px !important;
}

/* Cart Table */
.woocommerce table.shop_table {
    border: none !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
    margin-bottom: 40px !important;
}

.woocommerce table.shop_table th {
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 12px !important;
    padding: 20px 0 !important;
    border-bottom: 2px solid #121212 !important;
    color: #121212 !important;
}

.woocommerce table.shop_table td {
    border-top: 1px solid #eee !important;
    border-bottom: none !important;
    padding: 30px 0 !important;
    vertical-align: middle !important;
}

/* Cart Totals */
.woocommerce .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 500px !important;
    margin-left: auto !important;
    padding: 40px !important;
    background: #f9f9f9 !important;
    border-radius: 4px !important;
}

/* Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #f9f9f9 !important;
    color: #121212 !important;
    border-top: 2px solid #121212 !important;
    padding: 15px 20px !important;
    margin-bottom: 30px !important;
    font-size: 14px !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}

.woocommerce-error {
    border-top-color: #d32f2f !important;
}

/* ========================================
   13. WOOCOMMERCE ACCOUNT
   ======================================== */

.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.woocommerce-MyAccount-navigation {
    flex: 0 0 250px;
    border-right: 1px solid #e0e0e0;
    padding-right: 30px;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 10px;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 10px 0;
    color: #666;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    color: #121212;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
    color: #121212 !important;
    font-weight: 700 !important;
    position: relative;
    padding-left: 20px !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #ee705f;
    border-radius: 50%;
}

.woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}

/* Addresses */
.u-columns.woocommerce-Addresses.col2-set.addresses {
    display: flex !important;
    gap: 40px !important;
    margin-top: 30px !important;
    flex-wrap: wrap !important;
}

.u-column.woocommerce-Address,
.u-column1.col-1.woocommerce-Address,
.u-column2.col-2.woocommerce-Address {
    flex: 1 1 calc(50% - 20px) !important;
    min-width: 300px !important;
    background: #fff !important;
    padding: 30px !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    color: #121212 !important;
}

.woocommerce-Address address {
    font-style: normal !important;
    color: #666 !important;
    line-height: 1.6 !important;
}

/* ========================================
   14. CUSTOMER DASHBOARD
   ======================================== */

.freiluft-customer-dashboard .dashboard-container {
    max-width: 1400px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.freiluft-customer-dashboard h1 {
    margin: 0 !important;
    padding: 24px 30px !important;
    background: #fafafa !important;
    color: #121212 !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    text-align: left !important;
    border-bottom: 1px solid #e8e8e8 !important;
}

.freiluft-customer-dashboard .dashboard-section {
    padding: 30px 40px;
    border-bottom: 1px solid #e0e0e0;
}

.freiluft-customer-dashboard .dashboard-section:last-child {
    border-bottom: none;
}

.freiluft-customer-dashboard .dashboard-section h2 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 600;
    color: #121212;
}

/* Status Badges */
.status-badge-active,
.status-badge-pending,
.status-badge-rejected,
.status-badge-none {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    background: #fafafa;
    border: 1px solid;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
}

.status-badge-active { border-color: #4CAF50; color: #4CAF50; }
.status-badge-pending { border-color: #FFC107; color: #856404; }
.status-badge-rejected { border-color: #dc3545; color: #dc3545; }
.status-badge-none { border-color: #999; color: #666; }

/* Status Icon Animation */
.status-icon {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-icon-green { background: #4CAF50; animation: pulse-green 2s infinite; }
.status-icon-yellow { background: #FFC107; animation: pulse-yellow 2s infinite; }
.status-icon-red { background: #dc3545; animation: pulse-red 2s infinite; }
.status-icon-gray { background: #999; animation: pulse-gray 2s infinite; }

@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7); }
    50% { box-shadow: 0 0 0 10px rgba(76, 175, 80, 0); }
    100% { box-shadow: 0 0 0 0 rgba(76, 175, 80, 0); }
}

@keyframes pulse-yellow {
    0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); }
    50% { box-shadow: 0 0 0 10px rgba(255, 193, 7, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
}

@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7); }
    50% { box-shadow: 0 0 0 10px rgba(220, 53, 69, 0); }
    100% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0); }
}

@keyframes pulse-gray {
    0% { box-shadow: 0 0 0 0 rgba(153, 153, 153, 0.5); }
    50% { box-shadow: 0 0 0 10px rgba(153, 153, 153, 0); }
    100% { box-shadow: 0 0 0 0 rgba(153, 153, 153, 0); }
}

/* Document Items */
.freiluft-customer-dashboard .document-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.freiluft-customer-dashboard .document-item {
    padding: 16px 20px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #fff;
    transition: all 0.2s ease;
}

.freiluft-customer-dashboard .document-item:hover {
    background: #fafafa;
    border-color: #ee705f;
}

.freiluft-customer-dashboard .document-item-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

/* ========================================
   15. REGISTRIERUNG DASHBOARD
   ======================================== */

body:has(.freiluft-registration-dashboard) .freiluft-registration-dashboard,
body:has(.registration-container) .freiluft-registration-dashboard {
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    background: transparent !important;
}

body:has(.freiluft-registration-dashboard) .registration-container,
body:has(.registration-container) .registration-container {
    max-width: 100% !important;
    margin: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body:has(.freiluft-registration-dashboard) .freiluft-registration-dashboard h1,
body:has(.registration-container) .freiluft-registration-dashboard h1 {
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #121212 !important;
    font-size: 14px !important;
    text-align: center !important;
    font-weight: 700 !important;
}

body:has(.freiluft-registration-dashboard) .registration-intro-text,
body:has(.registration-container) .registration-intro-text {
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: #121212 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .form-group,
body:has(.registration-container) .registration-container .form-group {
    margin-bottom: 15px !important;
    padding: 0 !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .form-row,
body:has(.registration-container) .registration-container .form-row {
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

body:has(.freiluft-registration-dashboard) .registration-container label,
body:has(.registration-container) .registration-container label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    color: #121212 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

body:has(.freiluft-registration-dashboard) .registration-container input[type="text"],
body:has(.freiluft-registration-dashboard) .registration-container input[type="email"],
body:has(.freiluft-registration-dashboard) .registration-container input[type="password"],
body:has(.registration-container) .registration-container input[type="text"],
body:has(.registration-container) .registration-container input[type="email"],
body:has(.registration-container) .registration-container input[type="password"] {
    width: 100% !important;
    padding: 15px !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    background: transparent !important;
    color: #121212 !important;
    transition: border-color 0.3s ease !important;
}

body:has(.freiluft-registration-dashboard) .registration-container input:focus,
body:has(.registration-container) .registration-container input:focus {
    outline: none !important;
    border-bottom-color: #121212 !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .button-primary,
body:has(.registration-container) .registration-container .button-primary {
    width: 100% !important;
    padding: 12px 24px !important;
    background-color: transparent !important;
    color: #121212 !important;
    border: 1px solid #121212 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    margin-top: 20px !important;
}

body:has(.freiluft-registration-dashboard) .registration-container .button-primary:hover,
body:has(.registration-container) .registration-container .button-primary:hover {
    background-color: #121212 !important;
    color: #efeeee !important;
}

/* ========================================
   16. FAQ & TOGGLE
   ======================================== */

.elementor-toggle .elementor-tab-title,
.elementor-accordion .elementor-tab-title {
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    padding: 20px 24px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-weight: 600 !important;
    color: #121212 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.elementor-toggle .elementor-tab-title:hover,
.elementor-accordion .elementor-tab-title:hover {
    border-color: #ee705f !important;
    transform: translateX(4px) !important;
}

.elementor-toggle .elementor-tab-title.elementor-active,
.elementor-accordion .elementor-tab-title.elementor-active {
    border-color: #ee705f !important;
    color: #ee705f !important;
}

.elementor-toggle .elementor-tab-content,
.elementor-accordion .elementor-tab-content {
    padding: 24px;
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 4px 4px;
    margin-top: -4px;
    animation: faqSlideDown 0.3s ease;
}

@keyframes faqSlideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ========================================
   17. BLOG / POSTS
   ======================================== */

.custom-post-list,
.elementor-posts-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.custom-post-item {
    border: 1px solid #e0e0e0;
    padding: 20px;
    border-radius: 6px;
    background-color: #fff;
    transition: box-shadow 0.3s ease;
}

.custom-post-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.post-thumbnail,
.elementor-post__thumbnail {
    position: relative;
    margin-bottom: 15px;
    overflow: hidden;
    height: 250px;
}

.post-thumbnail img,
.elementor-post__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Author Avatar - Post Liste */
.post-meta-author {
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 10;
}

.author-avatar,
.post-meta-author .author-avatar,
.custom-post-item .author-avatar {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 3px solid #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    display: block;
}

/* Author Avatar - Single Post (rechts unten am Featured Image) */
.post-featured-image {
    position: relative;
    overflow: visible;
}

.post-author-avatar {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    border: 3px solid #fff;
    z-index: 10;
}

.author-avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

/* Single Post */
.freiluft-single-post {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    background: #efeeee;
}

.post-title-custom {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #121212 !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.2 !important;
}

/* ========================================
   18. FOOTER
   ======================================== */

/* Footer Bottom - 3 Spalten */
#footerbottom .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

#footerbottom .col-lg-4 {
    flex: 1 !important;
}

#footerbottom .copyright {
    text-align: left !important;
}

#footerbottom .freiluft-cloud {
    text-align: center !important;
}

#footerbottom .freiluft-cloud-text {
    color: #ee705f !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    cursor: default !important;
    text-decoration: none !important;
}

#footerbottom .rechtliches {
    text-align: right !important;
}

#footerbottom .rechtliches ul {
    justify-content: flex-end !important;
    margin: 0 !important;
}

/* ========================================
   19. COMING SOON OVERLAY
   ======================================== */

.freiluft-coming-soon-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 1000 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    pointer-events: auto !important;
}

body:has(.freiluft-coming-soon-overlay) #page-header,
body:has(.freiluft-coming-soon-overlay) header,
body:has(.freiluft-coming-soon-overlay) footer {
    position: relative !important;
    z-index: 10001 !important;
    pointer-events: auto !important;
}

.freiluft-coming-soon-overlay .coming-soon-content {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 0 !important;
    padding: 40px 50px !important;
    max-width: 480px !important;
    width: 100% !important;
    text-align: center !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
    pointer-events: auto !important;
    z-index: 1001 !important;
}

.freiluft-coming-soon-overlay .coming-soon-logo img {
    max-width: 220px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 30px auto !important;
}

.freiluft-coming-soon-overlay .coming-soon-title {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #121212 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 20px 0 !important;
}

.freiluft-coming-soon-overlay .coming-soon-text {
    font-size: 16px !important;
    color: #121212 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* ========================================
   20. BURGER MENU MOBILE
   ======================================== */

:root { --headerH: 144px; }

@media (max-width: 1199px) {
    body.menu-open::before {
        content: "" !important;
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0,0,0,0.5) !important;
        z-index: 9998 !important;
    }

    body.menu-open {
        overflow: hidden !important;
        touch-action: none !important;
    }

    #page-header .navigation.rechts .mainmenu {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 352px !important;
        max-width: 85vw !important;
        height: 100vh !important;
        padding: var(--headerH) 28px 28px !important;
        background: #fff !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        transform: translateX(100%) !important;
        transition: transform 250ms ease !important;
        overflow-y: auto !important;
        z-index: 9999 !important;
        box-shadow: -8px 0 40px rgba(0,0,0,0.18) !important;
    }

    body.menu-open #page-header .navigation.rechts .mainmenu,
    #page-header .navigation.rechts .mainmenu.active {
        transform: translateX(0) !important;
    }

    #page-header #menuburgerbutton {
        position: relative !important;
        z-index: 10000 !important;
        cursor: pointer;
        background: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
        padding: 0 !important;
    }

    #page-header .navigation.rechts .mainmenu nav,
    #page-header .navigation.rechts .mainmenu .menu,
    #page-header .navigation.rechts .mainmenu ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 22px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    #page-header .navigation.rechts .mainmenu li {
        float: none !important;
        display: block !important;
        text-align: center !important;
    }

    #page-header .navigation.rechts .mainmenu a {
        display: inline-block !important;
        padding: 10px 0 !important;
        color: #121212 !important;
        font-size: 20px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.12em !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 1200px) {
    body.menu-open::before { content: none !important; }
    body.menu-open { overflow: auto !important; }

    #page-header .navigation.rechts .mainmenu {
        position: static !important;
        transform: none !important;
        box-shadow: none !important;
        height: auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }
}

/* ========================================
   21. KONTAKTFORMULAR
   ======================================== */

#weclapp label,
.flx_kontaktformular form label {
    display: block;
    color: #121212;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    margin-top: 20px;
}

#weclapp input[type="text"],
#weclapp input[type="email"],
#weclapp input[type="tel"],
#weclapp textarea,
#weclapp select,
.flx_kontaktformular input[type="text"],
.flx_kontaktformular input[type="email"],
.flx_kontaktformular textarea,
.flx_kontaktformular select {
    width: 100%;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 0;
    background: #ffffff;
    color: #121212;
    font-size: 16px;
    margin-bottom: 5px;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

#weclapp input:focus,
#weclapp textarea:focus,
#weclapp select:focus,
.flx_kontaktformular input:focus,
.flx_kontaktformular textarea:focus {
    outline: none;
    border-color: #121212;
}

#weclapp textarea,
.flx_kontaktformular textarea {
    min-height: 120px;
    resize: vertical;
}

/* ========================================
   22. NOTICES & ALERTS
   ======================================== */

/* Service Formular Pop-Up - Schriftfarbe dunkel */
/* Custom Service Modal (#freiluft-service-modal) - HÖCHSTE SPEZIFITÄT */
body.home #freiluft-service-modal.service-modal,
body.home #freiluft-service-modal.service-modal *,
body.home #freiluft-service-modal.service-modal .modal-container,
body.home #freiluft-service-modal.service-modal .modal-container *,
body.home #freiluft-service-modal.service-modal .modal-body,
body.home #freiluft-service-modal.service-modal .modal-body *,
body.home #freiluft-service-modal.service-modal .form-group,
body.home #freiluft-service-modal.service-modal .form-group *,
body.home #freiluft-service-modal.service-modal label,
body.home #freiluft-service-modal.service-modal input,
body.home #freiluft-service-modal.service-modal textarea,
body.home #freiluft-service-modal.service-modal select,
body.home #freiluft-service-modal.service-modal h3,
body.home #freiluft-service-modal.service-modal .modal-title {
    color: #121212 !important;
    -webkit-text-fill-color: #121212 !important;
}

#freiluft-service-modal,
#freiluft-service-modal *,
.service-modal,
.service-modal *,
.modal-container,
.modal-container *,
.modal-body,
.modal-body *,
body.home #freiluft-service-modal,
body.home #freiluft-service-modal *,
body.home .service-modal,
body.home .service-modal *,
body.home .modal-container,
body.home .modal-container *,
body.home .modal-body,
body.home .modal-body *,
body.home .form-group,
body.home .form-group * {
    color: #121212 !important;
}

#freiluft-service-modal .modal-title,
.service-modal .modal-title,
.service-modal h3 {
    color: #121212 !important;
}

#freiluft-service-modal label,
.service-modal label,
.modal-body label,
.form-group label {
    color: #121212 !important;
}

#freiluft-service-modal input,
#freiluft-service-modal textarea,
#freiluft-service-modal select,
.service-modal input,
.service-modal textarea,
.service-modal select,
.modal-body input,
.modal-body textarea,
.modal-body select {
    color: #121212 !important;
}

#freiluft-service-modal input::placeholder,
#freiluft-service-modal textarea::placeholder,
.service-modal input::placeholder,
.service-modal textarea::placeholder,
.modal-body input::placeholder,
.modal-body textarea::placeholder {
    color: #666 !important;
}

/* Elementor Popup (falls auch verwendet) */
.elementor-popup-modal,
.elementor-popup-modal *,
.elementor-location-popup *,
[data-elementor-type="popup"] *,
.dialog-widget-content * {
    color: #121212 !important;
}

.elementor-popup-modal .elementor-field-label,
.elementor-popup-modal label,
[data-elementor-type="popup"] label {
    color: #121212 !important;
    opacity: 1 !important;
}

.elementor-popup-modal input,
.elementor-popup-modal textarea,
.elementor-popup-modal select,
[data-elementor-type="popup"] input,
[data-elementor-type="popup"] textarea,
[data-elementor-type="popup"] select {
    color: #121212 !important;
}

.elementor-popup-modal input::placeholder,
.elementor-popup-modal textarea::placeholder,
[data-elementor-type="popup"] input::placeholder,
[data-elementor-type="popup"] textarea::placeholder {
    color: #666 !important;
    opacity: 1 !important;
}

.notice.notice-info,
.wpum-already-logged-in,
.wpum-message.info {
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-left: 3px solid #121212 !important;
    border-radius: 0 !important;
    padding: 20px 30px !important;
    margin: 20px 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    color: #121212 !important;
    font-size: 14px !important;
}

.notice.notice-info a,
.wpum-already-logged-in a,
.wpum-message.info a {
    color: #121212 !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
}

.notice.notice-info a:hover,
.wpum-already-logged-in a:hover {
    color: #ee705f !important;
}

/* ========================================
   23. GLOBAL TITLE HIDE
   ======================================== */

.entry-header,
.page-header,
.woocommerce-products-header,
.woocommerce-page .entry-title,
.page .entry-title {
    display: none !important;
}

/* Ausnahme: Single Product & Blog Post Title */
.single-product .product_title,
.single-product .entry-title,
.single-post .entry-title,
.single-post .post-title-custom {
    display: block !important;
}

/* ========================================
   24. STICKY FOOTER
   ======================================== */

html, body {
    margin: 0;
}

body:not(.home):not(.page-id-191):not(:has(.wpum-login-form)) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body:not(.home):not(.page-id-191):not(:has(.wpum-login-form)) #page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    flex: 1;
    width: 100%;
}

body:not(.home):not(.page-id-191):not(:has(.wpum-login-form)) .site-main,
body:not(.home):not(.page-id-191):not(:has(.wpum-login-form)) #content {
    flex: 1 0 auto;
}

body:not(.home):not(.page-id-191):not(:has(.wpum-login-form)) footer#page-footer,
body:not(.home):not(.page-id-191):not(:has(.wpum-login-form)) .site-footer {
    flex-shrink: 0;
    position: relative !important;
    z-index: 10;
    background-color: #ffffff;
    width: 100%;
}

/* ========================================
   25. MOBILE RESPONSIVE
   ======================================== */

@media (max-width: 1024px) {
    .woocommerce .products,
    .woocommerce-page .products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 40px 20px !important;
    }
}

@media (max-width: 768px) {
    /* Typography */
    h1, .h1-style, .entry-title { font-size: 24px !important; }
    h2, h3 { font-size: 20px !important; }
    body, p { font-size: 15px !important; }

    /* Formulare */
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last {
        width: 100% !important;
        margin-right: 0 !important;
        display: block !important;
    }

    /* Shop Grid */
    .woocommerce .products,
    .woocommerce-page .products {
        grid-template-columns: 1fr !important;
    }

    /* Blog Grid */
    .custom-post-list,
    .elementor-posts-container {
        grid-template-columns: 1fr;
    }

    /* Account */
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-MyAccount-navigation {
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
        padding-right: 0;
        padding-bottom: 20px;
        width: 100%;
    }

    /* Addresses */
    .u-columns.woocommerce-Addresses.col2-set.addresses {
        flex-direction: column !important;
        gap: 30px !important;
    }

    .u-column.woocommerce-Address,
    .u-column1.col-1.woocommerce-Address,
    .u-column2.col-2.woocommerce-Address {
        flex: 1 1 100% !important;
        min-width: 100% !important;
    }

    /* Auth Pages - Kein Scrollen */
    body.page-id-191,
    body:has(.wpum-login-form),
    body:has(.wpum-password-recovery-form),
    body:has(.wpum-registration-form),
    body.page-slug-passwort-vergessen,
    body.page-slug-registrieren,
    body#page262,
    body.passwort-zuruecksetzen {
        overflow: hidden !important;
        height: 100vh !important;
    }

    body:has(.wpum-registration-form) .entry-content,
    body:has(.wpum-password-recovery-form) .entry-content,
    body:has(.wpum-login-form) .entry-content,
    body.page-id-191 .entry-content,
    body#page262 .entry-content,
    body.passwort-zuruecksetzen .entry-content {
        max-width: 90% !important;
        padding: 20px !important;
        margin: 20px auto !important;
    }

    body:has(.wpum-registration-form) .entry-content img,
    body:has(.wpum-password-recovery-form) .entry-content img,
    body:has(.wpum-login-form) .entry-content img,
    body.page-id-191 .entry-content img,
    body#page262 .entry-content img,
    body.passwort-zuruecksetzen .entry-content img {
        max-width: 150px !important;
    }

    body:has(.wpum-registration-form) #footerbottom,
    body:has(.wpum-password-recovery-form) #footerbottom,
    body:has(.wpum-login-form) #footerbottom,
    body.page-id-191 #footerbottom,
    body#page262 #footerbottom,
    body.passwort-zuruecksetzen #footerbottom {
        padding: 10px 20px !important;
    }

    /* Copyright auf Mobile zentrieren */
    body:has(.wpum-registration-form) #footerbottom .row,
    body:has(.wpum-password-recovery-form) #footerbottom .row,
    body:has(.wpum-login-form) #footerbottom .row,
    body.page-id-191 #footerbottom .row,
    body#page262 #footerbottom .row,
    body.passwort-zuruecksetzen #footerbottom .row {
        flex-direction: column !important;
        gap: 10px !important;
    }

    body:has(.wpum-registration-form) #footerbottom .copyright,
    body:has(.wpum-password-recovery-form) #footerbottom .copyright,
    body:has(.wpum-login-form) #footerbottom .copyright,
    body.page-id-191 #footerbottom .copyright,
    body#page262 #footerbottom .copyright,
    body.passwort-zuruecksetzen #footerbottom .copyright {
        text-align: center !important;
        order: 1 !important;
    }

    body:has(.wpum-registration-form) #footerbottom .rechtliches,
    body:has(.wpum-password-recovery-form) #footerbottom .rechtliches,
    body:has(.wpum-login-form) #footerbottom .rechtliches,
    body.page-id-191 #footerbottom .rechtliches,
    body#page262 #footerbottom .rechtliches,
    body.passwort-zuruecksetzen #footerbottom .rechtliches {
        text-align: center !important;
        order: 2 !important;
    }

    body:has(.wpum-registration-form) #footerbottom .rechtliches ul,
    body:has(.wpum-password-recovery-form) #footerbottom .rechtliches ul,
    body:has(.wpum-login-form) #footerbottom .rechtliches ul,
    body.page-id-191 #footerbottom .rechtliches ul,
    body#page262 #footerbottom .rechtliches ul,
    body.passwort-zuruecksetzen #footerbottom .rechtliches ul {
        justify-content: center !important;
    }

    /* Registration Form Rows */
    body:has(.freiluft-registration-dashboard) .registration-container .form-row,
    body:has(.registration-container) .registration-container .form-row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    /* Touch Targets */
    .elementor-button,
    .woocommerce .button {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
        margin-right: 10px !important;
    }

    /* Footer */
    #footerbottom .row {
        flex-direction: column !important;
        gap: 15px !important;
    }

    #footerbottom .col-lg-4 {
        width: 100% !important;
        text-align: center !important;
    }

    #footerbottom .copyright,
    #footerbottom .freiluft-cloud,
    #footerbottom .rechtliches {
        text-align: center !important;
    }

    #footerbottom .rechtliches ul {
        justify-content: center !important;
    }

    /* Coming Soon Overlay */
    .freiluft-coming-soon-overlay .coming-soon-content {
        padding: 30px 25px !important;
        max-width: 90% !important;
    }

    .freiluft-coming-soon-overlay .coming-soon-logo img {
        max-width: 150px !important;
    }

    .freiluft-coming-soon-overlay .coming-soon-title {
        font-size: 20px !important;
    }

    /* Single Post */
    .post-author-avatar {
        width: 50px;
        height: 50px;
        bottom: 15px;
        right: 15px;
        border-width: 2px;
    }

    .post-title-custom {
        font-size: 24px !important;
    }

    /* Navbar Spacing */
    body .site-main,
    body #content,
    body main.site-main {
        padding-top: 80px !important;
    }
}

@media (max-width: 600px) {
    .woocommerce .products,
    .woocommerce-page .products {
        grid-template-columns: 1fr !important;
    }
}

/* ========================================
   26. SEPARATOR AUSBLENDEN
   ======================================== */

.wp-block-separator.is-style-dots.has-alpha-channel-opacity {
    display: none !important;
}

.wp-block-separator.is-style-dots.has-alpha-channel-opacity + * {
    margin-top: 60px !important;
}

/* ========================================
   27. LEERER WARENKORB ICON ENTFERNEN
   ======================================== */

.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    display: none !important;
}