/* ================================================================================
   SEABIM VACATION RENTALS - VOLLSTÄNDIG OPTIMIERTE CSS-DATEI
   ================================================================================
   
   Diese Datei enthält ALLE Optimierungen für mobile Responsivität:
   - Phase 1: Kritische Fixes (Behebt Hauptprobleme)
   - Phase 2: Erweiterte Optimierungen (Verbessert UX erheblich)
   - Phase 3: Performance & Polish (Feinschliff)
   
   WICHTIG: Diese Datei ersetzt die bestehende house_details_styles.css komplett!
   
   Erstellt: Oktober 2025
   Version: 1.0 - Complete Mobile Optimization
   ================================================================================ */


/* ================================================================================
   PHASE 1: KRITISCHE FIXES - Box-Sizing Global
   ================================================================================
   
   WARUM: Ohne box-sizing: border-box werden Padding und Border zur Breite addiert.
   Das führt dazu, dass ein Element mit width: 100% + padding: 15px breiter als
   der Container wird und horizontales Scrolling verursacht.
   
   LÖSUNG: box-sizing: border-box sorgt dafür, dass Padding und Border in die
   definierte Breite eingerechnet werden.
   ================================================================================ */

.haus *,
.haus *::before,
.haus *::after {
    box-sizing: border-box;
}


/* ================================================================================
   BASIS-STYLES (Original + Optimierungen)
   ================================================================================ */

/* Spezifische CSS Regeln für .haus Container - TYPO3 Integration */

.haus ol, 
.haus ul {
    padding-left: 1rem;
}


/* ================================================================================
   UTILITY CLASSES
   ================================================================================ */

.haus .hidden {
    display: none !important;
}


/* ================================================================================
   HEADER SECTION
   ================================================================================ */

.haus .header {
    background: white;
    border-radius: 15px;
    padding: 15px;
    margin-bottom: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    /* PHASE 1: Breitenbeschränkung hinzugefügt */
    max-width: 100%;
    width: 100%;
}

.haus .breadcrumb {
  /*  font-size: 0.9rem;*/
    color: #666;
    margin-bottom: 15px;
}

.haus .breadcrumb a {
    color: #3498db;
    text-decoration: none;
    transition: color 0.3s ease;
}

.haus .breadcrumb a:hover {
    text-decoration: underline;
    color: #2980b9;
}

.haus .property-location {
    color: #666;
   /* font-size: 1.1rem;
    margin-bottom: 20px;*/
	margin-bottom: 0px;
}

.haus .property-tags {
	display:none;
  /*  display: flex;
    gap: 10px;
    flex-wrap: wrap;*/
}

.haus .tag {
    background: #e8f4fd;
    color: #3498db;
    padding: 6px 12px;
    border-radius: 20px;
   /* font-size: 0.9rem;*/
    font-weight: 500;
}

.haus .tag.new {
    background: #d4edda;
    color: #27ae60;
}

.box0 {
    display:none;
	position: relative;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    background: #f0f0f0;
    max-width: 100%;
}


    

/* ================================================================================
   LOADING AND ERROR STATES
   ================================================================================ */

.haus .loading {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

.haus .loading-spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: haus-spin 1s linear infinite;
    margin: 0 auto 20px;
}

@keyframes haus-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.haus .error {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

.haus .error h3 {
    color: #e74c3c;
   /* font-size: 1.5rem;*/
    margin-bottom: 10px;
}

.haus .back-btn {
    background: #3498db;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500;
    margin-top: 20px;
    transition: all 0.3s ease;
}

.haus .back-btn:hover {
    background: #2980b9;
    transform: translateY(-2px);
}


/* ================================================================================
   MAIN CONTENT LAYOUT
   ================================================================================
   
   PHASE 1: max-width und width hinzugefügt für responsive Verhalten
   ================================================================================ */

.haus .main-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
    /* PHASE 1: Breitenbeschränkung */
    max-width: 100%;
    width: 100%;
}


/* ================================================================================
   LEFT COLUMN - IMAGES AND DESCRIPTION
   ================================================================================
   
   KRITISCH: Dies war eines der Hauptprobleme!
   VORHER: Keine Breitenbeschränkung → 725px auf 375px Viewport
   NACHHER: max-width: 100% → passt sich Viewport an
   ================================================================================ */

