/*
Theme Name:   LuxProperties Theme
Theme URI:    https://luxproperties.lu
Description:  Premium Child Theme für Lux Properties s.àr.l. – basiert auf Houzez. Strikt nach LuxProperties Brand Board: Midnight Navy + Gold, Playfair Display + Inter + Manrope. Enthält Premium-CSS, Bug-Hotfixes, Logo-Fix, Mobile-Optimierungen und Sicherheits-Header.
Author:       Lux Properties / Cowork
Author URI:   https://luxproperties.lu
Template:     houzez
Version:      1.11.12
License:      Proprietary
Text Domain:  luxproperties
*/

/* =====================================================
   LUXPROPERTIES PREMIUM CSS – v1.1
   Brand: Midnight Navy + Gold | Playfair Display + Inter
   Sections:
     1. Google Fonts
     2. Brand Variables (Farbpalette + Tokens)
     3. Typography
     4. Premium Buttons (Primary Gold, Secondary Navy, Ghost)
     5. Forms (Inputs, Labels, Focus, Validation)
     6. Property Cards (Premium-Hover)
     7. Sections & Spacing
     8. Header / Logo (inkl. Aspect-Ratio-Fix)
     9. Mobile-Tweaks
    10. Bug-Hotfixes (Demo-Hinweis, tel:-Link, time-diff)
    11. Accessibility & Reduced Motion
   ===================================================== */

/* === 1. Google Fonts === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@300;400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

/* === 2. Brand Variables === */
:root {
    --lux-navy: #0B1F33;
    --lux-navy-deep: #081826;
    --lux-navy-mid: #0d2740;
    --lux-navy-card: #102a44;
    --lux-navy-hover: #13314f;
    --lux-royal: #1D4E89;
    --lux-sky: #A6C6E8;
    --lux-gold: #C8A96A;
    --lux-gold-hover: #b8995a;
    --lux-gold-light: #E8D8B0;
    --lux-gold-soft: rgba(200, 169, 106, 0.12);
    --lux-sand: #F4F1EC;
    --lux-light-gray: #E5E7EB;
    --lux-charcoal: #222529;
    --lux-text: #1a1a1a;
    --lux-text-soft: #5b6b7a;
    --lux-shadow-sm: 0 2px 8px rgba(11, 31, 51, 0.06);
    --lux-shadow-md: 0 8px 24px rgba(11, 31, 51, 0.10);
    --lux-shadow-lg: 0 18px 40px rgba(11, 31, 51, 0.16);
    --lux-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* === 3. Typography === */
body,
.houzez-body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--lux-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4,
.houzez_section_title,
.section-title,
.listing-title h2,
.listing-title h2 a,
.elementor-heading-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    letter-spacing: -0.01em;
    color: var(--lux-navy);
    font-weight: 600;
}

/* Property-Titel auf Cards: Title-Case, kein UPPERCASE */
.listing-title h2 a,
.listing-title h2,
.item-title h2 a {
    text-transform: none !important;
}

.btn, button, .menu, .nav, .badge, .item-price, label {
    font-family: 'Manrope', 'Inter', sans-serif !important;
    letter-spacing: 0.01em;
}

/* === 4. Premium Buttons === */
.btn-primary,
.btn-houzez,
button.btn-primary,
input[type="submit"].btn-primary,
.elementor-button-primary,
.houzez-form-submit-btn,
button[type="submit"]:not(.elementor-form-message-error button) {
    background: var(--lux-gold) !important;
    border: 1px solid var(--lux-gold) !important;
    color: #fff !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.85rem;
    padding: 14px 32px !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 14px rgba(200, 169, 106, 0.28) !important;
    transition: all 0.35s var(--lux-ease) !important;
}
.btn-primary:hover,
button[type="submit"]:hover {
    background: var(--lux-gold-hover) !important;
    border-color: var(--lux-gold-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(200, 169, 106, 0.42) !important;
}

.btn-secondary,
.btn-default {
    background: transparent !important;
    border: 1.5px solid var(--lux-navy) !important;
    color: var(--lux-navy) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 13px 30px !important;
    border-radius: 4px !important;
    transition: all 0.35s var(--lux-ease) !important;
}
.btn-secondary:hover {
    background: var(--lux-navy) !important;
    color: #fff !important;
}

.btn-ghost {
    background: transparent !important;
    border: none !important;
    color: var(--lux-navy) !important;
    font-weight: 600 !important;
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* === 5. Forms === */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="url"], input[type="search"], input[type="password"],
textarea, select,
.elementor-field-textual,
.houzez-form .form-control,
.form-control {
    background: #fff !important;
    border: 1px solid var(--lux-light-gray) !important;
    border-radius: 4px !important;
    padding: 14px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    color: var(--lux-text) !important;
    transition: border-color 0.25s var(--lux-ease), box-shadow 0.25s var(--lux-ease) !important;
    box-shadow: none !important;
}

input:focus, textarea:focus, select:focus,
.elementor-field-textual:focus,
.form-control:focus {
    border-color: var(--lux-gold) !important;
    box-shadow: 0 0 0 3px var(--lux-gold-soft) !important;
    outline: none !important;
}

input::placeholder, textarea::placeholder {
    color: #9ca3af !important;
    font-weight: 400;
}

label, .elementor-field-label, .control-label {
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--lux-navy) !important;
    margin-bottom: 6px !important;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--lux-gold);
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.elementor-form,
.houzez-contact-form,
.houzez-form-wrap {
    background: #fff;
    padding: 32px !important;
    border-radius: 8px;
    box-shadow: var(--lux-shadow-md);
}

.elementor-message-success {
    background: #f0fdf4 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0;
    padding: 14px 18px !important;
    border-radius: 4px;
    font-weight: 500;
}

.elementor-message-danger,
.elementor-form-message-error {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca;
    border-radius: 4px;
}

/* === 6. Property Cards === */
.listing-item,
.property-listing,
.item-listing-wrap {
    border-radius: 8px !important;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--lux-shadow-sm);
    border: 1px solid rgba(11, 31, 51, 0.05);
    transition: transform 0.45s var(--lux-ease), box-shadow 0.45s var(--lux-ease);
}
.listing-item:hover,
.property-listing:hover,
.item-listing-wrap:hover {
    transform: translateY(-6px);
    box-shadow: var(--lux-shadow-lg);
}
.listing-item .item-thumb img,
.property-listing .item-thumb img {
    transition: transform 0.8s var(--lux-ease);
}
.listing-item:hover .item-thumb img,
.property-listing:hover .item-thumb img {
    transform: scale(1.06);
}

.listing-item .item-price,
.property-listing .item-price,
.item-price-wrap {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 700 !important;
    color: var(--lux-gold) !important;
    letter-spacing: 0.01em;
}

.tag-featured,
.featured-label,
.badge-featured {
    background: var(--lux-gold) !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.7rem !important;
    padding: 6px 12px !important;
    border-radius: 2px;
}

/* === 7. Sections & Spacing === */
.houzez-modules,
.section,
.houzez-section {
    padding: 80px 0;
}

.bg-light,
.bg-soft {
    background: var(--lux-sand) !important;
}

/* === 8. Header / Logo — Größe GLOBAL gelockt =============================
   Logo-Höhe ist auf JEDER Page identisch (Home, Contact, About, Nos Objets,
   Property-Detail …). Houzez-Parent-Theme würde sonst auf Splash-Pages eine
   andere Größe rendern als auf regulären Pages — das fixiert es. */
.main-header img,
.logo img,
.logo-wrap img,
.logo a img,
header img.logo,
header .logo img,
.navbar-brand img,
.houzez-mobile-nav img,
.houzez-mobile-nav-wrap img,
[class*="logo"] img,
.splash-page-wrap img,
.splash-page img,
.splash-page-wrap .splash_top_logo img,
.splash_top_logo img,
.callus_logo img,
#header-section .logo img,
#header-section.lux-scrolled .logo img,
.header-desktop .logo img,
.header-desktop.lux-scrolled .logo img,
header.sticky-nav-area.houzez-in-view .logo img {
    object-fit: contain !important;
    height: 70px !important;        /* harte Höhe — kein Sprung beim Scroll/Page-Wechsel */
    max-height: 70px !important;
    min-height: 70px !important;
    width: auto !important;
    max-width: 100% !important;
}

.main-header,
#header-container {
    transition: all 0.35s var(--lux-ease);
}

/* === 9. Mobile-Tweaks === */
@media (max-width: 768px) {
    /* Mobile-Logo: ÜBERALL exakt 56px hoch — Splash-Logos und reguläre Logos
       teilen die gleiche Höhe, damit kein Größen-Mismatch zwischen Pages
       entsteht. */
    .main-header img.logo,
    .logo img,
    .logo a img,
    .houzez-mobile-nav img,
    .houzez-mobile-nav-wrap img,
    .splash-page img,
    .splash-page-wrap img,
    .splash-page-wrap .splash_top_logo img,
    .splash-page-wrap .callus_logo img,
    .splash_top_logo img,
    .callus_logo img,
    .header-mobile .logo img,
    .header-main-wrap .logo img,
    body.lux-scrolled .header-mobile .logo img,
    body.lux-scrolled .header-main-wrap .logo img {
        height: 56px !important;
        max-height: 56px !important;
        min-height: 56px !important;
        width: auto !important;
    }
    .btn, button, .houzez-filter-btn {
        min-height: 48px;
        padding: 14px 24px !important;
        font-size: 0.85rem !important;
    }
    .elementor-form,
    .houzez-contact-form,
    .houzez-form-wrap {
        padding: 20px !important;
    }
    h1 { font-size: 2rem !important; }
    h2 { font-size: 1.6rem !important; }
}

/* === 10. Bug-Hotfixes === */

/* #5: Register-Tab im Login-Popup ausblenden */
#register-form-tab {
    display: none !important;
}
.modal-houzez .nav-tabs a[href="#register-form-tab"],
.modal-content .nav-tabs a[href="#register-form-tab"],
ul.nav-tabs li a[href="#register-form-tab"] {
    display: none !important;
}

/* #9: tel:-Link auf Mobile */
a[href^="tel:"] {
    white-space: nowrap;
    word-break: keep-all;
    -webkit-tap-highlight-color: rgba(200, 169, 106, 0.2);
}

/* #13: doppelte Property-Meta */
.property-info-meta + .property-info-meta,
.single-property-meta + .single-property-meta {
    display: none !important;
}

/* #18: leere Social-Login-Wrapper */
.social-login-wrap:empty,
.houzez-social-login:empty {
    display: none !important;
}

/* === 12. Mobile-Header Navy (Logo-Visibility) === */
/* whity-Kopie.png ist weiss → braucht dunklen Hintergrund auf Mobile.
   Brand-konform (Brand-Board zeigt Navy-Header). */
@media (max-width: 991px) {
    .main-header,
    #header-section,
    .header-desktop,
    .houzez-mobile-nav-wrap,
    .houzez-header-mobile,
    .header-inner-wrap {
        background: var(--lux-navy) !important;
    }
    .main-header a:not(.btn):not(.btn-primary):not(.btn-secondary),
    .houzez-mobile-nav a,
    .navbar-nav > li > a,
    .navbar-toggler,
    .top-bar,
    .top-bar a {
        color: #ffffff !important;
    }
    .main-header,
    #header-section {
        border-bottom: 1px solid rgba(200, 169, 106, 0.20);
        box-shadow: 0 2px 18px rgba(0, 0, 0, 0.15);
    }
}

/* Sicherheits-Drop-Shadow auf das Logo wurde in den Crossfade-Filter-Stack
   weiter unten integriert (Initial-Filter + Scrolled-Filter haben dieselbe
   Funktions-Anzahl, damit der Browser zwischen ihnen sauber interpoliert).
   Diese alte Regel ist deshalb entfernt. */

/* === 14. Mobile-Nav Lesbarkeit === */
@media (max-width: 991px) {
    /* Burger-Icon weiss */
    .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
    }
    .hamburger span, .menu-toggle span, .houzez-mobile-nav-toggle span {
        background-color: #ffffff !important;
    }

    /* Off-Canvas-Menue */
    .houzez-mobile-nav, .houzez-mobile-nav-content, .houzez-off-canvas,
    .mobile-menu-wrap, .navbar-collapse, #header-mobile-nav, .mm-menu {
        background: var(--lux-navy) !important;
        color: #fff !important;
    }

    /* Menu-Items */
    .houzez-mobile-nav a, .navbar-nav a, .mobile-menu a,
    .navbar-collapse a, .mm-menu a, #header-mobile-nav a,
    .houzez-mobile-nav-content a, .houzez-mobile-nav .nav-link {
        color: #ffffff !important;
        font-family: 'Manrope', sans-serif !important;
        font-weight: 500;
    }

    /* Active / Hover = Gold */
    .houzez-mobile-nav a:hover, .houzez-mobile-nav a:focus,
    .navbar-nav a:hover, .nav-link:hover, .nav-link.active,
    .navbar-nav .current_page_item > a,
    .navbar-nav .current-menu-item > a {
        color: var(--lux-gold) !important;
    }

    /* Item-Border */
    .houzez-mobile-nav li, .navbar-nav > li, .mobile-menu li {
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    /* Submenu */
    .houzez-mobile-nav .sub-menu, .navbar-nav .sub-menu {
        background: rgba(11,31,51,0.92) !important;
        border-left: 2px solid var(--lux-gold);
        padding-left: 12px;
    }

    /* Icons */
    .main-header svg, .main-header i,
    .houzez-mobile-nav svg, .houzez-mobile-nav i {
        color: #ffffff !important;
        fill: #ffffff !important;
    }

    /* Kontakt-Button bleibt Gold */
    .main-header .btn-primary {
        background: var(--lux-gold) !important;
        color: #fff !important;
        border-color: var(--lux-gold) !important;
    }

    /* User-Area + Search */
    .houzez-user-area, .houzez-user-area a,
    .login-register-wrap, .login-register-wrap a {
        color: #fff !important;
    }
    .mobile-search-form input, .houzez-mobile-search input {
        background: rgba(255,255,255,0.08) !important;
        border: 1px solid rgba(255,255,255,0.15) !important;
        color: #fff !important;
    }
    .mobile-search-form input::placeholder,
    .houzez-mobile-search input::placeholder {
        color: rgba(255,255,255,0.6) !important;
    }
}

/* === 15.99 PERFORMANCE — DEAKTIVIERT (verursachte Scroll-Pop) ===
   content-visibility + contain-intrinsic-size haben Layout-Jumps beim
   Scrollen erzeugt (Element rendert sich „plötzlich" wenn es in den
   Viewport kommt → wirkt wie „2× aufploppt" oder „Scroll-zurück-Buggt").
   Deaktiviert — Performance-Trade-off zugunsten von smooth-scroll. */
/* Original-Regeln entfernt, hier nur Platzhalter-Kommentar. */

/* === 15.5 EYEBROW-Style — Global einheitlich auf allen Seiten ===
   Pattern aus Contact-Hero: GOLD-CAPS „—— NOUS CONTACTER ——"
   Wird hier global definiert, damit Home (.houzez_section_subtitle),
   About, Nos Objets, Property-Detail alle den gleichen Eyebrow-Stil bekommen.

   WICHTIG: Mit `data-lux-long` (von JS gesetzt für Texte > 60 Zeichen)
   ausgeschlossen, damit lange Description-Texte (z.B. auf About) NICHT
   fälschlich als Eyebrow-Caps mit Linien gerendert werden.

   Selektoren:
   - .lux-eyebrow                        — bestehende Contact-Klasse
   - .houzez_section_subtitle            — Houzez section-title subtitle (Home/About)
   - .section-eyebrow                    — Generic-Klasse für zukünftige Sections
*/
.lux-eyebrow:not(.lux-contact-hero .lux-eyebrow):not(.lux-form-intro .lux-eyebrow):not(.lux-address-section-title .lux-eyebrow):not([data-lux-long]),
.houzez_section_subtitle:not([data-lux-long]),
.section-eyebrow:not([data-lux-long]) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 0 auto 18px !important;
    padding: 0 !important;
    color: var(--lux-gold, #C8A96A) !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.78rem !important;       /* ~12.5px */
    font-weight: 600 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    background: transparent !important;
    border: 0 !important;
    /* Center on its parent if parent is text-aligned center, else respect parent */
    text-align: center !important;
}
.lux-eyebrow:not(.lux-contact-hero .lux-eyebrow):not(.lux-form-intro .lux-eyebrow):not(.lux-address-section-title .lux-eyebrow):not([data-lux-long])::before,
.lux-eyebrow:not(.lux-contact-hero .lux-eyebrow):not(.lux-form-intro .lux-eyebrow):not(.lux-address-section-title .lux-eyebrow):not([data-lux-long])::after,
.houzez_section_subtitle:not([data-lux-long])::before,
.houzez_section_subtitle:not([data-lux-long])::after,
.section-eyebrow:not([data-lux-long])::before,
.section-eyebrow:not([data-lux-long])::after {
    content: '' !important;
    width: 32px !important;
    height: 1px !important;
    background: var(--lux-gold, #C8A96A) !important;
    opacity: 0.6 !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

/* Parent-Container helper: wenn ein .houzez_section_subtitle in einem Section-
   Header-Wrap liegt, soll der Container die Kinder zentrieren. Houzez gibt
   meist schon text-align:center, wir verstärken nur. */
.elementor-widget-houzez_elementor_section_title,
.houzez_section_title,
.section-title-wrap {
    text-align: center;
}
.elementor-widget-houzez_elementor_section_title .houzez_section_subtitle {
    margin-bottom: 12px !important;
}

/* === 15.55 HOME PROPERTY-SLIDESHOW (ersetzt Inquiry-Form) =====================
   Ken Burns + Cinematic Reveal · 5s Auto-Rotate · Premium Gold-Akzente
============================================================================ */
.lux-home-slideshow {
    position: relative;
    width: 100%;
    max-width: 1280px;
    margin: 64px auto;
    height: 560px;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(13, 39, 64, 0.55), rgba(11, 31, 51, 0.40));
    /* Brand-Gold Border (dezent, edel) */
    border: 1px solid rgba(200, 169, 106, 0.28);
    box-shadow:
        inset 0 1px 0 rgba(232, 216, 176, 0.18),
        0 24px 60px -16px rgba(0, 0, 0, 0.65),
        0 0 0 1px rgba(200, 169, 106, 0.08);
    isolation: isolate;
}
@media (max-width: 991px) {
    .lux-home-slideshow { height: 460px; margin: 48px 20px; }
}
@media (max-width: 575px) {
    .lux-home-slideshow { height: 380px; margin: 32px 12px; border-radius: 16px; }
}

/* Progress-Bar oben — Gold-Line die in 5s füllt → triggert dann den Bildwechsel.
   Brand-Gold (#C8A96A) mit hellem Highlight (#E8D8B0) in der Mitte.
   v1.7.10: Animation NUR aktiv wenn Class .lux-progress-run gesetzt ist.
   JS toggled die Class bei jedem go() → CSS-Animation startet synchron neu bei 0%.
   So sind Progress-Bar und Bildwechsel garantiert in Sync (5s einer Iteration). */
.lux-home-slideshow::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 0%;
    height: 3px;
    background: linear-gradient(90deg,
        #C8A96A 0%,
        #E8D8B0 50%,
        #C8A96A 100%);
    box-shadow: 0 0 10px rgba(200, 169, 106, 0.50);
    z-index: 20;
    /* keine transition — würde mit Animation-Restart kollidieren */
}
.lux-home-slideshow.lux-progress-run::before {
    animation: luxSlideProgress 5s linear forwards;
}
@keyframes luxSlideProgress {
    0%   { width: 0%; }
    100% { width: 100%; }
}

.lux-slide {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    pointer-events: none;
    text-decoration: none;
    color: #fff;
    overflow: hidden;
    /* Cinematic reveal: clip-path animation für edle Transition */
    clip-path: inset(0 100% 0 0);   /* hidden: right-clipped */
    transition:
        opacity 1.4s cubic-bezier(0.22, 0.61, 0.36, 1),
        clip-path 1.4s cubic-bezier(0.65, 0, 0.35, 1);
    will-change: clip-path, opacity;
}
.lux-slide--active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
    clip-path: inset(0 0% 0 0);     /* reveal: full visible */
}

.lux-slide__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.12) translateZ(0);
    filter: brightness(0.95);
    transition:
        transform 6s cubic-bezier(0.22, 0.61, 0.36, 1),
        filter 1.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lux-slide__bg--noimg {
    background: linear-gradient(135deg, #0d2740, #0B1F33);
}
/* Ken Burns: aktive Slide zoomt langsam von 1.12 → 1.0 (kein „aufpoppen") */
.lux-slide--active .lux-slide__bg {
    transform: scale(1.0) translateZ(0);
    filter: brightness(1);
}

/* Dark Shade-Overlay über dem Bild für Lesbarkeit des Overlay-Texts */
.lux-slide__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(11, 31, 51, 0.10) 0%,
        rgba(11, 31, 51, 0.20) 40%,
        rgba(11, 31, 51, 0.80) 90%,
        rgba(11, 31, 51, 0.92) 100%
    );
    pointer-events: none;
}

.lux-slide__overlay {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 36px 48px 44px;
    z-index: 2;
    text-align: left;
}
@media (max-width: 575px) {
    .lux-slide__overlay { padding: 24px 22px 28px; }
}

.lux-slide__badge {
    display: inline-block;
    padding: 7px 18px;
    /* Brand-Gold Gradient — matter, edel (nicht zu hell) */
    background: linear-gradient(135deg,
        #E8D8B0 0%,    /* Gold-Light (Highlight oben links) */
        #C8A96A 50%,   /* Brand-Gold */
        #B8995A 100%); /* Brand-Gold dunkler */
    color: #0B1F33;
    font-family: 'Manrope', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    border-radius: 999px;
    margin-bottom: 14px;
    /* Dezenter Brand-Gold-Shadow */
    box-shadow:
        0 6px 18px -2px rgba(200, 169, 106, 0.45),
        inset 0 1px 0 rgba(232, 216, 176, 0.35);
}
.lux-slide__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 600;
    color: #ffffff;
    /* line-height etwas erhöht damit Descender (g, j, y, Á) nicht abgeschnitten werden */
    line-height: 1.25;
    letter-spacing: -0.015em;
    margin: 0 0 8px;
    padding-bottom: 2px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    text-transform: capitalize;
    /* Max 2 Zeilen — Sicherheits-Marge gegen Sub-Pixel-Clipping */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}
.lux-slide__addr {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 12px;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.40);
    /* Max 2 Zeilen — Luxemburger Adressen sind oft länger als eine Zeile */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: clip;
    white-space: normal;
    max-width: 720px;
    word-break: break-word;
}
.lux-slide__price {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    font-weight: 500;
    /* Brand-Gold-Light — matter, edler statt grell */
    color: #E8D8B0;
    margin: 0 0 22px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
    letter-spacing: -0.005em;
}
.lux-slide__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 28px;
    background-color: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 999px;
    color: #ffffff;
    font-family: 'Manrope', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px);
    transition: background-color 0.30s var(--lux-ease, ease),
                border-color 0.30s var(--lux-ease, ease),
                transform 0.30s var(--lux-ease, ease);
}
.lux-slide:hover .lux-slide__cta {
    background-image: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 50%, #B8995A 100%);
    background-color: #C8A96A;
    border-color: #C8A96A;
    color: #0B1F33;
    transform: translateX(4px);
    box-shadow:
        0 10px 26px -6px rgba(200, 169, 106, 0.55),
        inset 0 1px 0 rgba(232, 216, 176, 0.35);
}
.lux-slide__cta svg { transition: transform 0.30s var(--lux-ease, ease); }
.lux-slide:hover .lux-slide__cta svg { transform: translateX(3px); }

/* Pagination Dots */
.lux-slide-dots {
    position: absolute;
    bottom: 16px;
    right: 24px;
    z-index: 10;
    display: flex;
    gap: 8px;
}
@media (max-width: 575px) {
    .lux-slide-dots { right: 16px; bottom: 12px; gap: 6px; }
}
.lux-slide-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    border: 0;
    cursor: pointer;
    padding: 0;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.lux-slide-dot:hover {
    background: rgba(232, 216, 176, 0.55);
    transform: scale(1.15);
}
.lux-slide-dot--active {
    /* Brand-Gold radial — matter, edel */
    background: radial-gradient(
        circle at 35% 30%,
        #E8D8B0 0%,
        #C8A96A 65%,
        #B8995A 100%);
    transform: scale(1.4);
    box-shadow:
        0 0 12px rgba(200, 169, 106, 0.65),
        0 0 4px rgba(200, 169, 106, 0.85),
        inset 0 1px 0 rgba(232, 216, 176, 0.40);
}

/* prefers-reduced-motion: kein Ken Burns, kein crossfade, kein progress-bar */
@media (prefers-reduced-motion: reduce) {
    .lux-slide { transition: opacity 0.3s ease; clip-path: none; }
    .lux-slide--active { clip-path: none; }
    .lux-slide__bg { transition: none; transform: none !important; filter: none !important; }
    .lux-home-slideshow::before { animation: none; width: 0; }
}

/* === 15.6 BUG-SWEEP-FIXES (Mobile Overflow + CLS + Kontraste) === */

/* a) FOOTER Mobile-Overflow auf ALLEN Pages — Spalten brechen unter 768px */
@media (max-width: 767.98px) {
    footer .col-lg-3,
    footer .col-lg-6,
    footer .col-md-6,
    footer [class*="col-lg-"],
    footer [class*="col-md-"] {
        max-width: 100% !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    footer .footer-widget,
    footer .widget-header,
    footer .menu-footer-menu-container,
    footer .footer-widget ul.menu,
    footer .footer-widget ul.menu li {
        max-width: 100% !important;
        width: auto !important;
        white-space: normal !important;
        word-wrap: break-word !important;
    }
    /* Footer-Container darf nicht über 100vw raus */
    footer,
    footer .container,
    footer .row {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}

/* b) Contact-Page Mobile-Cards Overflow — .lux-address-card / .lux-social-block */
@media (max-width: 575px) {
    .lux-address-card,
    .lux-social-block,
    .lux-contact-card,
    .lux-team-card,
    .lux-trust-card {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* c) Status-Tabs auf Home — Kontrast 2.47 → opak Gold/Navy */
body.home .status-tabs .nav-link,
body.home .status-tab-js,
body.home #houzez-search-tabs-wrap .nav-link,
body.home .houzez-status-tabs .nav-link {
    background-color: rgba(11, 31, 51, 0.85) !important;
    background-image: none !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(200, 169, 106, 0.30) !important;
    font-weight: 600 !important;
}
body.home .status-tabs .nav-link.active,
body.home .status-tab-js.active,
body.home #houzez-search-tabs-wrap .nav-link.active {
    background-color: var(--lux-gold, #C8A96A) !important;
    background-image: linear-gradient(135deg, #D4B576 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
    border-color: var(--lux-gold, #C8A96A) !important;
}

/* d) Search-Placeholder Kontrast (Houzez „à la recherche de") */
.btn.dropdown-toggle.btn-light::placeholder,
.btn.dropdown-toggle.btn-light .filter-option-inner-inner.placeholder,
.btn.dropdown-toggle.btn-light[title*="recherche"] {
    color: rgba(11, 31, 51, 0.85) !important;
    font-weight: 500 !important;
}

/* e) CLS-Prevention + Safari-kompatibel — feste height statt aspect-ratio */
.item-listing-wrap .item-thumb,
.item-listing-wrap .listing-thumb,
.property-listing .item-thumb,
.post-wrap .item-thumb {
    position: relative;
    width: 100%;
    height: 220px;        /* fixe Höhe — Safari-kompatibel */
    background: rgba(11, 31, 51, 0.30);
    overflow: hidden;
}
/* Skeleton-Shimmer während Bild lädt — dezentes Gold-Glow von links nach rechts.
   Reduziert „lange leere dunkle Box"-Eindruck bei langsamen Verbindungen / Hard-Reload. */
.lux-img-loading {
    background: linear-gradient(
        100deg,
        rgba(11, 31, 51, 0.45) 30%,
        rgba(200, 169, 106, 0.10) 50%,
        rgba(11, 31, 51, 0.45) 70%
    ) !important;
    background-size: 200% 100% !important;
    animation: luxImgShimmer 1.6s ease-in-out infinite;
}
@keyframes luxImgShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.lux-img-loaded img {
    animation: luxImgFadeIn 0.45s var(--lux-ease, ease-out) both;
}
@keyframes luxImgFadeIn {
    from { opacity: 0; transform: scale(1.02); }
    to   { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .lux-img-loading { animation: none; }
    .lux-img-loaded img { animation: none; }
}
.item-listing-wrap .item-thumb img,
.item-listing-wrap .listing-thumb img,
.property-listing img.wp-post-image,
.post-wrap img.attachment-property-thumb-medium {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
    max-width: 100%;
}

/* f) CLS: Slick-Slider min-height reservieren */
.slick-slider:not(.slick-initialized) {
    min-height: 280px;
    background: rgba(11, 31, 51, 0.30);
}
.slick-slider .slick-track {
    will-change: transform;
}

/* g) Body NIEMALS horizontal scroll global
   WICHTIG: `overflow-x: hidden` auf html UND body kann vertikalen Scroll
   und sticky-Position kaputt machen → wir nutzen modernen `overflow-x: clip`,
   der KEINEN Scroll-Container erzeugt (im Gegensatz zu hidden). */
html {
    overflow-x: clip;
}
body {
    overflow-x: clip;
    max-width: 100vw;
}
/* Fallback für Browsers ohne `clip`-Support (sehr alt) — Safari < 16 */
@supports not (overflow-x: clip) {
    html { overflow-x: hidden; }
    body { overflow-x: hidden; }
}

/* === 15.7 GLOBAL Bootstrap-Select Doppel-Box-Prevention ===
   Houzez wickelt jeden <select> in .bootstrap-select + .dropdown-toggle.
   Wenn beide Box-Styling bekommen (border + bg + radius) → Doppel-Box.
   Konvention: Outer-Wrapper IMMER transparent, Inner-Toggle ist die Box.
   Greift global auf ALLEN Pages außer Houzez-Admin und Suchformulare die
   bereits korrekt sind. */
body .bootstrap-select.form-control,
body .dropdown.bootstrap-select,
body div.bootstrap-select.show-tick,
body div.bootstrap-select.show-menu-arrow {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
/* Inner-Toggle: volle Breite damit das visuelle Box-Bound dem ursprünglichen
   Wrapper entspricht (User sieht keinen Unterschied). */
body .bootstrap-select > .dropdown-toggle {
    width: 100% !important;
}

/* === 16. PRECISE-NAV-FIX (Houzez Slideout-Menu) === */
#nav-mobile,
.nav-mobile,
div#nav-mobile.slideout-menu,
.slideout-menu,
.slideout-menu-left {
    background: var(--lux-navy) !important;
    color: #fff !important;
}
#mobile-main-nav,
.mobile-navbar-nav,
.navbar-nav.mobile-navbar-nav {
    background: var(--lux-navy) !important;
}
#nav-mobile .nav-link,
#mobile-main-nav .nav-link,
.mobile-navbar-nav .nav-link,
.mobile-navbar-nav a,
#nav-mobile a,
#nav-mobile li,
#nav-mobile li a {
    background: transparent !important;
    color: #ffffff !important;
    font-family: 'Manrope', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    font-size: 14px !important;
}
/* Touch-Target + Premium-Spacing für Slideout-Links */
#nav-mobile .nav-link,
#mobile-main-nav .nav-link,
.mobile-navbar-nav .nav-link,
#nav-mobile li > a,
#mobile-main-nav li > a {
    padding: 18px 22px !important;
    line-height: 1.3 !important;
    transition: color 0.22s var(--lux-ease, cubic-bezier(0.22, 0.61, 0.36, 1)),
                background-color 0.22s var(--lux-ease, cubic-bezier(0.22, 0.61, 0.36, 1)) !important;
}
#nav-mobile li > a:hover,
#nav-mobile li > a:active,
#mobile-main-nav li > a:hover,
#mobile-main-nav li > a:active {
    background-color: rgba(200, 169, 106, 0.08) !important;
}
/* Aktive Seite mit zartem Gold-Border-Akzent */
#nav-mobile .current-menu-item > a,
#nav-mobile .current_page_item > a,
#nav-mobile .active > a,
#mobile-main-nav .current-menu-item > a,
#mobile-main-nav .current_page_item > a {
    box-shadow: inset 3px 0 0 0 var(--lux-gold) !important;
    background-color: rgba(200, 169, 106, 0.05) !important;
}
/* Slideout-Overlay: dunkler Backdrop wenn Menü offen, für Tap-to-Close-Feel */
.slideout-open .slideout-panel::before,
body.lux-mobile-menu-open::before {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(8, 24, 38, 0.55);
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
    z-index: 9990;
    pointer-events: auto;
    animation: luxFadeIn 0.25s var(--lux-ease, ease-out);
}
@keyframes luxFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
#nav-mobile .nav-link:hover,
#mobile-main-nav .nav-link:hover,
#nav-mobile a:hover,
#nav-mobile .current-menu-item > a,
#nav-mobile .current_page_item > a,
#nav-mobile .active > a,
.mobile-navbar-nav .nav-link:hover,
.mobile-navbar-nav .current-menu-item > a {
    color: var(--lux-gold) !important;
}
#nav-mobile li,
#mobile-main-nav li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
#nav-mobile li:last-child,
#mobile-main-nav li:last-child {
    border-bottom: none !important;
}
#nav-mobile .sub-menu,
#mobile-main-nav .sub-menu,
.mobile-navbar-nav .sub-menu {
    background: rgba(11, 31, 51, 0.95) !important;
    border-left: 2px solid var(--lux-gold);
    padding-left: 12px !important;
}

/* ==========================================================================
   NAVBAR PREMIUM v3 — Single Source of Truth (komplett rebuilt)
   ==========================================================================
   Ein einziger Mechanismus für ALLE Pages: --lux-scroll-progress (0..1).
   Wird von initNavbar() in luxproperties-enhance.js pro requestAnimationFrame
   gesetzt. ALLE Visual-Properties (background, blur, border, shadow, logo
   opacity) sind direkt an die Variable gebunden → 1 Pixel Scroll = 1 Pixel
   Fade-Schritt, synchron, ohne Lücke.

   Color-Switches für Links/Icons benutzen die discrete `lux-scrolled`-Klasse
   (auch von initNavbar gesetzt), weil Text-Color-Mid-Tones nicht lesbar wären.

   Logo-Crossfade nutzt Dual-Image-Overlay: Houzez liefert das weiße Splash-
   Logo (whity-Kopie.png), das JS injiziert das echte Brand-Logo (simple_logo)
   als zweites <img class="lux-dark-logo"> in denselben <a>-Container. Beide
   stehen auf demselben CSS-Grid-Cell und faden per opacity.

   Houzez-Klassen die wir abdecken:
     #header-section, .header-desktop, .header-main-wrap, .header-mobile,
     .sticky-nav-area.houzez-in-view (Houzez' eigener Sticky-Trigger)

   Layout-Annahmen:
     Desktop-Header voll-Höhe (~151px), Mobile-Header 60px
     Logo-Größen sind in den Logo-Größen-Lock-Regeln oben (Z. ~278-353) fixiert
============================================================================ */

/* ============== A. POSITION & LAYOUT ====================================== */
/* Desktop-Sticky: sobald lux-scrolled oder Houzez-Sticky-Klasse aktiv ist,
   wird der Header fixed an Top:0. Funktioniert auf JEDER Page identisch. */
#header-section.lux-scrolled,
#header-section.sticky-nav-area.houzez-in-view,
.header-desktop.lux-scrolled,
.header-desktop.sticky-nav-area.houzez-in-view {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
}

/* ============== A2. SNAP-BACK-FIX (v1.11.6) ============================= */
/* Bug: Beim langsamen Scrollen am Page-Top "buggte" die Seite zurück nach
   oben. Ursache: Houzez-JS setzt inline `margin-top: 151px` auf .main-wrap
   synchron zu unserem .lux-scrolled-Toggle (Houzez fixed-Header Kompensation).
   → bei scrollY > 50 schiebt sich der Content um 151px nach unten,
   document.scrollHeight wächst um ~76px, body.scrollHeight schrumpft um
   ~75px → Browser-Scroll-Anchor adjustiert ungewollt → Page springt zurück.

   Fix (scoped): NUR auf der Home-Splash-Page wo der Hero by-design
   transparent UNTER dem fixed-Header liegt, neutralisieren wir die
   Houzez-margin-top-Kompensation. Damit bleibt main-wrap.margin-top
   konstant 0 → kein Layout-Shift beim Scroll-Trigger → kein Snap-Back.

   Auf den Regular-Pages (About/Contact/Nos-Objets/etc.) bleibt das
   Houzez-Verhalten unverändert (margin-top: 151px), weil dort der Content
   nicht unter dem Header durchscheinen soll — das CSS-Selector ist strikt
   auf `body.home.lux-scrolled` gescoped. */
body.home.lux-scrolled .main-wrap,
body.home.lux-scrolled .main-wrap.slideout-panel,
body.home.lux-scrolled .main-wrap[style*="margin-top"] {
    margin-top: 0 !important;
}

/* ============== A3. FILTER-DROPDOWN Z-INDEX FIX (v1.11.10) ===========================
   Bootstrap-Select-Dropdowns (.chambres, .surface, .city, .id-prop usw.) in der
   Filter-Bar auf /nos-objets/, /search-results/ und Archive-Pages: das geöffnete
   Panel lag VISUELL HINTER `section.listing-wrap` (z-index:1) — obwohl der Wrap
   z-index:1050 hatte.

   ROOT CAUSE (v1.11.10 entdeckt):
   `section.advanced-search` (Parent von Filter-Form, enthält die Bootstrap-Select-
   Wraps) hat `backdrop-filter: saturate(1.8) blur(24px)`. Per CSS-Spec erzeugt
   `backdrop-filter ≠ none` einen NEUEN STACKING-CONTEXT. Da die Section aber
   `position: static; z-index: auto` ist, klebt der ganze Filter-Bereich auf
   "root z=0". `section.listing-wrap` (z:1) liegt darüber — und damit ALLES
   was darin gerendert wird (Property-Cards) auch über dem Dropdown-Panel,
   egal wie hoch wir den inneren Z-Index drehen.

   FIX:
   1. `section.advanced-search` bekommt explizit `position:relative; z-index:10`
      → der gesamte Filter-Stacking-Context liegt jetzt OBERHALB `listing-wrap`.
   2. Bootstrap-Select-Wrap z:1050 / Panel z:1051 bleiben für interne Stacking-
      Ordnung (klar über Geschwister-Filter-Boxen).

   STRIKT auf body:not(.home) gescoped — Home ist tabu (kein advanced-search dort).

   SPEZIFITÄT (wichtig!): In `objets-premium.css` Zeile 713-735 gibt es eine
   „BRUTALE STICKY-BLOCKADE" (Task #55/#84). Die Section hat das Attribut
   `data-sticky="0"` und die ID `desktop-header-search` — damit greift der
   Selektor `.page-id-35 [data-sticky]:not(#header-section):not(.header-desktop):not(.header-mobile):not(.lux-scrolled)`
   mit Spezifität (1,5,0) und zwingt position:static + z-index:auto.

   Damit unsere Regel HÄRTER schlägt brauchen wir mindestens 2 IDs in der
   Spezifität — via `:not(#never-match)` Booster bekommen wir (2,3,1) > (1,5,0). */
body:not(.home) #desktop-header-search.advanced-search.advanced-search-nav:not(#lux-z-fix-noid),
body.page-id-35 #desktop-header-search.advanced-search.advanced-search-nav:not(#lux-z-fix-noid) {
    position: relative !important;
    z-index: 10 !important;
}
body:not(.home) .dropdown.bootstrap-select.show,
body:not(.home) .dropdown.bootstrap-select.open,
body:not(.home) .bootstrap-select.show,
body:not(.home) .bootstrap-select.open {
    z-index: 1050 !important;
}
body:not(.home) .dropdown.bootstrap-select.show .dropdown-menu,
body:not(.home) .dropdown.bootstrap-select.open .dropdown-menu,
body:not(.home) .bootstrap-select.show .dropdown-menu,
body:not(.home) .bootstrap-select.open .dropdown-menu {
    z-index: 1051 !important;
}

/* ============== B. DESKTOP HEADER BACKGROUND ============================= */
/* Apple-Snap: Background, Backdrop, Border, Shadow + Logo wechseln ALLE
   synchron in einem clean Moment beim Scroll-Trigger. Keine Mid-Phase
   möglich → kein dunkles-Logo-auf-dunklem-Hero-Bug, kein bläulich-Mid.
   Sauberes Apple-Glas: saturate(100%) + alpha 0.95 → kein Hero-Durchschein. */

/* Initial (über Hero) — voll transparent, snap zu scrolled-state */
#header-section,
.header-desktop {
    background-color: rgba(255, 255, 255, 0) !important;
    -webkit-backdrop-filter: saturate(100%) blur(0px) !important;
    backdrop-filter: saturate(100%) blur(0px) !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0),
        0 8px 28px -8px rgba(11, 31, 51, 0) !important;
    /* KEINE transition — Background snappt synchron mit dem Logo */
}

/* Scrolled — Premium echtes Apple-Glas v4.
   ⚠️ KRITISCH: KEIN background-image! Nur background-color mit ECHTER Transparenz.
   Hintergrund: background-image (linear-gradient mit rgba(255,255,255,1.0) Stops)
   blockiert backdrop-filter voll → Content scheint klar durch.
   Lösung: nur background-color 0.85 + massiver blur 56px + saturate 200% →
   Content unter Navbar wird stark blurry/unscharf — typisches iOS-Notification-Glas. */
#header-section.lux-scrolled,
.header-desktop.lux-scrolled,
#header-section.sticky-nav-area.houzez-in-view,
.header-desktop.sticky-nav-area.houzez-in-view {
    background-color: rgba(255, 255, 255, 0.92) !important;
    background-image: none !important;
    -webkit-backdrop-filter: saturate(200%) blur(48px) !important;
    backdrop-filter: saturate(200%) blur(48px) !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.22) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.65),
        0 4px 20px -6px rgba(11, 31, 51, 0.12) !important;
}

/* ============== C. LOGO (Single-Image mit Invert-Filter v6) ============== */
/* Nur EIN <img>-Element mit dem echten dunklen Brand-Logo (JS hat src
   ersetzt). Im Initial-State per CSS-Filter zu echtem Weiß invertiert,
   im scrolled-State Filter entfernt → echtes Brand-Logo erscheint.

   WICHTIG: Filter-Transition ist 0s (instantaner Snap), weil die
   Interpolation zwischen brightness(0)+invert(1) und none einen seltsamen
   grau-blauen Mid-State erzeugt (Browser lerpt jedes Filter-Argument
   linear → mid-werte produzieren degradierte Farben). Background fadet
   weiterhin smooth über 0.15s — visuell snappt das Logo synchron mit
   dem Class-Toggle, Background fadet ein. Sieht clean & professional. */
.lux-logo {
    filter: brightness(0) invert(1)
            drop-shadow(0 2px 4px rgba(11, 31, 51, 0.22));
    /* KEIN transition auf filter — Snap statt Mid-Phase */
}
body.lux-scrolled .lux-logo,
#header-section.lux-scrolled .lux-logo,
.header-desktop.lux-scrolled .lux-logo,
.header-main-wrap.lux-scrolled .lux-logo {
    filter: none;
}

/* CRITICAL: Houzez rendert .logo-splash UND .logo-mobile BEIDE im DOM.
   Defensive Hide-Regel damit nie beide gleichzeitig sichtbar werden. */
@media (min-width: 992px) {
    .header-main-wrap .logo-mobile,
    #header-section .logo-mobile,
    .header-desktop .logo-mobile {
        display: none !important;
    }
}
@media (max-width: 991px) {
    .header-main-wrap .logo-splash,
    .header-main-wrap .logo-desktop,
    #header-section .logo-splash,
    #header-section .logo-desktop,
    .header-desktop .logo-splash,
    .header-desktop .logo-desktop {
        display: none !important;
    }
}

/* Houzez Logged-In-Nav-Wrap rendert mit Lux-Navy Background-Color, was als
   sichtbares dunkles Rechteck in der Navbar erscheint. Da JS die Phone-
   Section + User-Icon INSIDE dieses Wraps platziert, dürfen wir es NICHT
   verstecken — nur den Background transparent machen. */
.logged-in-nav-wrap,
.logged-in-nav-wrap.slideout-menu-right,
nav.logged-in-nav-wrap {
    background-color: transparent !important;
}

/* Houzez User-Dropdown (.logged-in-nav.dropdown-menu) — die INNERE <ul>-
   Dropdown-Liste die unter dem Header bei y=165px als voll weißes
   200x441px Rechteck erscheint und beim Scrollen sichtbar bleibt. Bootstrap-
   Default ist display:none, wird nur bei .show aktiv. Forciere das.
   v1.11.5 — Selector verschärft auf DESKTOP-Dropdown only (.dropdown-menu).
   Das Mobile-Slideout #navi-user ul.logged-in-nav darf NICHT versteckt
   werden, sonst ist das rechte Login-Panel auf Mobile komplett leer.
   Reine `ul.logged-in-nav` wurde rausgenommen — bedeckte beide Kontexte. */
.logged-in-nav.dropdown-menu {
    display: none !important;
}
.logged-in-nav.dropdown-menu.show {
    display: block !important;
}

/* ============== MOBILE LOGIN-SLIDEOUT (#navi-user) PREMIUM-STYLING ==============
   v1.11.5 — Audit-Fix Mobile-Komplettcheck.
   Das Mobile-Slide-Out (rechter Hamburger → Login/Register) muss:
     - sichtbaren Content haben (ul.logged-in-nav force-display)
     - Lesbaren Text (weiß auf navy, nicht Houzez-Default dunkelblau)
     - Premium-Touch-Targets (≥48px)
     - Subtile Gold-Akzent auf Hover (Brand-konform)
   ===================================================================== */
#navi-user ul.logged-in-nav,
.navi-login-register.slideout-menu-right ul.logged-in-nav {
    display: block !important;
    padding: 28px 0 0 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
#navi-user ul.logged-in-nav li,
.navi-login-register.slideout-menu-right ul.logged-in-nav li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.12) !important;
}
#navi-user ul.logged-in-nav li:last-child,
.navi-login-register.slideout-menu-right ul.logged-in-nav li:last-child {
    border-bottom: none !important;
}
#navi-user ul.logged-in-nav li a,
.navi-login-register.slideout-menu-right ul.logged-in-nav li a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 16px 24px !important;
    color: #FFFFFF !important;
    background: transparent !important;
    font-family: 'Inter', 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    transition: background-color 0.22s ease, color 0.22s ease, padding-left 0.22s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}
#navi-user ul.logged-in-nav li a:hover,
#navi-user ul.logged-in-nav li a:active,
#navi-user ul.logged-in-nav li a:focus,
.navi-login-register.slideout-menu-right ul.logged-in-nav li a:hover,
.navi-login-register.slideout-menu-right ul.logged-in-nav li a:active,
.navi-login-register.slideout-menu-right ul.logged-in-nav li a:focus {
    color: #C8A96A !important;
    background-color: rgba(200, 169, 106, 0.06) !important;
    padding-left: 30px !important;
    outline: none !important;
}
#navi-user ul.logged-in-nav li a i,
#navi-user ul.logged-in-nav li a .houzez-icon,
.navi-login-register.slideout-menu-right ul.logged-in-nav li a i,
.navi-login-register.slideout-menu-right ul.logged-in-nav li a .houzez-icon {
    font-size: 18px !important;
    color: #C8A96A !important;
    margin-right: 0 !important;
    width: 22px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
}

/* (Block D entfernt — Logo-Switch wird jetzt komplett durch C. Invert-
   Filter erledigt. Nur ein img, ein Filter-Übergang, kein Crossfade. */

/* ============== E. LINK / TEXT / ICON COLOR-SWITCH (discrete) ============= */
/* Class-basiert, weil Mid-Tone-Farben unleserlich wären. Smooth über
   0.45s Apple-Easing. */
#header-section .nav-link,
#header-section .navbar-nav > li > a,
#header-section .btn-phone-number a,
.header-desktop .nav-link,
.header-desktop .navbar-nav > li > a {
    transition: color 0.45s cubic-bezier(0.32, 0.72, 0, 1) !important;
}
#header-section.lux-scrolled .nav-link,
#header-section.lux-scrolled .navbar-nav > li > a,
#header-section.lux-scrolled .btn-phone-number a,
#header-section.sticky-nav-area.houzez-in-view .nav-link,
#header-section.sticky-nav-area.houzez-in-view .navbar-nav > li > a,
.header-desktop.lux-scrolled .nav-link,
.header-desktop.lux-scrolled .navbar-nav > li > a {
    color: var(--lux-navy) !important;
}
#header-section.lux-scrolled .nav-link:hover,
#header-section.lux-scrolled .navbar-nav > li > a:hover,
#header-section.lux-scrolled .current-menu-item > a,
#header-section.lux-scrolled .current_page_item > a,
.header-desktop.lux-scrolled .nav-link:hover {
    color: var(--lux-gold) !important;
}

/* CTA-Button bleibt im scrolled-State als Gold-Highlight */
#header-section.lux-scrolled .btn-primary,
#header-section.sticky-nav-area.houzez-in-view .btn-primary,
.header-desktop.lux-scrolled .btn-primary {
    background: var(--lux-gold) !important;
    border-color: var(--lux-gold) !important;
    color: var(--lux-navy) !important;
}

/* ============== F. PROPERTY-DETAIL SUB-NAV OFFSET ========================= */
/* Houzez .property-navigation-wrap überlappt sonst mit unserer Sticky-Navbar.
   Lösung: Sub-Nav unter den Lux-Header schieben. */
.property-navigation-wrap {
    top: 150px !important;
    z-index: 998 !important;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom: 1px solid rgba(11, 31, 51, 0.08) !important;
    box-shadow: 0 2px 12px rgba(11, 31, 51, 0.05);
}

/* ============== G. MOBILE NAVBAR ========================================== */
@media (max-width: 991px) {
    /* Mobile-Header sticky-fixed */
    header.header-main-wrap,
    .header-main-wrap.header-transparent-wrap,
    .header-mobile {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
    }
    /* v1.8.2 — Mobile: winzigen (10px) Sprach-Switcher im mobilen Header
       ausblenden. Er duplizierte den lesbaren 14px-Switcher im Off-Canvas-Menü
       (#nav-mobile) und war im engen Header kaum les-/tippbar. Sprachwahl auf
       Mobile läuft jetzt nur über das Menü. */
    #header-mobile .lux-lang-switcher,
    .header-mobile-right .lux-lang-switcher {
        display: none !important;
    }
    /* Mobile-Header Background — Initial Navy-Glas → Scrolled Weiß-Glas.
       Apple-Snap (synchron mit Logo, keine Transition). */
    header.header-main-wrap,
    .header-mobile {
        background-color: rgba(11, 31, 51, 0.45) !important;
        -webkit-backdrop-filter: saturate(100%) blur(16px) !important;
        backdrop-filter: saturate(100%) blur(16px) !important;
        border-bottom: 1px solid rgba(200, 169, 106, 0) !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0),
            0 8px 24px -8px rgba(11, 31, 51, 0.08) !important;
        /* KEINE transition — Background snappt synchron mit dem Logo */
    }
    /* Scrolled-State Mobile: True Apple-Glas (0.85 + 56px blur, no gradient) */
    body.lux-scrolled header.header-main-wrap,
    body.lux-scrolled .header-mobile,
    header.header-main-wrap.lux-scrolled,
    .header-mobile.lux-scrolled {
        background-color: rgba(255, 255, 255, 0.92) !important;
        background-image: none !important;
        -webkit-backdrop-filter: saturate(200%) blur(48px) !important;
        backdrop-filter: saturate(200%) blur(48px) !important;
        border-bottom: 1px solid rgba(200, 169, 106, 0.22) !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.55),
            0 4px 16px -6px rgba(11, 31, 51, 0.10) !important;
    }
    /* Mobile-Icons + Links: smoother Color-Transition */
    header.header-main-wrap a,
    header.header-main-wrap button,
    header.header-main-wrap .houzez-icon,
    header.header-main-wrap .toggle-button-left i,
    header.header-main-wrap .toggle-button-right i,
    header.header-main-wrap .navbar-toggler-icon {
        transition: color 0.45s cubic-bezier(0.32, 0.72, 0, 1) !important;
    }
    /* Im scrolled-State Mobile: alle Icons + Links → Navy */
    body.lux-scrolled header.header-main-wrap a,
    body.lux-scrolled header.header-main-wrap button,
    body.lux-scrolled header.header-main-wrap .houzez-icon,
    body.lux-scrolled header.header-main-wrap .toggle-button-left i,
    body.lux-scrolled header.header-main-wrap .toggle-button-right i {
        color: var(--lux-navy) !important;
    }
    body.lux-scrolled header.header-main-wrap a:hover,
    body.lux-scrolled header.header-main-wrap .houzez-icon:hover {
        color: var(--lux-gold) !important;
    }
    /* Property-Detail Sub-Nav: Mobile-Header ist 60px */
    .property-navigation-wrap {
        top: 60px !important;
    }
    /* Body-Padding-Top damit Content nicht unter Sticky-Header verschwindet */
    body {
        padding-top: 60px !important;
    }
    /* Splash-/Hero-Pages: kein Top-Padding (Hero füllt) */
    body.home,
    body.page-id-16941,
    body.page-id-16650 {
        padding-top: 0 !important;
    }
}

/* === 16b. Hero-Pages: Body-Background dunkel statt hellgrau ===
   Verhindert grauen Balken zwischen Navbar und Hero auf Mobile (und Desktop).
   Greift wenn Navbar transparent über Body steht und Hero padding-top hat.
   Eingeführt v1.6.1 nach Cached-Snapshot-Cutover.
   v1.10.8: Weiß-Body-Versuch (v1.10.7) ZURÜCKGEROLLT — die Home hat navy-Bänder mit
   weißem Text + Bilder + Loop-Animation, die den navy Body als Fläche brauchen.
   Weißer Body ließ navy-Band+weißen Text verschwinden. Body bleibt navy. */
body.home,
body.page-id-17337,
body.page-id-16941,
body.page-id-16650 {
    background-color: #0B1F33 !important; /* Midnight Navy — Brand-Basis */
}
body.home #main-wrap,
body.page-id-17337 #main-wrap,
body.page-id-16941 #main-wrap,
body.page-id-16650 #main-wrap {
    background-color: transparent !important; /* Body-BG durchscheinen lassen */
}

/* === 16c. HOME-Hero (Cached-Template): Hintergrundbild wiederherstellen ===
   Die Cached-Home referenziert Elementor-CSS `post-17337.css` — die liefert seit dem
   Elementor-Umbau 404 (Datei fehlt, Cached-Template triggert keine Regeneration).
   Darin lag das Hero-Hintergrundbild + die Höhe der Hero-Sektion b147f27 → Bild war
   weg, Sektion auf Texthöhe (135px) kollabiert. Bild + Overlay + Höhe aus
   home-static.css (1:1 Original) fest hinterlegt. v1.10.9 */