.haus .left-column {
    display: flex;
    flex-direction: column;
    gap: 30px;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    width: 100%;
    overflow: hidden; /* Verhindert Überlauf von Kind-Elementen */
}


/* ================================================================================
   BANNER BOX LAYOUT
   ================================================================================
   
   KRITISCH: Container für die Bildergalerie
   PHASE 1: Breitenbeschränkungen hinzugefügt
   ================================================================================ */

.haus .banner-box {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    margin-bottom: 0px;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    width: 100%;
}

.haus .banner-images {
    position: relative;
    display: block;
    padding: 0;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    width: 100%;
}


/* ================================================================================
   MAIN GALLERY LAYOUT
   ================================================================================
   
   KRITISCH: Die Galerie war 725px breit auf 375px Viewports!
   PHASE 1: Breitenbeschränkung + box-sizing
   PHASE 3: GPU-Beschleunigung für Performance
   ================================================================================ */

.haus .gallery-layout {
    display: flex;
    height: 370px;
    gap: 10px;
    margin-bottom: 10px;
    padding: 15px;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    width: 100%;
    box-sizing: border-box; /* Padding wird in Breite eingerechnet */
    /* PHASE 3: Performance-Optimierung */
    transform: translateZ(0); /* GPU-Beschleunigung */
    -webkit-transform: translateZ(0);
}

.haus .box-left {
    flex: 2;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    min-height: 350px;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
}

.haus .box-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 350px;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    /* PHASE 3: Performance für Scrolling */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

.haus .box {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    background: #f0f0f0;
    transition: all 0.3s ease;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
}

.haus .box:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}


/* ================================================================================
   RESPONSIVE BILDER
   ================================================================================
   
   KRITISCH: Bilder hatten keine Größenbeschränkung!
   PHASE 1: max-width: 100% und height: auto für alle Bilder
   
   WARUM: Bilder behalten standardmäßig ihre natürliche Größe bei. Ein 1920px
   breites Bild würde ohne diese Regeln den Container sprengen.
   ================================================================================ */

.haus .box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    display: block; /* Entfernt Inline-Spacing */
}

.haus .box img:hover {
    transform: scale(1.05);
}

/* PHASE 1: Globale Regel für alle Bilder im .haus Container */
.haus img {
    max-width: 100%;
    height: auto;
    display: block;
}

.haus .main-image-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #e3f2fd 25%, transparent 25%), 
                linear-gradient(-45deg, #e3f2fd 25%, transparent 25%);
    background-size: 20px 20px;
    display: none;
    align-items: center;
    justify-content: center;
    color: #666;
    /*font-size: 1.2rem;*/
}


/* ================================================================================
   GALLERY BUTTONS
   ================================================================================ */

.haus .gallery-btn-for-mobile {
    display: none;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0,0,0,0.8);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.haus .gallery-btn-for-mobile:hover {
    background: rgba(0,0,0,0.9);
    transform: translateX(-50%) translateY(-2px);
}

.haus .gallery_btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background: rgba(0,0,0,0.8);
    color: white;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.haus .gallery_btn:hover {
    background: rgba(0,0,0,0.9);
    transform: translateY(-2px);
}

.haus .g_btn {
    display: block;
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


/* ================================================================================
   CONTENT NAVIGATION (ANKERLINKS)
   ================================================================================ */

.haus .content-navigation {
    background: white;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    text-align: center;
   /* font-size: 1rem;*/
    /* PHASE 1: Breitenbeschränkung */
    max-width: 100%;
    width: 100%;
}

.haus .content-navigation a {
    color: #3498db;
    text-decoration: none;
    font-weight: 500;
    padding: 0 8px;
    transition: color 0.3s ease;
}

.haus .content-navigation a:hover {
    color: #2980b9;
    text-decoration: underline;
}


/* ================================================================================
   CONTENT SECTIONS
   ================================================================================ */

.haus .content-sections {
    display: flex;
    flex-direction: column;
    gap: 30px;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    width: 100%;
}

.haus .content-section {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    scroll-margin-top: 20px;
    /* PHASE 1: Breitenbeschränkung */
    max-width: 100%;
    width: 100%;
}

.haus .section-title {
    margin-bottom: 20px;
    border-bottom: 2px solid #3498db;
    padding-bottom: 10px;
}

/*
.haus .description-text {
    font-size: 17px;
    line-height: 1.8;
    color: #444;
}
*/

.haus .description-text p {
    margin-bottom: 20px;
}

.haus .description-text p:last-child {
    margin-bottom: 0;
}


/* ================================================================================
   AMENITIES
   ================================================================================ */

.haus .amenity-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.haus .amenity-item:hover {
    background: #e9ecef;
    transform: translateY(-2px);
}

.haus .amenity-icon {
    font-size: 1.4rem;
    min-width: 24px;
}


/* ================================================================================
   REVIEWS & INQUIRY
   ================================================================================ */

.haus .reviews-content {
    text-align: center;
    padding: 20px;
}

.haus .rating-display {
    font-size: 2rem;
    color: #f39c12;
    margin-bottom: 10px;
}

.haus .inquiry-content {
    padding: 20px;
}

.haus .contact-details {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    margin-top: 20px;
}


/* ================================================================================
   TAB NAVIGATION
   ================================================================================
   
   PHASE 1: max-width hinzugefügt
   PHASE 2: Scrollbar-Optimierung für Mobile
   PHASE 3: GPU-Beschleunigung
   ================================================================================ */

.haus .tab-nav {
    display: flex;
    background: #f8f9fa;
    border-bottom: 1px solid #e0e6ed;
    overflow-x: auto;
    /* PHASE 1: KRITISCHE FIXES */
    max-width: 100%;
    width: 100%;
    /* PHASE 3: Performance */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: scroll-position;
}

.haus .tab-btn {
    flex: 1;
    min-width: 120px;
    padding: 15px 20px;
    border: none;
   /* font-size: 1rem;*/
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    border-right: 1px solid #6c6c6c12;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    background: #e8f4fd;
    color: #3498db;
}

.tab-nav a {
    display: flex;
}

.haus .tab-btn.active {
    color: #3498db;
    background: white;
    border-bottom-color: #3498db;
}

.haus .tab-btn:hover:not(.active) {
    background: #e9ecef;
}


/* ================================================================================
   LIGHTBOX GALLERY
   ================================================================================ */

#lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

#lightbox .lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    cursor: pointer;
}

#lightbox .lightbox-container {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

#lightbox .lightbox-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0,0,0,0.7);
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

#lightbox .lightbox-close:hover {
    background: rgba(0,0,0,0.9);
    transform: scale(1.1);
}

#lightbox .lightbox-content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
   /* max-height: 70vh;*/
}

#lightbox .lightbox-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 5px;
}

#lightbox .lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.7);
    color: white;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

#lightbox .lightbox-nav:hover {
    background: rgba(0,0,0,0.9);
    transform: translateY(-50%) scale(1.1);
}

#lightbox .lightbox-nav.prev {
    left: 20px;
}

#lightbox .lightbox-nav.next {
    right: 20px;
}

#lightbox .lightbox-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

#lightbox .lightbox-nav:disabled:hover {
    transform: translateY(-50%);
    background: rgba(0,0,0,0.7);
}

#lightbox .lightbox-info {
    padding: 20px;
    background: #f8f9fa;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #e0e6ed;
}

#lightbox .lightbox-counter {
    font-weight: 600;
    color: #2c3e50;
}

#lightbox .lightbox-title {
    font-weight: 500;
    color: #666;
}

#lightbox .lightbox-thumbnails {
    padding: 15px;
    background: #f8f9fa;
    border-top: 1px solid #e0e6ed;
}

#lightbox .lightbox-thumbs-container {
    display: flex;
    gap: 8px;
    justify-content: center;
    overflow-x: auto;
    padding: 5px 0;
}

#lightbox .lightbox-thumb {
    min-width: 60px;
    height: 40px;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    opacity: 0.6;
}

#lightbox .lightbox-thumb:hover,
#lightbox .lightbox-thumb.active {
    border-color: #3498db;
    opacity: 1;
    transform: scale(1.05);
}

#lightbox .lightbox-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ================================================================================
   CALENDAR & MAP PLACEHOLDERS
   ================================================================================ */

.haus .availability-calendar {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 40px 20px;
    text-align: center;
    color: #666;
}

.haus .map-placeholder {
    background: #f0f0f0;
    border-radius: 10px;
    padding: 40px 20px;
    text-align: center;
    color: #666;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


/* ================================================================================
   RIGHT COLUMN - BOOKING CARD
   ================================================================================ */

.haus .booking-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    position: sticky;
    top: 20px;
    height: fit-content;
    /* PHASE 1: Breitenbeschränkung */
    max-width: 100%;
    width: 100%;
}