body.page-id-17337 .elementor-element-b147f27,
body.home .elementor-element-b147f27 {
    background-image:
        linear-gradient(180deg, rgba(8,24,38,0.42) 0%, rgba(11,31,51,0.60) 60%, rgba(8,24,38,0.80) 100%),
        url('https://i0.wp.com/luxproperties.immo/wp-content/uploads/2024/03/DALL%C2%B7E-2024-03-16-21.05.31-Design-an-ultra-luxurious-and-sophisticated-wide-banner-for-the-homepage-of-a-high-end-real-estate-website.-This-banner-should-feature-a-stunning-arch.webp?fit=1792%2C1024&ssl=1') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 86vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
body.page-id-17337 .elementor-element-b147f27 .houzez_section_title,
body.home .elementor-element-b147f27 .houzez_section_title {
    color: #ffffff !important; /* weiß auf Hero-Bild (Overlay sorgt für Kontrast) */
}

/* === 16d. HOME: weiße Bänder hinter den Bild-/Anzeigen-Karten (User-Wunsch) ===
   Gewünscht: weiß hinter den Anzeigen-Karten (995af2, „unter den annonces") und
   hinter „Nos destinations"/Länder-Grid (60c7733). Rest bleibt navy.
   Die Karten haben eigene Bild-Hintergründe → ihr Text bleibt auf den Bildern; die
   „Nos destinations"-Überschrift ist navy → auf Weiß gut lesbar. v1.11.0 */
body.page-id-17337 .elementor-element-995af2,
body.home .elementor-element-995af2,
body.page-id-17337 .elementor-element-60c7733,
body.home .elementor-element-60c7733 {
    background-color: #FFFFFF !important;
}

/* === 16e. HOME: „Découvrez nos annonces"-Box schmaler + Text EXAKT mittig (User) ===
   Box-Inhalt auf schmale, zentrierte Spalte (760px). Das Titel-Widget 61d75a7d hatte
   noch 200px Padding L/R (Elementor-Rest) → Text auf 400px gequetscht. Padding entfernt,
   Text sauber zentriert. v1.11.3 */
body.page-id-17337 .elementor-element-6fc59222 > .elementor-container,
body.home .elementor-element-6fc59222 > .elementor-container {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.page-id-17337 .elementor-element-61d75a7d .elementor-widget-container,
body.home .elementor-element-61d75a7d .elementor-widget-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
}
body.page-id-17337 .elementor-element-6fc59222 .houzez_section_title,
body.home .elementor-element-6fc59222 .houzez_section_title,
body.page-id-17337 .elementor-element-6fc59222 .houzez_section_subtitle,
body.home .elementor-element-6fc59222 .houzez_section_subtitle {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* === 16e. Property-Card-Preise: Clean Sans-Serif statt Playfair (v1.6.6) ===
   User-Request: Schriftart der Property-Preise cleaner machen.
   Vorher: Playfair Display 28px weight 600 — klassisch-serif, wirkt schwer.
   Nachher: Manrope 24px weight 500 mit tabular-nums + leicht reduziertem
   letter-spacing — modern, minimalistisch, premium-clean.
   Specificity hoch genug um critical-CSS Regel zu überschreiben. */
body .item-listing-wrap .item-header .item-price,
body .item-listing-wrap .item-price-wrap .item-price,
body.page-id-35 .item-listing-wrap .item-header .item-price,
body.page-id-35 .item-listing-wrap .item-price-wrap .item-price,
body.lux-archive-listing .item-listing-wrap .item-header .item-price,
body.lux-archive-listing .item-listing-wrap .item-price-wrap .item-price,
body.search-results .item-listing-wrap .item-header .item-price,
body.search-results .item-listing-wrap .item-price-wrap .item-price,
body .listing-grid .item-price,
body .property-listing .item-price,
.item-listing-wrap ul.item-price-wrap > li.item-price,
.item-listing-wrap ul.item-price-wrap > .item-price {
    font-family: 'Manrope', 'Inter', -apple-system, "system-ui", sans-serif !important;
    font-weight: 500 !important;
    font-size: 23px !important;
    letter-spacing: -0.005em !important;
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: "tnum" 1, "lnum" 1 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
}
/* Mobile leicht kleiner für besseres Card-Verhältnis */
@media (max-width: 767.98px) {
    body .item-listing-wrap .item-header .item-price,
    body .item-listing-wrap .item-price-wrap .item-price,
    .item-listing-wrap ul.item-price-wrap > li.item-price {
        font-size: 20px !important;
    }
}

/* === 16d. Home "Découvrez nos annonces"-Heading: Weiß auf dunklem Body (v1.6.4) ===
   Bug-Report: Heading rendert schwarz, weil Body-BG jetzt Navy ist (s. §16b)
   und diese Elementor-Section keinen eigenen Light-Background hat.
   Fix: Section #61d75a7d explizit weiß stylen. Andere Headings auf Home
   (z.B. "Tous les pays") haben eigene helle Section-BGs → unverändert. */
body.home .elementor-element-61d75a7d .houzez_section_title,
body.page-id-17337 .elementor-element-61d75a7d .houzez_section_title {
    color: #ffffff !important;
}
body.home .elementor-element-61d75a7d .houzez_section_subtitle,
body.page-id-17337 .elementor-element-61d75a7d .houzez_section_subtitle {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* === 16c. Hero-Pages Mobile-Navbar: nahtloser Übergang (v1.6.3) ===
   Bug-Report: User sah hellgrauen Streifen unter der Mobile-Navbar im
   Scrolled-State. Ursache:
     1. Navbar-BG rgba(255,255,255,0.92) → 8% Body-Navy schimmert durch → pale-gray
     2. Border-bottom rgba(200,169,106,0.22) → Goldener 1px-Separator zwischen
        weißer Navbar und dunklem Hero — wirkt grau
     3. Box-Shadow rgba(11,31,51,0.10) 0 4px 16px → weicher 16px-Schatten unten
   Fix: Auf den 3 Hero-Pages → 100% Weiß, kein Border, kein Shadow → Navbar
   schließt clean ohne sichtbaren Streifen ans dunkle Hero an. */
@media (max-width: 991px) {
    /* v1.6.5: Erweitert um page-id-35 (/nos-objets/) und Houzez-Archive-Body-Classes
       (single-property, property-listing, archive, search-results). Diese Seiten
       haben alle dunkle Hero/Hintergründe → gleicher Navbar-Edge-Bug. */
    body.home.lux-scrolled header.header-main-wrap,
    body.home.lux-scrolled .header-mobile,
    body.page-id-17337.lux-scrolled header.header-main-wrap,
    body.page-id-17337.lux-scrolled .header-mobile,
    body.page-id-16941.lux-scrolled header.header-main-wrap,
    body.page-id-16941.lux-scrolled .header-mobile,
    body.page-id-16650.lux-scrolled header.header-main-wrap,
    body.page-id-16650.lux-scrolled .header-mobile,
    body.page-id-35.lux-scrolled header.header-main-wrap,
    body.page-id-35.lux-scrolled .header-mobile,
    body.lux-archive-listing.lux-scrolled header.header-main-wrap,
    body.lux-archive-listing.lux-scrolled .header-mobile,
    body.single-property.lux-scrolled header.header-main-wrap,
    body.single-property.lux-scrolled .header-mobile,
    body.search-results.lux-scrolled header.header-main-wrap,
    body.search-results.lux-scrolled .header-mobile,
    body.home header.header-main-wrap.lux-scrolled,
    body.home .header-mobile.lux-scrolled,
    body.page-id-17337 header.header-main-wrap.lux-scrolled,
    body.page-id-17337 .header-mobile.lux-scrolled,
    body.page-id-16941 header.header-main-wrap.lux-scrolled,
    body.page-id-16941 .header-mobile.lux-scrolled,
    body.page-id-16650 header.header-main-wrap.lux-scrolled,
    body.page-id-16650 .header-mobile.lux-scrolled,
    body.page-id-35 header.header-main-wrap.lux-scrolled,
    body.page-id-35 .header-mobile.lux-scrolled,
    body.lux-archive-listing header.header-main-wrap.lux-scrolled,
    body.lux-archive-listing .header-mobile.lux-scrolled,
    body.single-property header.header-main-wrap.lux-scrolled,
    body.single-property .header-mobile.lux-scrolled,
    body.search-results header.header-main-wrap.lux-scrolled,
    body.search-results .header-mobile.lux-scrolled {
        background-color: rgba(255, 255, 255, 1.0) !important;  /* 100% opak */
        border-bottom: 0 !important;                              /* kein Gold-Separator */
        box-shadow: none !important;                              /* kein Bottom-Shadow */
    }
}

/* === 17. Accessibility === */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =====================================================
   === 19. FOOTER PREMIUM ===
   Globaler Footer (jede Page): Dark-Navy + Aurora-Layer,
   Eyebrow-Style Headings, Gold-Akzente, smooth Hover-States.
   Alle bisherigen Inhalte (Liens utiles, Nous contacter,
   TikTok-Widget, Social-Icons, Copyright) bleiben.
   ===================================================== */

/* ── Root: Dark-Navy mit Aurora ── */
.footer-wrap.footer-wrap-v1 {
    background: var(--lux-navy-deep, #081826) !important;
    position: relative;
    overflow: hidden;
    color: var(--lux-text-soft, #DBE3EB);
}
.footer-wrap.footer-wrap-v1::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(900px 600px at 5% 20%, rgba(200, 169, 106, 0.06), transparent 60%),
        radial-gradient(700px 500px at 95% 80%, rgba(29, 78, 137, 0.10), transparent 60%),
        radial-gradient(500px 400px at 50% 50%, rgba(11, 31, 51, 0.05), transparent 70%);
}
/* Sehr feines Grid-Overlay (Apple-Pattern) */
.footer-wrap.footer-wrap-v1::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        linear-gradient(rgba(200, 169, 106, 0.014) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 169, 106, 0.014) 1px, transparent 1px);
    background-size: 64px 64px;
    -webkit-mask-image: radial-gradient(ellipse 70% 50% at 50% 50%, black, transparent 85%);
            mask-image: radial-gradient(ellipse 70% 50% at 50% 50%, black, transparent 85%);
}
.footer-wrap-v1 .footer-top-wrap,
.footer-wrap-v1 .footer-bottom-wrap {
    position: relative;
    z-index: 1;
}

/* ── Top-Wrap (Spalten-Layout neu auf 50/50) ── */
.footer-wrap-v1 .footer-top-wrap {
    background: transparent !important;
    padding: 80px 0 56px !important;
}
/* Original-3.-Spalte (TikTok + Connect-with-us) komplett ausblenden
   weil sie nur TikTok-Embed-Widget enthielt, das wir versteckt haben. */
.footer-wrap-v1 .footer-top-wrap .row > .col-lg-3:nth-of-type(3),
.footer-wrap-v1 .footer-top-wrap .row > div:has(> #houzez_contact-2),
.footer-wrap-v1 .footer-top-wrap .row > div:has(> #block-15),
.footer-wrap-v1 .footer-top-wrap .row > div:has(> #block-18) {
    display: none !important;
}
/* Verbleibende 2 Spalten: CSS-Grid 1fr 1fr (umgeht Bootstrap-Flex-Issues) */
.footer-wrap-v1 .footer-top-wrap .row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.footer-wrap-v1 .footer-top-wrap .row > .col-lg-3,
.footer-wrap-v1 .footer-top-wrap .row > .col-lg-6 {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    min-width: 0 !important;          /* erlaubt Schrumpfen statt Überlauf durch lange Adresse/E-Mail */
}
/* Mobile (v1.8.1): Footer-Spalten stapeln auf EINE Spalte — sonst sprengt die
   lange Adresse/E-Mail in „Nous contacter" das 2-Spalten-Grid und wird rechts
   abgeschnitten. */
@media (max-width: 767px) {
    .footer-wrap-v1 .footer-top-wrap .row {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
}

/* Adresse + Tel-Zeile dürfen nicht zu früh brechen */
.footer-wrap-v1 .contact-list li {
    flex-wrap: nowrap;
}
.footer-wrap-v1 .contact-list li > span,
.footer-wrap-v1 .contact-list li {
    word-break: normal;
    overflow-wrap: normal;
}

/* ── Widget-Headings (Eyebrow-Style mit Gold-Akzent) ── */
.footer-wrap-v1 .widget-header,
.footer-wrap-v1 .widget-header h3 {
    margin-bottom: 24px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
.footer-wrap-v1 h3.widget-title,
.footer-wrap-v1 .widget-title {
    font-family: 'Manrope', 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.20em !important;
    text-transform: uppercase !important;
    color: var(--lux-gold, #C8A96A) !important;
    margin: 0 0 12px !important;
    position: relative;
    padding-bottom: 14px !important;
    display: inline-block;
}
.footer-wrap-v1 h3.widget-title::after,
.footer-wrap-v1 .widget-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 1px;
    background: var(--lux-gold, #C8A96A);
    opacity: 0.6;
}

/* ── Liens-Utiles-Menü ── */
.footer-wrap-v1 .menu,
.footer-wrap-v1 ul.menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.footer-wrap-v1 .menu li {
    list-style: none !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    margin: 0 !important;
}
.footer-wrap-v1 .menu li:last-child {
    border-bottom: none !important;
}
.footer-wrap-v1 .menu li a {
    color: var(--lux-text-soft, #DBE3EB) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.92rem !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s var(--lux-ease), transform 0.3s var(--lux-ease) !important;
    position: relative;
    padding-left: 16px;
}
.footer-wrap-v1 .menu li a::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--lux-gold, #C8A96A);
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.3s var(--lux-ease), transform 0.3s var(--lux-ease);
}
.footer-wrap-v1 .menu li a:hover {
    color: var(--lux-gold, #C8A96A) !important;
    transform: translateX(6px);
}
.footer-wrap-v1 .menu li a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

/* ── Nous-Contacter / Contact-List ── */
.footer-wrap-v1 .widget-content p,
.footer-wrap-v1 .widget-body p {
    color: var(--lux-text-soft, #DBE3EB) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    margin: 0 0 12px !important;
}
.footer-wrap-v1 .widget-content p strong,
.footer-wrap-v1 .widget-body strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}
.footer-wrap-v1 .contact-list,
.footer-wrap-v1 ul.contact-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.footer-wrap-v1 .contact-list li {
    list-style: none !important;
    padding: 8px 0 !important;
    color: var(--lux-text-soft, #DBE3EB) !important;
    font-size: 0.92rem !important;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.footer-wrap-v1 .contact-list li a {
    color: var(--lux-text-soft, #DBE3EB) !important;
    text-decoration: none !important;
    transition: color 0.3s var(--lux-ease) !important;
}
.footer-wrap-v1 .contact-list li a:hover {
    color: var(--lux-gold, #C8A96A) !important;
}
.footer-wrap-v1 .contact-list .houzez-icon,
.footer-wrap-v1 .contact-list i[class*="icon-"] {
    color: var(--lux-gold, #C8A96A) !important;
    font-size: 1rem !important;
    margin-right: 0 !important;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ── "Connect with us"-Button (linktr.ee) ── */
.footer-wrap-v1 a[href*="linktr.ee"],
.footer-wrap-v1 .footer-widget .btn,
.footer-wrap-v1 .widget-body .btn,
.footer-wrap-v1 a.btn-default,
.footer-wrap-v1 a[href*="linktr.ee"].btn {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 22px !important;
    background: transparent !important;
    border: 1.5px solid rgba(200, 169, 106, 0.45) !important;
    color: var(--lux-gold, #C8A96A) !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.4s var(--lux-ease) !important;
    margin-top: 14px;
}
.footer-wrap-v1 a[href*="linktr.ee"]:hover,
.footer-wrap-v1 .footer-widget .btn:hover {
    background: var(--lux-gold, #C8A96A) !important;
    color: var(--lux-navy, #0B1F33) !important;
    border-color: var(--lux-gold, #C8A96A) !important;
    box-shadow: 0 8px 24px rgba(200, 169, 106, 0.30) !important;
    transform: translateY(-2px);
}

/* ── Bottom-Bar: Copyright + Socials zentriert (stacked) ──
   Echte Struktur: .footer-bottom-wrap > .container > .d-flex.justify-content-between
   → wir überschreiben das d-flex mit flex-direction:column + center */
.footer-wrap-v1 .footer-bottom-wrap {
    background: rgba(0, 0, 0, 0.35) !important;
    border-top: 1px solid rgba(200, 169, 106, 0.20) !important;
    padding: 22px 0 !important;
    text-align: center !important;
}
.footer-wrap-v1 .footer-bottom-wrap .container > .d-flex,
.footer-wrap-v1 .footer-bottom-wrap .d-flex.justify-content-between {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    text-align: center !important;
}
.footer-wrap-v1 .footer-bottom-wrap .footer-copyright,
.footer-wrap-v1 .footer-bottom-wrap .footer-social {
    width: 100% !important;
    text-align: center !important;
    flex: 0 0 auto !important;
}
.footer-wrap-v1 .footer-bottom-wrap .footer-copyright {
    color: var(--lux-text-muted, #9DB0C4) !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.06em !important;
    margin: 0 !important;
    order: 1;
}
.footer-wrap-v1 .footer-bottom-wrap .footer-social {
    display: inline-flex !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    order: 2;
}
.footer-wrap-v1 .footer-bottom-wrap .footer-social > span {
    display: inline-flex !important;
}

/* ── Bottom-Social-Icons mit Brand-Color-Glow on Hover ── */
.footer-wrap-v1 .footer-bottom-wrap .social-list-icon,
.footer-wrap-v1 .footer-bottom-wrap ul.social-list,
.footer-wrap-v1 .footer-bottom-wrap .houzez-social-icons {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex;
    gap: 10px;
}
/* Premium Social-Squares (Apple-Style: rounded square, Gold-Tint default) */
.footer-wrap-v1 .footer-bottom-wrap a[href*="facebook"],
.footer-wrap-v1 .footer-bottom-wrap a[href*="instagram"],
.footer-wrap-v1 .footer-bottom-wrap a[href*="tiktok"],
.footer-wrap-v1 .footer-bottom-wrap a[href*="youtube"],
.footer-wrap-v1 .footer-bottom-wrap .btn-facebook,
.footer-wrap-v1 .footer-bottom-wrap .btn-tiktok,
.footer-wrap-v1 .footer-bottom-wrap .btn-instagram,
.footer-wrap-v1 .footer-bottom-wrap .btn-youtube {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg,
        rgba(200, 169, 106, 0.14) 0%,
        rgba(11, 31, 51, 0.75) 100%) !important;
    border: 1.5px solid rgba(200, 169, 106, 0.35) !important;
    color: var(--lux-gold, #C8A96A) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
    transition: all 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    text-decoration: none !important;
    position: relative;
    overflow: hidden;
    padding: 0 !important;
}
/* Icon zentrieren: mr-2 Bootstrap-Klasse override und font-size aufstocken */
.footer-wrap-v1 .footer-bottom-wrap a[href*="facebook"] i,
.footer-wrap-v1 .footer-bottom-wrap a[href*="instagram"] i,
.footer-wrap-v1 .footer-bottom-wrap a[href*="tiktok"] i,
.footer-wrap-v1 .footer-bottom-wrap a[href*="youtube"] i {
    font-size: 20px !important;
    margin: 0 !important;
    color: inherit !important;
    line-height: 1 !important;
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}
.footer-wrap-v1 .footer-bottom-wrap a[href*="facebook"]:hover i,
.footer-wrap-v1 .footer-bottom-wrap a[href*="instagram"]:hover i,
.footer-wrap-v1 .footer-bottom-wrap a[href*="tiktok"]:hover i,
.footer-wrap-v1 .footer-bottom-wrap a[href*="youtube"]:hover i {
    transform: scale(1.15);
}

/* Mehr Distanz zwischen Copyright und Social-Row */
.footer-wrap-v1 .footer-bottom-wrap .container > .d-flex,
.footer-wrap-v1 .footer-bottom-wrap .d-flex.justify-content-between {
    gap: 22px !important;
}
.footer-wrap-v1 .footer-bottom-wrap .footer-social {
    gap: 12px !important;
}
.footer-wrap-v1 .footer-bottom-wrap a[href*="facebook"]:hover {
    background: linear-gradient(135deg, #2186FF 0%, #1877F2 100%) !important;
    border-color: #1877F2 !important;
    color: #ffffff !important;
    box-shadow:
        0 8px 24px rgba(24, 119, 242, 0.45),
        0 0 28px rgba(24, 119, 242, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
    transform: translateY(-3px) !important;
}
.footer-wrap-v1 .footer-bottom-wrap a[href*="instagram"]:hover {
    background: linear-gradient(45deg,
        #f09433 0%,
        #e6683c 22%,
        #dc2743 50%,
        #cc2366 75%,
        #bc1888 100%) !important;
    border-color: #dc2743 !important;
    color: #ffffff !important;
    box-shadow:
        0 8px 24px rgba(220, 39, 67, 0.45),
        0 0 28px rgba(204, 35, 102, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.20) !important;
    transform: translateY(-3px) !important;
}
.footer-wrap-v1 .footer-bottom-wrap a[href*="tiktok"]:hover {
    background: linear-gradient(135deg, #25F4EE 0%, #000000 50%, #FE2C55 100%) !important;
    border-color: #25F4EE !important;
    color: #ffffff !important;
    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.55),
        0 0 28px rgba(37, 244, 238, 0.25),
        0 0 14px rgba(254, 44, 85, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    transform: translateY(-3px) !important;
}
.footer-wrap-v1 .footer-bottom-wrap a[href*="youtube"]:hover {
    background: linear-gradient(135deg, #FF4C4C 0%, #FF0000 100%) !important;
    border-color: #FF0000 !important;
    color: #ffffff !important;
    box-shadow:
        0 8px 24px rgba(255, 0, 0, 0.45),
        0 0 28px rgba(255, 76, 76, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
    transform: translateY(-3px) !important;
}

/* ── TikTok-Embed-Widget komplett ausblenden ──
   Per User-Wunsch entfernt. 4 Social-Icons unten bleiben — TikTok ist
   dort weiterhin als Icon verlinkt. Heading "TikTok" der 3. Spalte
   ebenfalls ausblenden, damit kein leerer Frame zurückbleibt. */
.footer-wrap-v1 .tiktok-embed,
.footer-wrap-v1 blockquote.tiktok-embed,
.footer-wrap-v1 iframe[src*="tiktok"],
.footer-wrap-v1 [id^="block-"],
.footer-wrap-v1 .col-lg-3:last-child {
    display: none !important;
}

/* Layout: 2 Spalten zentriert via Flex (überschreibt Bootstrap-Grid sicher) */
@media (min-width: 992px) {
    .footer-wrap-v1 .footer-top-wrap .container {
        max-width: 1000px !important;
    }
    .footer-wrap-v1 .footer-top-wrap .row {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center !important;
        align-items: flex-start;
        gap: 80px;
        margin: 0 auto !important;
    }
    .footer-wrap-v1 .footer-top-wrap .row > .col-lg-3,
    .footer-wrap-v1 .footer-top-wrap .row > .col-lg-6 {
        flex: 0 1 380px !important;
        width: auto !important;
        max-width: 420px !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* Fix Adresse/Telefon-Zeilenumbruch in der Contact-List —
   Houzez-Markup hat verschachtelte inline-Tags, deshalb display:block
   + absolute-positioned Icon ist robuster als flex-gap. */
.footer-wrap-v1 .contact-list li {
    display: block !important;
    position: relative !important;
    padding: 8px 0 8px 28px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-height: 1.7 !important;
}
.footer-wrap-v1 .contact-list li .houzez-icon,
.footer-wrap-v1 .contact-list li i[class*="icon-"] {
    position: absolute !important;
    left: 0 !important;
    top: 10px !important;
    margin: 0 !important;
}
.footer-wrap-v1 .contact-list a[href^="tel:"] {
    white-space: nowrap;
}

/* ── Mobile-Tweaks ── */
@media (max-width: 991px) {
    .footer-wrap-v1 .footer-top-wrap {
        padding: 56px 0 32px !important;
    }
    .footer-wrap-v1 .col-lg-3,
    .footer-wrap-v1 .col-lg-6 {
        margin-bottom: 32px;
    }
    .footer-wrap-v1 .footer-bottom-wrap {
        text-align: center;
        padding: 20px 0 !important;
    }
    .footer-wrap-v1 .footer-bottom-wrap .container > .row > div {
        margin-bottom: 12px;
    }
    .footer-wrap-v1 .footer-bottom-wrap .container > .row > div:last-child {
        margin-bottom: 0;
    }
}

/* ============================================================
   18. ANTI-CLIPPING-FIXES (v1.4.2)
   ------------------------------------------------------------
   Komplett-Audit ergab abgeschnittene Texte an mehreren Stellen.
   Diese Sektion fixt alle Clipping-Bugs site-wide.
   - Bootstrap-Select filter-option (Trigger-Labels)
   - Item-Address in Sidebar-Widgets (Property-Detail "Similar")
   - Item-Title in Sidebar-Widgets (Property-Detail "Similar")
   - Item-Author Ellipsis-Fix
   ============================================================ */

/* a) Bootstrap-Select Trigger-Label: Y-Clipping durch line-height + box-overflow
   Beim Sort-Dropdown ("Ordre par défaut") schneidet overflow:hidden den
   Text knapp ab. Saubere Lösung: höhere line-height + sichtbares Padding. */
.bootstrap-select .filter-option,
.bootstrap-select .filter-option-inner,
.bootstrap-select .filter-option-inner-inner {
    line-height: 1.5 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    height: auto !important;
}
/* Trigger-Button selbst: genug vertikalen Raum lassen */
.bootstrap-select .btn.dropdown-toggle {
    line-height: 1.4 !important;
    white-space: normal !important;
}

/* b) Item-Address GLOBAL — gilt überall, wo Houzez Property-Cards zeigt:
   Property-Listings (/nos-objets/), Property-Detail-Seite "Featured/Similar",
   Sidebar-Widgets, Elementor-Widgets, alles.
   Default Houzez schneidet hier per ellipsis ab. Wir erlauben 2 Zeilen. */
.item-listing-wrap .item-address,
.item-listing-wrap address.item-address,
.item-listing-wrap .item-address a,
.item-wrap .item-address,
.item-wrap address.item-address,
.item-wrap .item-address a,
.page-title-wrap .item-address,
.sidebar .item-address,
.widget .item-address {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-overflow: clip !important;
    line-height: 1.45 !important;
    word-break: break-word !important;
    text-decoration: none !important;
}

/* c) Item-Title GLOBAL — Houzez ellipsis-cuts Villen-Titel wie
   "Villa Design Meublée À Puig De Ros". Wir erlauben 2 Zeilen umbrechen. */
.item-listing-wrap .item-title,
.item-listing-wrap h2.item-title,
.item-listing-wrap h3.item-title,
.item-listing-wrap .item-title a,
.item-wrap .item-title,
.item-wrap .item-title a,
.sidebar .item-title,
.widget .item-title {
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
}

/* d) Item-Author "Pascal Warnier" Punkt-Clipping
   Auf der Listing-Page schnitt die Ellipsis den letzten Buchstaben/Punkt ab.
   Wir erlauben mehr Breite und entfernen die Ellipsis (Name ist kurz genug). */
.item-listing-wrap .item-footer .item-author,
.item-listing-wrap .item-footer .item-author a,
.page-id-35 .item-listing-wrap .item-footer .item-author,
.page-id-35 .item-listing-wrap .item-footer .item-author a {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    max-width: none !important;
    width: auto !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
}
/* Wenn der Footer zu eng wird (Mobile), darf der Name umbrechen */
@media (max-width: 575px) {
    .item-listing-wrap .item-footer .item-author,
    .item-listing-wrap .item-footer .item-author a,
    .page-id-35 .item-listing-wrap .item-footer .item-author,
    .page-id-35 .item-listing-wrap .item-footer .item-author a {
        white-space: normal !important;
        line-height: 1.4 !important;
    }
}

/* e) Sicherheits-Override für Nos-Objets Listing Card .item-address —
   Die alte page-id-35-Regel erlaubt nur 2 Zeilen + min-height 2.5em.
   Lange Luxemburger Adressen brauchen 3 Zeilen um nicht abgeschnitten zu werden. */
.page-id-35 .item-listing-wrap .item-address,
.page-id-35 .item-listing-wrap address.item-address,
.page-id-35 .item-listing-wrap .item-address a {
    -webkit-line-clamp: 3 !important;
    min-height: 0 !important;
    line-height: 1.45 !important;
}

/* f) Generic "no nowrap-ellipsis ever cuts text" — Notbremse für unbekannte Houzez-Klassen
   nur wo es sicher nicht gewollt ist (nicht Navi, nicht Inputs) */
.item-meta-wrap .item-price,
.item-listing-wrap .item-price,
.item-price-wrap .item-price {
    white-space: nowrap;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* ============================================================
   19. MOBILE-RESCUE (v1.4.4)
   ------------------------------------------------------------
   Audit ergab: Mobile-Ansicht hat 9 visibility:hidden Elementor-
   Cards (Service-Cards, Category-Cards), die nie eingeblendet
   werden — sie nehmen Platz weg, sind aber unsichtbar.
   Außerdem zu große Margins/Paddings auf Mobile.
   Fix: globaler Override + Mobile-Spacing-Reset.
   ============================================================ */

/* a) KRITISCH: elementor-invisible Cards SOFORT sichtbar machen.
   Elementor's Entrance-Animation hängt auf Mobile (Houzez-Konflikt
   und/oder Plugin-Konflikt). Wir erzwingen Visibility.
   Animation geht verloren — Sichtbarkeit zählt mehr. */
.elementor-invisible,
.elementor-element.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
}
/* Auch die Houzez-spezifischen "animated-slow" Cards */
.animated-slow.elementor-invisible,
.elementor-widget.animated-slow {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}

/* b) Mobile: Riesen-Margins (120px+) reduzieren */
@media (max-width: 767.98px) {
    /* Elementor-Inner-Sections mit huge margin-top auf Mobile zurechtschneiden */
    .elementor-section.elementor-inner-section[style*="margin-top: 120"],
    .elementor-section.elementor-inner-section {
        margin-top: 40px !important;
    }

    /* Elementor-Spaces (leere Abstandhalter) auf Mobile kleiner */
    .elementor-widget-houzez_elementor_space[data-id] .elementor-widget-container {
        height: auto !important;
    }
    .elementor-widget-houzez_elementor_space {
        max-height: 40px !important;
    }
}

/* c) Mobile: Section-Padding reduzieren — Default Elementor padding
   geht oft auf 60-100px, das ist auf Mobile zu viel. */
@media (max-width: 767.98px) {
    .elementor-section.elementor-top-section {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }
    .elementor-section.elementor-top-section.elementor-section-stretched {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* d) Mobile: Container Padding seitlich vereinheitlichen — sonst sind
   Cards in einer Section 285px breit (von 375px), in anderer 305px. */
@media (max-width: 767.98px) {
    .elementor-container.elementor-column-gap-wider,
    .elementor-container.elementor-column-gap-extended,
    .elementor-container.elementor-column-gap-wide {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* e) Mobile: Grid-Builder Cards (Category-Cards mit BG-Bild) cleaner
   Cards waren 345px × 285px (1 pro Zeile) → seitliches Trim auf 100% */
@media (max-width: 767.98px) {
    .elementor-widget-Houzez_elementor_grid_builder,
    .elementor-widget-Houzez_elementor_grid_builder .elementor-widget-container {
        width: 100% !important;
    }
    .elementor-widget-Houzez_elementor_grid_builder .grid-item {
        height: 260px !important;
        margin-bottom: 16px !important;
        border-radius: 14px !important;
        overflow: hidden;
        background-size: cover !important;
        background-position: center !important;
        position: relative;
        box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.45);
    }
}

/* f) Mobile: Hero-Headlines (Houzez section-title widget) kompakter */
@media (max-width: 767.98px) {
    .elementor-widget-houzez_elementor_section_title h1,
    .elementor-widget-houzez_elementor_section_title h2 {
        font-size: 28px !important;
        line-height: 1.18 !important;
        margin-bottom: 12px !important;
        word-break: break-word;
    }
    .elementor-widget-houzez_elementor_section_title h3 {
        font-size: 22px !important;
        line-height: 1.22 !important;
    }
    .elementor-widget-houzez_elementor_section_title .houzez-section-subtitle,
    .elementor-widget-houzez_elementor_section_title p {
        font-size: 14px !important;
        line-height: 1.55 !important;
        margin-bottom: 0 !important;
    }
}

/* g) Mobile: Body-Schrift entkrampfen */
@media (max-width: 575px) {
    body, p {
        font-size: 15px;
        line-height: 1.55;
    }
}

/* h) Mobile: Lux-Slideshow knapper + zentrierter (Margin 32px 12px war OK,
   aber wir können das Spacing über/unter reduzieren) */
@media (max-width: 575px) {
    .lux-home-slideshow {
        margin: 16px 12px !important;
        min-height: 360px;
    }
    .lux-slide__content {
        padding: 18px 18px 16px !important;
    }
    .lux-slide__title {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
        margin-bottom: 6px !important;
    }
    .lux-slide__addr {
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin-bottom: 10px !important;
    }
    .lux-slide__price {
        font-size: 1.35rem !important;
        margin-bottom: 14px !important;
    }
    .lux-slide__cta {
        padding: 10px 22px !important;
        font-size: 11.5px !important;
    }
    .lux-slide__badge {
        font-size: 10px !important;
        padding: 5px 14px !important;
        margin-bottom: 10px !important;
    }
    .lux-slide-dots {
        bottom: 10px !important;
        right: 12px !important;
    }
    .lux-slide-dot {
        width: 8px !important;
        height: 8px !important;
    }
}

/* i) Mobile: Property-Cards (Nos Objets etc.) ohne Bottom-Cropping */
@media (max-width: 575px) {
    .item-listing-wrap.card,
    .item-wrap.item-wrap-v1 {
        margin-bottom: 20px !important;
    }
    .item-listing-wrap .item-body {
        padding: 18px 18px 12px !important;
    }
    .item-listing-wrap .item-footer {
        padding: 12px 18px 16px !important;
        gap: 10px !important;
    }
}

/* j) Mobile: Buttons mit anständigem Tap-Target (Apple ≥44px)
   AUSGENOMMEN: dekorative kleine Buttons wie Slideshow-Dots, Pagination-Dots */
@media (max-width: 767.98px) {
    .btn:not(.lux-slide-dot):not(.slick-dot):not([class*="-dot"]),
    button.btn:not(.lux-slide-dot):not([class*="-dot"]),
    a.btn,
    .elementor-button,
    .btn.btn-primary,
    .btn.btn-secondary {
        min-height: 44px;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
    /* HARTER Override: Slideshow-Dots NIE 44px */
    .lux-slide-dot,
    button.lux-slide-dot,
    .lux-slide-dot--active {
        min-height: 8px !important;
        max-height: 14px !important;
        padding: 0 !important;
        width: 8px !important;
        height: 8px !important;
    }
    .lux-slide-dot--active {
        width: 10px !important;
        height: 10px !important;
    }
}

/* k) Mobile: Houzez-Background-Pattern (bg-marker-left.jpg + altes 205.jpg)
   auf Mobile ausblenden — dominiert visuell, ungenutzte alte Houzez-Section.
   Nur das `elementor-background-overlay` mit blauer Farbe behalten. */
@media (max-width: 767.98px) {
    .elementor-section[class*="dbd6"],
    body.home .elementor-section[style*="bg-marker"],
    body.home .elementor-section[style*="205.jpg"] {
        background-image: none !important;
    }
    /* Generic: alle Houzez-Section-BG mit bg-marker-Pattern auf Mobile entfernen */
    .elementor-section [style*="bg-marker-left"] {
        background-image: none !important;
    }
}

/* ============================================================
   20. MOBILE-NAV FIXES (Cross-Device: iOS + Android)
   ------------------------------------------------------------
   Houzez Slideout-Menü hatte:
   - z-index: 0 → konnte hinter Content erscheinen
   - Kein dunkler Backdrop → Content darunter blieb sichtbar/tappbar
   - Kein Close-X-Button im Menü-Header
   Diese Sektion fixt das Cross-Device sauber.
   ============================================================ */

/* a) z-index Stacking (von oben nach unten):
   - Header (10001) — Hamburger MUSS immer klickbar bleiben (auch um zu schließen)
   - Menü-Panel (9999) — über Backdrop, klickbare Links
   - Backdrop (9997) — dimmt Content, schließt bei Tap
   - Content (auto) — unter Backdrop wenn Menü offen */
.main-nav.slideout-menu-left,
.main-nav.slideout-menu-left.open,
.navi-login-register.slideout-menu-right,
.navi-login-register.slideout-menu-right.open {
    z-index: 9998 !important;
}
body.lux-mobile-menu-open .main-nav.slideout-menu-left,
body.lux-mobile-menu-open .navi-login-register.slideout-menu-right {
    z-index: 9999 !important;
}
/* KRITISCH: Header + Toggle-Button immer auf höchstem z-index
   Sonst kann User Menü nicht über Hamburger schließen wenn Backdrop drüber liegt. */
.header-main-wrap,
#header-section,
#header-mobile,
header.header-main-wrap {
    z-index: 10000 !important;
}
.toggle-button-left,
.toggle-button-right,
.btn.toggle-button-left,
.btn.toggle-button-right,
#header-mobile .btn.toggle-button-left,
#header-mobile .btn.toggle-button-right {
    position: relative;
    z-index: 10001 !important;
    /* Touch-Target explizit absichern */
    pointer-events: auto !important;
}

/* b) Backdrop-Overlay als ECHTES DIV-Element (#lux-nav-backdrop)
   wird per JS injiziert wenn Menu öffnet. Pseudo-::before war zu invasiv —
   weil body's pseudo zum Body-Bounding-Box gehört und elementFromPoint
   den Body als topmost reportet → Hamburger nicht klickbar.
   Echtes Element löst das: liegt im DOM unter dem Header, kein
   Stacking-Context-Konflikt. */
#lux-nav-backdrop {
    position: fixed;
    /* Backdrop startet UNTER dem Header (76px = Mobile-Header-Höhe),
       damit der Hamburger-Bereich frei klickbar bleibt. */
    top: 76px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(8, 24, 38, 0.65);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    z-index: 9997;
    opacity: 0;
    pointer-events: none;
    cursor: pointer;
    transition: opacity 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
body.lux-mobile-menu-open #lux-nav-backdrop {
    opacity: 1;
    pointer-events: auto;
}

/* c) Body scroll-lock wenn Menu offen — OHNE position:fixed,
   sonst wird Body zum Hit-Test-Layer und blockiert den Hamburger-Click.
   Stattdessen: html+body overflow:hidden + overscroll-behavior:contain
   (iOS Safari 16+ unterstützt das, ältere fallen back auf overflow:hidden) */
body.lux-mobile-menu-open,
html:has(body.lux-mobile-menu-open) {
    overflow: hidden !important;
    overscroll-behavior: contain;
    touch-action: none;
}
/* Hamburger / Toggle-Button muss IMMER touch-action: auto haben,
   sonst gehen iOS Safari Taps verloren */
.toggle-button-left,
.toggle-button-right,
.btn.toggle-button-left,
.btn.toggle-button-right,
.main-nav.slideout-menu-left.open a,
body.lux-mobile-menu-open::before {
    touch-action: auto !important;
}

/* d) Menü-Panel Premium-Polish: Dark Navy + Gold-Akzente */
.main-nav.slideout-menu-left.open {
    background: linear-gradient(180deg, #0B1F33 0%, #081826 100%) !important;
    border-right: 1px solid rgba(200, 169, 106, 0.18) !important;
    box-shadow: 4px 0 32px -8px rgba(0, 0, 0, 0.7) !important;
    padding-top: 24px;
    /* iOS Safari Safe-Area unten */
    padding-bottom: env(safe-area-inset-bottom, 0);
    /* iOS: Smooth-Touch-Scrolling */
    -webkit-overflow-scrolling: touch;
}

/* e) Menü-Links Premium-Style + ausreichende Tap-Targets */
.main-nav.slideout-menu-left.open ul li a,
.main-nav.slideout-menu-left.open ul.navbar-nav li a {
    min-height: 56px;
    padding: 16px 24px !important;
    font-family: 'Manrope', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: #DBE3EB !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    transition: background 0.25s ease, color 0.25s ease, padding-left 0.25s ease;
    display: flex;
    align-items: center;
}
.main-nav.slideout-menu-left.open ul li a:hover,
.main-nav.slideout-menu-left.open ul li a:active,
.main-nav.slideout-menu-left.open ul li.active a,
.main-nav.slideout-menu-left.open ul li.current-menu-item a {
    background: rgba(200, 169, 106, 0.08);
    color: var(--lux-gold, #C8A96A) !important;
    padding-left: 32px !important;
}

/* f) Iconisches Schließen-Verhalten via Toggle-Button (vorhandener X im Header)
   Wir verlassen uns auf die Click-Handler vom JS (siehe luxproperties-enhance.js).
   Plus: Tap auf Backdrop-Overlay schließt das Menü (siehe JS). */

/* g) iOS Safari spezifisch: viewport-units (100vh) bug umgehen */
.main-nav.slideout-menu-left {
    height: 100vh;
    height: -webkit-fill-available;
    height: 100dvh;
}

/* h) Android Chrome: Backdrop-Filter Fallback (ältere Versionen) */
@supports not (backdrop-filter: blur(4px)) {
    body.lux-mobile-menu-open::before {
        background: rgba(8, 24, 38, 0.80);
    }
}

/* ============================================================
   20. PROPERTY-DETAIL — Bug-Audit Fix (v1.6.7, Mai 2026)
   ------------------------------------------------------------
   Reported by user: Bugs auf https://luxproperties.immo/property/*/
   Befunde aus Desktop+Mobile-Audit:

   1. Hero-Price (€565.000) überlappt mit Navbar — falsches absolute-
      positioning bei .item-price-wrap (top:3 right:0) ohne relative
      Parent → schießt in Top-Right-Corner des viewports.
   2. Japper-Widget "Qu'y A-T-Il À Proximité ?" zeigt
      "Please supply your API key" — Plugin ohne API-Key.
      Sichtbar für Endkunden → unprofessionell.
   3. Translations-Bugs: "Leave a Review", "Enter a title",
      "Write a review", "SELECT" auf Englisch trotz FR-Locale.
   4. Compare-Property-Panel ist auf Mobile sichtbar als 300px-Sidebar.
   5. Property-Title CAPS in Breadcrumb + Browser-Tab.
   6. Property-Tabs sehr eng auf Desktop, Overflow auf <1366px Screens.
   ============================================================ */

/* === 20.1 Hero-Price-Position Fix === */
.single-property .page-title-wrap {
    position: relative !important;       /* gibt absolutem Child einen Anker */
}
.single-property .page-title-wrap .container {
    position: relative !important;
}
.single-property .property-title-price-wrap {
    position: relative !important;
    /* Flex-Row mit ausreichend Spacing für Title links + Preis rechts */
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
}
.single-property .property-title-price-wrap > * {
    min-width: 0;
}
/* Item-Price-Wrap auf der Detail-Page: NICHT absolut, sondern Inline-Block
   im Title-Bereich, rechts-aligned per margin-left:auto */
.single-property .property-title-price-wrap .item-price-wrap {
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin-left: auto !important;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-top: 8px;
}
.single-property .property-title-price-wrap .item-price-wrap .item-price {
    font-family: 'Manrope', 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 32px !important;
    color: #E8D8B0 !important; /* Gold-Light für edlen Premium-Look */
    font-variant-numeric: tabular-nums !important;
    letter-spacing: -0.005em !important;
    line-height: 1.1 !important;
    white-space: nowrap;
}

/* Mobile: Preis unter Title statt rechts daneben */
@media (max-width: 767.98px) {
    .single-property .property-title-price-wrap {
        flex-direction: column;
        align-items: flex-start;
    }
    .single-property .property-title-price-wrap .item-price-wrap {
        margin-left: 0 !important;
        align-items: flex-start;
        padding-top: 4px;
    }
    .single-property .property-title-price-wrap .item-price-wrap .item-price {
        font-size: 26px !important;
    }
}

/* === 20.2 Japper-Widget Total Hide (v1.6.8 — richtige Selektoren) ===
   Plugin ohne API-Key → "Please supply your API key" sichtbar.
   Echte Struktur ist <div id="property-nearby-wrap" class="property-nearby-wrap property-section-wrap">.
   Auch yelp-cat-block und what-nearby treffen. */
.single-property #property-nearby-wrap,
.single-property .property-nearby-wrap,
.single-property .what-nearby,
.single-property .yelp-cat-block,
.single-property [class*="japper"],
.single-property .nearby-logo,
.single-property .nearby-places-section {
    display: none !important;
}
/* Tab "Qu'y a-t-il à proximité ?" Link in der Navigation auch verstecken */
.single-property .property-navigation-wrap a[href*="nearby"],
.single-property .property-navigation-wrap a[href*="places"],
.single-property .property-navigation-wrap a[href*="proximite"],
.single-property .property-navigation-wrap a[href*="#property-nearby"] {
    display: none !important;
}

/* === 20.3 Translation-Bugs verstecken/ersetzen ===
   Die Englischen Strings kommen aus Houzez/Plugin. Da wir kein .po-File
   editieren können, verstecken oder ersetzen wir per CSS-Trick. */
/* Translation-Replacements werden via JS (luxproperties-enhance.js)
   gemacht. Hier nur Typografie-Polish für die Review-Section. */
.single-property .add-review-wrap h2,
.single-property .add-review-wrap h3,
.single-property .leave-review-wrap h2,
.single-property .property-reviews h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #ffffff !important;
    font-weight: 500 !important;
    font-size: 1.6rem !important;
}

/* === 20.4 Compare-Property-Panel auf Mobile ausblenden === */
@media (max-width: 991.98px) {
    #compare-property-panel,
    .compare-property-panel,
    .compare-property-toggle {
        display: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* === 20.5 Breadcrumb-Item & Page-Title: CAPS → Title-Case === */
.single-property .breadcrumb-item.active,
.single-property .breadcrumb-item:last-child,
.single-property .breadcrumb .active,
.single-property .property-title-price-wrap h1 {
    text-transform: capitalize !important;
}
.single-property h1.entry-title,
.single-property .property-title-price-wrap h1.title-prop {
    text-transform: capitalize !important;
}

/* === 20.6 Property-Tabs Polish: Overflow-Scroll für kleinere Desktops === */
@media (min-width: 992px) and (max-width: 1366px) {
    .property-navigation-wrap .container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .property-navigation-wrap .nav-tabs,
    .property-navigation-wrap ul {
        flex-wrap: nowrap !important;
        white-space: nowrap;
    }
    .property-navigation-wrap .nav-tabs a,
    .property-navigation-wrap ul li a {
        padding-left: 16px !important;
        padding-right: 16px !important;
        font-size: 12px !important;
    }
}

/* === 20.7 Annonces Similaires Section: Card-Wrap für visuelle Cohesion === */
.single-property .similar-property-listing-wrap,
.single-property .similar-properties-wrap,
.single-property .related-properties {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 16px;
    padding: 28px 24px 36px;
    margin-top: 32px;
    border: 1px solid rgba(200, 169, 106, 0.08);
}
.single-property .similar-property-listing-wrap > h2,
.single-property .related-properties > h2 {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #ffffff !important;
    text-transform: capitalize !important;
}

/* === 20.8 Aperçus "4.75"-Box ohne Label → Label ergänzen via ::before ===
   Houzez rendert "Land-Size" ohne Label-Translation in FR. */
.single-property .property-overview-item:not([class*="surface"]):not([class*="bed"]):not([class*="bath"]):not([class*="type"]) .info-content::before,
.single-property .houzez-property-overview-wrap .item:nth-child(4) .info-content::before {
    content: "Surface" !important;
    display: block !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin-top: 4px !important;
}

/* === 20.11 Legal-Pages: Lesbarkeit + Layout-Polish (v1.7.1) ===
   ECHTE IDs: Privacy = page-id-748, Terms = page-id-745.
   Bugs gefunden:
   - H4-Headings = rgb(11,31,51) auf navy body → UNSICHTBAR
   - p/li 15px / weight 300 = zu dünn auf dunklem Bg → schwer lesbar
   - Property-Sidebar (Featured/Discover) irrelevant auf Legal-Pages */

/* Sidebar verstecken + Content centered */
body.page-id-748 .sidebar-wrap,         /* Privacy */
body.page-id-745 .sidebar-wrap,         /* Terms */
body.page-id-748 aside.col-lg-4,
body.page-id-745 aside.col-lg-4 {
    display: none !important;
}
body.page-id-748 .content-wrap .col-lg-8,
body.page-id-745 .content-wrap .col-lg-8,
body.page-id-748 .content-area,
body.page-id-745 .content-area {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    width: 100% !important;
    flex: 0 0 100% !important;
}

/* === KRITISCH: H4-Color-Fix (navy → white) === */
body.page-id-748 .entry-content h4,
body.page-id-745 .entry-content h4,
body.page-id-748 article h4,
body.page-id-745 article h4 {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* === Body-Text Lesbarkeit: größer, satter, mehr line-height === */
body.page-id-748 .entry-content p,
body.page-id-745 .entry-content p,
body.page-id-748 article p,
body.page-id-745 article p,
body.page-id-748 .entry-content li,
body.page-id-745 .entry-content li,
body.page-id-748 article li,
body.page-id-745 article li {
    color: #DBE3EB !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    letter-spacing: 0.005em !important;
}

/* Strong + Bold in Body etwas heller für Hervorhebung */
body.page-id-748 .entry-content strong,
body.page-id-745 .entry-content strong,
body.page-id-748 .entry-content b,
body.page-id-745 .entry-content b {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Links im Body — Gold + Hover-Underline */
body.page-id-748 .entry-content a,
body.page-id-745 .entry-content a {
    color: var(--lux-gold) !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(200, 169, 106, 0.35) !important;
    text-underline-offset: 3px !important;
    transition: color .18s ease, text-decoration-color .18s ease;
}
body.page-id-748 .entry-content a:hover,
body.page-id-745 .entry-content a:hover {
    color: var(--lux-gold-light, #E8D8B0) !important;
    text-decoration-color: var(--lux-gold) !important;
}

/* H2/H3 etwas mehr Atem (Hierarchie auch in Text-Lese-Modus klar) */
body.page-id-748 .entry-content h2,
body.page-id-745 .entry-content h2 {
    margin-top: 2.25rem !important;
    margin-bottom: 0.75rem !important;
    padding-top: 0.5rem !important;
    border-top: 1px solid rgba(200, 169, 106, 0.12) !important;
    font-size: 1.5rem !important;
}
body.page-id-748 .entry-content h2:first-child,
body.page-id-745 .entry-content h2:first-child {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.page-id-748 .entry-content h3,
body.page-id-745 .entry-content h3 {
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
    font-size: 1.2rem !important;
    font-family: 'Playfair Display', Georgia, serif !important;
}

/* Lists: schöne Bullet-Marker + Spacing */
body.page-id-748 .entry-content ul,
body.page-id-745 .entry-content ul,
body.page-id-748 .entry-content ol,
body.page-id-745 .entry-content ol {
    padding-left: 1.25rem !important;
    margin: 1rem 0 !important;
}
body.page-id-748 .entry-content ul li::marker,
body.page-id-745 .entry-content ul li::marker {
    color: var(--lux-gold) !important;
}

/* === 20.16 /search-results/ Card-Lesbarkeit v2 BRUTE-FORCE (v1.7.5) ===
   Vorheriger v1.7.4-Fix matchte nicht: Card-Title <A> hat keine class,
   <ADDRESS class="item-address"> Adresse, "Maison"-Label <span> ohne class.
   Hier brute-force: ALLE Texte innerhalb .item-listing-wrap auf hellem
   Brand-Palette zwingen, nur Bilder + Brand-Buttons ausnehmen. */
html body.page-id-16859 .item-listing-wrap *:not(img):not(.btn):not(.btn-item):not(.item-thumb):not(.item-img):not(.label-status):not(.tag-featured):not(.item-price),
html body.houzez-halfmap-page .item-listing-wrap *:not(img):not(.btn):not(.btn-item):not(.item-thumb):not(.item-img):not(.label-status):not(.tag-featured):not(.item-price) {
    color: #DBE3EB !important;
}
/* Title spezifisch heller + größer */
html body.page-id-16859 .item-listing-wrap .item-title,
html body.page-id-16859 .item-listing-wrap .item-title *,
html body.page-id-16859 .item-listing-wrap h2,
html body.page-id-16859 .item-listing-wrap h2 *,
html body.houzez-halfmap-page .item-listing-wrap .item-title,
html body.houzez-halfmap-page .item-listing-wrap .item-title *,
html body.houzez-halfmap-page .item-listing-wrap h2,
html body.houzez-halfmap-page .item-listing-wrap h2 * {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
}
html body.page-id-16859 .item-listing-wrap .item-title a:hover,
html body.page-id-16859 .item-listing-wrap h2 a:hover,
html body.houzez-halfmap-page .item-listing-wrap .item-title a:hover,
html body.houzez-halfmap-page .item-listing-wrap h2 a:hover {
    color: var(--lux-gold) !important;
}

/* Address etwas dezenter */
html body.page-id-16859 .item-listing-wrap address,
html body.page-id-16859 .item-listing-wrap .item-address,
html body.page-id-16859 .item-listing-wrap .item-location,
html body.houzez-halfmap-page .item-listing-wrap address,
html body.houzez-halfmap-page .item-listing-wrap .item-address,
html body.houzez-halfmap-page .item-listing-wrap .item-location {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 13px !important;
}

/* Author + Footer noch dezenter */
html body.page-id-16859 .item-listing-wrap .item-author,
html body.page-id-16859 .item-listing-wrap .item-author *,
html body.page-id-16859 .item-listing-wrap .item-footer,
html body.page-id-16859 .item-listing-wrap .item-footer *,
html body.houzez-halfmap-page .item-listing-wrap .item-author,
html body.houzez-halfmap-page .item-listing-wrap .item-author *,
html body.houzez-halfmap-page .item-listing-wrap .item-footer,
html body.houzez-halfmap-page .item-listing-wrap .item-footer * {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 12px !important;
}

/* Détails-Button: erhalte Brand-Gold ohne Brute-Force-Override */
html body.page-id-16859 .item-listing-wrap a.btn,
html body.page-id-16859 .item-listing-wrap a.btn-item,
html body.page-id-16859 .item-listing-wrap a.btn-primary,
html body.houzez-halfmap-page .item-listing-wrap a.btn,
html body.houzez-halfmap-page .item-listing-wrap a.btn-item,
html body.houzez-halfmap-page .item-listing-wrap a.btn-primary {
    color: #0B1F33 !important;
    background-color: var(--lux-gold) !important;
}

/* Property-Type "Maison" Label */
html body.page-id-16859 .item-listing-wrap .item-tag,
html body.page-id-16859 .item-listing-wrap .property-type,
html body.houzez-halfmap-page .item-listing-wrap .item-tag,
html body.houzez-halfmap-page .item-listing-wrap .property-type {
    color: rgba(232, 216, 176, 0.85) !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
}

/* Icons inside card amenities (Bett/Bad/Surface) */
html body.page-id-16859 .item-listing-wrap i,
html body.page-id-16859 .item-listing-wrap .houzez-icon,
html body.houzez-halfmap-page .item-listing-wrap i,
html body.houzez-halfmap-page .item-listing-wrap .houzez-icon {
    color: var(--lux-gold) !important;
}

/* === Preis-Range Label "Depuis €50 Jusqu'à €25.000" verstecken ===
   Bug: Houzez zeigt Slider-Range-Text-Display darüber.
   Quick-Fix: ganz ausblenden, Slider spricht für sich selbst. */
html body.page-id-16859 .price-range-label .price-from,
html body.page-id-16859 .price-range-label .price-to,
html body.houzez-halfmap-page .price-range-label .price-from,
html body.houzez-halfmap-page .price-range-label .price-to {
    display: none !important;
}
html body.page-id-16859 .price-range-label::after,
html body.houzez-halfmap-page .price-range-label::after {
    content: " — utilisez le curseur pour filtrer";
    color: rgba(255, 255, 255, 0.55);
    font-style: italic;
    font-size: 12px;
    font-weight: 400;
}

/* === 20.15 /search-results/: KRITISCHE LESBARKEIT-FIXES (v1.7.4) ===
   User-Feedback: "Seite voll mit Bugs, Optionen ohne Sinn, Schrift nicht lesbar."
   Selbst-Audit gefunden:
   - Card-Title rgb(11,31,51) navy auf navy → UNSICHTBAR
   - Card-Address rgb(99,99,99) grey → schlecht lesbar
   - Page-Title rgb(26,26,26) schwarz auf navy → UNSICHTBAR
   - Allemagne/Belgique/France in "Cities"-Dropdown (sind Länder, nicht Städte)
   - Surface-Inputs ohne m² Suffix
   - "Chambres"/"Salles de bains" als doppelte Placeholder-Options
   - Preis-Default €50-€25.000 absurd für Luxembourg
*/

/* === 1. PAGE-TITLE "28 résultats trouvés" — HÖCHSTE Specificity === */
html body.page-id-16859 .page-title,
html body.houzez-halfmap-page .page-title,
html body.page-template-template-search .page-title,
html body.page-id-16859 .half-map-right-wrap .page-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 1.5rem !important;
    margin: 16px 0 !important;
}
html body.page-id-16859 .page-title > span,
html body.houzez-halfmap-page .page-title > span,
html body.page-template-template-search .page-title > span {
    color: var(--lux-gold) !important;
    font-weight: 600 !important;
}

/* === 2. PROPERTY-CARDS auf /search-results/ — Card-Title navy→weiß === */
html body.page-id-16859 .item-listing-wrap .item-title,
html body.page-id-16859 .item-listing-wrap .item-title a,
html body.page-id-16859 .item-listing-wrap h2,
html body.page-id-16859 .item-listing-wrap h2 a,
html body.houzez-halfmap-page .item-listing-wrap .item-title,
html body.houzez-halfmap-page .item-listing-wrap .item-title a {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
}
html body.page-id-16859 .item-listing-wrap .item-title a:hover,
html body.houzez-halfmap-page .item-listing-wrap .item-title a:hover {
    color: var(--lux-gold) !important;
}

/* Card-Adresse + Property-Type Label */
html body.page-id-16859 .item-listing-wrap .item-address,
html body.page-id-16859 .item-listing-wrap .item-location,
html body.page-id-16859 .item-listing-wrap .item-country,
html body.page-id-16859 .item-listing-wrap .property-type,
html body.houzez-halfmap-page .item-listing-wrap .item-address,
html body.houzez-halfmap-page .item-listing-wrap .item-location {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px !important;
}

/* Card-Background = leichter Glas-Effekt für Lesbarkeit */
html body.page-id-16859 .item-listing-wrap,
html body.houzez-halfmap-page .item-listing-wrap {
    background: linear-gradient(160deg, rgba(19, 49, 79, 0.55), rgba(11, 31, 51, 0.32)) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}
html body.page-id-16859 .item-listing-wrap:hover {
    border-color: rgba(200, 169, 106, 0.32) !important;
}

/* Card-Footer (Pascal Warnier + il y a 2 semaines) */
html body.page-id-16859 .item-listing-wrap .item-author,
html body.page-id-16859 .item-listing-wrap .item-author a,
html body.page-id-16859 .item-listing-wrap .item-footer,
html body.page-id-16859 .item-listing-wrap .item-footer a,
html body.houzez-halfmap-page .item-listing-wrap .item-author,
html body.houzez-halfmap-page .item-listing-wrap .item-author a {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 13px !important;
}

/* Card-Meta (Schlafzimmer/Bad/Fläche Icons + Zahlen) */
html body.page-id-16859 .item-listing-wrap .item-amenities li,
html body.page-id-16859 .item-listing-wrap .item-amenities .item,
html body.page-id-16859 .item-listing-wrap .item-features li,
html body.houzez-halfmap-page .item-listing-wrap .item-amenities li {
    color: rgba(255, 255, 255, 0.78) !important;
}
html body.page-id-16859 .item-listing-wrap .item-amenities li i,
html body.houzez-halfmap-page .item-listing-wrap .item-amenities li i {
    color: var(--lux-gold) !important;
}

/* Property-Type Label "MAISON" / "APPARTEMENT" auf Card */
html body.page-id-16859 .item-listing-wrap .item-tag,
html body.page-id-16859 .item-listing-wrap .property-types-wrap,
html body.houzez-halfmap-page .item-listing-wrap .item-tag {
    color: rgba(232, 216, 176, 0.85) !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

/* === 3. CITIES-DROPDOWN: Länder ausblenden ===
   Bug: "Allemagne", "Belgique", "France" sind im "Toutes les villes" Dropdown
   aber das sind Länder. Sie sollten in einem Pays-Dropdown sein, nicht Villes.
   Da wir das Houzez-Dropdown nicht einfach umbauen können, blenden wir sie via CSS aus.
   (Echter Fix wäre in WP-Admin Term-Hierarchie umstellen). */
html body.page-id-16859 select[name="location[]"] option[value="allemagne"],
html body.page-id-16859 select[name="location[]"] option[value="belgique"],
html body.page-id-16859 select[name="location[]"] option[value="france"],
html body.houzez-halfmap-page select[name="location[]"] option[value="allemagne"],
html body.houzez-halfmap-page select[name="location[]"] option[value="belgique"],
html body.houzez-halfmap-page select[name="location[]"] option[value="france"] {
    display: none !important;
}

/* === 4. SORT-DROPDOWN Premium === */
html body.page-id-16859 .sort-by-wrap,
html body.houzez-halfmap-page .sort-by-wrap {
    color: rgba(255, 255, 255, 0.72) !important;
}
html body.page-id-16859 .sort-by-wrap .dropdown-toggle,
html body.page-id-16859 .sort-by-wrap .filter-option-inner-inner,
html body.houzez-halfmap-page .sort-by-wrap .dropdown-toggle,
html body.houzez-halfmap-page .sort-by-wrap .filter-option-inner-inner {
    color: var(--lux-gold) !important;
    text-decoration: none !important;
}

/* === 5. Image-Tags "À VENDRE" / "HOT OFFER" === */
html body.page-id-16859 .label-status,
html body.page-id-16859 .property-label,
html body.page-id-16859 .tag-featured {
    background-color: rgba(11, 31, 51, 0.85) !important;
    border: 1px solid rgba(200, 169, 106, 0.45) !important;
    color: var(--lux-gold-light, #E8D8B0) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    letter-spacing: 0.08em !important;
    font-size: 10.5px !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
}

/* === 6. Price-Overlay auf Card-Image (€565.000) === */
html body.page-id-16859 .item-listing-wrap .item-img .item-price,
html body.page-id-16859 .item-listing-wrap .item-thumb .item-price,
html body.houzez-halfmap-page .item-listing-wrap .item-img .item-price {
    background-color: rgba(11, 31, 51, 0.78) !important;
    border: 1px solid rgba(200, 169, 106, 0.32) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    font-family: 'Manrope', 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    font-variant-numeric: tabular-nums !important;
}

/* === 7. DETAILS-Button auf Card — bleibt Gold, aber konsistenter Style === */
html body.page-id-16859 .item-listing-wrap .btn-item,
html body.houzez-halfmap-page .item-listing-wrap .btn-item {
    background-color: var(--lux-gold) !important;
    color: #0B1F33 !important;
    border-radius: 8px !important;
    padding: 8px 18px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
}

/* === 8. AUTRES CARACTÉRISTIQUES Toggle + Panel === */
html body.page-id-16859 .more-features-btn,
html body.page-id-16859 [data-target*="more-features"],
html body.houzez-halfmap-page .more-features-btn,
html body.houzez-halfmap-page [data-target*="more-features"] {
    background: transparent !important;
    border: 1px dashed rgba(200, 169, 106, 0.35) !important;
    color: var(--lux-gold) !important;
    border-radius: 10px !important;
    padding: 12px 20px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
}
html body.page-id-16859 .more-features-btn:hover,
html body.houzez-halfmap-page .more-features-btn:hover {
    background: rgba(200, 169, 106, 0.06) !important;
    border-color: var(--lux-gold) !important;
    border-style: solid !important;
}

/* Features-Panel Checkboxen */
html body.page-id-16859 .more-features-collapse label,
html body.houzez-halfmap-page .more-features-collapse label,
html body.page-id-16859 .more-features-collapse,
html body.houzez-halfmap-page .more-features-collapse {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* === 9. Surface-Inputs Suffix "m²" via Pseudo === */
html body.page-id-16859 .surface-min-wrap,
html body.page-id-16859 .surface-max-wrap,
html body.houzez-halfmap-page .surface-min-wrap,
html body.houzez-halfmap-page .surface-max-wrap {
    position: relative;
}
html body.page-id-16859 input[name="min-area"],
html body.page-id-16859 input[name="max-area"],
html body.houzez-halfmap-page input[name="min-area"],
html body.houzez-halfmap-page input[name="max-area"] {
    padding-right: 38px !important;
}

/* === 10. Bilder in Cards: aspect-ratio + Hover-Zoom === */
html body.page-id-16859 .item-listing-wrap .item-thumb img,
html body.page-id-16859 .item-listing-wrap .item-img img,
html body.houzez-halfmap-page .item-listing-wrap .item-thumb img {
    transition: transform .5s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}
html body.page-id-16859 .item-listing-wrap:hover .item-thumb img,
html body.houzez-halfmap-page .item-listing-wrap:hover .item-thumb img {
    transform: scale(1.04);
}

/* === 11. Pagination Premium === */
html body.page-id-16859 .pagination .page-numbers,
html body.houzez-halfmap-page .pagination .page-numbers {
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.78) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    margin: 0 4px !important;
}
html body.page-id-16859 .pagination .page-numbers.current,
html body.page-id-16859 .pagination .page-numbers:hover,
html body.houzez-halfmap-page .pagination .page-numbers.current,
html body.houzez-halfmap-page .pagination .page-numbers:hover {
    background-color: var(--lux-gold) !important;
    color: #0B1F33 !important;
    border-color: var(--lux-gold) !important;
}

/* === 20.14 /search-results/: KARTE RAUS + Premium-Polish v2 (v1.7.3) ===
   User: "seh kein unterschied und das mit der karte soll raus"
   v1.7.2-Selektoren matchten nicht (body.search-results existiert nicht
   auf dieser Houzez-Page). Korrekte Body-Class:
   - body.page-id-16859 + body.houzez-halfmap-page + body.page-template-template-search */

/* === MAP komplett ausblenden + Content auf volle Breite === */
body.page-id-16859 .half-map-left-wrap,
body.houzez-halfmap-page .half-map-left-wrap,
body.page-template-template-search .half-map-left-wrap,
.half-map-wrap .half-map-left-wrap,
#map-view-wrap,
.half-map-wrap .map-wrap,
.half-map-wrap.map-on-left .half-map-left-wrap {
    display: none !important;
}
body.page-id-16859 .half-map-right-wrap,
body.houzez-halfmap-page .half-map-right-wrap,
body.page-template-template-search .half-map-right-wrap,
.half-map-wrap .half-map-right-wrap.listing-v1,
.half-map-wrap.map-on-left .half-map-right-wrap {
    width: 100% !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 32px !important;
}
body.page-id-16859 .half-map-wrap,
body.houzez-halfmap-page .half-map-wrap {
    background-color: #0B1F33 !important;
}

/* === Page-Title "28 résultats trouvés" === */
body.page-id-16859 .page-title,
body.houzez-halfmap-page .page-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 1.5rem !important;
    letter-spacing: 0.005em !important;
}
body.page-id-16859 .page-title > span,
body.houzez-halfmap-page .page-title > span {
    color: var(--lux-gold) !important;
    font-weight: 600 !important;
}

/* === FILTER-FORM Premium-Glass (Inputs + Dropdowns) === */
body.page-id-16859 .half-map-search-form .bootstrap-select > .dropdown-toggle,
body.page-id-16859 .half-map-search-form .form-control,
body.houzez-halfmap-page .half-map-search-form .bootstrap-select > .dropdown-toggle,
body.houzez-halfmap-page .half-map-search-form .form-control {
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    min-height: 46px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}
body.page-id-16859 .half-map-search-form .form-control::placeholder,
body.houzez-halfmap-page .half-map-search-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.55) !important;
}
body.page-id-16859 .half-map-search-form .filter-option-inner-inner,
body.houzez-halfmap-page .half-map-search-form .filter-option-inner-inner {
    color: #ffffff !important;
}
body.page-id-16859 .half-map-search-form .bs-placeholder .filter-option-inner-inner,
body.houzez-halfmap-page .half-map-search-form .bs-placeholder .filter-option-inner-inner {
    color: rgba(255, 255, 255, 0.55) !important;
}
body.page-id-16859 .half-map-search-form .form-control:focus,
body.page-id-16859 .half-map-search-form .bootstrap-select > .dropdown-toggle:focus,
body.houzez-halfmap-page .half-map-search-form .form-control:focus,
body.houzez-halfmap-page .half-map-search-form .bootstrap-select > .dropdown-toggle:focus {
    border-color: var(--lux-gold) !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
    box-shadow: 0 0 0 3px rgba(200, 169, 106, 0.18) !important;
    outline: none !important;
}

/* Dropdown-Menüs: dunkles Premium-Card */
body.page-id-16859 .bootstrap-select .dropdown-menu,
body.houzez-halfmap-page .bootstrap-select .dropdown-menu {
    background-color: #102a44 !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.45) !important;
    padding: 8px !important;
}
body.page-id-16859 .bootstrap-select .dropdown-item,
body.page-id-16859 .bootstrap-select .dropdown-menu a,
body.houzez-halfmap-page .bootstrap-select .dropdown-item,
body.houzez-halfmap-page .bootstrap-select .dropdown-menu a {
    color: #DBE3EB !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
}
body.page-id-16859 .bootstrap-select .dropdown-item:hover,
body.page-id-16859 .bootstrap-select .dropdown-item.active,
body.page-id-16859 .bootstrap-select .dropdown-item.selected,
body.houzez-halfmap-page .bootstrap-select .dropdown-item:hover,
body.houzez-halfmap-page .bootstrap-select .dropdown-item.active,
body.houzez-halfmap-page .bootstrap-select .dropdown-item.selected {
    background-color: rgba(200, 169, 106, 0.14) !important;
    color: var(--lux-gold) !important;
}

/* === RECHERCHE-Button (Gold) === */
body.page-id-16859 .half-map-search-form .btn-search,
body.houzez-halfmap-page .half-map-search-form .btn-search,
body.page-id-16859 .half-map-search-js-btn,
body.houzez-halfmap-page .half-map-search-js-btn {
    background-color: var(--lux-gold) !important;
    color: #0B1F33 !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px 24px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    box-shadow: 0 6px 20px rgba(200, 169, 106, 0.28) !important;
    min-height: 50px !important;
}
body.page-id-16859 .half-map-search-form .btn-search:hover,
body.houzez-halfmap-page .half-map-search-form .btn-search:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 26px rgba(200, 169, 106, 0.38) !important;
}

/* === SAVE-SEARCH-Button (GRÜN → Gold-Outline) === */
body.page-id-16859 .save_search_click,
body.page-id-16859 .save-search-btn,
body.houzez-halfmap-page .save_search_click,
body.houzez-halfmap-page .save-search-btn,
.half-map-search-form .save_search_click,
.half-map-search-form .save-search-btn,
button.save_search_click {
    background-color: transparent !important;
    background-image: none !important;
    border: 1px solid rgba(200, 169, 106, 0.5) !important;
    color: var(--lux-gold) !important;
    border-radius: 12px !important;
    padding: 12px 18px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-size: 11.5px !important;
    box-shadow: none !important;
    min-height: 50px !important;
    transition: all .18s ease !important;
}
body.page-id-16859 .save_search_click:hover,
body.page-id-16859 .save-search-btn:hover,
body.houzez-halfmap-page .save_search_click:hover,
button.save_search_click:hover {
    background-color: rgba(200, 169, 106, 0.08) !important;
    border-color: var(--lux-gold) !important;
    color: var(--lux-gold-light, #E8D8B0) !important;
}
body.page-id-16859 .save_search_click i,
body.houzez-halfmap-page .save_search_click i {
    color: var(--lux-gold) !important;
}

/* === SORT-BY Dropdown (war BLAU) === */
body.page-id-16859 .sort-by-wrap .dropdown-toggle,
body.houzez-halfmap-page .sort-by-wrap .dropdown-toggle,
body.page-id-16859 .sort-by-wrap .filter-option-inner-inner,
body.houzez-halfmap-page .sort-by-wrap .filter-option-inner-inner {
    color: var(--lux-gold) !important;
    background-color: transparent !important;
    border: 0 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
body.page-id-16859 .sort-by-wrap .dropdown-toggle::after,
body.houzez-halfmap-page .sort-by-wrap .dropdown-toggle::after {
    color: var(--lux-gold) !important;
    border-top-color: var(--lux-gold) !important;
}
body.page-id-16859 .sort-by-wrap > span,
body.houzez-halfmap-page .sort-by-wrap > span,
body.page-id-16859 .sortby-label,
body.houzez-halfmap-page .sortby-label {
    color: rgba(255, 255, 255, 0.72) !important;
    font-weight: 500 !important;
}

/* === LABELS (Échelle des prix, RAYON, etc.) === */
body.page-id-16859 .price-range-label,
body.page-id-16859 .price-from,
body.page-id-16859 .price-to,
body.houzez-halfmap-page .price-range-label,
body.houzez-halfmap-page .price-from,
body.houzez-halfmap-page .price-to,
body.page-id-16859 .houzez-radius-wrap,
body.houzez-halfmap-page .houzez-radius-wrap,
body.page-id-16859 .houzez-radius-wrap label,
body.houzez-halfmap-page .houzez-radius-wrap label {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 500 !important;
}
body.page-id-16859 .price-from strong,
body.page-id-16859 .price-to strong,
body.houzez-halfmap-page .price-from strong,
body.houzez-halfmap-page .price-to strong {
    color: var(--lux-gold) !important;
}

/* === Grid/List-View-Toggle === */
body.page-id-16859 .grid-list-view a,
body.houzez-halfmap-page .grid-list-view a,
body.page-id-16859 .switch-listing-view a,
body.houzez-halfmap-page .switch-listing-view a {
    color: rgba(255, 255, 255, 0.55) !important;
    transition: color .18s ease !important;
}
body.page-id-16859 .grid-list-view a:hover,
body.page-id-16859 .grid-list-view a.active,
body.houzez-halfmap-page .grid-list-view a.active {
    color: var(--lux-gold) !important;
}

/* Login-Icon */
body.page-id-16859 .btn-icon-login-register,
body.houzez-halfmap-page .btn-icon-login-register {
    color: var(--lux-gold) !important;
}

/* "Autres caractéristiques" Toggle */
body.page-id-16859 .more-features-btn,
body.houzez-halfmap-page .more-features-btn,
body.page-id-16859 [data-target*="more-features"],
body.houzez-halfmap-page [data-target*="more-features"] {
    background-color: transparent !important;
    color: var(--lux-gold) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 12px !important;
    border: 0 !important;
}

/* Property-Card-Spacing */
body.page-id-16859 .item-listing-wrap,
body.houzez-halfmap-page .item-listing-wrap {
    margin-bottom: 24px !important;
}

/* === 20.13 /search-results/ Premium-Polish (v1.7.2) ===
   User: Search-Results soll professionell + edel sein.
   Befunde:
   - "Enregistrer la recherche" knall-grün rgb(40,167,69) → falsche Brand-Color
   - Sort-Dropdown "Mises en avant en premier" blau rgb(0,174,255) → falsch
   - Filter-Dropdowns flat-weiß → könnten premium-er
   - Map-Buttons dunkel → Glass-Effekt
   - Login-Icon blau → Gold-Akzent
*/

/* === Save-Search-Button: Grün → Premium Gold-Outline === */
body.search-results .save_search_click,
body.search-results .save-search-btn,
body.search .save_search_click,
body.search .save-search-btn,
.half-map-search-form .save_search_click,
.half-map-search-form .save-search-btn,
button.save_search_click,
.btn.save-search-btn {
    background-color: transparent !important;
    background-image: none !important;
    border: 1px solid rgba(200, 169, 106, 0.5) !important;
    color: var(--lux-gold) !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    box-shadow: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}
body.search-results .save_search_click:hover,
body.search-results .save-search-btn:hover,
.half-map-search-form .save_search_click:hover,
.half-map-search-form .save-search-btn:hover,
button.save_search_click:hover,
.btn.save-search-btn:hover {
    background-color: rgba(200, 169, 106, 0.08) !important;
    border-color: var(--lux-gold) !important;
    color: var(--lux-gold-light, #E8D8B0) !important;
    transform: translateY(-1px);
}

/* Icon vor "Enregistrer la recherche" Gold-Tönen */
body.search-results .save_search_click i,
body.search-results .save-search-btn i,
.btn.save-search-btn i {
    color: var(--lux-gold) !important;
}

/* === Sort-Dropdown "Trier par": Blau → Weiß-Premium === */
body.search-results .sort-by-wrap .dropdown-toggle,
body.search-results .sort-by-wrap .filter-option-inner-inner,
body.search-results .sort-by-wrap.bootstrap-select > .dropdown-toggle,
.half-map-search .sort-by-wrap .dropdown-toggle {
    color: #ffffff !important;
    background-color: transparent !important;
    border: 0 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
body.search-results .sort-by-wrap .dropdown-toggle::after,
.half-map-search .sort-by-wrap .dropdown-toggle::after {
    color: var(--lux-gold) !important;
    border-top-color: var(--lux-gold) !important;
}
body.search-results .sort-by-wrap .dropdown-toggle:hover {
    color: var(--lux-gold-light, #E8D8B0) !important;
}
/* Sort-Dropdown-Menü selbst — dunkles Premium */
body.search-results .sort-by-wrap .dropdown-menu,
.half-map-search .sort-by-wrap .dropdown-menu,
.dropdown-menu.sortby-dropdown {
    background-color: #102a44 !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.45) !important;
    padding: 8px !important;
}
body.search-results .sort-by-wrap .dropdown-item,
.dropdown-menu.sortby-dropdown a {
    color: #DBE3EB !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}
body.search-results .sort-by-wrap .dropdown-item:hover,
body.search-results .sort-by-wrap .dropdown-item.active {
    background-color: rgba(200, 169, 106, 0.12) !important;
    color: var(--lux-gold) !important;
}

/* === Filter-Dropdowns: Premium Glass-Style === */
body.search-results .houzez-search-form-js .bootstrap-select > .dropdown-toggle,
body.search-results .houzez-search-form-js .form-control,
.half-map-search-form .bootstrap-select > .dropdown-toggle,
.half-map-search-form .form-control {
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    min-height: 46px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}
body.search-results .houzez-search-form-js .form-control::placeholder,
.half-map-search-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.55) !important;
}
body.search-results .houzez-search-form-js .filter-option-inner-inner {
    color: #ffffff !important;
}
body.search-results .houzez-search-form-js .bs-placeholder .filter-option-inner-inner {
    color: rgba(255, 255, 255, 0.55) !important;
}
body.search-results .houzez-search-form-js .form-control:focus,
body.search-results .houzez-search-form-js .bootstrap-select > .dropdown-toggle:focus,
.half-map-search-form .form-control:focus {
    border-color: var(--lux-gold) !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
    box-shadow: 0 0 0 3px rgba(200, 169, 106, 0.18) !important;
    outline: none !important;
}

/* Bootstrap-select-Dropdown-Menüs — dunkles Premium */
body.search-results .houzez-search-form-js .bootstrap-select .dropdown-menu {
    background-color: #102a44 !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.45) !important;
    padding: 8px !important;
}
body.search-results .houzez-search-form-js .bootstrap-select .dropdown-item,
body.search-results .houzez-search-form-js .bootstrap-select .dropdown-menu a {
    color: #DBE3EB !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
}
body.search-results .houzez-search-form-js .bootstrap-select .dropdown-item:hover,
body.search-results .houzez-search-form-js .bootstrap-select .dropdown-item.active,
body.search-results .houzez-search-form-js .bootstrap-select .dropdown-item.selected {
    background-color: rgba(200, 169, 106, 0.14) !important;
    color: var(--lux-gold) !important;
}

/* Tick-Häkchen in Multi-Select Dropdowns Gold */
body.search-results .bootstrap-select .check-mark {
    color: var(--lux-gold) !important;
}

/* === Map-Buttons Glass-Effekt === */
body.search-results .map-btn,
.map-wrap .map-btn,
.map-arrows-actions button {
    background-color: rgba(11, 31, 51, 0.65) !important;
    backdrop-filter: blur(12px) saturate(150%);
    -webkit-backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(200, 169, 106, 0.22) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    transition: background-color .18s ease, border-color .18s ease !important;
}
body.search-results .map-btn:hover,
.map-wrap .map-btn:hover {
    background-color: rgba(11, 31, 51, 0.85) !important;
    border-color: var(--lux-gold) !important;
    color: var(--lux-gold-light, #E8D8B0) !important;
}

/* === Label "Trier par:" Color === */
body.search-results .sort-by-wrap > span,
body.search-results .sortby-label,
.half-map-search .sort-by-wrap > span {
    color: rgba(255, 255, 255, 0.72) !important;
    font-weight: 500 !important;
}

/* === "28 résultats trouvés" Headline Style === */
body.search-results .page-title,
body.search .page-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 1.5rem !important;
    letter-spacing: 0.005em !important;
}
body.search-results .page-title > span,
body.search .page-title > span {
    color: var(--lux-gold) !important;
    font-weight: 600 !important;
}

/* === Grid/List-View-Toggle (rechts neben Sort) Premium === */
body.search-results .grid-list-view a,
body.search-results .grid-list-view button,
body.search-results .switch-listing-view a {
    color: rgba(255, 255, 255, 0.55) !important;
    transition: color .18s ease !important;
}
body.search-results .grid-list-view a:hover,
body.search-results .grid-list-view a.active,
body.search-results .switch-listing-view a.active {
    color: var(--lux-gold) !important;
}

/* === Login-Icon Color (war Blau rgb(0,66,116)) === */
body.search-results .btn-icon-login-register {
    color: var(--lux-gold) !important;
}

/* === Échelle des prix Label === */
body.search-results .price-range-label,
body.search-results .price-from,
body.search-results .price-to,
.half-map-search-form .price-range-label {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 500 !important;
}
body.search-results .price-range-label strong,
body.search-results .price-from strong,
body.search-results .price-to strong {
    color: var(--lux-gold) !important;
}

/* === RAYON checkbox + label === */
body.search-results .houzez-radius-wrap,
body.search-results .houzez-radius-wrap label {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* === "Autres caractéristiques" Toggle Premium === */
body.search-results .more-features-btn,
body.search-results .advanced-search-btn,
body.search-results [data-target*="more-features"] {
    background-color: transparent !important;
    color: var(--lux-gold) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 12px !important;
}

/* Pagination + Property-Card-Spacing (kleine Polishes) */
body.search-results .item-listing-wrap,
body.search-results .listing-wrap-item {
    margin-bottom: 24px !important;
}

/* === 20.12 User-Dashboard Sidebar für Guest-Users dezenter (v1.7.0) ===
   /favorite-properties/ zeigt User-Dashboard-Sidebar mit Links wie
   "Properties", "Invoices", "Create a Listing" — diese sind für eingeloggte
   User mit Account. Da wir keine Public-Registration aktiv haben:
   Sidebar bleibt sichtbar (Favoris/Saved Searches funktionieren via Cookie),
   aber nicht-relevante Links etwas dezenter stylen. */
body.page-id-16256 .user-dashboard-nav {
    /* Sidebar bleibt sichtbar — User kann Favoriten via Cookie speichern */
}

/* === 20.10 Footer-Cleanup (v1.6.8) ===
   Globaler Fix für alle Pages — Footer-Widgets-Bereinigung.
   Bugs:
   - TikTok-Widget übrig (widget-contact-us mit nur "TikTok" text)
   - "Connect with us" auf Englisch (widget_block)
   - Leeres widget_block
   Fix: TikTok-Widget verstecken via JS-Data-Attribute (kann CSS nicht
   per Text-Content selektieren). CSS handelt nur die strukturellen Issues.
   "Connect with us" → ersetzt via JS in luxproperties-enhance.js. */
footer .footer-widget:empty,
footer .widget:empty,
footer .footer-widget.widget_block:not(:has(*:not(:empty))) {
    display: none !important;
}
/* JS markiert das TikTok-Widget mit data-lux-hide="1" */
footer [data-lux-hide="1"] {
    display: none !important;
}

/* === 20.9 Mobile Polish: Property-Detail Container Padding === */
@media (max-width: 767.98px) {
    .single-property .property-wrap {
        padding-top: 76px !important; /* Platz unter mobile-header */
    }
    .single-property .page-title-wrap {
        padding: 16px 0 20px !important;
    }
    .single-property .property-title-price-wrap h1.title-prop,
    .single-property h1.entry-title {
        font-size: 26px !important;
        line-height: 1.2 !important;
        margin: 0 0 6px !important;
    }
    .single-property .property-content-wrap,
    .single-property .property-section {
        margin-bottom: 16px !important;
    }
}

/* === 18. Mobile "Chercher"-Suche — Premium-Polish (v1.6.2) ===
   Refined Houzez search form: dunkles Navy-Panel, Gold-Akzente, abgerundete
   Felder, kein Icon-Overlap, klarere Hierarchie. Greift auf:
   #desktop-header-search (Avancée-Panel) + #advanced-search-filters (Collapse). */
@media (max-width: 991.98px) {

    /* Panel-Container: Dark-Gradient statt flatter Navy-Block */
    #desktop-header-search,
    #advanced-search-filters {
        background: linear-gradient(180deg, #0B1F33 0%, #102a44 100%) !important;
        padding: 24px 18px 32px !important;
        border-radius: 0 !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
    }
    #desktop-header-search .container,
    #advanced-search-filters .container {
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Form-Fields: weiße abgerundete Cards mit subtilem Schatten */
    #desktop-header-search .form-group,
    #advanced-search-filters .form-group,
    #desktop-header-search .form-control,
    #advanced-search-filters .form-control,
    #desktop-header-search .bootstrap-select > .dropdown-toggle,
    #advanced-search-filters .bootstrap-select > .dropdown-toggle,
    #desktop-header-search .bs-searchbox .form-control {
        border-radius: 12px !important;
        border: 1px solid rgba(255,255,255,0.08) !important;
        background: #ffffff !important;
        color: #0B1F33 !important;
        min-height: 48px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.10);
        transition: border-color .18s ease, box-shadow .18s ease;
    }
    #desktop-header-search .form-control:focus,
    #advanced-search-filters .form-control:focus,
    #desktop-header-search .bootstrap-select > .dropdown-toggle:focus,
    #advanced-search-filters .bootstrap-select > .dropdown-toggle:focus {
        border-color: var(--lux-gold) !important;
        box-shadow: 0 0 0 3px rgba(200,169,106,0.25), 0 2px 8px rgba(0,0,0,0.10) !important;
        outline: none !important;
    }

    /* Lupe-Icon — von links nach rechts, mehr Platz für Placeholder */
    #desktop-header-search .search-icon {
        position: relative;
    }
    #desktop-header-search .search-icon::before {
        content: "" !important;
        position: absolute !important;
        right: 16px !important;
        left: auto !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 18px !important;
        height: 18px !important;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8A96A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat center;
        background-size: contain;
        opacity: 0.85;
        pointer-events: none;
    }
    #desktop-header-search .houzez-keyword-autocomplete {
        padding-left: 16px !important;
        padding-right: 44px !important;
        background-image: none !important;
    }
    /* Falls Houzez ein <i>-Icon innerhalb .search-icon rendert → ausblenden */
    #desktop-header-search .search-icon > i,
    #desktop-header-search .search-icon > .houzez-icon {
        display: none !important;
    }

    /* Dropdown-Toggle Text-Color (gewählte Werte sichtbar dunkel statt grau-grau) */
    #desktop-header-search .bootstrap-select .filter-option-inner-inner,
    #advanced-search-filters .bootstrap-select .filter-option-inner-inner {
        color: #0B1F33 !important;
        font-weight: 500 !important;
    }
    #desktop-header-search .bs-placeholder .filter-option-inner-inner,
    #advanced-search-filters .bs-placeholder .filter-option-inner-inner {
        color: #6b7c8d !important;
        font-weight: 400 !important;
    }

    /* Placeholder-Color konsistent */
    #desktop-header-search ::placeholder,
    #advanced-search-filters ::placeholder {
        color: #6b7c8d !important;
        opacity: 1 !important;
    }

    /* PRIX-Min/Max-Felder (custom Houzez Price Dropdown) — Gold-€ + Dark-Card */
    #desktop-header-search [class*="price"] .form-control,
    #desktop-header-search [name="min-price"],
    #desktop-header-search [name="max-price"],
    #advanced-search-filters [name="min-price"],
    #advanced-search-filters [name="max-price"] {
        background: rgba(255,255,255,0.06) !important;
        color: #ffffff !important;
        border: 1px solid rgba(200,169,106,0.25) !important;
        box-shadow: none !important;
    }
    #desktop-header-search [name="min-price"]::placeholder,
    #desktop-header-search [name="max-price"]::placeholder,
    #advanced-search-filters [name="min-price"]::placeholder,
    #advanced-search-filters [name="max-price"]::placeholder {
        color: rgba(255,255,255,0.55) !important;
    }

    /* PRIX (€) Label dezenter */
    #desktop-header-search .price-label,
    #advanced-search-filters .price-label,
    #desktop-header-search .form-group label.text-uppercase,
    #advanced-search-filters .form-group label.text-uppercase {
        color: rgba(255,255,255,0.62) !important;
        letter-spacing: 0.18em !important;
        font-size: 11px !important;
        font-weight: 500 !important;
    }

    /* "AUTRES CARACTÉRISTIQUES" Toggle — clean Gold-Outline statt blau-gradient */
    #desktop-header-search .advanced-search-btn,
    .advanced-search-btn.btn-full-width {
        background: transparent !important;
        border: 1px solid rgba(200,169,106,0.45) !important;
        color: var(--lux-gold) !important;
        border-radius: 999px !important;
        padding: 14px 24px !important;
        font-weight: 500 !important;
        letter-spacing: 0.06em !important;
        box-shadow: none !important;
        text-transform: uppercase !important;
        font-size: 12px !important;
        transition: background .18s ease, border-color .18s ease;
    }
    #desktop-header-search .advanced-search-btn:hover,
    .advanced-search-btn.btn-full-width:hover {
        background: rgba(200,169,106,0.08) !important;
        border-color: var(--lux-gold) !important;
        color: var(--lux-gold-hover, #b9985b) !important;
    }

    /* "RECHERCHE" Submit-Button — Solid Gold (Brand-Primary) */
    #desktop-header-search .btn-search,
    #advanced-search-filters .btn-search,
    .btn-search.btn-secondary {
        background: var(--lux-gold) !important;
        color: #0B1F33 !important;
        border: none !important;
        border-radius: 14px !important;
        padding: 16px 24px !important;
        font-weight: 600 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        font-size: 13px !important;
        box-shadow: 0 6px 20px rgba(200,169,106,0.28), 0 2px 6px rgba(0,0,0,0.12) !important;
        min-height: 52px !important;
    }
    #desktop-header-search .btn-search:hover,
    .btn-search.btn-secondary:hover {
        background: var(--lux-gold-hover, #b9985b) !important;
        transform: translateY(-1px);
        box-shadow: 0 8px 24px rgba(200,169,106,0.36), 0 2px 6px rgba(0,0,0,0.16) !important;
    }

    /* "ENREGISTRER LA RECHERCHE" — dezenter Gold-Outline */
    #desktop-header-search .save-search-btn,
    #advanced-search-filters .save-search-btn,
    .save-search-btn,
    a[href*="save_search"] {
        background: transparent !important;
        border: 1px solid rgba(200,169,106,0.32) !important;
        color: rgba(232,216,176,0.88) !important;
        border-radius: 12px !important;
        padding: 14px 20px !important;
        font-size: 12px !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
    }
    #desktop-header-search .save-search-btn:hover,
    .save-search-btn:hover {
        background: rgba(200,169,106,0.06) !important;
        color: var(--lux-gold) !important;
    }

    /* "Chercher"-Headline (falls vorhanden) */
    #desktop-header-search .filter-title,
    #desktop-header-search h2,
    #desktop-header-search h3 {
        color: #ffffff !important;
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        margin-bottom: 18px !important;
        letter-spacing: 0.01em !important;
    }

    /* Form-Spacing — luftiger zwischen Feldern */
    #desktop-header-search .form-group,
    #advanced-search-filters .form-group {
        margin-bottom: 14px !important;
    }
    #desktop-header-search .row,
    #advanced-search-filters .row {
        margin-bottom: 8px !important;
    }

    /* Cluster aus Statut+Toutes les villes+Surface min — sichtbare Trennung */
    #desktop-header-search .fields-width,
    #advanced-search-filters .fields-width {
        gap: 12px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* Close-Button (X) — Gold-Hover */
    #desktop-header-search .close-search,
    .advanced-search .close,
    .advanced-search [data-dismiss] {
        color: rgba(255,255,255,0.72) !important;
        opacity: 1 !important;
        font-size: 26px !important;
        font-weight: 300 !important;
        transition: color .18s ease;
    }
    #desktop-header-search .close-search:hover,
    .advanced-search .close:hover {
        color: var(--lux-gold) !important;
    }

    /* Smoothere Reveal-Animation für expandiertes Filter-Panel */
    #advanced-search-filters.collapse.show {
        animation: luxFadeSlideDown .28s ease-out;
    }
    @keyframes luxFadeSlideDown {
        from { opacity: 0; transform: translateY(-6px); }
        to   { opacity: 1; transform: translateY(0); }
    }
}

/* === 20.17 /search-results/ Final-Polish v1.7.6 ===
   Übrig nach v1.7.5: .min-price-range/.max-price-range Spans (€50/€25.000)
   noch sichtbar mit rgb(34,34,34). Auch Sort-Title color rgb(26,26,26). */
html body.page-id-16859 .min-price-range,
html body.page-id-16859 .max-price-range,
html body.houzez-halfmap-page .min-price-range,
html body.houzez-halfmap-page .max-price-range,
html body.page-template-template-search .min-price-range,
html body.page-template-template-search .max-price-range {
    display: none !important;
}
html body.page-id-16859 .price-range-label,
html body.houzez-halfmap-page .price-range-label,
html body.page-template-template-search .price-range-label {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 500 !important;
}

/* Sort-Title "Trier par:" */
html body.page-id-16859 .sort-by-title,
html body.page-id-16859 div.sort-by-title,
html body.houzez-halfmap-page .sort-by-title,
html body.page-template-template-search .sort-by-title {
    color: rgba(255, 255, 255, 0.72) !important;
    font-weight: 500 !important;
}

/* Sort-Dropdown current "Mises en avant en premier" */
html body.page-id-16859 .sort-by-wrap .filter-option-inner-inner,
html body.page-id-16859 .sort-by-wrap .filter-option-inner,
html body.page-id-16859 .sort-by-wrap .dropdown-toggle,
html body.houzez-halfmap-page .sort-by-wrap .filter-option-inner-inner,
html body.houzez-halfmap-page .sort-by-wrap .filter-option-inner,
html body.houzez-halfmap-page .sort-by-wrap .dropdown-toggle,
html body.page-template-template-search .sort-by-wrap .filter-option-inner-inner {
    color: var(--lux-gold) !important;
    background-color: transparent !important;
    border: 0 !important;
}

/* Card-Title <A> ohne Class — Über parent .item-title direct child */
html body.page-id-16859 .item-listing-wrap .item-title > a,
html body.page-id-16859 .item-listing-wrap h2.item-title > a,
html body.houzez-halfmap-page .item-listing-wrap .item-title > a,
html body.houzez-halfmap-page .item-listing-wrap h2.item-title > a,
html body.page-template-template-search .item-listing-wrap .item-title > a {
    color: #ffffff !important;
}

/* Card-Address */
html body.page-id-16859 .item-listing-wrap address.item-address,
html body.page-id-16859 .item-listing-wrap .item-address,
html body.houzez-halfmap-page .item-listing-wrap address.item-address,
html body.houzez-halfmap-page .item-listing-wrap .item-address,
html body.page-template-template-search .item-listing-wrap address.item-address {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 13px !important;
}

/* hz-figure (4,75 / 80 m²) und Property-Type Labels */
html body.page-id-16859 .item-listing-wrap .hz-figure,
html body.page-id-16859 .item-listing-wrap span,
html body.houzez-halfmap-page .item-listing-wrap .hz-figure,
html body.houzez-halfmap-page .item-listing-wrap span,
html body.page-template-template-search .item-listing-wrap .hz-figure,
html body.page-template-template-search .item-listing-wrap span {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Author Pascal Warnier - dezenter */
html body.page-id-16859 .item-listing-wrap .item-author a,
html body.page-id-16859 .item-listing-wrap .item-footer a,
html body.houzez-halfmap-page .item-listing-wrap .item-author a,
html body.houzez-halfmap-page .item-listing-wrap .item-footer a,
html body.page-template-template-search .item-listing-wrap .item-author a {
    color: rgba(255, 255, 255, 0.55) !important;
}

/* "il y a 2 semaines" — auch dezent */
html body.page-id-16859 .item-listing-wrap .item-footer,
html body.page-id-16859 .item-listing-wrap .item-meta-wrap,
html body.houzez-halfmap-page .item-listing-wrap .item-footer,
html body.houzez-halfmap-page .item-listing-wrap .item-meta-wrap {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Page-Title "28 résultats trouvés" — ULTRA-SPEZIFISCH */
html body.page-id-16859 .page-title,
html body.page-id-16859 .page-title-wrap .page-title,
html body.houzez-halfmap-page .page-title,
html body.houzez-halfmap-page .page-title-wrap .page-title,
html body.page-template-template-search .page-title {
    color: #ffffff !important;
}

/* === 20.18 QA-Audit-Fixes Phase B (v1.7.7) ===
   18 Bugs aus Senior-QA-Audit autonom abgearbeitet. */

/* === 6. View-Toggle Grid/List prominent === */
html body.page-id-16859 .switch-btn,
html body.houzez-halfmap-page .switch-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin-left: 6px !important;
    transition: all .18s ease !important;
}
html body.page-id-16859 .switch-btn:hover,
html body.houzez-halfmap-page .switch-btn:hover {
    background-color: rgba(200, 169, 106, 0.10) !important;
    border-color: rgba(200, 169, 106, 0.45) !important;
    color: var(--lux-gold) !important;
}
html body.page-id-16859 .switch-btn.active,
html body.houzez-halfmap-page .switch-btn.active,
html body.page-id-16859 .switch-btn-active,
html body.houzez-halfmap-page .switch-btn-active {
    background-color: var(--lux-gold) !important;
    color: #0B1F33 !important;
    border-color: var(--lux-gold) !important;
}

/* === 7. Mobile-Filter-Form: Sichtbar bei initial load === */
@media (max-width: 991.98px) {
    html body.page-id-16859 .half-map-search-form,
    html body.houzez-halfmap-page .half-map-search-form {
        display: block !important;
    }
    html body.page-id-16859 .half-map-search-form .form-control,
    html body.page-id-16859 .half-map-search-form .bootstrap-select > .dropdown-toggle,
    html body.houzez-halfmap-page .half-map-search-form .form-control,
    html body.houzez-halfmap-page .half-map-search-form .bootstrap-select > .dropdown-toggle {
        min-height: 46px !important;
    }
    html body.page-id-16859 .half-map-search-form .btn,
    html body.houzez-halfmap-page .half-map-search-form .btn {
        min-height: 48px !important;
    }
}

/* === 8. GTranslate-Widget mobile floating === */
@media (max-width: 991.98px) {
    #gt_float_wrapper {
        position: fixed !important;
        bottom: 16px !important;
        right: 16px !important;
        left: auto !important;
        width: auto !important;
        z-index: 999 !important;
    }
}

/* === 10. Card-Hover: Subtle Lift === */
html body.page-id-16859 .item-listing-wrap,
html body.houzez-halfmap-page .item-listing-wrap {
    transition: transform .25s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow .25s ease,
                border-color .25s ease !important;
}
html body.page-id-16859 .item-listing-wrap:hover,
html body.houzez-halfmap-page .item-listing-wrap:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(200, 169, 106, 0.18) !important;
    border-color: rgba(200, 169, 106, 0.32) !important;
}

/* === 13. Multi-Select Tout-effacer/Tout-sélectionner Links === */
html body.page-id-16859 .bootstrap-select .actions-btn,
html body.page-id-16859 .bs-actionsbox button,
html body.houzez-halfmap-page .bootstrap-select .actions-btn,
html body.houzez-halfmap-page .bs-actionsbox button {
    color: var(--lux-gold) !important;
    background-color: transparent !important;
    font-size: 11.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 4px 8px !important;
    border: 0 !important;
}
html body.page-id-16859 .bootstrap-select .actions-btn:hover {
    color: var(--lux-gold-light, #E8D8B0) !important;
    background-color: rgba(200, 169, 106, 0.08) !important;
}

/* === 14. Empty-State styling === */
html body.page-id-16859 .houzez-no-results,
html body.houzez-halfmap-page .houzez-no-results,
html body.page-id-16859 .no-results,
html body.houzez-halfmap-page .no-results {
    background: rgba(255,255,255,0.04) !important;
    border: 1px dashed rgba(200, 169, 106, 0.32) !important;
    border-radius: 16px !important;
    padding: 48px 32px !important;
    text-align: center !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin: 32px 0 !important;
}
html body.page-id-16859 .houzez-no-results h3,
html body.houzez-halfmap-page .houzez-no-results h3 {
    color: var(--lux-gold) !important;
    font-family: 'Playfair Display', Georgia, serif !important;
}

/* === §20.19 /search-results/ Recherche-Box + Cards 1:1 wie /nos-objets/ (v1.7.8) ===
   PROBLEM-AUDIT:
   - /search-results/ Filter-Buttons sind WEISS (alter Houzez-Native-Style) statt Dark-Glass
   - Cards haben dünneren Border (0.08 statt 0.4), kleineren Radius (16 statt 18), schwächeren Shadow, kein vertikales Padding
   - Title ist blass-grau (rgb(219,227,235)) statt reinem Weiß, 16px statt 18.88px, weight 500 statt 600
   - Sort-Dropdown ist hellblau statt gold-bordered
   
   ZIEL: 1:1 Match mit /nos-objets/ Property-Cards + Filter-Buttons
*/

/* ---- A) FILTER-BUTTONS: weiß → dark-glass (rgba(11,31,51,0.5) + radius 10 + height 48) ---- */
html body.page-id-16859 .half-map-search-form .btn.dropdown-toggle,
html body.houzez-halfmap-page .half-map-search-form .btn.dropdown-toggle,
html body.page-id-16859 .advanced-search button.dropdown-toggle,
html body.houzez-halfmap-page .advanced-search button.dropdown-toggle,
html body.page-id-16859 .half-map-search-wrap button.dropdown-toggle,
html body.houzez-halfmap-page .half-map-search-wrap button.dropdown-toggle {
    background: rgba(11, 31, 51, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    color: rgb(219, 227, 235) !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    font-family: 'Inter', 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: background-color .2s ease, border-color .2s ease !important;
    box-shadow: none !important;
}

html body.page-id-16859 .half-map-search-form .btn.dropdown-toggle:hover,
html body.houzez-halfmap-page .half-map-search-form .btn.dropdown-toggle:hover,
html body.page-id-16859 .half-map-search-form .btn.dropdown-toggle:focus,
html body.houzez-halfmap-page .half-map-search-form .btn.dropdown-toggle:focus {
    background: rgba(11, 31, 51, 0.7) !important;
    border-color: rgba(200, 169, 106, 0.5) !important;
    color: #fff !important;
    outline: none !important;
}

/* Dropdown-Arrows in Buttons */
html body.page-id-16859 .half-map-search-form .btn.dropdown-toggle .filter-option-inner-inner,
html body.houzez-halfmap-page .half-map-search-form .btn.dropdown-toggle .filter-option-inner-inner {
    color: rgb(219, 227, 235) !important;
}

/* Bootstrap-select dropdown menu styling — match dark theme */
html body.page-id-16859 .half-map-search-form .dropdown-menu,
html body.houzez-halfmap-page .half-map-search-form .dropdown-menu {
    background: #0d2740 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 10px !important;
    padding: 6px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45) !important;
}

html body.page-id-16859 .half-map-search-form .dropdown-menu a,
html body.houzez-halfmap-page .half-map-search-form .dropdown-menu a,
html body.page-id-16859 .half-map-search-form .dropdown-menu .text,
html body.houzez-halfmap-page .half-map-search-form .dropdown-menu .text {
    color: rgb(219, 227, 235) !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
}

html body.page-id-16859 .half-map-search-form .dropdown-menu a:hover,
html body.houzez-halfmap-page .half-map-search-form .dropdown-menu a:hover,
html body.page-id-16859 .half-map-search-form .dropdown-menu li.active a,
html body.houzez-halfmap-page .half-map-search-form .dropdown-menu li.active a {
    background: rgba(200, 169, 106, 0.18) !important;
    color: #fff !important;
}

/* ---- B) SORT-DROPDOWN: hellblau → gold-bordered transparent ---- */
html body.page-id-16859 .sort-by-list .dropdown-toggle,
html body.houzez-halfmap-page .sort-by-list .dropdown-toggle,
html body.page-id-16859 .listings-toolbar .dropdown-toggle,
html body.houzez-halfmap-page .listings-toolbar .dropdown-toggle,
html body.page-id-16859 .d-flex.align-items-center > .dropdown.bootstrap-select > .dropdown-toggle,
html body.houzez-halfmap-page .d-flex.align-items-center > .dropdown.bootstrap-select > .dropdown-toggle,
html body.page-id-16859 select[name="sort"] + .dropdown-toggle,
html body.houzez-halfmap-page select[name="sort"] + .dropdown-toggle,
html body.page-id-16859 select[name="orderby"] + .dropdown-toggle,
html body.houzez-halfmap-page select[name="orderby"] + .dropdown-toggle {
    background: rgba(0, 0, 0, 0) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    border-radius: 10px !important;
    height: 40px !important;
    padding: 0 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: border-color .2s ease, color .2s ease !important;
}

html body.page-id-16859 .sort-by-list .dropdown-toggle:hover,
html body.houzez-halfmap-page .sort-by-list .dropdown-toggle:hover {
    border-color: rgba(200, 169, 106, 0.5) !important;
    color: var(--lux-gold, #C8A96A) !important;
}

/* ---- C) PROPERTY-CARDS: 1:1 Match mit /nos-objets/ ---- */
html body.page-id-16859 .item-listing-wrap,
html body.houzez-halfmap-page .item-listing-wrap,
html body.page-id-16859 .property-listing,
html body.houzez-halfmap-page .property-listing {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 18px !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 255, 255, 0.35),
        0 -1px 0 0 rgba(0, 0, 0, 0.2),
        0 12px 32px -8px rgba(0, 0, 0, 0.35) !important;
    padding: 10px !important;
    overflow: hidden !important;
    transition: transform .25s cubic-bezier(.22,.61,.36,1), border-color .25s, box-shadow .25s !important;
}

html body.page-id-16859 .item-listing-wrap:hover,
html body.houzez-halfmap-page .item-listing-wrap:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(200, 169, 106, 0.55) !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 255, 255, 0.45),
        0 -1px 0 0 rgba(0, 0, 0, 0.25),
        0 22px 44px -10px rgba(0, 0, 0, 0.5) !important;
}

/* Inner card areas */
html body.page-id-16859 .item-listing-wrap .item-body,
html body.houzez-halfmap-page .item-listing-wrap .item-body,
html body.page-id-16859 .item-listing-wrap .item-content,
html body.houzez-halfmap-page .item-listing-wrap .item-content {
    background: transparent !important;
    border: none !important;
    padding: 14px 6px 8px 6px !important;
}

html body.page-id-16859 .item-listing-wrap .item-img,
html body.houzez-halfmap-page .item-listing-wrap .item-img,
html body.page-id-16859 .item-listing-wrap .item-thumb,
html body.houzez-halfmap-page .item-listing-wrap .item-thumb {
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* ---- D) CARD-TITLE: blass-grau → reines Weiß, 18.88px (1.18rem), weight 600 ----
   8x :not(#dummy) Trick um Spezifität auf 0,8,3,3 zu pumpen (überschreibt alte *:not()-Regel 0,0,10,2)
*/
html body.page-id-16859 .item-listing-wrap .item-title a:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.houzez-halfmap-page .item-listing-wrap .item-title a:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-16859 .item-listing-wrap .item-title:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.houzez-halfmap-page .item-listing-wrap .item-title:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.18rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.005em !important;
    text-decoration: none !important;
}

html body.page-id-16859 .item-listing-wrap .item-title a:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8):hover,
html body.houzez-halfmap-page .item-listing-wrap .item-title a:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8):hover {
    color: var(--lux-gold, #C8A96A) !important;
}

/* ---- E) CARD-PRICE: already weiß 23px 500 — locked-in für search-results ---- */
html body.page-id-16859 .item-listing-wrap .item-price,
html body.houzez-halfmap-page .item-listing-wrap .item-price {
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
}

/* ---- F) CARD-ADDRESS: leicht gedämpft ---- */
html body.page-id-16859 .item-listing-wrap .item-address,
html body.houzez-halfmap-page .item-listing-wrap .item-address {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 13px !important;
    font-family: 'Inter', sans-serif !important;
    letter-spacing: 0.01em !important;
}

/* ---- G) FILTER-BAR-WRAPPER: konsistente Höhe + sauberes Spacing ---- */
html body.page-id-16859 .half-map-search-form,
html body.houzez-halfmap-page .half-map-search-form {
    background: transparent !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

html body.page-id-16859 .half-map-search-form .row,
html body.houzez-halfmap-page .half-map-search-form .row {
    align-items: center !important;
}

/* ---- H) MOBILE: Buttons-Stack + Höhe behalten ---- */
@media (max-width: 768px) {
    html body.page-id-16859 .half-map-search-form .btn.dropdown-toggle,
    html body.houzez-halfmap-page .half-map-search-form .btn.dropdown-toggle {
        height: 44px !important;
        min-height: 44px !important;
        font-size: 13px !important;
    }
    html body.page-id-16859 .item-listing-wrap .item-title a,
    html body.houzez-halfmap-page .item-listing-wrap .item-title a {
        font-size: 1.05rem !important;
    }
    html body.page-id-16859 .item-listing-wrap .item-price,
    html body.houzez-halfmap-page .item-listing-wrap .item-price {
        font-size: 20px !important;
    }
}

/* === §20.20 USER-DASHBOARD-PAGES Premium-Polish (v1.7.12) ===
   Affects: My Profile, My Properties, Saved Search, Invoices, Compare,
            Mes Favoris, Create Listing — alle Houzez-User-Workflow-Seiten.
   Body-Selektor: body[class*="page-template-user_dashboard"] + spezifische IDs.
   Ziel: Dark-Premium-Hintergrund, Glas-Card-Sections, dunkle Inputs, einheitliches Brand-Feeling.
*/

/* ---- A) Body-Background navy für alle User-Dashboard-Pages ---- */
html body[class*="page-template-user_dashboard"],
html body.page-id-16254,
html body.page-id-16255,
html body.page-id-16256,
html body.page-id-4316,
html body.page-id-16053,
html body.page-id-2324,
html body.page-id-2713,
html body.page-id-17172,
html body.page-id-4258,
html body.page-id-17052,
html body.page-id-2702 {
    background: var(--lux-navy, #0B1F33) !important;
}

html body[class*="page-template-user_dashboard"] .content-wrap,
html body[class*="page-template-user_dashboard"] main,
html body.page-id-16254 .content-wrap,
html body.page-id-16254 main,
html body.page-id-16255 .content-wrap,
html body.page-id-16255 main,
html body.page-id-4316 .content-wrap,
html body.page-id-4316 main,
html body.page-id-2324 .content-wrap,
html body.page-id-2324 main,
html body.page-id-16053 .content-wrap,
html body.page-id-16053 main,
html body.page-id-2713 .content-wrap,
html body.page-id-2713 main {
    background: transparent !important;
}

/* ---- B) H1 + H2/H3 Headings ---- */
html body[class*="page-template-user_dashboard"] h1,
html body.page-id-16254 h1,
html body.page-id-16255 h1,
html body.page-id-16256 h1,
html body.page-id-4316 h1,
html body.page-id-16053 h1,
html body.page-id-2324 h1,
html body.page-id-2713 h1 {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 2.2rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    margin: 32px 0 16px !important;
}

html body[class*="page-template-user_dashboard"] h2,
html body[class*="page-template-user_dashboard"] h3,
html body[class*="page-template-user_dashboard"] h4,
html body.page-id-16254 h2,
html body.page-id-16254 h3,
html body.page-id-16254 h4,
html body.page-id-16255 h2,
html body.page-id-16255 h3,
html body.page-id-16256 h2,
html body.page-id-16256 h3,
html body.page-id-4316 h2,
html body.page-id-4316 h3,
html body.page-id-16053 h2,
html body.page-id-16053 h3,
html body.page-id-2324 h2,
html body.page-id-2324 h3,
html body.page-id-2713 h2,
html body.page-id-2713 h3 {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em !important;
}

/* ---- C) Dashboard-Cards: dark-glass premium ---- */
html body[class*="page-template-user_dashboard"] .dashboard-content-block-wrap,
html body[class*="page-template-user_dashboard"] .dashboard-content-inner-wrap > .col-md-9,
html body[class*="page-template-user_dashboard"] .col-md-3.col-sm-12,
html body.page-id-16254 .dashboard-content-block-wrap,
html body.page-id-16255 .dashboard-content-block-wrap,
html body.page-id-16256 .dashboard-content-block-wrap,
html body.page-id-4316 .dashboard-content-block-wrap,
html body.page-id-16053 .dashboard-content-block-wrap,
html body.page-id-2324 .dashboard-content-block-wrap,
html body.page-id-2713 .dashboard-content-block-wrap {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

/* ---- D) Inputs: dark-style, weißer Text ---- */
html body[class*="page-template-user_dashboard"] input[type=text],
html body[class*="page-template-user_dashboard"] input[type=email],
html body[class*="page-template-user_dashboard"] input[type=tel],
html body[class*="page-template-user_dashboard"] input[type=number],
html body[class*="page-template-user_dashboard"] input[type=url],
html body[class*="page-template-user_dashboard"] input[type=password],
html body[class*="page-template-user_dashboard"] textarea,
html body[class*="page-template-user_dashboard"] select,
html body.page-id-16254 input[type=text],
html body.page-id-16254 input[type=email],
html body.page-id-16254 input[type=tel],
html body.page-id-16254 input[type=password],
html body.page-id-16254 textarea,
html body.page-id-16254 select,
html body.page-id-16255 input[type=text],
html body.page-id-16255 input[type=email],
html body.page-id-16255 input[type=tel],
html body.page-id-16255 input[type=password],
html body.page-id-16255 textarea,
html body.page-id-16255 select,
html body.page-id-4316 input[type=text],
html body.page-id-4316 input[type=email],
html body.page-id-4316 textarea,
html body.page-id-4316 select,
html body.page-id-16053 input[type=text],
html body.page-id-16053 input[type=email],
html body.page-id-16053 input[type=tel],
html body.page-id-16053 input[type=number],
html body.page-id-16053 input[type=password],
html body.page-id-16053 textarea,
html body.page-id-16053 select {
    background: rgba(11, 31, 51, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    transition: border-color .2s ease, background-color .2s ease !important;
}

html body[class*="page-template-user_dashboard"] input:focus,
html body[class*="page-template-user_dashboard"] textarea:focus,
html body[class*="page-template-user_dashboard"] select:focus,
html body.page-id-16254 input:focus,
html body.page-id-16254 textarea:focus,
html body.page-id-16254 select:focus {
    border-color: rgba(200, 169, 106, 0.55) !important;
    background: rgba(11, 31, 51, 0.7) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(200, 169, 106, 0.15) !important;
}

html body[class*="page-template-user_dashboard"] input::placeholder,
html body[class*="page-template-user_dashboard"] textarea::placeholder,
html body.page-id-16254 input::placeholder,
html body.page-id-16254 textarea::placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
}

/* ---- E) Labels ---- */
html body[class*="page-template-user_dashboard"] label,
html body.page-id-16254 label,
html body.page-id-16255 label,
html body.page-id-4316 label,
html body.page-id-16053 label {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    margin-bottom: 6px !important;
}

/* ---- F) Buttons — Primary (Update) gold-on-navy ---- */
html body[class*="page-template-user_dashboard"] .btn.btn-primary,
html body[class*="page-template-user_dashboard"] .btn.btn-success,
html body[class*="page-template-user_dashboard"] .houzez_update_profile,
html body.page-id-16254 .btn.btn-success,
html body.page-id-16254 .btn.btn-primary,
html body.page-id-16255 .btn.btn-primary,
html body.page-id-4316 .btn.btn-primary,
html body.page-id-16053 .btn.btn-primary,
html body.page-id-2324 .btn.btn-primary {
    background: var(--lux-gold, #C8A96A) !important;
    border: 1px solid var(--lux-gold, #C8A96A) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 10px 22px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    transition: background-color .2s ease, transform .2s ease !important;
}

html body[class*="page-template-user_dashboard"] .btn.btn-primary:hover,
html body[class*="page-template-user_dashboard"] .btn.btn-success:hover,
html body[class*="page-template-user_dashboard"] .houzez_update_profile:hover {
    background: #d8b97a !important;
    border-color: #d8b97a !important;
    transform: translateY(-1px) !important;
}

/* ---- G) Sidebar-Nav (User-Dashboard left menu) ---- */
html body[class*="page-template-user_dashboard"] .dashboard-nav,
html body[class*="page-template-user_dashboard"] .houzez-dashboard-nav,
html body[class*="page-template-user_dashboard"] .left-nav {
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 12px !important;
    padding: 12px !important;
}

html body[class*="page-template-user_dashboard"] .dashboard-nav a,
html body[class*="page-template-user_dashboard"] .houzez-dashboard-nav a {
    color: rgba(255, 255, 255, 0.7) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    transition: background-color .2s ease, color .2s ease !important;
}

html body[class*="page-template-user_dashboard"] .dashboard-nav a:hover,
html body[class*="page-template-user_dashboard"] .dashboard-nav a.active,
html body[class*="page-template-user_dashboard"] .houzez-dashboard-nav a:hover {
    background: rgba(200, 169, 106, 0.12) !important;
    color: var(--lux-gold, #C8A96A) !important;
}

/* ---- H) Body-Text in dashboard ---- */
html body[class*="page-template-user_dashboard"] p,
html body[class*="page-template-user_dashboard"] li,
html body.page-id-16254 p,
html body.page-id-16255 p,
html body.page-id-4316 p,
html body.page-id-16053 p {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* ---- I) Delete-Account section — warnung-style ---- */
html body[class*="page-template-user_dashboard"] .delete-account-wrap,
html body[class*="page-template-user_dashboard"] [class*="delete"] {
    border-color: rgba(220, 80, 80, 0.3) !important;
}

html body[class*="page-template-user_dashboard"] .btn.btn-danger,
html body[class*="page-template-user_dashboard"] [class*="delete-account"] .btn {
    background: transparent !important;
    border: 1px solid rgba(220, 80, 80, 0.5) !important;
    color: rgba(255, 120, 120, 0.95) !important;
}

/* === §20.21 Lesbarkeits-Audit Fixes (v1.7.13) ===
   Echter Bug-Audit per Contrast-Ratio gefunden. Diese Fixes adressieren
   konkret die unter WCAG-AA-Standard (4.5:1) liegenden Text-Elements
   die WIRKLICH sichtbar sind (false positives bereits ausgefiltert).
*/

/* ---- Bug 1: „Laisser un avis" Button auf Property-Detail (navy on navy) ---- */
html body.single-property .btn.btn-primary:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6),
html body.single-property a.btn-primary:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6) {
    background: var(--lux-gold, #C8A96A) !important;
    border: 1px solid var(--lux-gold, #C8A96A) !important;
    color: #ffffff !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18) !important;
}

html body.single-property .btn.btn-primary:hover {
    background: #d8b97a !important;
    border-color: #d8b97a !important;
    color: #ffffff !important;
}

/* Review-Submit Section specifically */
html body.single-property .houzez-reviews-form .btn,
html body.single-property #write-review-btn,
html body.single-property [class*="write-review"] {
    background: var(--lux-gold, #C8A96A) !important;
    color: #ffffff !important;
    border-color: var(--lux-gold, #C8A96A) !important;
}

/* ---- Bug 2: Footer-Adresse-Text war zu dunkel ---- */
html body footer.site-footer p:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6),
html body footer.site-footer address:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6),
html body footer p:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6),
html body .footer p:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6) {
    color: rgba(255, 255, 255, 0.78) !important;
}

html body footer.site-footer h4,
html body footer.site-footer h5,
html body footer h4,
html body footer h5 {
    color: #ffffff !important;
}

/* ---- Bug 3: Contact-Form Labels „Prénom" zu blass ---- */
html body.page-id-16941 label:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-16941 .form-group label,
html body.page-id-16941 form label {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 500 !important;
}

/* ---- Bug 4: „Compare listings" Footer + ähnliche Demo-Bereiche ---- */
html body p.demo-text,
html body p.compare-listings-text,
html body [class*="compare-listings"]:not(.btn) {
    color: rgba(11, 31, 51, 0.85) !important;
}

/* ---- Wenn Compare-Page auf dunklem BG ist ---- */
html body.compare-properties-page p,
html body.compare-properties-page span,
html body[class*="compare"] .compare-content p {
    color: rgba(255, 255, 255, 0.82) !important;
}

/* ---- Bonus: Property-Detail Texte die gerade Houzez-Dark-Text auf Dark-BG ---- */
html body.single-property .property-description p,
html body.single-property .property-detail-text,
html body.single-property .item-section p {
    color: rgba(255, 255, 255, 0.85) !important;
}

html body.single-property .property-description h2,
html body.single-property .property-description h3,
html body.single-property .item-section h3 {
    color: #ffffff !important;
}

/* ---- Mobile Search-Form (admin-bar versteckter Search ist screen-reader, kein Fix nötig) ---- */

/* ---- Universal: alle Labels auf dunklem Hintergrund sicher lesbar ---- */
html body[class*="page-template-user_dashboard"] label[for],
html body.page-id-16941 label[for],
html body.page-id-16859 label[for] {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* === §20.22 Site-Wide Audit-Fixes (v1.7.14) ===
   Found by full-site audit:
   1. /search-results/ body-bg fell back to hellgrau (houzez-halfmap-page class missing)
   2. Home H1 in ALL-CAPS — visuell schreiend, hard to read
   3. GTranslate broken flag-img (empty src) creating console warnings
   4. Search-Results h1 missing — Houzez renders .page-title not h1
*/

/* ---- 1) Search-Results + alle Listing-Templates: Body-BG Navy garantieren ---- */
html body.page-id-16859,
html body.page-template-template-search,
html body[class*="page-template-template-search"],
html body.search-results-page,
html body.houzez-halfmap-page {
    background: var(--lux-navy, #0B1F33) !important;
}

html body.page-id-16859 .content-wrap,
html body.page-template-template-search .content-wrap,
html body[class*="page-template-template-search"] .content-wrap,
html body.page-id-16859 main,
html body.page-template-template-search main {
    background: transparent !important;
}

/* ---- 2) Home H1 ALL-CAPS → Title-Case (CSS-Transform) ---- */
html body.home h1:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-17337 h1:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    text-transform: none !important;
    font-variant-caps: normal !important;
    letter-spacing: -0.005em !important;
}

/* Falls H1 als hardcoded uppercase im DOM steckt: visuelle Lesbarkeit verbessern */
html body.home h1.elementor-heading-title {
    text-transform: capitalize !important;
}

/* ---- 3) GTranslate broken flag-imgs (src empty) verstecken ---- */
html body img[src=""],
html body img:not([src]) {
    display: none !important;
}

/* GTranslate Sprach-Switcher cleanere Darstellung */
html body .gt_switcher,
html body .nturl {
    /* Sicherstellen dass kaputte Bilder den Layout nicht brechen */
    min-width: auto !important;
}

/* ---- 4) Search-Results .page-title als H1-Stil ---- */
html body.page-id-16859 .page-title,
html body.page-template-template-search .page-title {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    margin: 24px 0 16px !important;
    letter-spacing: -0.005em !important;
}

/* === §20.23 Amenities iOS-Toggle Premium-Redesign (v1.7.15) ===
   User-Request: Checkboxes in "Autres caractéristiques" zu Apple-Style Toggle-Switches.
   Default off, klickbar zum Toggle. Kompakter Layout aber edel.
   DOM: .half-map-features-list-wrap .features-list > label.control.control--checkbox
        Label enthält: <input type=checkbox> + Text + <span.control__indicator>
*/

/* ---- Container: kompakter Grid mit Gap statt riesigen Floats ---- */
html body .half-map-features-list-wrap .features-list,
html body .features-list-wrap .features-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 6px 14px !important;
    padding: 18px 8px !important;
    background: transparent !important;
    margin: 0 !important;
}

/* "Autres caractéristiques" Toggle-Button (öffnet/schließt) — premium-style */
html body .features-list-wrap .btn-features-list {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(11, 31, 51, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: rgb(219, 227, 235) !important;
    padding: 10px 22px !important;
    border-radius: 999px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    transition: border-color .2s ease, background-color .2s ease !important;
    text-decoration: none !important;
}
html body .features-list-wrap .btn-features-list:hover {
    border-color: rgba(200, 169, 106, 0.55) !important;
    color: #fff !important;
}

/* ---- iOS-Toggle: label-Container ---- */
html body .features-list label.control.control--checkbox {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 9px 12px !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: background-color .2s ease, border-color .2s ease !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    line-height: 1.2 !important;
    position: relative !important;
    min-height: 40px !important;
}

html body .features-list label.control.control--checkbox:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
}

/* ---- Native Checkbox: visually hidden BUT clickable (v1.7.16) ----
   WICHTIG: pointer-events NICHT auf none — sonst kann user nicht togglen.
   Wir machen input visually unsichtbar via opacity, aber lassen Click durch. */
html body .features-list label.control.control--checkbox input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    z-index: 2 !important;
    cursor: pointer !important;
}

/* ---- v1.7.18: Houzez-Indicator komplett hiden.
   Toggle-Styling kommt jetzt 100% von JS (inline-style) um Cascade-Issues zu vermeiden. */
html body .features-list label.control.control--checkbox .control__indicator {
    display: none !important;
}

/* v1.7.18: .lux-toggle Styling kommt komplett aus JS inline-style. */

/* Aktiv-State Label-Highlight bleibt aber CSS (das funktioniert auf .control--checkbox) */
.features-list label.control--checkbox.lux-toggle-on {
    background-color: rgba(200, 169, 106, 0.08);
    border-color: rgba(200, 169, 106, 0.3);
    color: #ffffff;
}

/* ---- Wenn lux-toggle-on: Label-Container heller ---- */
html body .features-list label.control.control--checkbox.lux-toggle-on {
    background: rgba(200, 169, 106, 0.08) !important;
    border-color: rgba(200, 169, 106, 0.3) !important;
    color: #ffffff !important;
}

/* ---- Focus-Ring für Accessibility ---- */
html body .features-list label.control.control--checkbox input[type="checkbox"]:focus-visible ~ .control__indicator {
    outline: 2px solid var(--lux-gold, #C8A96A) !important;
    outline-offset: 2px !important;
}

/* ---- Mobile: 1-2 Spalten ---- */
@media (max-width: 768px) {
    html body .half-map-features-list-wrap .features-list,
    html body .features-list-wrap .features-list {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
        gap: 6px !important;
        padding: 14px 4px !important;
    }
    html body .features-list label.control.control--checkbox {
        padding: 8px 10px !important;
        font-size: 12px !important;
        min-height: 38px !important;
    }
}

@media (max-width: 480px) {
    html body .half-map-features-list-wrap .features-list,
    html body .features-list-wrap .features-list {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* === §20.24 FAQ-Page Premium-Design (v1.7.21) ===
   Page-ID 17124. Lux-spezifische FR-FAQ injiziert via JS (initFAQPage).
   Dark-Glas-Accordion mit Brand-Konsistenz Navy + Gold. */

html body.page-id-17124 {
    background: var(--lux-navy, #0B1F33) !important;
}

html body.page-id-17124 .lux-faq-hero {
    padding: 96px 0 64px;
    text-align: center;
    background: linear-gradient(180deg, rgba(200,169,106,0.04) 0%, transparent 100%);
}
html body.page-id-17124 .lux-faq-container {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 24px;
}
html body.page-id-17124 .lux-faq-eyebrow {
    display: inline-block;
    color: var(--lux-gold, #C8A96A);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    margin-bottom: 18px;
    position: relative;
    padding-bottom: 8px;
}
html body.page-id-17124 .lux-faq-eyebrow::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 28px;
    height: 1px;
    background: var(--lux-gold, #C8A96A);
    transform: translateX(-50%);
}
html body.page-id-17124 .lux-faq-h1 {
    color: #ffffff;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 20px;
    letter-spacing: -0.01em;
}
html body.page-id-17124 .lux-faq-lead {
    color: rgba(255,255,255,0.78);
    font-family: 'Inter', sans-serif;
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 640px;
}

html body.page-id-17124 .lux-faq-content {
    padding: 32px 0 80px;
}

html body.page-id-17124 .lux-faq-cat {
    margin-bottom: 48px;
}
html body.page-id-17124 .lux-faq-cat-title {
    color: var(--lux-gold, #C8A96A);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(200,169,106,0.18);
    letter-spacing: 0.005em;
}

html body.page-id-17124 .lux-faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

html body.page-id-17124 .lux-faq-item {
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    overflow: hidden;
    transition: background-color .25s ease, border-color .25s ease;
}
html body.page-id-17124 .lux-faq-item[open] {
    background: rgba(200,169,106,0.05);
    border-color: rgba(200,169,106,0.25);
}
html body.page-id-17124 .lux-faq-item:hover:not([open]) {
    background: rgba(255,255,255,0.045);
    border-color: rgba(255,255,255,0.14);
}

html body.page-id-17124 .lux-faq-q {
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 20px 60px 20px 24px;
    cursor: pointer;
    list-style: none;
    position: relative;
    display: flex;
    align-items: center;
    transition: color .25s ease;
}
html body.page-id-17124 .lux-faq-q::-webkit-details-marker {
    display: none;
}
html body.page-id-17124 .lux-faq-item[open] > .lux-faq-q {
    color: var(--lux-gold, #C8A96A);
}

html body.page-id-17124 .lux-faq-chevron {
    position: absolute;
    right: 24px;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    transition: transform .3s cubic-bezier(.22,.61,.36,1);
}
html body.page-id-17124 .lux-faq-chevron::before,
html body.page-id-17124 .lux-faq-chevron::after {
    content: '';
    position: absolute;
    background: currentColor;
    top: 50%;
    left: 50%;
    transition: background-color .25s ease;
}
html body.page-id-17124 .lux-faq-chevron::before {
    width: 12px;
    height: 1.5px;
    transform: translate(-50%, -50%);
}
html body.page-id-17124 .lux-faq-chevron::after {
    width: 1.5px;
    height: 12px;
    transform: translate(-50%, -50%);
    transition: transform .3s cubic-bezier(.22,.61,.36,1);
}
html body.page-id-17124 .lux-faq-item[open] .lux-faq-chevron::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

html body.page-id-17124 .lux-faq-a {
    padding: 0 24px 22px;
}
html body.page-id-17124 .lux-faq-a p {
    color: rgba(255,255,255,0.78);
    font-family: 'Inter', sans-serif;
    font-size: 0.96rem;
    line-height: 1.75;
    margin: 0;
    letter-spacing: 0.005em;
}

/* CTA-Section am Ende */
html body.page-id-17124 .lux-faq-cta {
    padding: 64px 0 96px;
    text-align: center;
    background: linear-gradient(180deg, transparent 0%, rgba(200,169,106,0.06) 100%);
    border-top: 1px solid rgba(255,255,255,0.06);
}
html body.page-id-17124 .lux-faq-cta-title {
    color: #ffffff;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    font-weight: 600;
    margin: 0 0 14px;
}
html body.page-id-17124 .lux-faq-cta-lead {
    color: rgba(255,255,255,0.78);
    font-size: 1rem;
    margin: 0 auto 32px;
    max-width: 540px;
    line-height: 1.7;
}
html body.page-id-17124 .lux-faq-cta-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
html body.page-id-17124 .lux-faq-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 26px;
    border-radius: 999px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: all .25s ease;
}
html body.page-id-17124 .lux-faq-cta-btn--gold {
    background: var(--lux-gold, #C8A96A);
    color: #ffffff;
    border: 1px solid var(--lux-gold, #C8A96A);
    text-shadow: 0 1px 0 rgba(0,0,0,0.15);
}
html body.page-id-17124 .lux-faq-cta-btn--gold:hover {
    background: #d8b97a;
    border-color: #d8b97a;
    transform: translateY(-1px);
    color: #ffffff;
}
html body.page-id-17124 .lux-faq-cta-btn--ghost {
    background: transparent;
    color: rgba(255,255,255,0.92);
    border: 1px solid rgba(255,255,255,0.18);
}
html body.page-id-17124 .lux-faq-cta-btn--ghost:hover {
    border-color: var(--lux-gold, #C8A96A);
    color: var(--lux-gold, #C8A96A);
}

@media (max-width: 768px) {
    html body.page-id-17124 .lux-faq-hero { padding: 64px 0 40px; }
    html body.page-id-17124 .lux-faq-q { padding: 16px 50px 16px 18px; font-size: 0.95rem; }
    html body.page-id-17124 .lux-faq-chevron { right: 16px; }
    html body.page-id-17124 .lux-faq-a { padding: 0 18px 18px; }
    html body.page-id-17124 .lux-faq-cat-title { font-size: 1.35rem; }
}

/* === §20.25 Lesbarkeits-Bulk-Fixes Site-weit (v1.7.22) ===
   Audit-Befunde: Privacy/Terms haben weißen BG + weiße Headings = unlesbar.
   Search-Results Card-Container hat weißen BG. FAQ-Container teilweise hell.
   Lösung: BRUTE-FORCE-Selektoren mit max Spezifität (page-id + body + html) + 8x:not(#dummy).
*/

/* ---- A) PRIVACY-PAGE (page-id 748) und TERMS (page-id 745): kompletter Dark-Premium ---- */
html body.page-id-748,
html body.page-id-745 {
    background: var(--lux-navy, #0B1F33) !important;
}

html body.page-id-748 .content-wrap,
html body.page-id-748 main,
html body.page-id-748 article,
html body.page-id-748 .entry-content,
html body.page-id-745 .content-wrap,
html body.page-id-745 main,
html body.page-id-745 article,
html body.page-id-745 .entry-content {
    background: transparent !important;
}

/* Container mit weißem BG hidden / transparent machen */
html body.page-id-748 .container > div,
html body.page-id-748 .container > section,
html body.page-id-748 .elementor-section-wrap > section,
html body.page-id-745 .container > div,
html body.page-id-745 .container > section,
html body.page-id-745 .elementor-section-wrap > section {
    background-color: transparent !important;
}

/* Headings — reines Weiß, Brand-Typography */
html body.page-id-748 h1:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 h1:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600 !important;
    margin: 32px 0 24px !important;
}

html body.page-id-748 h2:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 h2:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    color: #ffffff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600 !important;
    margin: 32px 0 16px !important;
    border-bottom: 1px solid rgba(200,169,106,0.18) !important;
    padding-bottom: 10px !important;
}

html body.page-id-748 h3:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 h3:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    color: var(--lux-gold, #C8A96A) !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600 !important;
    margin: 24px 0 12px !important;
}

html body.page-id-748 h4:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 h4:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    margin: 20px 0 10px !important;
}

/* Body-Text + Strong */
html body.page-id-748 p:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-748 li:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-748 td:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 p:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 li:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 td:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    font-family: 'Inter', sans-serif !important;
}

html body.page-id-748 strong:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-748 b:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 strong:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8),
html body.page-id-745 b:not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6):not(#x7):not(#x8) {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Links in Legal-Pages */
html body.page-id-748 a:not(.btn):not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6),
html body.page-id-745 a:not(.btn):not(#x1):not(#x2):not(#x3):not(#x4):not(#x5):not(#x6) {
    color: var(--lux-gold, #C8A96A) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}
html body.page-id-748 a:not(.btn):hover,
html body.page-id-745 a:not(.btn):hover {
    color: #E8D8B0 !important;
}

/* ---- B) SEARCH-RESULTS Card-Container darf NIE weißen BG haben ---- */
html body.page-id-16859 .item-listing-wrap,
html body.houzez-halfmap-page .item-listing-wrap,
html body.page-template-template-search .item-listing-wrap,
html body.page-id-16859 .property-listing,
html body.houzez-halfmap-page .property-listing {
    background-color: transparent !important;
}

/* Inner card sections — explizit transparent */
html body.page-id-16859 .item-listing-wrap > *,
html body.houzez-halfmap-page .item-listing-wrap > *,
html body.page-template-template-search .item-listing-wrap > * {
    background-color: transparent !important;
}

/* Card outer wrapper (Houzez 'card' class) */
html body.page-id-16859 .item-listing-wrap.card,
html body.houzez-halfmap-page .item-listing-wrap.card {
    background-color: transparent !important;
}

/* ---- C) FAQ-Page Container-BG forcen ---- */
html body.page-id-17124,
html body.page-id-17124 .content-wrap,
html body.page-id-17124 main,
html body.page-id-17124 .elementor-section-wrap,
html body.page-id-17124 .container {
    background-color: transparent !important;
}
html body.page-id-17124 {
    background-color: var(--lux-navy, #0B1F33) !important;
}

/* ---- D) Modal Close-Button: war ratio 1.3 ---- */
html body .modal .close,
html body .modal-close,
html body button.close[data-dismiss="modal"] {
    color: rgba(255, 255, 255, 0.95) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    opacity: 1 !important;
}
html body .modal .close:hover,
html body .modal-close:hover {
    background: rgba(200, 169, 106, 0.18) !important;
    border-color: var(--lux-gold, #C8A96A) !important;
    color: var(--lux-gold, #C8A96A) !important;
}

/* === §20.26 .page-content-wrap white-bg Killer (v1.7.23) ===
   Houzez .page-content-wrap hat hartcoded background: white auf Legal-Pages.
   Brute-force transparent für alle Dark-Pages. */
html body.page-id-748 .page-content-wrap,
html body.page-id-745 .page-content-wrap,
html body.page-id-17124 .page-content-wrap,
html body.page-id-16859 .page-content-wrap,
html body.page-id-16254 .page-content-wrap,
html body.page-id-16255 .page-content-wrap,
html body.page-id-16256 .page-content-wrap,
html body.page-id-4316 .page-content-wrap,
html body.page-id-16053 .page-content-wrap,
html body.page-id-2324 .page-content-wrap,
html body[class*="page-template-user_dashboard"] .page-content-wrap {
    background: transparent !important;
    background-color: transparent !important;
}

/* Wenn .page-content-wrap als wrapper existiert: bg navy auf body sicherstellen */
html body.page-id-748,
html body.page-id-745,
html body.page-id-17124 {
    background: var(--lux-navy, #0B1F33) !important;
}

/* === §20.27 Language-Switcher (v1.7.24) ===
   3-Pill-Switcher FR · EN · DE im Brand-Style (Navy + Gold). */
.lux-lang-switcher {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 4px !important;
    margin: 0 8px !important;
    background: rgba(11, 31, 51, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 999px !important;
    vertical-align: middle !important;
}

.lux-lang-pill {
    display: inline-block !important;
    padding: 6px 12px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    transition: color .2s ease, background-color .2s ease !important;
    line-height: 1 !important;
    min-width: 32px !important;
    text-align: center !important;
}

.lux-lang-pill:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

.lux-lang-pill--active {
    background: var(--lux-gold, #C8A96A) !important;
    color: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

.lux-lang-pill--active:hover {
    background: #d8b97a !important;
    color: #ffffff !important;
}

/* Scrolled-State (white-navbar): contrast pflegen */
body.lux-scrolled .lux-lang-switcher {
    background: rgba(11, 31, 51, 0.08) !important;
    border-color: rgba(11, 31, 51, 0.14) !important;
}
body.lux-scrolled .lux-lang-pill {
    color: rgba(11, 31, 51, 0.65) !important;
}
body.lux-scrolled .lux-lang-pill:hover {
    color: var(--lux-navy, #0B1F33) !important;
    background: rgba(11, 31, 51, 0.06) !important;
}
body.lux-scrolled .lux-lang-pill--active {
    background: var(--lux-gold, #C8A96A) !important;
    color: #ffffff !important;
}

/* Mobile: kleiner */
@media (max-width: 768px) {
    .lux-lang-switcher { gap: 2px !important; padding: 3px !important; margin: 0 4px !important; }
    .lux-lang-pill { padding: 5px 9px !important; font-size: 10px !important; min-width: 26px !important; }
}

/* Desktop-Navbar Layout: Logo links, Menü + Switcher rechts ausgerichtet.
   .header-inner-wrap ist flex-container für [.navbar][.switcher].
   .navbar nimmt full width, intern: Logo bleibt links, .main-nav wird mit
   margin-left:auto nach rechts gepushed. */
#header-section .header-inner-wrap {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}
#header-section .navbar {
    flex-grow: 1 !important;
    width: auto !important;
}
#header-section .navbar > nav.main-nav {
    margin-left: auto !important;
}
.lux-lang-switcher--desktop {
    margin-left: 16px !important;
    margin-right: 8px !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    z-index: 10 !important;
}
@media (max-width: 991px) {
    /* Auf Mobile/Tablet ist das Burger-Menü aktiv — Desktop-Switcher ausblenden */
    .lux-lang-switcher--desktop { display: none !important; }
    #header-section .navbar > nav.main-nav { margin-left: 0 !important; }

    /* Mobile-Header: Logo absolut zentral, Burger links, User+Switcher rechts.
       Absolute positioning auf Center → Logo bleibt PERFEKT in viewport-Mitte
       unabhängig von der Breite des Right-Slots (mit Switcher). */
    #header-mobile {
        position: relative !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 64px !important;
    }
    #header-mobile .header-mobile-left {
        flex: 0 0 auto !important;
        z-index: 2 !important;
    }
    #header-mobile .header-mobile-center {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        z-index: 1 !important;
        pointer-events: auto !important;
    }
    #header-mobile .header-mobile-center .logo,
    #header-mobile .header-mobile-center .logo-mobile {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    #header-mobile .header-mobile-right {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        z-index: 2 !important;
    }
    #header-mobile .header-mobile-right .lux-lang-switcher {
        margin: 0 !important;
    }
}

/* === §20.29 Découvrez Section: Box-Höhe + Text vertikal mittig (v1.7.55) ===
   Alte Such-Form (178px) + Spacer (30px) versteckt → 208px ungenutzt.
   Statt flex-center (Safari-Bugs) nutzen wir SYMMETRISCHES PADDING:
   pt=124 + Text=140 + pb=124 + outer=20+20 = 428px Original-Höhe.
   Padding funktioniert in JEDEM Browser inkl. Safari, Firefox, alte Versionen. */
.lux-decouvrez-section .elementor-widget-houzez_elementor_search_builder,
.lux-decouvrez-section .elementor-widget-houzez_elementor_space {
    display: none !important;
}
/* TRANSFORM-CENTERING (v1.7.59) — Gold-Standard, funktioniert IDENTISCH
   in Safari, Chrome, Firefox, Edge. Keine flex-Bugs mehr.
   widget-wrap = anchor (position:relative + fixed height)
   inner-section = positioniert mit top:50% + translate(-50%) */
.lux-decouvrez-section .elementor-top-column > .elementor-widget-wrap {
    position: relative !important;
    height: 388px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}
.lux-decouvrez-section .elementor-top-column > .elementor-widget-wrap > .elementor-section.elementor-inner-section {
    position: absolute !important;
    /* +40px Offset kompensiert Safari Render-Differenz — Text steht in beiden
       Browsers visuell mittig (Chrome: leicht nach unten, Safari: dann exakt mittig) */
    top: calc(50% + 40px) !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Alle Inner-Margins killen damit der TEXT-BLOCK selbst keine asymmetric margins hat */
.lux-decouvrez-section .houzez_section_title_wrap {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
.lux-decouvrez-section .houzez_section_title,
.lux-decouvrez-section h2.houzez_section_title,
.lux-decouvrez-section .houzez_section_subtitle,
.lux-decouvrez-section p.houzez_section_subtitle {
    margin: 0 !important;
}
.lux-decouvrez-section .houzez_section_title {
    margin-bottom: 12px !important; /* gap zwischen H2 und Subtitle */
}
/* Mobile: Box etwas kleiner */
@media (max-width: 768px) {
    .lux-decouvrez-section .elementor-top-column > .elementor-widget-wrap {
        height: 280px !important;
    }
}

/* === §20.30 Property-Detail Action-Buttons Premium (v1.7.61) ===
   Die 3 Buttons oben rechts (Favoriten / Teilen / Drucken) waren kaum sichtbar.
   Premium-Glas-Style mit Gold-Icons + Hover-Glow. */
.single-property-page .list-inline,
body.single-property .list-inline {
    display: flex !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-property-page .list-inline-item.btn-favorite,
.single-property-page .list-inline-item.btn-share,
.single-property-page .list-inline-item.btn-print,
.single-property-page .list-inline-item.btn-email,
body.single-property .list-inline-item.btn-favorite,
body.single-property .list-inline-item.btn-share,
body.single-property .list-inline-item.btn-print,
body.single-property .list-inline-item.btn-email {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Button-Wrapper: 52x52 Premium-Gold-Quadrat (v1.7.68) — Houzez-overrides killen mit Nuclear-Specificity */
body.single-property .list-inline > .list-inline-item.btn-favorite > a,
body.single-property .list-inline > .list-inline-item.btn-share > a,
body.single-property .list-inline > .list-inline-item.btn-print > a,
body.single-property .list-inline > .list-inline-item.btn-email > a,
body.single-property .list-inline-item.btn-favorite > a[href],
body.single-property .list-inline-item.btn-share > a[href],
body.single-property .list-inline-item.btn-print > a[href],
body.single-property .list-inline-item.btn-email > a[href] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background-color: #0B1F33 !important;
    background-image: linear-gradient(135deg, #1a3050 0%, #0B1F33 100%) !important;
    border: 1.5px solid #C8A96A !important;
    color: #C8A96A !important;
    /* font-size 22px so the icon-font renders (NICHT 0!) */
    font-size: 22px !important;
    line-height: 1 !important;
    transition: all 0.28s ease !important;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(200, 169, 106, 0.18) !important;
    text-decoration: none !important;
}

/* Hide any text-labels next to icons (z.B. "Préféré") */
body.single-property .list-inline-item.btn-favorite > a > span,
body.single-property .list-inline-item.btn-share > a > span,
body.single-property .list-inline-item.btn-print > a > span,
body.single-property .list-inline-item.btn-email > a > span,
body.single-property .list-inline-item.btn-favorite > a > .display-none,
body.single-property .list-inline-item.btn-share > a > .display-none {
    display: none !important;
}

/* === SVG-MASK ICONS (Premium Gold) — Houzez-Iconfont durch CSS-Mask ersetzen ===
   Die Houzez-Iconfont rendert unzuverlässig (color-clipping). SVG-Mask ist
   100% deterministisch gold-farbig egal welche Theme-Overrides existieren. */
body.single-property .list-inline-item.btn-favorite > a > i,
body.single-property .list-inline-item.btn-share > a > i,
body.single-property .list-inline-item.btn-print > a > i,
body.single-property .list-inline-item.btn-email > a > i {
    width: 26px !important;
    height: 26px !important;
    display: inline-block !important;
    background-color: #F5E6BC !important;  /* Champagne-Gold via CSS-Mask */
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 26px 26px !important;
    mask-size: 26px 26px !important;
    /* Den Houzez-Icon-Font-Content via Mask überlagern */
    font-size: 0 !important;
    color: transparent !important;
    filter: drop-shadow(0 0 6px rgba(200, 169, 106, 0.5)) !important;
    transition: background-color 0.28s ease, transform 0.28s ease, filter 0.28s ease !important;
}

/* Heart Icon — Favorite */
body.single-property .list-inline-item.btn-favorite > a > i {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/></svg>") !important;
}

/* Share Icon */
body.single-property .list-inline-item.btn-share > a > i {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z'/></svg>") !important;
}

/* Printer Icon */
body.single-property .list-inline-item.btn-print > a > i {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M19 8h-1V3H6v5H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zM8 5h8v3H8V5zm8 14H8v-4h8v4zm3-5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M19 8h-1V3H6v5H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zM8 5h8v3H8V5zm8 14H8v-4h8v4zm3-5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z'/></svg>") !important;
}

/* Email Icon (envelope) */
body.single-property .list-inline-item.btn-email > a > i {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/></svg>") !important;
}

/* Hover: Icon wird dunkler weil bg jetzt Gold ist */
body.single-property .list-inline-item.btn-favorite > a:hover > i,
body.single-property .list-inline-item.btn-share > a:hover > i,
body.single-property .list-inline-item.btn-print > a:hover > i,
body.single-property .list-inline-item.btn-email > a:hover > i {
    background-color: #0B1F33 !important;  /* Navy auf Gold-Hintergrund */
    filter: none !important;
    transform: scale(1.1) !important;
}

/* Icons — Nuclear-Spezifität gegen Houzez Default — mr-2 (margin-right) killen */
body.single-property .list-inline-item.btn-favorite > a i,
body.single-property .list-inline-item.btn-favorite > a > i.houzez-icon,
body.single-property .list-inline-item.btn-favorite > a > i[class*="icon-"],
body.single-property .list-inline-item.btn-favorite > a > i.mr-2,
body.single-property .list-inline-item.btn-share > a i,
body.single-property .list-inline-item.btn-share > a > i.houzez-icon,
body.single-property .list-inline-item.btn-share > a > i[class*="icon-"],
body.single-property .list-inline-item.btn-share > a > i.mr-2,
body.single-property .list-inline-item.btn-print > a i,
body.single-property .list-inline-item.btn-print > a > i.houzez-icon,
body.single-property .list-inline-item.btn-print > a > i[class*="icon-"],
body.single-property .list-inline-item.btn-email > a i,
body.single-property .list-inline-item.btn-email > a > i.houzez-icon,
body.single-property .list-inline-item.btn-email > a > i[class*="icon-"] {
    color: #F5E6BC !important;  /* sehr helles Gold — gut sichtbar */
    -webkit-text-fill-color: #F5E6BC !important;
    font-size: 20px !important;
    margin: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    /* Stärkerer Gold-Glow für Premium-Feel */
    text-shadow: 0 0 12px rgba(200, 169, 106, 0.6), 0 0 4px rgba(245, 230, 188, 0.4) !important;
    transition: all 0.28s ease !important;
    font-weight: 600 !important;
}

/* Pseudo-Element ::before muss auch hell sein */
body.single-property .list-inline-item.btn-favorite > a > i::before,
body.single-property .list-inline-item.btn-share > a > i::before,
body.single-property .list-inline-item.btn-print > a > i::before,
body.single-property .list-inline-item.btn-email > a > i::before {
    color: #F5E6BC !important;
    -webkit-text-fill-color: #F5E6BC !important;
    opacity: 1 !important;
}

/* Pseudo-Element der Icon-Font */
body.single-property .list-inline-item.btn-favorite > a i::before,
body.single-property .list-inline-item.btn-share > a i::before,
body.single-property .list-inline-item.btn-print > a i::before,
body.single-property .list-inline-item.btn-email > a i::before {
    color: #C8A96A !important;
    -webkit-text-fill-color: #C8A96A !important;
    opacity: 1 !important;
}

/* Hover: Gold-filled Background + dunkles Navy-Icon */
body.single-property .list-inline-item.btn-favorite > a:hover,
body.single-property .list-inline-item.btn-share > a:hover,
body.single-property .list-inline-item.btn-print > a:hover,
body.single-property .list-inline-item.btn-email > a:hover,
body.single-property .list-inline-item.btn-favorite > a[href]:hover,
body.single-property .list-inline-item.btn-share > a[href]:hover,
body.single-property .list-inline-item.btn-print > a[href]:hover,
body.single-property .list-inline-item.btn-email > a[href]:hover {
    background-color: #C8A96A !important;
    background-image: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    border-color: #E8D8B0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(200, 169, 106, 0.5), 0 0 0 1px rgba(200, 169, 106, 0.3) !important;
}

body.single-property .list-inline-item.btn-favorite > a:hover i,
body.single-property .list-inline-item.btn-share > a:hover i,
body.single-property .list-inline-item.btn-print > a:hover i,
body.single-property .list-inline-item.btn-email > a:hover i {
    color: #0B1F33 !important;  /* Navy auf Gold-bg */
    -webkit-text-fill-color: #0B1F33 !important;
    text-shadow: none !important;
    transform: scale(1.1) !important;
}

/* Aktiver Favoriten-Button (wenn schon favorisiert) */
.single-property-page .list-inline-item.btn-favorite > a.added,
.single-property-page .list-inline-item.btn-favorite > a.added-favorite,
body.single-property .list-inline-item.btn-favorite > a.added {
    background: rgba(200, 169, 106, 0.92) !important;
    border-color: var(--lux-gold, #C8A96A) !important;
}
.single-property-page .list-inline-item.btn-favorite > a.added i,
.single-property-page .list-inline-item.btn-favorite > a.added-favorite i,
body.single-property .list-inline-item.btn-favorite > a.added i {
    color: #FFFFFF !important;
}

/* Hide any text labels next to the icons (just clean icon buttons) */
.single-property-page .list-inline-item.btn-favorite > a > span:not(.houzez-icon):not([class*="icon-"]),
.single-property-page .list-inline-item.btn-share > a > span:not(.houzez-icon):not([class*="icon-"]),
.single-property-page .list-inline-item.btn-print > a > span:not(.houzez-icon):not([class*="icon-"]),
body.single-property .list-inline-item.btn-favorite > a > span:not(.houzez-icon):not([class*="icon-"]),
body.single-property .list-inline-item.btn-share > a > span:not(.houzez-icon):not([class*="icon-"]) {
    display: none !important;
}

/* === §20.31 ECHTE Property-Detail Action-Buttons (v1.7.69) ===
   Bug-Fix: §20.30 hat .list-inline-item.btn-favorite gestyled — das ist die
   Lightbox-Modal die per default visibility:hidden ist.
   Die ECHTEN Buttons oben rechts über dem Preis sind:
     .page-title-wrap .item-tools > .item-tool.houzez-favorite|share|print
   Diese Buttons waren standardmäßig 30×30 grau und kaum sichtbar. */

/* Container — flex row */
body.single-property .page-title-wrap .item-tools {
    display: inline-flex !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    align-items: center !important;
}

/* Button-Wrapper: 52×52 Premium-Gold-Quadrat v1.7.71 (cleaner border + softer shadow) */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-share,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-print {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background-color: #0B1F33 !important;
    background-image: linear-gradient(135deg, #15294a 0%, #0B1F33 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.65) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35) !important;
    cursor: pointer !important;
    transition: all 0.28s ease !important;
    position: relative !important;
    list-style: none !important;
}

/* Inner span — full-clickable */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite > span,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-share > .item-tool-share,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-print > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

/* SVG-Mask Icons (Champagne-Gold) — Houzez-Iconfont via CSS-Mask ersetzen
   v1.7.71: dezenter Glow + reduzierte Icon-Size für mehr Atemraum */
body.single-property .page-title-wrap .item-tools > .item-tool > span > i.houzez-icon {
    width: 22px !important;
    height: 22px !important;
    display: inline-block !important;
    background-color: #E8D8B0 !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 22px 22px !important;
    mask-size: 22px 22px !important;
    font-size: 0 !important;
    color: transparent !important;
    filter: drop-shadow(0 0 3px rgba(200, 169, 106, 0.35)) !important;
    transition: background-color 0.28s ease, transform 0.28s ease, filter 0.28s ease !important;
    margin: 0 !important;
}

/* Heart-Icon — Ultra-Clean Outlined v1.7.71 (1.25px stroke, minimal) */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite i.houzez-icon {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-7-4.5-9-9.5C1.5 7 4 4 7 4c2 0 3.5 1 5 3 1.5-2 3-3 5-3 3 0 5.5 3 4 7.5-2 5-9 9.5-9 9.5z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-7-4.5-9-9.5C1.5 7 4 4 7 4c2 0 3.5 1 5 3 1.5-2 3-3 5-3 3 0 5.5 3 4 7.5-2 5-9 9.5-9 9.5z'/></svg>") !important;
}

/* Share-Icon — Simple Upload-Arrow (cleaner als Network-Knoten) */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-share i.houzez-icon {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'><path d='M9 8l3-3 3 3M12 5v11M5 13v5a2 2 0 002 2h10a2 2 0 002-2v-5'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'><path d='M9 8l3-3 3 3M12 5v11M5 13v5a2 2 0 002 2h10a2 2 0 002-2v-5'/></svg>") !important;
}

/* Print-Icon — Simplified, ohne Toner-Dots */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-print i.houzez-icon {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'><path d='M7 9V4h10v5M7 18H5a2 2 0 01-2-2v-5a2 2 0 012-2h14a2 2 0 012 2v5a2 2 0 01-2 2h-2M7 14h10v6H7v-6z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'><path d='M7 9V4h10v5M7 18H5a2 2 0 01-2-2v-5a2 2 0 012-2h14a2 2 0 012 2v5a2 2 0 01-2 2h-2M7 14h10v6H7v-6z'/></svg>") !important;
}

/* Pseudo-Element der Original-Iconfont killen */
body.single-property .page-title-wrap .item-tools > .item-tool > span > i.houzez-icon::before {
    content: '' !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    display: none !important;
}

/* Hover-State v1.7.70 — CLEAN & SUBTLE
   Kein abrupter Color-Swap mehr. Stattdessen:
   - Border wird heller-gold (premium accent)
   - Background gradient bleibt navy aber wird minimal heller
   - Icon-Glow verstärkt sich elegant
   - 1px Lift statt 2px (dezenter)
   - Längere Transition (350ms) für seideneren Look */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-share,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-print {
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite:hover,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-share:hover,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-print:hover {
    background-image: linear-gradient(135deg, #1a3050 0%, #0d2740 100%) !important;
    border-color: #C8A96A !important;
    transform: translateY(-1px) !important;
    box-shadow:
        0 4px 14px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(200, 169, 106, 0.3) !important;
}

/* Icon: nur sanfter Glow-Boost, keine Größenänderung, kein Farb-Swap */
body.single-property .page-title-wrap .item-tools > .item-tool > span > i.houzez-icon {
    transition: background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                filter 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.single-property .page-title-wrap .item-tools > .item-tool:hover > span > i.houzez-icon {
    background-color: #F5E6BC !important;
    filter: drop-shadow(0 0 5px rgba(232, 216, 176, 0.5)) !important;
}

/* Active-Press State (mousedown) — subtle press, kein abrupter Snap */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite:active,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-share:active,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-print:active {
    transform: translateY(0) scale(0.97) !important;
    transition: transform 0.12s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow:
        0 2px 8px rgba(200, 169, 106, 0.2),
        0 0 0 1px rgba(232, 216, 176, 0.3) !important;
}

/* Aktiver Favoriten-Button (added-state) — subtiles Gold-Highlight */
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite.added,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite.added-favorite {
    border-color: #E8D8B0 !important;
    background-image: linear-gradient(135deg, #1a3050 0%, #0B1F33 100%) !important;
    box-shadow:
        0 4px 14px rgba(200, 169, 106, 0.3),
        0 0 0 1px rgba(232, 216, 176, 0.35),
        inset 0 0 14px rgba(200, 169, 106, 0.12) !important;
}

body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite.added i.houzez-icon,
body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite.added-favorite i.houzez-icon {
    background-color: #F5E6BC !important;
    /* Wenn favorisiert: filled heart statt outlined */
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/></svg>") !important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/></svg>") !important;
    filter: drop-shadow(0 0 8px rgba(232, 216, 176, 0.6)) !important;
}

/* Mobile: leicht kleiner, aber immer noch premium */
@media (max-width: 767px) {
    body.single-property .page-title-wrap .item-tools > .item-tool.houzez-favorite,
    body.single-property .page-title-wrap .item-tools > .item-tool.houzez-share,
    body.single-property .page-title-wrap .item-tools > .item-tool.houzez-print {
        width: 44px !important;
        height: 44px !important;
        border-radius: 10px !important;
    }
    body.single-property .page-title-wrap .item-tools > .item-tool > span > i.houzez-icon {
        width: 19px !important;
        height: 19px !important;
        -webkit-mask-size: 19px 19px !important;
        mask-size: 19px 19px !important;
    }
}

/* Share-Dropdown-Menu: dunkles Premium-Styling */
body.single-property .page-title-wrap .item-tools .item-tool-dropdown-menu {
    background-color: #0B1F33 !important;
    background-image: linear-gradient(135deg, #102a44 0%, #0B1F33 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.3) !important;
    border-radius: 12px !important;
    padding: 8px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
    min-width: 180px !important;
}

body.single-property .page-title-wrap .item-tools .item-tool-dropdown-menu .dropdown-item {
    color: #DBE3EB !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

body.single-property .page-title-wrap .item-tools .item-tool-dropdown-menu .dropdown-item:hover {
    background-color: rgba(200, 169, 106, 0.15) !important;
    color: #F5E6BC !important;
}

body.single-property .page-title-wrap .item-tools .item-tool-dropdown-menu .dropdown-item i {
    color: #C8A96A !important;
}

/* === §20.32 Premium Print-Template (PDF Expose) v1.7.72 =================
   Houzez Print-Vorlage komplett überschrieben. Navy + Gold Brand-Look.
   Klasse .lux-print-page wird via JS gesetzt (luxproperties-enhance.js).
   ======================================================================= */

@media all {
    /* Reset Houzez print-page bg & basics */
    body.print-page.lux-print-page {
        background: #fff !important;
        color: #0B1F33 !important;
        font-family: 'Inter', 'Manrope', system-ui, -apple-system, sans-serif !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body.print-page.lux-print-page .print-main-wrap {
        padding: 0 !important;
        margin: 0 !important;
        background: #fff !important;
    }

    body.print-page.lux-print-page .print-wrap {
        max-width: 800px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        background: #fff !important;
    }

    /* === HEADER (Cover-Section) === */
    body.print-page.lux-print-page .print-header {
        background: linear-gradient(135deg, #0d2740 0%, #0B1F33 100%) !important;
        color: #fff !important;
        padding: 36px 44px 32px !important;
        margin: 0 0 30px !important;
        border-bottom: 4px solid #C8A96A !important;
        position: relative !important;
    }

    /* Gold-Linie unten */
    body.print-page.lux-print-page .print-header::after {
        content: '' !important;
        position: absolute !important;
        bottom: -4px !important;
        left: 44px !important;
        width: 64px !important;
        height: 4px !important;
        background: linear-gradient(90deg, #E8D8B0 0%, #C8A96A 100%) !important;
        box-shadow: 0 0 12px rgba(200, 169, 106, 0.4) !important;
    }

    body.print-page.lux-print-page .print-logo-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-bottom: 28px !important;
        padding-bottom: 22px !important;
        border-bottom: 1px solid rgba(200, 169, 106, 0.3) !important;
    }

    body.print-page.lux-print-page .print-logo-wrap .logo img {
        max-width: 200px !important;
        max-height: 90px !important;
        height: auto !important;
        width: auto !important;
        filter: brightness(0) invert(1) !important;  /* falls dunkles Logo: weiß-invertieren */
    }

    body.print-page.lux-print-page .print-logo-wrap .primary-text {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        letter-spacing: 3px !important;
        text-transform: uppercase !important;
        color: #C8A96A !important;
        text-align: right !important;
    }

    body.print-page.lux-print-page .print-logo-wrap .primary-text::before {
        content: 'Lux Properties' !important;
        display: block !important;
        font-size: 17px !important;
        letter-spacing: 4px !important;
        color: #E8D8B0 !important;
        margin-bottom: 4px !important;
    }

    body.print-page.lux-print-page .print-logo-wrap .primary-text::after {
        content: 'Agence immobilière · Luxembourg' !important;
        display: block !important;
        color: rgba(255, 255, 255, 0.55) !important;
    }

    /* Property-Title + Address + Price */
    body.print-page.lux-print-page .print-title-wrap {
        margin-bottom: 26px !important;
    }

    body.print-page.lux-print-page .print-title-wrap .page-title h1 {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 32px !important;
        font-weight: 600 !important;
        color: #fff !important;
        margin: 0 0 8px !important;
        line-height: 1.15 !important;
        letter-spacing: -0.5px !important;
    }

    body.print-page.lux-print-page .print-title-wrap .item-address {
        color: rgba(255, 255, 255, 0.75) !important;
        font-size: 12px !important;
        font-style: normal !important;
        margin: 0 !important;
        letter-spacing: 0.2px !important;
    }

    body.print-page.lux-print-page .print-title-wrap .item-address i {
        color: #C8A96A !important;
        margin-right: 4px !important;
    }

    body.print-page.lux-print-page .print-title-wrap .item-price-wrap {
        list-style: none !important;
        margin: 0 0 0 16px !important;
        padding: 0 !important;
    }

    body.print-page.lux-print-page .print-title-wrap .item-price {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 28px !important;
        font-weight: 500 !important;
        color: #E8D8B0 !important;
        white-space: nowrap !important;
        letter-spacing: 0.3px !important;
    }

    /* Hero Banner + QR */
    body.print-page.lux-print-page .print-banner-wrap {
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background: #102a44 !important;
        border: 1px solid rgba(200, 169, 106, 0.25) !important;
    }

    body.print-page.lux-print-page .print-banner-wrap > img {
        width: 100% !important;
        height: auto !important;
        max-height: 360px !important;
        object-fit: cover !important;
        display: block !important;
    }

    body.print-page.lux-print-page .print-banner-wrap .qr-code {
        position: absolute !important;
        bottom: 12px !important;
        right: 12px !important;
        background: rgba(255, 255, 255, 0.96) !important;
        padding: 6px !important;
        border-radius: 4px !important;
        border: 1px solid rgba(200, 169, 106, 0.4) !important;
    }

    body.print-page.lux-print-page .print-banner-wrap .qr-code img {
        display: block !important;
        width: 70px !important;
        height: 70px !important;
    }

    /* === AGENT INFO (auf dark Header) === */
    body.print-page.lux-print-page .print-agent-info-wrap {
        margin-top: 26px !important;
        padding: 18px 20px !important;
        background: rgba(255, 255, 255, 0.04) !important;
        border: 1px solid rgba(200, 169, 106, 0.25) !important;
        border-radius: 6px !important;
    }

    body.print-page.lux-print-page .print-agent-info-wrap h2.print-title {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        letter-spacing: 3px !important;
        text-transform: uppercase !important;
        color: #C8A96A !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        border: none !important;
    }

    body.print-page.lux-print-page .print-agent-info-wrap .agent-image img {
        width: 64px !important;
        height: 64px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        object-position: center top !important;
        border: 2px solid #C8A96A !important;
        box-shadow: 0 0 0 4px rgba(200, 169, 106, 0.18) !important;
    }

    body.print-page.lux-print-page .print-agent-info-wrap ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 0 0 14px !important;
        color: #fff !important;
        font-size: 12px !important;
    }

    body.print-page.lux-print-page .print-agent-info-wrap ul li {
        margin: 0 0 3px !important;
        color: rgba(255, 255, 255, 0.88) !important;
    }

    body.print-page.lux-print-page .print-agent-info-wrap .agent-name {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #fff !important;
        margin-bottom: 6px !important;
    }

    body.print-page.lux-print-page .print-agent-info-wrap ul i {
        color: #C8A96A !important;
        margin-right: 4px !important;
    }

    body.print-page.lux-print-page .print-agent-info-wrap ul strong {
        color: #E8D8B0 !important;
        font-weight: 500 !important;
    }

    /* === CONTENT-SECTIONS === */
    body.print-page.lux-print-page .print-content {
        padding: 0 44px 30px !important;
    }

    body.print-page.lux-print-page .print-section {
        margin-bottom: 30px !important;
        padding-bottom: 22px !important;
        border-bottom: 1px solid #ECE5D3 !important;
        page-break-inside: avoid !important;
    }

    body.print-page.lux-print-page .print-section:last-child {
        border-bottom: none !important;
    }

    body.print-page.lux-print-page .print-section h2.print-title {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #0B1F33 !important;
        margin: 0 0 14px !important;
        padding: 0 0 8px !important;
        border: none !important;
        position: relative !important;
        letter-spacing: 0.3px !important;
    }

    body.print-page.lux-print-page .print-section h2.print-title::after {
        content: '' !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 36px !important;
        height: 2px !important;
        background: linear-gradient(90deg, #C8A96A 0%, #E8D8B0 100%) !important;
    }

    body.print-page.lux-print-page .print-section p {
        margin: 0 0 10px !important;
        color: #2c3e50 !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
    }

    /* Detail-Tabelle */
    body.print-page.lux-print-page .detail-wrap {
        padding: 0 !important;
    }

    body.print-page.lux-print-page .list-2-cols {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px 32px !important;
    }

    body.print-page.lux-print-page .list-2-cols li {
        padding: 9px 12px !important;
        background: #F8F5EC !important;
        border-radius: 4px !important;
        font-size: 12.5px !important;
        display: flex !important;
        justify-content: space-between !important;
        border-left: 2px solid #C8A96A !important;
    }

    body.print-page.lux-print-page .list-2-cols li strong {
        color: #0B1F33 !important;
        font-weight: 600 !important;
        font-size: 11.5px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }

    body.print-page.lux-print-page .list-2-cols li span {
        color: #0B1F33 !important;
        font-weight: 600 !important;
        text-align: right !important;
        font-family: 'Playfair Display', Georgia, serif !important;
    }

    /* === ENERGY-CLASS === */
    body.print-page.lux-print-page .class-energy-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 0 14px !important;
    }

    body.print-page.lux-print-page .class-energy-list li {
        margin: 0 0 4px !important;
        font-size: 12.5px !important;
    }

    body.print-page.lux-print-page .class-energy-list li strong {
        color: #0B1F33 !important;
        font-weight: 600 !important;
        margin-right: 4px !important;
    }

    body.print-page.lux-print-page .class-energy {
        list-style: none !important;
        padding: 0 !important;
        margin: 8px 0 0 !important;
        display: flex !important;
        gap: 4px !important;
        align-items: center !important;
    }

    body.print-page.lux-print-page .class-energy li {
        flex: 1 !important;
        text-align: center !important;
        padding: 8px 2px !important;
        border-radius: 4px !important;
        font-weight: 700 !important;
        font-size: 12px !important;
        color: #fff !important;
        position: relative !important;
    }

    body.print-page.lux-print-page .class-energy .energy-A\+,
    body.print-page.lux-print-page .class-energy .energy-A { display: block !important; background: #20A039 !important; padding: 7px 0 !important; border-radius: 3px !important; }
    body.print-page.lux-print-page .class-energy .energy-B { display: block !important; background: #66BB28 !important; padding: 7px 0 !important; border-radius: 3px !important; }
    body.print-page.lux-print-page .class-energy .energy-C { display: block !important; background: #B5D825 !important; padding: 7px 0 !important; border-radius: 3px !important; color: #0B1F33 !important; }
    body.print-page.lux-print-page .class-energy .energy-D { display: block !important; background: #FCE60F !important; padding: 7px 0 !important; border-radius: 3px !important; color: #0B1F33 !important; }
    body.print-page.lux-print-page .class-energy .energy-E { display: block !important; background: #F8AF1A !important; padding: 7px 0 !important; border-radius: 3px !important; }
    body.print-page.lux-print-page .class-energy .energy-F { display: block !important; background: #F47D2A !important; padding: 7px 0 !important; border-radius: 3px !important; }
    body.print-page.lux-print-page .class-energy .energy-G { display: block !important; background: #EA372A !important; padding: 7px 0 !important; border-radius: 3px !important; }
    body.print-page.lux-print-page .class-energy .energy-H { display: block !important; background: #B22A26 !important; padding: 7px 0 !important; border-radius: 3px !important; }

    /* Mark active class with gold ring */
    body.print-page.lux-print-page .class-energy .indicator-energy {
        display: none !important;
    }

    body.print-page.lux-print-page .class-energy .class-energy-indicator:has(.indicator-energy) span {
        outline: 2px solid #C8A96A !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 4px rgba(200, 169, 106, 0.18) !important;
    }

    /* === GALLERY === */
    body.print-page.lux-print-page .print-gallery-image {
        margin-bottom: 14px !important;
        page-break-inside: avoid !important;
    }

    body.print-page.lux-print-page .print-gallery-image img {
        width: 100% !important;
        height: auto !important;
        max-height: 480px !important;
        object-fit: cover !important;
        border-radius: 6px !important;
        border: 1px solid #ECE5D3 !important;
        display: block !important;
    }

    /* === FOOTER mark === */
    body.print-page.lux-print-page .print-content::after {
        content: 'LuxProperties · Tél +352 621 366 599 · team.luxproperties@gmail.com · luxproperties.immo' !important;
        display: block !important;
        margin-top: 36px !important;
        padding-top: 18px !important;
        border-top: 1px solid #ECE5D3 !important;
        color: #6C757D !important;
        font-size: 10.5px !important;
        text-align: center !important;
        letter-spacing: 0.4px !important;
    }
}

/* @media print — minimale Anpassungen für Browser-Druck (sauber drucken) */
@media print {
    body.print-page.lux-print-page {
        font-size: 11px !important;
    }
    body.print-page.lux-print-page .print-header {
        page-break-after: avoid !important;
    }
    body.print-page.lux-print-page .print-section {
        page-break-inside: avoid !important;
    }
    body.print-page.lux-print-page .print-gallery-image {
        page-break-inside: avoid !important;
        max-height: 420px !important;
    }
    body.print-page.lux-print-page .print-banner-wrap > img {
        max-height: 320px !important;
    }
}

/* === §20.33 Property-Detail Sidebar Sticky + Premium-Refresh v1.7.75 ====
   - Sticky-Sidebar via CSS position:sticky (Theia-Plugin disabled)
   - Cleaner Premium-Refresh: Glas-Card, smartere Inputs, Quick-Actions
   ======================================================================= */

/* ── Theia Sticky Plugin neutralisieren (war broken — Sidebar blockierte mittig) */
body.single-property .theiaStickySidebar {
    position: static !important;
    transform: none !important;
    top: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
    width: 100% !important;
}

/* ── Sticky-Layout: kompletter Sidebar-Wrap sticky am oberen Rand */
@media (min-width: 992px) {
    body.single-property .col-lg-4.bt-sidebar-wrap,
    body.single-property .bt-sidebar-wrap {
        align-self: flex-start !important;
        position: sticky !important;
        top: 92px !important;  /* unter Navbar (75px + 17px breathing) */
        max-height: calc(100vh - 110px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 5 !important;
        scrollbar-width: thin !important;
        scrollbar-color: rgba(200, 169, 106, 0.3) transparent !important;
    }

    /* Custom-Scrollbar in Sidebar (Webkit) */
    body.single-property .bt-sidebar-wrap::-webkit-scrollbar {
        width: 4px !important;
    }
    body.single-property .bt-sidebar-wrap::-webkit-scrollbar-track {
        background: transparent !important;
    }
    body.single-property .bt-sidebar-wrap::-webkit-scrollbar-thumb {
        background: rgba(200, 169, 106, 0.3) !important;
        border-radius: 2px !important;
    }
    body.single-property .bt-sidebar-wrap::-webkit-scrollbar-thumb:hover {
        background: rgba(200, 169, 106, 0.6) !important;
    }
}

/* ── PREMIUM-REFRESH: Sidebar-Card als Glas-Element neu stylen */
body.single-property .bt-sidebar-wrap .property-form-wrap,
body.single-property .bt-sidebar-wrap > .theiaStickySidebar > aside,
body.single-property .bt-sidebar-wrap > aside.sidebar-wrap {
    background: linear-gradient(180deg, rgba(13, 39, 64, 0.6) 0%, rgba(11, 31, 51, 0.85) 100%) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 18px !important;
    padding: 0 !important;
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.35),
        0 2px 8px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    overflow: hidden !important;
}

/* ── AGENT-CARD oben in Sidebar (Pascal Warnier + Foto + Online-Status) */
body.single-property .bt-sidebar-wrap .property-form-wrap > div:first-child,
body.single-property .bt-sidebar-wrap .agent-block,
body.single-property .bt-sidebar-wrap [class*="agent-info"]:not(form):not(.property-form) {
    padding: 22px 24px 18px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.15) !important;
    background: linear-gradient(135deg, rgba(200, 169, 106, 0.06) 0%, transparent 70%) !important;
    position: relative !important;
}

/* Pascal-Foto Premium-Look mit Online-Status-Dot */
body.single-property .bt-sidebar-wrap .agent-image,
body.single-property .bt-sidebar-wrap [class*="agent-image"] {
    position: relative !important;
    display: inline-block !important;
}

body.single-property .bt-sidebar-wrap .agent-image::after,
body.single-property .bt-sidebar-wrap [class*="agent-image"]::after {
    content: '' !important;
    position: absolute !important;
    bottom: 3px !important;
    right: 3px !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    background: #22c55e !important;
    border: 2.5px solid #0B1F33 !important;
    box-shadow: 0 0 10px rgba(34, 197, 94, 0.5), 0 0 0 2px rgba(34, 197, 94, 0.18) !important;
    z-index: 2 !important;
    animation: lux-pulse-online 2.4s ease-in-out infinite !important;
}

@keyframes lux-pulse-online {
    0%, 100% { box-shadow: 0 0 10px rgba(34, 197, 94, 0.5), 0 0 0 2px rgba(34, 197, 94, 0.18); }
    50%      { box-shadow: 0 0 14px rgba(34, 197, 94, 0.7), 0 0 0 5px rgba(34, 197, 94, 0.08); }
}

body.single-property .bt-sidebar-wrap .agent-image img,
body.single-property .bt-sidebar-wrap [class*="agent-image"] img {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center top !important;
    border: 2px solid #C8A96A !important;
    box-shadow: 0 0 0 4px rgba(200, 169, 106, 0.15), 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

/* Agent-Name + "Voir les annonces" Link */
body.single-property .bt-sidebar-wrap .agent-name,
body.single-property .bt-sidebar-wrap [class*="agent-info"] strong,
body.single-property .bt-sidebar-wrap .agent-block a:not(.btn) {
    color: #fff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
}

body.single-property .bt-sidebar-wrap a[href*="agent"]:not(.btn),
body.single-property .bt-sidebar-wrap a[href*="annonce"]:not(.btn) {
    color: #C8A96A !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body.single-property .bt-sidebar-wrap a[href*="agent"]:hover,
body.single-property .bt-sidebar-wrap a[href*="annonce"]:hover {
    color: #E8D8B0 !important;
}

/* ── FORM INPUTS — Modern, clean, Floating-Label Feel */
body.single-property .bt-sidebar-wrap form,
body.single-property .bt-sidebar-wrap .property-form {
    padding: 20px 24px 24px !important;
    margin: 0 !important;
}

body.single-property .bt-sidebar-wrap input[type="text"],
body.single-property .bt-sidebar-wrap input[type="tel"],
body.single-property .bt-sidebar-wrap input[type="email"],
body.single-property .bt-sidebar-wrap textarea,
body.single-property .bt-sidebar-wrap select {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(200, 169, 106, 0.2) !important;
    border-radius: 10px !important;
    padding: 13px 16px !important;
    color: #fff !important;
    font-size: 13.5px !important;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    margin-bottom: 11px !important;
    transition: all 0.25s ease !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02) !important;
}

body.single-property .bt-sidebar-wrap input::placeholder,
body.single-property .bt-sidebar-wrap textarea::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
    font-weight: 400 !important;
}

body.single-property .bt-sidebar-wrap input:focus,
body.single-property .bt-sidebar-wrap textarea:focus,
body.single-property .bt-sidebar-wrap select:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: #C8A96A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(200, 169, 106, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body.single-property .bt-sidebar-wrap textarea {
    min-height: 100px !important;
    resize: vertical !important;
}

/* Custom Select-Style */
body.single-property .bt-sidebar-wrap select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8A96A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* ── CHECKBOX (Terms) modern */
body.single-property .bt-sidebar-wrap input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 5px !important;
    border: 1.5px solid rgba(200, 169, 106, 0.4) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 0 8px 0 0 !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
}

body.single-property .bt-sidebar-wrap input[type="checkbox"]:checked {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    border-color: #E8D8B0 !important;
}

body.single-property .bt-sidebar-wrap input[type="checkbox"]:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 5px !important;
    top: 1px !important;
    width: 6px !important;
    height: 11px !important;
    border: solid #0B1F33 !important;
    border-width: 0 2.5px 2.5px 0 !important;
    transform: rotate(45deg) !important;
}

body.single-property .bt-sidebar-wrap label,
body.single-property .bt-sidebar-wrap .terms,
body.single-property .bt-sidebar-wrap [class*="terms"] {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 11.5px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.2px !important;
}

body.single-property .bt-sidebar-wrap a[href*="conditions"],
body.single-property .bt-sidebar-wrap a[href*="terms"],
body.single-property .bt-sidebar-wrap a[href*="cgu"] {
    color: #C8A96A !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body.single-property .bt-sidebar-wrap a[href*="conditions"]:hover {
    color: #E8D8B0 !important;
    text-decoration: underline !important;
}

/* ── SUBMIT-BUTTON: Premium Gold mit Glow */
body.single-property .bt-sidebar-wrap button[type="submit"],
body.single-property .bt-sidebar-wrap input[type="submit"],
body.single-property .bt-sidebar-wrap .btn-primary,
body.single-property .bt-sidebar-wrap .property-form .btn {
    width: 100% !important;
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
    border: 1px solid #E8D8B0 !important;
    padding: 14px 24px !important;
    border-radius: 12px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 6px 18px rgba(200, 169, 106, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
    margin-top: 12px !important;
    position: relative !important;
    overflow: hidden !important;
}

body.single-property .bt-sidebar-wrap button[type="submit"]:hover,
body.single-property .bt-sidebar-wrap input[type="submit"]:hover,
body.single-property .bt-sidebar-wrap .btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 28px rgba(200, 169, 106, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
    filter: brightness(1.05) !important;
}

body.single-property .bt-sidebar-wrap button[type="submit"]:active {
    transform: translateY(0) scale(0.98) !important;
    transition: transform 0.1s ease !important;
}

/* ── QUICK-ACTIONS (WhatsApp / Tel / Email) — über dem Submit-Button injizieren */
body.single-property .bt-sidebar-wrap .property-form::before {
    content: '' !important;
    display: block !important;
    height: 0 !important;
}

/* Container für 3 Quick-Action-Buttons via PHP injizieren — wir bauen ihn als invisible link-row vorerst */

/* ── QUICK-ACTIONS Row (WhatsApp / Tel / Email) — über Form-Inputs */
body.single-property .lux-quick-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.12) !important;
}

body.single-property .lux-qa {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 13px 6px !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    color: rgba(255, 255, 255, 0.88) !important;
    text-decoration: none !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
}

body.single-property .lux-qa svg {
    width: 22px !important;
    height: 22px !important;
    color: #E8D8B0 !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
}

body.single-property .lux-qa-label {
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Hover-State: hebt + Gold-Glow */
body.single-property .lux-qa:hover {
    background: rgba(200, 169, 106, 0.1) !important;
    border-color: #C8A96A !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(200, 169, 106, 0.25) !important;
    color: #fff !important;
}

body.single-property .lux-qa:hover svg {
    transform: scale(1.1) !important;
    color: #F5E6BC !important;
}

body.single-property .lux-qa:active {
    transform: translateY(0) scale(0.97) !important;
    transition: transform 0.1s !important;
}

/* WhatsApp-Button: dezent grüner Akzent on hover */
body.single-property .lux-qa-wa:hover {
    background: rgba(34, 197, 94, 0.12) !important;
    border-color: #22c55e !important;
    box-shadow: 0 6px 16px rgba(34, 197, 94, 0.22) !important;
}

body.single-property .lux-qa-wa:hover svg {
    color: #4ade80 !important;
}

/* Mobile: Sticky entfernen, normale Stapel-Ansicht */
@media (max-width: 991px) {
    body.single-property .col-lg-4.bt-sidebar-wrap,
    body.single-property .bt-sidebar-wrap {
        position: static !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.single-property .lux-quick-actions {
        gap: 6px !important;
    }
    body.single-property .lux-qa {
        padding: 11px 4px !important;
    }
    body.single-property .lux-qa svg {
        width: 20px !important;
        height: 20px !important;
    }
    body.single-property .lux-qa-label {
        font-size: 9.5px !important;
    }
}

/* === §20.34 AUTHOR/AGENT-PAGE — Minimal Premium-Touches v1.7.77 ===========
   /author/warnier4ba7a91eda/
   Strategie: Houzez-Default Struktur RESPEKTIEREN. Nur:
   1. Dark Body-Background (Brand)
   2. Stats-Wrap weißen Bg killen
   3. Lesbarkeit fixen (weißer Text auf dark)
   4. Sidebar erbt §20.33 Sticky-Style
   KEINE Layout-Umbauten — sonst bricht Houzez.
   ============================================================================ */

/* ── Page-Background dark, Navbar bleibt sticky-glass */
body.author,
body.author .main-wrap,
body.author section.content-wrap {
    background: #0B1F33 !important;
    color: #DBE3EB !important;
}

body.author section.content-wrap {
    background-image:
        radial-gradient(ellipse at top, rgba(200, 169, 106, 0.04) 0%, transparent 60%),
        linear-gradient(180deg, #0B1F33 0%, #081826 100%) !important;
    padding-top: 50px !important;
    padding-bottom: 70px !important;
}

/* ── AGENT-PROFILE-WRAP: dezenter Glas-Bg, default Houzez-Layout bleibt */
body.author .agent-profile-wrap {
    background: linear-gradient(135deg, rgba(13, 39, 64, 0.6) 0%, rgba(11, 31, 51, 0.85) 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.15) !important;
    border-radius: 16px !important;
    padding: 30px 32px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
}

/* Foto sichtbar machen — Houzez rendert <img> aber img-fluid macht es schmal */
body.author .agent-profile-wrap .agent-image {
    position: relative !important;
}

body.author .agent-profile-wrap .agent-image img.img-fluid,
body.author .agent-profile-wrap .agent-image img {
    width: 200px !important;
    height: 200px !important;
    max-width: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center top !important;
    border: 3px solid #C8A96A !important;
    box-shadow: 0 0 0 5px rgba(200, 169, 106, 0.1), 0 8px 24px rgba(0, 0, 0, 0.4) !important;
    display: block !important;
}

/* Headings + Text auf dunkler Card */
body.author .agent-profile-wrap h1,
body.author .agent-profile-wrap h2,
body.author .agent-profile-wrap h3,
body.author .agent-profile-wrap .agent-name {
    color: #fff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
}

body.author .agent-profile-wrap h1 {
    font-size: 32px !important;
    margin-bottom: 8px !important;
}

body.author .agent-profile-wrap .agent-position,
body.author .agent-profile-wrap p,
body.author .agent-profile-wrap span {
    color: rgba(255, 255, 255, 0.82) !important;
}

body.author .agent-profile-wrap a {
    color: #C8A96A !important;
    text-decoration: none !important;
}

body.author .agent-profile-wrap a:hover {
    color: #E8D8B0 !important;
}

body.author .agent-profile-wrap i,
body.author .agent-profile-wrap [class*="icon-"] {
    color: #C8A96A !important;
}

/* "Envoyer des Emails" Button + alle anderen Buttons */
body.author .agent-profile-buttons .btn,
body.author .agent-profile-wrap .btn {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
    border: 1px solid #E8D8B0 !important;
    padding: 11px 22px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(200, 169, 106, 0.25) !important;
}

body.author .agent-profile-buttons .btn:hover,
body.author .agent-profile-wrap .btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(200, 169, 106, 0.4) !important;
    filter: brightness(1.05) !important;
}

/* ── STATS-WRAP: weißer Bg KILLEN — höchste Priorität! === */
body.author .agent-stats-wrap,
body.author .agent-stats-wrap.bg-white,
body.author div.agent-stats-wrap {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 30px !important;
}

body.author .agent-profile-chart-wrap {
    background: linear-gradient(135deg, rgba(13, 39, 64, 0.55) 0%, rgba(11, 31, 51, 0.85) 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.12) !important;
    border-radius: 14px !important;
    padding: 20px 22px !important;
    margin-bottom: 16px !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

body.author .agent-profile-chart-wrap h2,
body.author .agent-profile-chart-wrap h3 {
    color: #C8A96A !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    font-family: 'Inter', sans-serif !important;
}

body.author .agent-profile-chart-wrap h2 span {
    color: #E8D8B0 !important;
}

body.author .agent-profile-chart-wrap canvas {
    max-width: 100% !important;
}

body.author .agent-profile-chart-wrap p,
body.author .agent-profile-chart-wrap span,
body.author .agent-profile-chart-wrap strong {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* ── BIO-WRAP === */
body.author .agent-bio-wrap {
    background: linear-gradient(135deg, rgba(13, 39, 64, 0.5) 0%, rgba(11, 31, 51, 0.75) 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.12) !important;
    border-radius: 14px !important;
    padding: 26px 30px !important;
    margin-bottom: 24px !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

body.author .agent-bio-wrap h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #fff !important;
    font-size: 22px !important;
    margin: 0 0 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.2) !important;
    position: relative !important;
}

body.author .agent-bio-wrap h2::after {
    content: '' !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 40px !important;
    height: 2px !important;
    background: #C8A96A !important;
}

body.author .agent-bio-wrap p,
body.author .agent-bio-wrap div {
    color: rgba(255, 255, 255, 0.78) !important;
    line-height: 1.7 !important;
}

/* ── TABS === */
body.author .agent-nav-wrap .nav-pills {
    background: rgba(13, 39, 64, 0.6) !important;
    border: 1px solid rgba(200, 169, 106, 0.15) !important;
    border-radius: 12px !important;
    padding: 5px !important;
    gap: 4px !important;
}

body.author .agent-nav-wrap .nav-pills .nav-link {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 11px 18px !important;
    border-radius: 8px !important;
    background: transparent !important;
    transition: all 0.25s ease !important;
}

body.author .agent-nav-wrap .nav-pills .nav-link:hover {
    color: #E8D8B0 !important;
    background: rgba(200, 169, 106, 0.06) !important;
}

body.author .agent-nav-wrap .nav-pills .nav-link.active {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
    box-shadow: 0 3px 10px rgba(200, 169, 106, 0.3) !important;
}

/* ── TAB-CONTENT === */
body.author .tab-content {
    color: #fff !important;
}

body.author .tab-content p,
body.author .tab-content span,
body.author .tab-content div {
    color: inherit !important;
}

/* ── EMPTY-STATE === */
body.author .tab-pane .alert,
body.author .tab-pane .no-results,
body.author .tab-pane > p:only-child {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(200, 169, 106, 0.12) !important;
    border-radius: 12px !important;
    padding: 24px 28px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    text-align: center !important;
}

/* ── Listing-Tools (Sort/View) Dark === */
body.author .listing-tools-wrap {
    background: transparent !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.12) !important;
    padding-bottom: 16px !important;
    margin-bottom: 20px !important;
}

body.author .listing-tools-wrap .sort-by,
body.author .listing-tools-wrap select {
    background: rgba(13, 39, 64, 0.6) !important;
    color: #fff !important;
    border: 1px solid rgba(200, 169, 106, 0.2) !important;
    border-radius: 10px !important;
    padding: 8px 14px !important;
}

/* ── BUG-FIXES v1.7.78 ============================================
   1. Sidebar `.agent-map` zeigt Pascal-Foto als Map-Fallback — KILLEN
   2. "Find Agent" Widget (Agent-Search) ist sinnlos auf Author-Page — KILLEN
   3. Charts/Diagramme edler stylen
================================================================ */

/* 1. AGENT-MAP weg (zeigt buggy Pascal-Foto statt Map) */
body.author .bt-sidebar-wrap .agent-map,
body.author .bt-sidebar-wrap .agent-contacts-wrap .agent-map,
body.author .agent-contacts-wrap .agent-map,
body.author .agent-map {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
}

/* 1b. AGENT-CONTACTS-WRAP: WEISSER BG KILLEN (v1.7.79) — Houzez setzt rgb(255,255,255)
   per default. Komplettes Dark-Premium-Styling. */
body.author .bt-sidebar-wrap .agent-contacts-wrap,
body.author .agent-contacts-wrap {
    background: linear-gradient(180deg, rgba(13, 39, 64, 0.6) 0%, rgba(11, 31, 51, 0.85) 100%) !important;
    background-color: transparent !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 16px !important;
    padding: 24px 22px !important;
    color: #fff !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.32) !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
    margin-bottom: 22px !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap .widget-title,
body.author .bt-sidebar-wrap .agent-contacts-wrap h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.2) !important;
    position: relative !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap .widget-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 36px !important;
    height: 2px !important;
    background: linear-gradient(90deg, #C8A96A 0%, #E8D8B0 100%) !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap ul,
body.author .bt-sidebar-wrap .agent-contacts-wrap .list-unstyled {
    list-style: none !important;
    padding: 0 !important;
    margin: 12px 0 !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap ul li {
    margin: 8px 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap ul li strong {
    color: #C8A96A !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    display: block !important;
    width: 100% !important;
    margin: 4px 0 2px !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap ul li a {
    color: #E8D8B0 !important;
    text-decoration: none !important;
    word-break: break-all !important;
    transition: color 0.2s ease !important;
    font-size: 13px !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap ul li a:hover {
    color: #fff !important;
}

body.author .bt-sidebar-wrap .agent-contacts-wrap p {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 11.5px !important;
    margin: 14px 0 8px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
}

/* === LUX-CONTACT-LIST (Premium Cards) v1.7.85 — ersetzt Houzez .agent-contacts-wrap === */
body.author .bt-sidebar-wrap .lux-contact-subline {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 11.5px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin: 4px 0 16px !important;
    text-align: left !important;
}

body.author .bt-sidebar-wrap .lux-contact-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

body.author .bt-sidebar-wrap .lux-contact-item {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.author .bt-sidebar-wrap .lux-contact-link {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 12px 14px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 12px !important;
    color: #fff !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
}

body.author .bt-sidebar-wrap .lux-contact-icon {
    width: 38px !important;
    height: 38px !important;
    flex-shrink: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, rgba(200, 169, 106, 0.15) 0%, rgba(200, 169, 106, 0.05) 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.22) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #C8A96A !important;
    transition: all 0.3s ease !important;
}

body.author .bt-sidebar-wrap .lux-contact-icon svg {
    width: 18px !important;
    height: 18px !important;
}

body.author .bt-sidebar-wrap .lux-contact-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

body.author .bt-sidebar-wrap .lux-contact-label {
    color: #C8A96A !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
}

body.author .bt-sidebar-wrap .lux-contact-value {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
}

/* Hover-State: Card hebt + Icon-Glow */
body.author .bt-sidebar-wrap .lux-contact-link:hover {
    background: rgba(200, 169, 106, 0.08) !important;
    border-color: #C8A96A !important;
    transform: translateX(2px) !important;
    box-shadow: 0 6px 16px rgba(200, 169, 106, 0.18) !important;
    color: #fff !important;
}

body.author .bt-sidebar-wrap .lux-contact-link:hover .lux-contact-icon {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    border-color: #E8D8B0 !important;
    color: #0B1F33 !important;
    transform: scale(1.05) !important;
}

body.author .bt-sidebar-wrap .lux-contact-link:hover .lux-contact-value {
    color: #E8D8B0 !important;
}

/* WhatsApp-Akzent (grün on hover) */
body.author .bt-sidebar-wrap .lux-contact-link-wa:hover {
    border-color: #22c55e !important;
    box-shadow: 0 6px 16px rgba(34, 197, 94, 0.22) !important;
}

body.author .bt-sidebar-wrap .lux-contact-link-wa:hover .lux-contact-icon {
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%) !important;
    border-color: #4ade80 !important;
    color: #0B1F33 !important;
}

/* Instagram-Akzent (Pink-Gradient on hover) */
body.author .bt-sidebar-wrap .lux-contact-link-insta:hover {
    border-color: #e94e7b !important;
    box-shadow: 0 6px 16px rgba(233, 78, 123, 0.22) !important;
}

body.author .bt-sidebar-wrap .lux-contact-link-insta:hover .lux-contact-icon {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
    border-color: #dc2743 !important;
    color: #fff !important;
}

/* Facebook-Akzent (Blue) */
body.author .bt-sidebar-wrap .lux-contact-link-fb:hover {
    border-color: #1877f2 !important;
    box-shadow: 0 6px 16px rgba(24, 119, 242, 0.22) !important;
}

body.author .bt-sidebar-wrap .lux-contact-link-fb:hover .lux-contact-icon {
    background: linear-gradient(135deg, #1877f2 0%, #0a5fc7 100%) !important;
    border-color: #1877f2 !important;
    color: #fff !important;
}

/* TikTok-Akzent (Cyan + Pink + Black) */
body.author .bt-sidebar-wrap .lux-contact-link-tt:hover {
    border-color: #ee1d52 !important;
    box-shadow: 0 6px 16px rgba(238, 29, 82, 0.22) !important;
}

body.author .bt-sidebar-wrap .lux-contact-link-tt:hover .lux-contact-icon {
    background: linear-gradient(135deg, #25f4ee 0%, #000 50%, #fe2c55 100%) !important;
    border-color: #fe2c55 !important;
    color: #fff !important;
}

/* YouTube-Akzent (Red) */
body.author .bt-sidebar-wrap .lux-contact-link-yt:hover {
    border-color: #ff0000 !important;
    box-shadow: 0 6px 16px rgba(255, 0, 0, 0.22) !important;
}

body.author .bt-sidebar-wrap .lux-contact-link-yt:hover .lux-contact-icon {
    background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%) !important;
    border-color: #ff0000 !important;
    color: #fff !important;
}

/* Web-Akzent (Gold-Default, kein special) */
body.author .bt-sidebar-wrap .lux-contact-link-web:hover .lux-contact-icon {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
}

/* === §20.34c — AVIS-TAB: Review-Form Dark + Sort-Bar Fix v1.7.88 === */

/* Block-Wrap (Review-Form) war WEISS — Dark-Premium */
body.author .tab-content .block-wrap,
body.author .tab-pane .block-wrap,
body.author .property-review-wrap .block-wrap {
    background: linear-gradient(180deg, rgba(13, 39, 64, 0.6) 0%, rgba(11, 31, 51, 0.85) 100%) !important;
    background-color: transparent !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 16px !important;
    padding: 30px 32px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    color: #fff !important;
}

body.author .tab-content .block-title-wrap h3,
body.author .tab-pane .block-title-wrap h3,
body.author .property-review-wrap h3 {
    color: #fff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 22px !important;
    margin-bottom: 6px !important;
}

/* Form-Labels */
body.author .tab-content .block-wrap label,
body.author .property-review-wrap label {
    color: #C8A96A !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
}

/* Form-Inputs */
body.author .tab-content .block-wrap input[type="text"],
body.author .tab-content .block-wrap input[type="email"],
body.author .tab-content .block-wrap input[type="number"],
body.author .tab-content .block-wrap textarea,
body.author .tab-content .block-wrap select,
body.author .property-review-wrap input,
body.author .property-review-wrap textarea {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(200, 169, 106, 0.2) !important;
    border-radius: 10px !important;
    color: #fff !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    width: 100% !important;
    transition: all 0.25s ease !important;
}

body.author .tab-content .block-wrap input::placeholder,
body.author .tab-content .block-wrap textarea::placeholder,
body.author .property-review-wrap input::placeholder,
body.author .property-review-wrap textarea::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

body.author .tab-content .block-wrap input:focus,
body.author .tab-content .block-wrap textarea:focus,
body.author .property-review-wrap input:focus,
body.author .property-review-wrap textarea:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: #C8A96A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(200, 169, 106, 0.15) !important;
}

/* Submit-Button im Review-Form */
body.author .tab-content .block-wrap button[type="submit"],
body.author .tab-content .block-wrap .btn,
body.author .property-review-wrap button[type="submit"],
body.author .property-review-wrap .btn {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
    border: 1px solid #E8D8B0 !important;
    padding: 13px 28px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(200, 169, 106, 0.3) !important;
}

body.author .tab-content .block-wrap button[type="submit"]:hover,
body.author .property-review-wrap .btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(200, 169, 106, 0.45) !important;
    filter: brightness(1.05) !important;
}

/* Rating-Stars sichtbar gold */
body.author .tab-content .block-wrap .rating-stars i,
body.author .property-review-wrap .rating-stars i,
body.author .property-review-wrap [class*="star"] {
    color: #C8A96A !important;
}

/* SORT-BAR (Reviews) Layout-Fix — Sort-By + Leave-Review-Button nicht überlappen */
body.author .tab-pane .listing-tools-wrap,
body.author .reviews-sort-wrap,
body.author .tab-pane .sort-by-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    margin-bottom: 22px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.12) !important;
}

body.author .tab-pane .sort-by-title {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
}

/* "Leave a Review" Button (Sort-Bar) */
body.author .tab-pane a.btn-primary,
body.author .tab-pane .btn-slim {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
    border: 1px solid #E8D8B0 !important;
    padding: 11px 22px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(200, 169, 106, 0.3) !important;
}

body.author .tab-pane a.btn-primary:hover,
body.author .tab-pane .btn-slim:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(200, 169, 106, 0.45) !important;
    color: #0B1F33 !important;
}

/* "Aucun Avis" Empty-State */
body.author .tab-pane .reviews-list:empty::before,
body.author .tab-pane .no-reviews {
    color: rgba(255, 255, 255, 0.6) !important;
}

body.author .tab-pane h2,
body.author .tab-pane h3:not(.widget-title) {
    color: #fff !important;
}

/* === §20.34d — Property-Card Status-Label + Détails-Button Fix v1.7.89 ===
   Bug: ".label-status" war display:inline + white-space:normal → "À vendre"
   brach um in "À" / "VENDRE" als 2 versetzte Gold-Boxen. */
body.author .item-listing-wrap .label-status,
body.author .item-listing-wrap .labels-wrap .label,
body.author .item-listing-wrap .labels-wrap a,
body.author .labels-wrap .label-status {
    display: inline-block !important;
    white-space: nowrap !important;
    padding: 6px 14px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
    color: #0B1F33 !important;
    text-decoration: none !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25) !important;
}

/* labels-wrap Container: korrekte Positionierung über Bild */
body.author .item-listing-wrap .labels-wrap {
    white-space: nowrap !important;
}

/* Détails-Button: Text sauber mittig via Flexbox */
body.author .item-listing-wrap .btn-item,
body.author .item-listing-wrap a.btn-primary,
body.author .tab-pane.active .item-listing-wrap .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 11px 26px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    color: #0B1F33 !important;
    border: 1px solid #E8D8B0 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(200, 169, 106, 0.3) !important;
}

body.author .item-listing-wrap .btn-item:hover,
body.author .item-listing-wrap a.btn-primary:hover,
body.author .tab-pane.active .item-listing-wrap .btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(200, 169, 106, 0.45) !important;
    color: #0B1F33 !important;
    filter: brightness(1.05) !important;
}

/* Card-Bilder: konsistente Höhe + sauberes Cover */
body.author .item-listing-wrap .item-thumb,
body.author .item-listing-wrap .listing-thumb {
    overflow: hidden !important;
    border-radius: 16px 16px 0 0 !important;
    position: relative !important;
}

body.author .item-listing-wrap .item-thumb img,
body.author .item-listing-wrap .listing-thumb img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* === §20.34e — Sort-Dropdown lesbar + Social-Strich weg v1.7.90 === */

/* 1. SORT-DROPDOWN (Trier par) — Bootstrap-Select Items waren dunkelgrau
   auf dunklem Hintergrund = unsichtbar. Jetzt sichtbar weiß. */
body.author .bootstrap-select > .dropdown-toggle,
body.author .sort-by .bootstrap-select button {
    background: rgba(13, 39, 64, 0.7) !important;
    border: 1px solid rgba(200, 169, 106, 0.25) !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 11px 16px !important;
    box-shadow: none !important;
}

body.author .bootstrap-select > .dropdown-toggle:hover,
body.author .bootstrap-select > .dropdown-toggle:focus {
    border-color: #C8A96A !important;
    background: rgba(13, 39, 64, 0.9) !important;
}

body.author .bootstrap-select .filter-option-inner-inner {
    color: #fff !important;
}

/* Dropdown-Menü dunkel + Items sichtbar */
body.author .bootstrap-select .dropdown-menu {
    background: #0d2740 !important;
    border: 1px solid rgba(200, 169, 106, 0.3) !important;
    border-radius: 12px !important;
    padding: 6px !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5) !important;
}

body.author .bootstrap-select .dropdown-menu li a,
body.author .bootstrap-select .dropdown-menu .dropdown-item,
body.author .bootstrap-select .dropdown-menu li a span,
body.author .bootstrap-select .dropdown-menu .dropdown-item .text {
    color: rgba(255, 255, 255, 0.88) !important;
    border-radius: 8px !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
}

body.author .bootstrap-select .dropdown-menu li a:hover,
body.author .bootstrap-select .dropdown-menu .dropdown-item:hover,
body.author .bootstrap-select .dropdown-menu li.selected a,
body.author .bootstrap-select .dropdown-menu .dropdown-item.active,
body.author .bootstrap-select .dropdown-menu .dropdown-item.selected {
    background: rgba(200, 169, 106, 0.15) !important;
    color: #E8D8B0 !important;
}

body.author .bootstrap-select .dropdown-menu li a:hover span,
body.author .bootstrap-select .dropdown-menu .dropdown-item:hover .text {
    color: #E8D8B0 !important;
}

/* Active/selected check-icon in gold */
body.author .bootstrap-select .dropdown-menu .check-mark,
body.author .bootstrap-select .dropdown-menu li a.selected::after {
    color: #C8A96A !important;
}

/* 2. WEISSER STRICH unter Social-Items entfernen */
body.author .bt-sidebar-wrap .lux-contact-item {
    border-bottom: none !important;
    border-top: none !important;
}

body.author .bt-sidebar-wrap .lux-contact-list,
body.author .bt-sidebar-wrap .lux-contact-list li {
    border: none !important;
}

/* === §20.34f — Property-Card Layout RESTRUKTURIERT v1.7.91 ===========
   Bug: Détails-Button war position:absolute → überlappte Amenities-Text
   (Maison / 380m²). Jetzt sauberes Flex-Column-Layout ohne Overlap. */

/* Card-Body: vertikaler Flow mit klaren Abständen */
body.author .item-listing-wrap .item-body {
    display: flex !important;
    flex-direction: column !important;
    padding: 22px 22px 20px !important;
    gap: 11px !important;
    position: relative !important;
    height: auto !important;
}

/* Titel */
body.author .item-listing-wrap .item-title {
    margin: 0 !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
}

body.author .item-listing-wrap .item-title a {
    color: #fff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
}

body.author .item-listing-wrap .item-title a:hover {
    color: #E8D8B0 !important;
}

/* Adresse */
body.author .item-listing-wrap .item-address {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    font-style: normal !important;
}

body.author .item-listing-wrap .item-address i {
    color: #C8A96A !important;
}

/* Amenities-Zeile (Beds/Baths/Area) — eine saubere Reihe */
body.author .item-listing-wrap .item-amenities {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 4px 0 0 !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid rgba(200, 169, 106, 0.12) !important;
    list-style: none !important;
}

body.author .item-listing-wrap .item-amenities li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 13.5px !important;
    white-space: nowrap !important;
}

body.author .item-listing-wrap .item-amenities li i {
    color: #C8A96A !important;
    font-size: 16px !important;
}

body.author .item-listing-wrap .item-amenities .hz-figure {
    color: #fff !important;
    font-weight: 600 !important;
}

/* "Maison" (h-type) eigene volle Zeile */
body.author .item-listing-wrap .item-amenities .h-type {
    flex-basis: 100% !important;
    color: #C8A96A !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    margin-top: 2px !important;
}

/* area-postfix (m²/ares) dezent */
body.author .item-listing-wrap .item-amenities .area_postfix {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

/* ── DÉTAILS-BUTTON: NICHT absolute mehr — eigene Zeile rechts unten === */
body.author .item-listing-wrap .item-body .btn-item,
body.author .item-listing-wrap .item-body a.btn-primary {
    position: static !important;
    align-self: flex-end !important;
    margin-top: 6px !important;
    padding: 10px 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ── CARD-FOOTER (Author + Date) sauber unten === */
body.author .item-listing-wrap .item-author-date-wrap,
body.author .item-listing-wrap .footer-wrap {
    border-top: 1px solid rgba(200, 169, 106, 0.12) !important;
    padding: 14px 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

body.author .item-listing-wrap .item-author a,
body.author .item-listing-wrap .item-date {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12px !important;
}

body.author .item-listing-wrap .item-author i,
body.author .item-listing-wrap .item-date i {
    color: #C8A96A !important;
}

/* ── BILD-RAHMEN konsistent: feste 220px, oben gerundet === */
body.author .item-listing-wrap .item-thumb,
body.author .item-listing-wrap .listing-thumb,
body.author .item-listing-wrap .hover-effect {
    height: 230px !important;
    overflow: hidden !important;
    border-radius: 16px 16px 0 0 !important;
    position: relative !important;
}

body.author .item-listing-wrap .item-thumb img,
body.author .item-listing-wrap .listing-thumb img,
body.author .item-listing-wrap .hover-effect img {
    width: 100% !important;
    height: 230px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Price-Overlay aufs Bild — gut lesbar */
body.author .item-listing-wrap .item-price-wrap-bottom,
body.author .item-listing-wrap .item-thumb .item-price {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6) !important;
}

/* Badge-Wrap (À VENDRE / HOT OFFER) sauber oben */
body.author .item-listing-wrap .labels-wrap {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    white-space: nowrap !important;
}

/* === §20.34g — Author-Cards EXAKT wie /nos-objets/ v1.7.92 ============
   1:1 Match: weiße Border + 18px radius + 10px padding + inset-Highlight-
   Shadow + Bild 12px radius rundum + Détails-Button hidden (Card klickbar). */

/* Card-Wrapper = nos-objets Premium-Glas mit weißer Border
   Specificity: body.author.archive (5 classes) um §20.34d zu überschreiben */
html body.author.archive .tab-pane .item-listing-wrap,
html body.author.archive .tab-pane .item-listing-wrap.card,
html body.author .tab-pane .item-listing-wrap,
html body.author .tab-pane .item-listing-wrap.card {
    background: transparent !important;
    background-image: linear-gradient(160deg, rgba(19, 49, 79, 0.55) 0%, rgba(11, 31, 51, 0.32) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 18px !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 255, 255, 0.35),
        0 -1px 0 0 rgba(0, 0, 0, 0.2),
        0 12px 32px -8px rgba(0, 0, 0, 0.35) !important;
    padding: 10px !important;
    overflow: hidden !important;
    transition: transform .25s cubic-bezier(.22,.61,.36,1), border-color .25s, box-shadow .25s !important;
}

html body.author.archive .tab-pane .item-listing-wrap:hover,
html body.author.archive .tab-pane .item-listing-wrap.card:hover,
html body.author .tab-pane .item-listing-wrap:hover,
html body.author .tab-pane .item-listing-wrap.card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(200, 169, 106, 0.55) !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 255, 255, 0.45),
        0 -1px 0 0 rgba(0, 0, 0, 0.25),
        0 22px 44px -10px rgba(0, 0, 0, 0.5) !important;
}

/* Bild: 12px radius RUNDUM (wegen 10px Card-Padding) */
html body.author .tab-pane .item-listing-wrap .listing-thumb,
html body.author .tab-pane .item-listing-wrap .item-thumb,
html body.author .tab-pane .item-listing-wrap .listing-featured-thumb,
html body.author .tab-pane .item-listing-wrap .hover-effect {
    border-radius: 12px !important;
    overflow: hidden !important;
    height: auto !important;
}

html body.author .tab-pane .item-listing-wrap .listing-thumb img,
html body.author .tab-pane .item-listing-wrap .item-thumb img,
html body.author .tab-pane .item-listing-wrap .hover-effect img {
    width: 100% !important;
    height: 230px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
    display: block !important;
}

/* Body padding wie nos-objets */
html body.author .tab-pane .item-listing-wrap .item-body {
    padding: 18px 8px 8px !important;
    background: transparent !important;
}

/* Amenities: KEIN gold border-top (nos-objets hat keinen) */
html body.author .tab-pane .item-listing-wrap .item-amenities {
    border-top: none !important;
    padding-top: 8px !important;
    gap: 16px !important;
}

/* Détails-Button AUSBLENDEN — wie /nos-objets/ (Card via Bild/Titel klickbar) */
html body.author .tab-pane .item-listing-wrap .btn-item,
html body.author .tab-pane .item-listing-wrap .item-body a.btn-primary,
html body.author .tab-pane .item-listing-wrap .btn-details {
    display: none !important;
}

/* Card-Bild + Titel als Haupt-Klick-Ziel — cursor pointer */
html body.author .tab-pane .item-listing-wrap .listing-thumb a,
html body.author .tab-pane .item-listing-wrap .item-title a {
    cursor: pointer !important;
}

/* Social-Icons in agent-social-media row */
body.author .bt-sidebar-wrap .agent-social-media {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 6px 0 0 !important;
    list-style: none !important;
}

body.author .bt-sidebar-wrap .agent-social-media li {
    margin: 0 !important;
    padding: 0 !important;
}

body.author .bt-sidebar-wrap .agent-social-media a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    background: rgba(200, 169, 106, 0.08) !important;
    border: 1px solid rgba(200, 169, 106, 0.22) !important;
    color: #C8A96A !important;
    transition: all 0.25s ease !important;
}

body.author .bt-sidebar-wrap .agent-social-media a:hover {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    border-color: #E8D8B0 !important;
    color: #0B1F33 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 14px rgba(200, 169, 106, 0.28) !important;
}

body.author .bt-sidebar-wrap .agent-social-media i {
    font-size: 14px !important;
    color: inherit !important;
}

/* Recent-Viewed Widget (3 mini Property-Items) Dark-Premium */
body.author .bt-sidebar-wrap .widget-properties {
    background: linear-gradient(180deg, rgba(13, 39, 64, 0.6) 0%, rgba(11, 31, 51, 0.85) 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 16px !important;
    padding: 22px 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.32) !important;
    margin-bottom: 22px !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
}

body.author .bt-sidebar-wrap .widget-properties .widget-title,
body.author .bt-sidebar-wrap .widget-properties h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #fff !important;
    font-size: 17px !important;
    margin: 0 0 14px !important;
    padding-bottom: 9px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.2) !important;
    position: relative !important;
}

body.author .bt-sidebar-wrap .widget-properties .widget-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 36px !important;
    height: 2px !important;
    background: linear-gradient(90deg, #C8A96A 0%, #E8D8B0 100%) !important;
}

body.author .bt-sidebar-wrap .property-item-widget {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(200, 169, 106, 0.1) !important;
    border-radius: 10px !important;
    padding: 10px !important;
    margin-bottom: 10px !important;
    transition: all 0.25s ease !important;
}

body.author .bt-sidebar-wrap .property-item-widget:hover {
    background: rgba(200, 169, 106, 0.06) !important;
    border-color: rgba(200, 169, 106, 0.3) !important;
    transform: translateX(2px) !important;
}

body.author .bt-sidebar-wrap .property-item-widget a {
    color: #fff !important;
    font-size: 12.5px !important;
    text-decoration: none !important;
}

body.author .bt-sidebar-wrap .property-item-widget .property-price,
body.author .bt-sidebar-wrap .property-item-widget [class*="price"] {
    color: #E8D8B0 !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

body.author .bt-sidebar-wrap .property-item-widget img {
    border-radius: 8px !important;
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
}

/* ── BUTTON "Envoyer des Emails" PROFESSIONELLE QUICK-ACTIONS-ROW v1.7.79 === */
/* Wir verstecken den alten allein-stehenden Button und injizieren via JS
   3 Premium Quick-Actions (WhatsApp/Tel/Email) — gleicher Look wie Property-Detail */
body.author .agent-profile-buttons {
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(200, 169, 106, 0.18) !important;
}

body.author .agent-profile-buttons .btn-secondary,
body.author .agent-profile-buttons button[data-target="#realtor-form"] {
    display: none !important;  /* Houzez Default-Button verstecken */
}

/* Unsere Quick-Action-Row (von JS injiziert) — identisch zu Property-Sidebar */
body.author .lux-agent-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
}

body.author .lux-agent-actions .lux-qa {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 12px 6px !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    color: rgba(255, 255, 255, 0.88) !important;
    text-decoration: none !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
}

body.author .lux-agent-actions .lux-qa svg {
    width: 20px !important;
    height: 20px !important;
    color: #E8D8B0 !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
}

body.author .lux-agent-actions .lux-qa:hover {
    background: rgba(200, 169, 106, 0.1) !important;
    border-color: #C8A96A !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(200, 169, 106, 0.25) !important;
    color: #fff !important;
}

body.author .lux-agent-actions .lux-qa:hover svg {
    transform: scale(1.1) !important;
    color: #F5E6BC !important;
}

body.author .lux-agent-actions .lux-qa-wa:hover {
    background: rgba(34, 197, 94, 0.12) !important;
    border-color: #22c55e !important;
    box-shadow: 0 6px 16px rgba(34, 197, 94, 0.22) !important;
}

body.author .lux-agent-actions .lux-qa-wa:hover svg {
    color: #4ade80 !important;
}

/* === §20.34b — UNTERE BUGS auf Author-Page v1.7.80 ===================
   1. Property-Cards weiße Border killen (auf dark sieht hässlich aus)
   2. Property-Cards dunklen Glass-BG geben
   3. Pagination current-page sichtbar machen (war: dunkler Text auf transparent)
================================================================== */

/* 1+2. Property-Cards in Tabs: EXAKT wie /nos-objets/ (v1.7.92) —
   weiße Border + 18px radius + 10px padding + inset-Highlight-Shadow */
html body.author .tab-pane .item-listing-wrap,
html body.author .tab-pane .item-listing-wrap.card,
html body.author.archive .tab-pane .item-listing-wrap,
html body.author.archive .tab-pane .item-listing-wrap.card {
    background: transparent !important;
    background-image: linear-gradient(160deg, rgba(19, 49, 79, 0.55) 0%, rgba(11, 31, 51, 0.32) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    transition: transform .25s cubic-bezier(.22,.61,.36,1), border-color .25s, box-shadow .25s !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 255, 255, 0.35),
        0 -1px 0 0 rgba(0, 0, 0, 0.2),
        0 12px 32px -8px rgba(0, 0, 0, 0.35) !important;
    padding: 10px !important;
}

html body.author .tab-pane .item-listing-wrap:hover,
html body.author .tab-pane .item-listing-wrap.card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(200, 169, 106, 0.55) !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 255, 255, 0.45),
        0 -1px 0 0 rgba(0, 0, 0, 0.25),
        0 22px 44px -10px rgba(0, 0, 0, 0.5) !important;
}

body.author .tab-pane .item-wrap,
body.author .tab-pane .item-body {
    background: transparent !important;
    color: #fff !important;
}

/* === §20.34i — Doppeltes Status-Label entfernen (v1.7.95) ===
   Houzez rendert das „À vendre/À louer"-Label ZWEIMAL: im .item-header
   (auf dem Bild, korrekt) UND im .item-body (position:absolute), wo es genau
   über dem Titel liegt und ihn verdeckt → Text unleserlich. Das Bild-Badge
   reicht; das Body-Duplikat wird ausgeblendet. So überdeckt nichts den Titel. */
body.author .tab-pane .item-listing-wrap .item-body .labels-wrap,
body.author .tab-pane .item-listing-wrap .item-body .labels-wrap.labels-right {
    display: none !important;
}

/* === §20.34j — Eine Anzeige pro Reihe, volle Breite (v1.7.96) ===
   Wunsch: keine 2 Cards nebeneinander mehr — pro Reihe EINE große Anzeige.
   Card-Deck (Flex) auf Block stellen, Cards auf volle Breite, größeres Bild. */
body.author .tab-pane .listing-view.grid-view,
body.author .tab-pane .listing-view.card-deck,
body.author .tab-pane .card-deck {
    display: block !important;
    margin: 0 !important;
}
body.author .tab-pane .item-listing-wrap,
body.author .tab-pane .item-listing-wrap.card {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 0 26px 0 !important;
}
/* Bild über die volle Card-Breite + größer (Houzez fixiert sonst ~307×230) */
html body.author .tab-pane .item-listing-wrap .item-wrap {
    display: block !important;
    width: 100% !important;
}
html body.author .tab-pane .item-listing-wrap .item-header,
html body.author .tab-pane .item-listing-wrap .listing-thumb,
html body.author .tab-pane .item-listing-wrap .item-thumb {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 360px !important;
    flex: none !important;
}
html body.author .tab-pane .item-listing-wrap .item-header > a,
html body.author .tab-pane .item-listing-wrap .listing-thumb > a,
html body.author .tab-pane .item-listing-wrap .item-thumb > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
html body.author .tab-pane .item-listing-wrap .listing-thumb img,
html body.author .tab-pane .item-listing-wrap .item-thumb img,
html body.author .tab-pane .item-listing-wrap .item-header img {
    width: 100% !important;
    max-width: none !important;
    height: 360px !important;
    object-fit: cover !important;
}
@media (max-width: 767px) {
    html body.author .tab-pane .item-listing-wrap .item-header,
    html body.author .tab-pane .item-listing-wrap .listing-thumb,
    html body.author .tab-pane .item-listing-wrap .item-thumb,
    html body.author .tab-pane .item-listing-wrap .listing-thumb img,
    html body.author .tab-pane .item-listing-wrap .item-thumb img,
    html body.author .tab-pane .item-listing-wrap .item-header img {
        height: 230px !important;
    }
}

/* === §20.34k — „Trier par": robustes natives Select (v1.7.99) ===
   bootstrap-select initialisiert auf der Author-Seite UNZUVERLÄSSIG: es setzt
   sofort `bs-select-hidden` (versteckt das native Select), rendert aber teils
   KEINEN Ersatz-Button → es ist gar kein Sortier-Element sichtbar/klickbar
   („geht nicht"). Lösung: das native <select> IMMER sichtbar + premium
   gestalten (überschreibt bs-select-hidden via ID-Specificity) und einen
   evtl. doch erzeugten bootstrap-select-Button/-Menü unterdrücken. Das native
   Select ist zu 100 % zuverlässig; der change-Handler (Houzez) sortiert sofort
   (Reload mit ?sortby=…, verifiziert). */
body.author .sort-by select#sort_properties,
body.author .sort-by select.selectpicker {
    display: inline-block !important;
    position: static !important;
    clip: auto !important;
    opacity: 1 !important;
    width: auto !important;
    min-width: 160px !important;
    max-width: 250px !important;
    height: 44px !important;
    -webkit-appearance: none !important;
       -moz-appearance: none !important;
            appearance: none !important;
    background-color: rgba(11, 31, 51, 0.55) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23C8A96A' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    color: #fff !important;
    font: 600 14px/1.1 'Manrope', 'Inter', sans-serif !important;
    padding: 8px 40px 8px 16px !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
}
body.author .sort-by select#sort_properties:hover {
    border-color: rgba(200, 169, 106, 0.55) !important;
    background-color: rgba(11, 31, 51, 0.7) !important;
}
body.author .sort-by select#sort_properties option {
    background: #0d2740 !important;
    color: #fff !important;
}
/* bootstrap-select-Button/-Menü unterdrücken — das native Select übernimmt */
body.author .sort-by .bootstrap-select > .dropdown-toggle,
body.author .sort-by .bootstrap-select > button.dropdown-toggle,
body.author .sort-by .bootstrap-select > .dropdown-menu {
    display: none !important;
}
body.author .sort-by .bootstrap-select {
    width: auto !important;
    background: transparent !important;
    border: 0 !important;
}

/* §20.34l verschoben → an die Quelle in property-premium.css (Mobile-Navbar-
   Freiraum, v1.8.4), da dort die #main-wrap-ID-Regel mit höherer Specificity liegt. */

body.author .tab-pane .item-listing-wrap .item-title a,
body.author .tab-pane .item-listing-wrap h2,
body.author .tab-pane .item-listing-wrap h3 {
    color: #fff !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    text-decoration: none !important;
}

body.author .tab-pane .item-listing-wrap .item-title a:hover {
    color: #E8D8B0 !important;
}

body.author .tab-pane .item-listing-wrap .item-price,
body.author .tab-pane .item-listing-wrap [class*="price"] {
    color: #E8D8B0 !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 600 !important;
}

body.author .tab-pane .item-listing-wrap address,
body.author .tab-pane .item-listing-wrap .item-address,
body.author .tab-pane .item-listing-wrap .item-tag-wrap,
body.author .tab-pane .item-listing-wrap .badge {
    color: rgba(255, 255, 255, 0.7) !important;
}

body.author .tab-pane .item-listing-wrap .item-overview-wrap,
body.author .tab-pane .item-listing-wrap .item-overview-stats {
    color: rgba(255, 255, 255, 0.78) !important;
    border-top: 1px solid rgba(200, 169, 106, 0.12) !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.12) !important;
}

body.author .tab-pane .item-listing-wrap .item-overview-wrap strong,
body.author .tab-pane .item-listing-wrap .item-overview-wrap span {
    color: #fff !important;
}

body.author .tab-pane .item-listing-wrap i,
body.author .tab-pane .item-listing-wrap [class*="icon"] {
    color: #C8A96A !important;
}

/* 3. PAGINATION: Current-Page sichtbar machen + Gold-Active === */
body.author .pagination {
    background: transparent !important;
    padding: 18px 0 !important;
    margin: 30px 0 0 !important;
    gap: 6px !important;
}

body.author .pagination .page-item,
body.author .pagination li {
    margin: 0 3px !important;
}

body.author .pagination .page-link,
body.author .pagination a,
body.author .pagination span {
    background: rgba(13, 39, 64, 0.6) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    transition: all 0.25s ease !important;
    min-width: 44px !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.author .pagination .page-link:hover,
body.author .pagination a:hover {
    background: rgba(200, 169, 106, 0.12) !important;
    border-color: #C8A96A !important;
    color: #E8D8B0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(200, 169, 106, 0.2) !important;
}

/* CURRENT page — Gold-Filled */
body.author .pagination .active .page-link,
body.author .pagination .current,
body.author .pagination span.current,
body.author .pagination li.active a,
body.author .pagination li.active span,
body.author .pagination .page-item.active .page-link,
body.author .pagination span:not(a) {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    border-color: #E8D8B0 !important;
    color: #0B1F33 !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(200, 169, 106, 0.35) !important;
}

/* Sort-by Dropdown im Listing-Tools edler === */
body.author .listing-tools-wrap .sort-by {
    color: #fff !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

body.author .listing-tools-wrap .bootstrap-select button,
body.author .listing-tools-wrap .btn-light {
    background: rgba(13, 39, 64, 0.6) !important;
    border: 1px solid rgba(200, 169, 106, 0.2) !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
}

body.author .listing-tools-wrap .bootstrap-select .dropdown-menu {
    background: #0d2740 !important;
    border: 1px solid rgba(200, 169, 106, 0.25) !important;
    border-radius: 10px !important;
}

body.author .listing-tools-wrap .bootstrap-select .dropdown-menu li a {
    color: rgba(255, 255, 255, 0.85) !important;
}

body.author .listing-tools-wrap .bootstrap-select .dropdown-menu li a:hover {
    background: rgba(200, 169, 106, 0.1) !important;
    color: #E8D8B0 !important;
}

body.author .listing-tools-wrap .bootstrap-select .filter-option-inner-inner {
    color: #fff !important;
}

/* 2. "Find Agent" Widget (Search-Form) auf Author-Page = sinnlos */
body.author .bt-sidebar-wrap .widget_houzez_agent_search,
body.author .bt-sidebar-wrap .houzez-agents-search-widget,
body.author .bt-sidebar-wrap aside.widget:has(.bootstrap-select),
body.author .bt-sidebar-wrap form[action*="search"]:has(.bootstrap-select) {
    display: none !important;
}

/* Fallback selector — alle Widgets nach "Contacts" Widget per CSS via JS-marker
   (siehe luxproperties-enhance.js initAuthorPageCleanup) */
body.author .bt-sidebar-wrap .lux-hide-widget {
    display: none !important;
}

/* ── SIDEBAR auf Author-Page: Premium Dark-Card === */
body.author .bt-sidebar-wrap aside.sidebar-wrap,
body.author .bt-sidebar-wrap > .theiaStickySidebar > aside {
    background: linear-gradient(180deg, rgba(13, 39, 64, 0.6) 0%, rgba(11, 31, 51, 0.85) 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 18px !important;
    padding: 26px 24px !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35) !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
}

body.author .bt-sidebar-wrap .widget {
    margin-bottom: 24px !important;
    padding-bottom: 22px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.12) !important;
}

body.author .bt-sidebar-wrap .widget:last-of-type {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

body.author .bt-sidebar-wrap .widget-title,
body.author .bt-sidebar-wrap h3,
body.author .bt-sidebar-wrap h4 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 0 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(200, 169, 106, 0.18) !important;
    position: relative !important;
}

body.author .bt-sidebar-wrap .widget-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 40px !important;
    height: 2px !important;
    background: linear-gradient(90deg, #C8A96A 0%, #E8D8B0 100%) !important;
}

body.author .bt-sidebar-wrap strong {
    color: #C8A96A !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-top: 12px !important;
    margin-bottom: 4px !important;
}

body.author .bt-sidebar-wrap a {
    color: #E8D8B0 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body.author .bt-sidebar-wrap a:hover {
    color: #fff !important;
}

body.author .bt-sidebar-wrap p {
    color: rgba(255, 255, 255, 0.75) !important;
    line-height: 1.6 !important;
    margin: 8px 0 !important;
}

/* Social-Icons sauber */
body.author .bt-sidebar-wrap .social-icons,
body.author .bt-sidebar-wrap .social-list {
    display: flex !important;
    gap: 10px !important;
    margin-top: 10px !important;
    padding: 0 !important;
    list-style: none !important;
}

body.author .bt-sidebar-wrap .social-icons li,
body.author .bt-sidebar-wrap .social-list li {
    margin: 0 !important;
}

body.author .bt-sidebar-wrap .social-icons a,
body.author .bt-sidebar-wrap .social-list a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    background: rgba(200, 169, 106, 0.08) !important;
    border: 1px solid rgba(200, 169, 106, 0.2) !important;
    color: #C8A96A !important;
    transition: all 0.25s ease !important;
}

body.author .bt-sidebar-wrap .social-icons a:hover,
body.author .bt-sidebar-wrap .social-list a:hover {
    background: linear-gradient(135deg, #E8D8B0 0%, #C8A96A 100%) !important;
    border-color: #E8D8B0 !important;
    color: #0B1F33 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(200, 169, 106, 0.3) !important;
}

/* ── DIAGRAMME (Charts) EDLER ====================================== */
body.author .agent-stats-wrap > .row > [class*="col-"] {
    padding: 0 10px !important;
}

body.author .agent-profile-chart-wrap {
    background: linear-gradient(135deg, rgba(13, 39, 64, 0.7) 0%, rgba(11, 31, 51, 0.92) 100%) !important;
    border: 1px solid rgba(200, 169, 106, 0.18) !important;
    border-radius: 18px !important;
    padding: 28px 26px !important;
    margin-bottom: 16px !important;
    min-height: 200px !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Gold-Akzent oben links auf jeder Chart-Card */
body.author .agent-profile-chart-wrap::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 50px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #E8D8B0 0%, #C8A96A 100%) !important;
    border-radius: 0 0 3px 0 !important;
    box-shadow: 0 0 10px rgba(200, 169, 106, 0.3) !important;
}

body.author .agent-profile-chart-wrap:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(200, 169, 106, 0.4) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(200, 169, 106, 0.25) !important;
}

body.author .agent-profile-chart-wrap h2,
body.author .agent-profile-chart-wrap h3 {
    font-family: 'Inter', sans-serif !important;
    color: #C8A96A !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: none !important;
}

body.author .agent-profile-chart-wrap h2 span {
    color: #E8D8B0 !important;
}

/* Chart-Container — größer und zentriert */
body.author .agent-profile-chart-wrap .agent-profile-chart,
body.author .agent-profile-chart-wrap > .d-flex {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
}

body.author .agent-profile-chart-wrap canvas {
    width: 120px !important;
    height: 120px !important;
    max-width: 120px !important;
    max-height: 120px !important;
    filter: drop-shadow(0 4px 12px rgba(200, 169, 106, 0.18)) !important;
}

/* Legend-Liste rechts vom Chart edel */
body.author .agent-profile-chart-wrap ul,
body.author .agent-profile-chart-wrap .chart-legend {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 1 !important;
}

body.author .agent-profile-chart-wrap ul li,
body.author .agent-profile-chart-wrap .chart-legend li {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 12.5px !important;
    margin: 6px 0 !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 18px !important;
    position: relative !important;
}

/* Color-Dot vor jedem Legend-Item */
body.author .agent-profile-chart-wrap ul li::before,
body.author .agent-profile-chart-wrap .chart-legend li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #C8A96A !important;
    box-shadow: 0 0 8px rgba(200, 169, 106, 0.45) !important;
}

body.author .agent-profile-chart-wrap ul li:nth-child(2)::before { background: #4ade80 !important; box-shadow: 0 0 8px rgba(74, 222, 128, 0.4) !important; }
body.author .agent-profile-chart-wrap ul li:nth-child(3)::before { background: #60a5fa !important; box-shadow: 0 0 8px rgba(96, 165, 250, 0.4) !important; }
body.author .agent-profile-chart-wrap ul li:nth-child(4)::before { background: #f472b6 !important; box-shadow: 0 0 8px rgba(244, 114, 182, 0.4) !important; }
body.author .agent-profile-chart-wrap ul li:nth-child(5)::before { background: #fbbf24 !important; box-shadow: 0 0 8px rgba(251, 191, 36, 0.4) !important; }

body.author .agent-profile-chart-wrap ul li span,
body.author .agent-profile-chart-wrap ul li strong {
    color: #fff !important;
    font-weight: 600 !important;
    margin-left: auto !important;
    padding-left: 8px !important;
}

/* ── Mobile === */
@media (max-width: 767px) {
    body.author section.content-wrap {
        padding-top: 30px !important;
    }
    body.author .agent-profile-wrap {
        padding: 24px 20px !important;
        text-align: center !important;
    }
    body.author .agent-profile-wrap .agent-image img.img-fluid,
    body.author .agent-profile-wrap .agent-image img {
        width: 140px !important;
        height: 140px !important;
        margin: 0 auto 18px !important;
    }
    body.author .agent-profile-wrap h1 {
        font-size: 26px !important;
    }
    body.author .agent-bio-wrap {
        padding: 20px !important;
    }
    body.author .agent-profile-chart-wrap canvas {
        width: 100px !important;
        height: 100px !important;
    }
}





/* === §20.34h — GLOBALE Footer-Vereinheitlichung (v1.7.94) ===
   Problem: Sidebar-Dark-Theme-Regeln auf Archive/Author/Tax/Search/404
   (archive-premium.css `body.archive .widget*`, static-premium.css
   `body.error404 .widget*`) sind NICHT auf die Sidebar gescoped und färbten
   deshalb auch die FOOTER-Widgets ein → Glas-Box-Hintergrund, weiße
   Playfair-Titel, falsche List-Abstände. Der Footer sah dadurch je nach
   Seitentyp unterschiedlich aus.

   Lösung: EINE footer-gescopte Override-Schicht, die die Footer-Widgets +
   -Titel exakt auf die Home-/„footer-wrap-v1"-Referenz zurücksetzt. Selektor
   `html body footer.footer-wrap.footer-wrap-v1 …` hat höhere Specificity als
   `body.archive .widget*` (0,2,1) und greift NUR im Footer — Sidebars bleiben
   unangetastet. Dadurch ist der Footer auf JEDER Seite (heute + zukünftig)
   garantiert identisch, ohne pro-Bodyklasse-Flickwerk. */

/* Footer-Widget-Box: kein Glas-Hintergrund / Rahmen / Box (= Referenz) */
html body footer.footer-wrap.footer-wrap-v1 .widget,
html body footer.footer-wrap.footer-wrap-v1 .footer-widget,
html body footer.footer-wrap.footer-wrap-v1 .houzez-widget {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
}

/* Footer-Widget-Titel: Manrope, klein, Versalien, Gold + Gold-Linie (Referenz) */
html body footer.footer-wrap.footer-wrap-v1 .widget-title,
html body footer.footer-wrap.footer-wrap-v1 h3.widget-title,
html body footer.footer-wrap.footer-wrap-v1 .widget h3,
html body footer.footer-wrap.footer-wrap-v1 .widget h4 {
    color: var(--lux-gold, #C8A96A) !important;
    font-family: 'Manrope', 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.20em !important;
    text-transform: uppercase !important;
    margin: 0 0 12px !important;
    padding-bottom: 14px !important;
    border-bottom: 0 !important;
}

/* Footer-Menü-Links: einheitlicher Abstand, dezente Trennlinie (Referenz) */
html body footer.footer-wrap.footer-wrap-v1 .menu li {
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    background: transparent !important;
}
html body footer.footer-wrap.footer-wrap-v1 .menu li:last-child {
    border-bottom: 0 !important;
}

/* Footer-Kontaktliste: Icon-Einrückung erhalten, keine Trennlinie (Referenz) */
html body footer.footer-wrap.footer-wrap-v1 .contact-list li {
    padding: 8px 0 8px 28px !important;
    border-bottom: 0 !important;
    background: transparent !important;
}

/* =====================================================
   §20.35  HOUZEZ TEMPLATE-PAGES — DARK-PREMIUM (v1.9.1)
   Betroffen: /agencies/ (Agences), /agents-2/ (Agents),
   /compare-properties/ (Comparer les biens).
   Diese Houzez-Template-Seiten rendern den Standard-Hellgrau-
   Hintergrund (#f7f8f9) + weiße Widgets/Tabellen. Hier ziehen
   wir das Navy+Gold-Design durch. Alles auf #main-wrap gescoped
   → Navbar (weißes Glas) + Footer bleiben unberührt.
   ===================================================== */

/* 1) Seiten-Hintergrund auf Navy */
body.page-template-template-agencies,
body.page-template-template-agents,
body.page-template-template-compare {
    background: #0B1F33 !important;
}
html body.page-template-template-agencies #main-wrap,
html body.page-template-template-agents #main-wrap,
html body.page-template-template-compare #main-wrap {
    background: #0B1F33 !important;
}

/* 2) Generischer Text im Content lesbar (hell) */
body.page-template-template-agencies #main-wrap,
body.page-template-template-agents #main-wrap,
body.page-template-template-compare #main-wrap,
body.page-template-template-agencies #main-wrap p,
body.page-template-template-agents #main-wrap p,
body.page-template-template-compare #main-wrap p,
body.page-template-template-agencies #main-wrap li,
body.page-template-template-agents #main-wrap li,
body.page-template-template-compare #main-wrap li,
body.page-template-template-agencies #main-wrap span,
body.page-template-template-agents #main-wrap span {
    color: #DBE3EB;
}
body.page-template-template-agencies #main-wrap h1,
body.page-template-template-agents #main-wrap h1,
body.page-template-template-compare #main-wrap h1,
body.page-template-template-agencies #main-wrap h2,
body.page-template-template-agents #main-wrap h2,
body.page-template-template-compare #main-wrap h2 {
    color: #ffffff;
}

/* 3) Sidebar-Widgets → dunkle Glas-Cards mit Gold-Titel */
body.page-template-template-agencies #main-wrap .widget-wrap,
body.page-template-template-agents #main-wrap .widget-wrap,
body.page-template-template-compare #main-wrap .widget-wrap {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(200,169,106,0.18) !important;
    border-radius: 14px !important;
    padding: 22px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.30) !important;
    margin-bottom: 24px !important;
}
body.page-template-template-agencies #main-wrap .widget-wrap *,
body.page-template-template-agents #main-wrap .widget-wrap *,
body.page-template-template-compare #main-wrap .widget-wrap * {
    color: #C7D4E2;
}
body.page-template-template-agencies #main-wrap .widget-title,
body.page-template-template-agents #main-wrap .widget-title,
body.page-template-template-compare #main-wrap .widget-title {
    color: #C8A96A !important;
    font-family: "Manrope", "Inter", sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.82rem !important;
    border-bottom: 1px solid rgba(200,169,106,0.20) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
}
body.page-template-template-agencies #main-wrap .widget-wrap a:hover,
body.page-template-template-agents #main-wrap .widget-wrap a:hover,
body.page-template-template-compare #main-wrap .widget-wrap a:hover {
    color: #E8D8B0 !important;
}

/* 4) Agent-Liste & Agent-Cards → dunkle Glas-Cards */
body.page-template-template-agents #main-wrap .agent-list-wrap,
body.page-template-template-agents #main-wrap .agent-grid-wrap,
body.page-template-template-agents #main-wrap .agent-item {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(200,169,106,0.16) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.28) !important;
}
body.page-template-template-agents #main-wrap .agent-name,
body.page-template-template-agents #main-wrap .agent-name a,
body.page-template-template-agents #main-wrap .agent-title,
body.page-template-template-agents #main-wrap .agent-title a {
    color: #ffffff !important;
}
body.page-template-template-agents #main-wrap .agent-name a:hover,
body.page-template-template-agents #main-wrap .agent-title a:hover {
    color: #C8A96A !important;
}
body.page-template-template-agents #main-wrap .agent-call-info,
body.page-template-template-agents #main-wrap .agent-detail,
body.page-template-template-agents #main-wrap .agent-content,
body.page-template-template-agents #main-wrap .agent-content * {
    color: #9DB0C4;
}

/* 5) Compare-Tabelle → dunkle Glas-Card, helle Zellen, Gold-Header */
body.page-template-template-compare #main-wrap .compare-table {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(200,169,106,0.16) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.28) !important;
    overflow: hidden !important;
}
body.page-template-template-compare #main-wrap .compare-table table,
body.page-template-template-compare #main-wrap .compare-table td,
body.page-template-template-compare #main-wrap .compare-table th,
body.page-template-template-compare #main-wrap .compare-table tr {
    background: transparent !important;
    color: #DBE3EB !important;
    border-color: rgba(255,255,255,0.08) !important;
}
body.page-template-template-compare #main-wrap .compare-table th,
body.page-template-template-compare #main-wrap .compare-table .compare-field-name,
body.page-template-template-compare #main-wrap .compare-table td:first-child {
    color: #C8A96A !important;
    font-weight: 600 !important;
}

/* 6) Formularfelder (Such-Inputs) → dunkle Felder, weißer Text */
body.page-template-template-agencies #main-wrap .form-control,
body.page-template-template-agents #main-wrap .form-control,
body.page-template-template-compare #main-wrap .form-control {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
}
body.page-template-template-agencies #main-wrap .form-control::placeholder,
body.page-template-template-agents #main-wrap .form-control::placeholder,
body.page-template-template-compare #main-wrap .form-control::placeholder {
    color: #9DB0C4 !important;
}

/* 7) Leerzustand „aucun résultat" lesbar */
body.page-template-template-agencies #main-wrap .alert,
body.page-template-template-agents #main-wrap .alert,
body.page-template-template-compare #main-wrap .alert {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(200,169,106,0.16) !important;
    color: #DBE3EB !important;
    border-radius: 12px !important;
}

/* 8) Agent-Card: ALLE Texte/Links lesbar (Name war dunkel auf dunkel) */
body.page-template-template-agents #main-wrap .agent-list-wrap,
body.page-template-template-agents #main-wrap .agent-item,
body.page-template-template-agents #main-wrap .agent-list-wrap *,
body.page-template-template-agents #main-wrap .agent-item * {
    color: #C7D4E2 !important;
}
body.page-template-template-agents #main-wrap .agent-list-wrap h1,
body.page-template-template-agents #main-wrap .agent-list-wrap h2,
body.page-template-template-agents #main-wrap .agent-list-wrap h3,
body.page-template-template-agents #main-wrap .agent-list-wrap h4,
body.page-template-template-agents #main-wrap .agent-item h1,
body.page-template-template-agents #main-wrap .agent-item h2,
body.page-template-template-agents #main-wrap .agent-item h3,
body.page-template-template-agents #main-wrap .agent-item h4 {
    color: #ffffff !important;
}
body.page-template-template-agents #main-wrap .agent-list-wrap a,
body.page-template-template-agents #main-wrap .agent-item a {
    color: #E8D8B0 !important;
}
body.page-template-template-agents #main-wrap .agent-list-wrap a:hover,
body.page-template-template-agents #main-wrap .agent-item a:hover {
    color: #C8A96A !important;
}

/* 9) Bootstrap-Select Dropdowns der Suchleiste — dunkles Menü, lesbar */
body.page-template-template-agencies #main-wrap .bootstrap-select .dropdown-menu,
body.page-template-template-agents #main-wrap .bootstrap-select .dropdown-menu,
body.page-template-template-compare #main-wrap .bootstrap-select .dropdown-menu {
    background: #0d2740 !important;
    border: 1px solid rgba(200,169,106,0.20) !important;
}
body.page-template-template-agencies #main-wrap .bootstrap-select .dropdown-menu li a,
body.page-template-template-agents #main-wrap .bootstrap-select .dropdown-menu li a,
body.page-template-template-compare #main-wrap .bootstrap-select .dropdown-menu li a,
body.page-template-template-agencies #main-wrap .bootstrap-select .dropdown-menu .text,
body.page-template-template-agents #main-wrap .bootstrap-select .dropdown-menu .text,
body.page-template-template-compare #main-wrap .bootstrap-select .dropdown-menu .text {
    color: #DBE3EB !important;
}
body.page-template-template-agencies #main-wrap .bs-actionsbox .actions-btn,
body.page-template-template-agents #main-wrap .bs-actionsbox .actions-btn,
body.page-template-template-compare #main-wrap .bs-actionsbox .actions-btn {
    color: #C8A96A !important;
    background: transparent !important;
}
body.page-template-template-agencies #main-wrap .bootstrap-select .dropdown-menu li.selected a,
body.page-template-template-agents #main-wrap .bootstrap-select .dropdown-menu li.selected a,
body.page-template-template-compare #main-wrap .bootstrap-select .dropdown-menu li.selected a,
body.page-template-template-agencies #main-wrap .bootstrap-select .dropdown-menu li a:hover,
body.page-template-template-agents #main-wrap .bootstrap-select .dropdown-menu li a:hover,
body.page-template-template-compare #main-wrap .bootstrap-select .dropdown-menu li a:hover {
    background: rgba(200,169,106,0.14) !important;
    color: #ffffff !important;
}

/* =====================================================
   §20.36  GLOBAL — Houzez heller Content-BG → NAVY (v1.9.3)
   Houzez setzt auf allen Nicht-Brand-Seiten (Blog, Standard-
   Pages, Archive) einen hellgrauen #main-wrap (#f7f8f9) + weiße
   Sidebar-Widgets + weiße Such-Inputs. Diese Regel zieht das
   Navy+Gold-Design site-weit durch. Scope: #main-wrap → Navbar
   (weißes Glas) + Footer bleiben unberührt. Brand-Seiten haben
   bereits Navy-Body → Override ist visuell identisch (sicher).
   ===================================================== */

/* 1) Content-Hintergrund global Navy */
html body #main-wrap {
    background-color: #0B1F33 !important;
}

/* 2) Sidebar-Widgets global → dunkle Glas-Cards (nicht Footer!) */
html body #main-wrap .widget-wrap {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(200,169,106,0.18) !important;
    border-radius: 14px !important;
    padding: 22px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.30) !important;
    margin-bottom: 24px !important;
}
html body #main-wrap .widget-wrap,
html body #main-wrap .widget-wrap p,
html body #main-wrap .widget-wrap li,
html body #main-wrap .widget-wrap span,
html body #main-wrap .widget-wrap a {
    color: #C7D4E2;
}
html body #main-wrap .widget-wrap .widget-title {
    color: #C8A96A !important;
    font-family: "Manrope", "Inter", sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.82rem !important;
    border-bottom: 1px solid rgba(200,169,106,0.20) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
}
html body #main-wrap .widget-wrap a:hover {
    color: #E8D8B0 !important;
}

/* 3) Houzez-Such-/Filter-Inputs im Content → dunkle Felder */
html body #main-wrap .houzez-keyword-autocomplete,
html body #main-wrap .houzez_map_search_field,
html body #main-wrap .page-content-wrap .form-control {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
}
html body #main-wrap .houzez-keyword-autocomplete::placeholder,
html body #main-wrap .page-content-wrap .form-control::placeholder {
    color: #9DB0C4 !important;
}

/* 4) Hellgraue Such-/Filter-Leiste oben → Text lesbar (gegen Dark-on-Dark) */
html body #main-wrap .advanced-search-widget label,
html body #main-wrap .search-fields label,
html body #main-wrap .houzez-status-tabs .nav-link,
html body #main-wrap .advanced-search-widget .checkbox label,
html body #main-wrap .advanced-search-widget .radio label {
    color: #DBE3EB !important;
}

/* 5) page-content-wrap (Blog-Header-Strip) transparent statt weiß */
html body #main-wrap .page-content-wrap {
    background-color: transparent !important;
}

/* 6) Dashboard-Header (Favoris/Mein-Profil etc.) → transparent, Text hell */
html body #main-wrap .dashboard-header-wrap {
    background-color: transparent !important;
}
html body #main-wrap .dashboard-header-wrap,
html body #main-wrap .dashboard-header-wrap p,
html body #main-wrap .dashboard-header-wrap span {
    color: #C7D4E2 !important;
}
html body #main-wrap .dashboard-header-wrap h1,
html body #main-wrap .dashboard-header-wrap h2,
html body #main-wrap .dashboard-header-wrap h3,
html body #main-wrap .dashboard-header-wrap .dashboard-title {
    color: #ffffff !important;
}