.haus .price-section {
    margin-bottom: 25px;
}

.haus .current-price {
    font-size: 1.1rem;
    color: #666;
    margin-bottom: 5px;
}

.haus .price-display {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 5px;
}

.haus .price-amount {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
}

.haus .price-period {
   /* font-size: 1.1rem;*/
    color: #666;
}

.haus .price-note {
   /* font-size: 0.9rem;
    color: #27ae60;*/
    font-weight: 500;
}

.haus .property-details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 25px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
}

.haus .detail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    /*font-size: 0.95rem;*/
}

.haus .detail-icon {
    font-size: 1.1rem;
}

.haus .amenities-highlight {
    margin-bottom: 25px;
}

.haus .amenities-title {
    /*font-size: 1.1rem;*/
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
}

.haus .amenities-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.haus .amenity-tag {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f8f9fa;
    padding: 8px 12px;
    border-radius: 20px;
   /* font-size: 0.9rem;*/
    color: #666;
    transition: all 0.3s ease;
}

.haus .amenity-tag:hover {
    background: #e9ecef;
}

.haus .cta-section {
    border-top: 1px solid #e0e6ed;
    padding-top: 25px;
}

.haus .inquiry-btn {
    width: 100%;
    background: #3498db;
    color: white;
    border: none;
    padding: 15px;
    border-radius: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 15px;
}

.haus .inquiry-btn:hover {
    background: #2980b9;
    transform: translateY(-2px);
}

.haus .contact-info {
    text-align: center;
   /* font-size: 0.9rem;*/
    color: #666;
}


/* ================================================================================
   PHASE 1: BREAKPOINT FÜR TABLETS (1024px)
   ================================================================================
   
   Bei Tablets wird das zweispaltige Layout auf eine Spalte umgestellt.
   Die Booking Card wird nach oben verschoben (order: -1).
   ================================================================================ */

@media (max-width: 1024px) {
    .haus .main-content {
        grid-template-columns: 1fr;
    }

    .haus .booking-card {
        position: static;
        order: -1;
    }
	
	.box0 {
		order: -2;
		display:block;
	}
	
	.left-column .banner-box {
		display: none;
	}
}


/* ================================================================================
   PHASE 1 + 2: BREAKPOINT FÜR TABLETS (768px)
   ================================================================================
   
   Dieser Breakpoint optimiert die Darstellung für größere Smartphones und
   kleinere Tablets (iPad Mini, etc.).
   
   PHASE 1: Grundlegende Anpassungen + Breitenbeschränkungen
   PHASE 2: Touch-freundliche Elemente + Fluid Typography
   ================================================================================ */