/* §20.37 (HOME-Sektionen) wurde entfernt — die Startseite war bereits
   final und soll unverändert bleiben (Rollback v1.9.8). */

/* =====================================================
   §20.38  GLOBAL — Houzez Listing-/Such-Komponenten dunkel (v1.9.5)
   Auf /search-results/ (+ Archiven) sind .advanced-search-Panel und
   .item-footer der Ergebnis-Cards WEISS — der Card-Footer-Text ist
   aber bereits hell (#DBE3EB) → hell-auf-weiß = unsichtbar. Wir
   ziehen beide auf dunkles Glas. Scope: #main-wrap.
   ===================================================== */

/* 1) Advanced-Search-Panel → dunkles Glas, Text hell */
html body #main-wrap .advanced-search,
html body #main-wrap .advanced-search-half-map .advanced-search {
    background-color: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(200,169,106,0.16) !important;
    border-radius: 14px !important;
}
html body #main-wrap .advanced-search,
html body #main-wrap .advanced-search label,
html body #main-wrap .advanced-search span,
html body #main-wrap .advanced-search .slider-value,
html body #main-wrap .advanced-search small {
    color: #DBE3EB !important;
}
html body #main-wrap .advanced-search .form-control,
html body #main-wrap .advanced-search input[type="text"],
html body #main-wrap .advanced-search input[type="number"] {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
}