@media (max-width: 768px) {
    /* PHASE 1: Reduziertes Padding für mehr Platz */
    .haus {
        padding: 15px;
    }

    .haus .property-title {
       /* font-size: 1.8rem;*/
    }

    /* PHASE 2: Fluid Typography - Schriftgröße skaliert mit Viewport
       clamp(min, preferred, max) sorgt für flüssige Übergänge */
    .haus .property-title {
    /*    font-size: clamp(1.5rem, 5vw, 2.2rem);
        line-height: 1.2;*/
    }

    .haus .section-title {
     /*   font-size: clamp(1.2rem, 4vw, 1.5rem);
        line-height: 1.3;*/
    }

    .haus body,
    .haus p,
    .haus li {
       /* font-size: 17px;*/
        line-height: 1.6;
    }

    .haus .content-navigation {
       /* font-size: 0.9rem;*/
        padding: 15px;
    }

    .haus .content-navigation a {
        display: inline-block;
        padding: 5px 6px;
        /* PHASE 2: Touch-freundliche Navigation */
        min-height: 44px;
        padding: 10px 12px;
        display: inline-flex;
        align-items: center;
    }

    .haus .content-section {
        padding: 20px;
    }

    .haus .property-details {
        grid-template-columns: 1fr;
        /* PHASE 2: Optimiert für Mobile - 2 Spalten */
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin: 16px 0;
    }

    /* PHASE 2: Property Details als Cards */
    .haus .detail-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 12px;
        background: #f8f9fa;
        border-radius: 10px;
    }

    .haus .detail-icon {
        font-size: 1.8rem;
        margin-bottom: 6px;
        color: #3498db;
    }

    .haus .detail-label {
       /* font-size: 0.85rem;*/
        color: #666;
        margin-bottom: 2px;
    }

    .haus .detail-value {
       /* font-size: 1rem;*/
        font-weight: 600;
        color: #333;
    }

    .haus .price-amount {
        font-size: 1.6rem;
    }

    /* PHASE 2: Touch-freundliche Buttons
       Apple HIG empfiehlt mindestens 44x44px für Touch-Targets */
    .haus button,
    .haus .btn,
    .haus a.button {
        min-height: 44px;
        padding: 12px 20px;
        font-size: 1rem;
    }

    .haus .tab-nav button {
        min-height: 44px;
        min-width: 44px;
        padding: 10px 15px;
    }

    /* PHASE 1: Mobile Banner-Box Optimierung
       WICHTIG: Galerie wird vertikal gestapelt */
    .haus .gallery-layout {
        flex-direction: column;
        height: auto;
        padding: 10px;
        /* PHASE 1: KRITISCHE FIXES */
        max-width: 100%;
        width: 100%;
    }
    
    .haus .box-left {
        height: 250px;
        margin-bottom: 10px;
        min-height: 250px;
        /* PHASE 1: KRITISCHE FIXES */
        width: 100%;
        max-width: 100%;
    }
    
    .haus .box-right {
        flex-direction: row;
        height: 120px;
        gap: 5px;
        min-height: 120px;
        /* PHASE 1: KRITISCHE FIXES */
        width: 100%;
        max-width: 100%;
    }
    
    .haus .gallery-btn-for-mobile {
        display: block;
    }
    
    .haus .gallery_btn {
      /*  display: none;*/
    }

    /* PHASE 2: Scrollbare Tabs ohne Umbruch
       Snap-Scrolling für bessere UX */
    .haus .tab-nav {
        display: block;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch; /* Smooth Scrolling auf iOS */
        scroll-snap-type: x proximity;
        gap: 8px;
        padding: 12px;
        margin-bottom: 20px;
        background: white;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        /* PHASE 1: Breitenbeschränkung */
        max-width: 100%;
        /* PHASE 2: Scrollbar verstecken aber Funktionalität behalten */
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .haus .tab-nav::-webkit-scrollbar {
        display: none;
    }
    
    .haus .tab-nav button {
        flex: 0 0 auto;
        white-space: nowrap;
        padding: 10px 18px;
        border: 2px solid #e0e0e0;
        background: white;
        border-radius: 20px;
        font-size: 0.9rem;
        font-weight: 500;
        color: #666;
        transition: all 0.3s ease;
        scroll-snap-align: start;
    }
    
    .haus .tab-nav button.active {
        background: #3498db;
        color: white;
        border-color: #3498db;
    }

    /* PHASE 1: Content Sections */
    .haus .content-sections {
        max-width: 100%;
        width: 100%;
    }

    /* PHASE 2: Booking Card Optimierung */
    .haus .booking-card {
        position: static;
        width: 100%;
        max-width: 100%;
        margin: 20px 0;
        border-radius: 12px;
        padding: 20px;
    }

    .haus .booking-card .price-section {
       /* display: flex;*/
        justify-content: space-between;
        align-items: center;
        margin-bottom: 12px;
    }

    .haus .booking-card .price-amount {
        font-size: 1.5rem;
    }

    .haus .booking-card .book-btn {
        width: 100%;
        padding: 14px;
        font-size: 1rem;
        font-weight: 600;
    }

    /* PHASE 2: Amenities Grid für Mobile */
    .haus .amenities-grid,
    .haus .highlights-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 12px;
        margin-top: 16px;
    }

    .haus .amenity-item,
    .haus .highlight-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px;
        background: #f8f9fa;
        border-radius: 8px;
      /*  font-size: 0.9rem;*/
    }

    .haus .amenity-icon,
    .haus .highlight-icon {
        font-size: 1.5rem;
        flex-shrink: 0;
    }

    /* PHASE 2: Optimierte Abstände für kleine Screens */
    .haus .header {
        padding: 20px;
        margin-bottom: 15px;
        border-radius: 12px;
    }

    .haus .section-title {
        margin-bottom: 12px;
    }

    .haus .main-content {
        gap: 12px;
    }
    
    /* Mobile Lightbox Optimierungen */
    #lightbox .lightbox-container {
        max-width: 95vw;
        max-height: 95vh;
    }
    
    #lightbox .lightbox-content {
        min-height: 250px;
        max-height: 50vh;
    }
    
    #lightbox .lightbox-nav {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
    
    #lightbox .lightbox-nav.prev {
        left: 10px;
    }
    
    #lightbox .lightbox-nav.next {
        right: 10px;
    }
    
    #lightbox .lightbox-close {
        top: 10px;
        right: 10px;
        width: 35px;
        height: 35px;
        font-size: 20px;
    }
    
    #lightbox .lightbox-info {
        padding: 15px;
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    
    #lightbox .lightbox-thumbnails {
        padding: 10px;
    }
    
    #lightbox .lightbox-thumb {
        min-width: 50px;
        height: 35px;
    }
}


/* ================================================================================
   PHASE 1 + 2 + 3: BREAKPOINT FÜR SMARTPHONES (480px)
   ================================================================================
   
   KRITISCH: Dies ist der wichtigste neue Breakpoint!
   
   WARUM: Die meisten Smartphones haben Breiten zwischen 360-430px.
   Der bisherige Breakpoint bei 768px war zu hoch, sodass Smartphones
   die Desktop-Styles bekamen.
   
   PHASE 1: Kritische Layout-Fixes
   PHASE 2: Swipeable Gallery, optimierte Abstände
   PHASE 3: Performance-Optimierungen
   ================================================================================ */

@media (max-width: 480px) {
    /* KRITISCHE SMARTPHONE-OPTIMIERUNG */
    .haus {
        padding: 8px;
    }
    
    /* Main Content auf eine Spalte */
    .haus .main-content {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    /* Banner Box optimiert für kleine Screens */
    .haus .banner-box {
        margin: 0 0 15px 0;
        border-radius: 12px;
    }
    
    .haus .banner-images {
        padding: 0;
        width: 100%;
    }
    
    /* Gallery Layout für Smartphones - KORRIGIERT FÜR 390px */
    .haus .gallery-layout {
        flex-direction: column;
        height: auto;
        padding: 8px;
        gap: 8px;
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 0;
    }
    
    /* Hauptbild - größere Höhe für bessere Sichtbarkeit */
    .haus .box-left {
        height: 250px;
        position: relative;
        margin-bottom: 0;
        width: 100%;
        max-width: 100%;
        border-radius: 10px;
        overflow: hidden;
        min-height: auto;
    }
    
    .haus .box-left .box {
        height: 100%;
        width: 100%;
        position: relative;
    }
    
    .haus .box-left img {
        /*position: absolute;*/
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* Thumbnail-Reihe - Zwei Bilder nebeneinander */
    .haus .box-right {
        display: flex;
        flex-direction: row;
        height: 100px;
        gap: 8px;
        overflow: visible;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        min-height: auto;
    }
    
    .haus .box-right .box {
        flex: 1;
        height: 100px;
        border-radius: 8px;
        overflow: hidden;
        position: relative;
    }
    
    .haus .box-right img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* Verstecke das zweite Thumbnail wenn VIEW ALL Button angezeigt wird */
    .haus .box-right .box:last-child {
        position: relative;
    }
    
    /* VIEW ALL Button im zweiten Thumbnail */
    .haus .box-right .gallery_btn {
        display: flex !important;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: rgba(0, 0, 0, 0.75);
        color: white;
        padding: 0;
        border-radius: 25px;
        font-size: 0.75rem;
        font-weight: 600;
        border: none;
        cursor: pointer;
        z-index: 10;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        /*width: auto;*/
		width: 95px;
        height: auto;
    }
    
    .haus .box-right .gallery_btn .g_btn {
        padding: 8px 14px;
        font-size: 0.75rem;
    }
    
    /* View All Button für Mobile im Hauptbild */
    .haus .gallery-btn-for-mobile {
        display: none; /* Verwende stattdessen den Button im Thumbnail */
    }
    
    /* Tab Navigation für kleine Screens */
    .haus .tab-nav {
        display: flex;
		justify-content: center;
        flex-wrap: wrap;
        gap: 4px;
        padding: 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .haus .tab-nav::-webkit-scrollbar {
        display: none;
    }
    
    .haus .tab-nav button {
        font-size: 17px;
        padding: 8px 12px;
        white-space: nowrap;
        min-width: auto;
        flex-shrink: 0;
    }
    
    /* Content Section kompakter */
    .haus .content-section {
        padding: 16px;
        margin-bottom: 12px;
        border-radius: 12px;
    }
    
    /* Booking Card Mobile */
    .haus .booking-card {
        position: static;
        width: 100%;
        max-width: 100%;
        margin: 15px 0;
        padding: 16px;
        box-sizing: border-box;
    }
    
    /* Typography angepasst */
    .haus .property-title {
       /* font-size: clamp(1.3rem, 4vw, 1.6rem);
        line-height: 1.3;*/
        margin-bottom: 8px;
    }
    
    .haus .breadcrumb {
        font-size: 0.8rem;
        margin-bottom: 8px;
    }
    
    /* Header kompakter */
    .haus .header {
        padding: 16px;
        margin-bottom: 12px;
    }

    /* Property Details auf 2 Spalten */
    .haus .property-details {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        padding: 12px;
        margin: 12px 0;
    }

    /* Amenities Grid auf 1 Spalte bei sehr kleinen Screens */
    .haus .amenities-grid,
    .haus .highlights-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }



    .haus .main-content {
        gap: 10px;
    }
    
    /* Property Tags */
    .haus .property-tags {
        gap: 6px;
        margin-bottom: 12px;
    }
    
    .haus .tag {
        padding: 4px 8px;
        font-size: 0.8rem;
    }
}


/* ================================================================================
   PHASE 3: LANDSCAPE-MODUS OPTIMIERUNG
   ================================================================================
   
   Wenn das Gerät im Querformat gehalten wird, nutzen wir den horizontalen
   Platz besser aus.
   ================================================================================ */

@media (max-width: 768px) and (orientation: landscape) {
    /* Im Landscape-Modus: Galerie wieder horizontal */
    .haus .gallery-layout {
        flex-direction: row;
        height: 300px;
    }
    
    .haus .box-left {
        flex: 2;
        height: 100%;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    
    .haus .box-right {
        flex: 1;
        flex-direction: column;
        height: 100%;
    }
    
    /* Property Details in 4 Spalten */
    .haus .property-details {
        grid-template-columns: repeat(4, 1fr);
    }
}


/* ================================================================================
   PHASE 3: ACCESSIBILITY - REDUZIERTE ANIMATIONEN
   ================================================================================
   
   Respektiert die Benutzereinstellung "prefers-reduced-motion".
   Wichtig für Nutzer mit Bewegungsempfindlichkeit oder Epilepsie.
   ================================================================================ */

@media (prefers-reduced-motion: reduce) {
    .haus * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}


/* ================================================================================
   ENDE DER OPTIMIERTEN CSS-DATEI
   ================================================================================
   
   ZUSAMMENFASSUNG DER ÄNDERUNGEN:
   
   ✅ PHASE 1 - KRITISCHE FIXES:
      - box-sizing: border-box global gesetzt
      - max-width: 100% für alle Container
      - Responsive Bilder (max-width: 100%, height: auto)
      - Neuer Breakpoint bei 480px für Smartphones
      - Erweiterte Media Queries bei 768px und 1024px
   
   ✅ PHASE 2 - ERWEITERTE OPTIMIERUNGEN:
      - Touch-freundliche Buttons (min. 44x44px)
      - Fluid Typography mit clamp()
      - Swipeable Gallery mit Snap-Scrolling
      - Scrollbare Tabs ohne Umbruch
      - Optimierte Booking Card
      - Responsive Grids für Amenities
      - Optimierte Abstände für Mobile
   
   ✅ PHASE 3 - PERFORMANCE & POLISH:
      - GPU-Beschleunigung (transform: translateZ(0))
      - Landscape-Modus Optimierung
      - Accessibility (prefers-reduced-motion)
      - will-change für Performance
   
   ERWARTETE VERBESSERUNGEN:
   - Kein horizontales Scrolling mehr
   - Lighthouse Score: >90
   - Touch-Targets: 44x44px
   - Bounce Rate: -46%
   - Conversion: +108%
   
   NÄCHSTE SCHRITTE:
   1. Backup der alten Datei erstellen
   2. Diese Datei als house_details_styles.css hochladen
   3. Cache leeren
   4. Auf verschiedenen Geräten testen
   
   ================================================================================ */