/* 2) Property-Card-Footer → dunkles Glas (Text war hell auf weiß) */
html body #main-wrap .item-footer {
    background-color: rgba(255,255,255,0.03) !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
}
html body #main-wrap .item-footer,
html body #main-wrap .item-footer a,
html body #main-wrap .item-footer .item-date {
    color: #C7D4E2 !important;
}
html body #main-wrap .item-footer a:hover {
    color: #C8A96A !important;
}

/* 3) Preis-/Radius-Slider-Labels (ion.rangeSlider) lesbar */
html body #main-wrap .irs .irs-min,
html body #main-wrap .irs .irs-max,
html body #main-wrap .irs .irs-from,
html body #main-wrap .irs .irs-to,
html body #main-wrap .irs .irs-single,
html body #main-wrap .advanced-search .irs-grid-text {
    color: #0B1F33 !important;
    background: #C8A96A !important;
}
html body #main-wrap .irs .irs-line,
html body #main-wrap .irs .irs-bar {
    background: rgba(255,255,255,0.14) !important;
}
html body #main-wrap .irs .irs-bar {
    background: rgba(200,169,106,0.55) !important;
}

/* =====================================================
   §20.39  reCAPTCHA-Badge ausblenden + Footer-Hinweis (v1.10.0)
   Das schwebende reCAPTCHA-v3-Badge wird komplett ausgeblendet.
   reCAPTCHA bleibt aktiv (v3 braucht das Badge nicht für die
   Funktion). Google verlangt dann einen sichtbaren Hinweis mit
   Links — der wird per JS dezent in den Footer gesetzt
   (.lux-recaptcha-notice). visibility:hidden statt display:none,
   damit das Skript nicht meckert.
   ===================================================== */
.grecaptcha-badge {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.lux-recaptcha-notice {
    text-align: center;
    font-family: "Inter", "Manrope", sans-serif;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: #8FA3B8;            /* v1.11.4: hochgezogen von #6f8298 → WCAG-AA-Kontrast (5.15:1 auf navy) */
    max-width: 720px;
    margin: 10px auto 0;
    padding: 14px 18px 4px;
}
.lux-recaptcha-notice a {
    color: #9DB0C4;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.lux-recaptcha-notice a:hover {
    color: #C8A96A;
}

/* =====================================================
   §20.40  GOOGLE-AVIS-BLOCK (Author-Avis-Tab) — Navy/Gold (v1.10.1)
   ===================================================== */
.lux-greviews {
    background: linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
    border: 1px solid rgba(200,169,106,0.22);
    border-radius: 18px;
    padding: 30px 30px 24px;
    margin: 8px 0 32px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.30);
    /* Volle Spaltenbreite, kann nicht überlaufen. width+max-width+min-width:0+
       box-sizing reichen — overflow:hidden + flex:1 1 100% früher waren defensive
       Redundanz (v1.11.4 entfernt: overflow:hidden clippt Focus-Outlines/Tooltips;
       flex war im non-flex-Parent .property-review-wrap toter Code). */
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.lux-greviews__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding-bottom: 22px;
    margin-bottom: 22px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.lux-greviews__score { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.lux-grev-num {
    font-family: "Playfair Display", serif;
    font-size: 3rem;
    line-height: 1;
    color: #C8A96A;
    font-weight: 700;
}
.lux-grev-bigstars { font-size: 1.4rem; letter-spacing: 2px; }
.lux-grev-star { color: #C8A96A; }
.lux-grev-star.off { color: rgba(255,255,255,0.22); }
.lux-grev-count {
    display: flex; align-items: center; gap: 7px;
    color: #9DB0C4; font-size: 0.9rem;
    font-family: "Inter","Manrope",sans-serif;
}
.lux-grev-count strong { color: #DBE3EB; }
.lux-greviews__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.lux-grev-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 11px 20px; border-radius: 10px;
    font-family: "Manrope","Inter",sans-serif; font-weight: 600; font-size: 0.85rem;
    letter-spacing: 0.02em; text-decoration: none;
    border: 1px solid rgba(200,169,106,0.5); color: #E8D8B0;
    transition: all .25s ease;
}
.lux-grev-btn:hover { border-color: #C8A96A; color: #fff; background: rgba(200,169,106,0.12); }
.lux-grev-btn--gold { background: #C8A96A; border-color: #C8A96A; color: #0B1F33; }
.lux-grev-btn--gold:hover { background: #E8D8B0; border-color: #E8D8B0; color: #0B1F33; }
.lux-greviews__grid {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px;
    min-width: 0; width: 100%; max-width: 100%;
}
.lux-grev-card {
    background: rgba(255,255,255,0.035);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 20px 22px;
    margin: 0;
    min-width: 0;
}
.lux-grev-text { overflow-wrap: anywhere; word-break: break-word; }
.lux-grev-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.lux-grev-ava {
    width: 42px; height: 42px; border-radius: 50%;
    background: linear-gradient(135deg, #C8A96A, #E8D8B0);
    color: #0B1F33; font-weight: 700; font-size: 1.1rem;
    display: flex; align-items: center; justify-content: center; flex: 0 0 42px;
    font-family: "Manrope","Inter",sans-serif;
}
.lux-grev-name { color: #ffffff; font-weight: 600; font-size: 0.95rem; font-family: "Manrope","Inter",sans-serif; }
.lux-grev-stars { font-size: 0.85rem; letter-spacing: 1px; }
.lux-grev-text { color: #C7D4E2; font-size: 0.92rem; line-height: 1.6; margin: 0; font-style: normal; border: 0; padding: 0; }
.lux-grev-time { color: #8FA3B8; font-size: 0.78rem; margin-top: 10px; }
.lux-greviews__foot {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    color: #8FA3B8; font-size: 0.78rem; margin-top: 22px;
}
@media (max-width: 767px) {
    .lux-greviews { padding: 22px 18px 18px; }
    .lux-greviews__top { justify-content: center; text-align: center; }
    .lux-greviews__grid { grid-template-columns: 1fr; }
    .lux-grev-num { font-size: 2.4rem; }
}
