/* --- FIX FÜR WEISSEN BALKEN & MOBILE --- */
html, body {
    width: 100%;
    overflow-x: hidden !important; /* WICHTIG: Verhindert seitliches Scrollen */
    position: relative;
    margin: 0;
    padding: 0;
}

/* Sicherstellen, dass Bilder nicht breiter als der Container sind */
img {
    max-width: 100%;
    height: auto;
}

/* Fix für den Slider auf Mobile */
.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Wichtig, damit das Bild den Bereich füllt ohne zu verzerren */
    object-position: center;
}

/* Cookie Banner Safe Area für iPhones (damit der Home-Balken nichts verdeckt) */
#cookie-banner {
padding-bottom: env(safe-area-inset-bottom);
}

/* Custom Scrollbar - JETZT HELL */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #fafaf9; /* stone-50 (Sehr hell) */
}
::-webkit-scrollbar-thumb {
    background: #d6d3d1; /* stone-300 (Hellgrau) */
    border-radius: 5px;
    border: 2px solid #fafaf9;
}
::-webkit-scrollbar-thumb:hover {
    background: #cfa746; /* gold beim Hover */
}

/* Base Styles */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Gallery Hover Effect & Lightbox cursor */
.gallery-item img {
    transition: transform 0.6s ease;
}
.gallery-item:hover img {
    transform: scale(1.1);
}

/* Calendar Styles - Fix für Sichtbarkeit */
.calendar-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: default;
    transition: all 0.2s;
    font-weight: 700; /* Dickerer Text */
    font-size: 0.9rem;
}

.calendar-day.booked {
    background-color: #fee2e2; /* Hellrot */
    color: #991b1b; /* Dunkelrot */
    border: 1px solid #fca5a5;
    text-decoration: line-through;
    opacity: 1; /* Opacity erhöht für bessere Sichtbarkeit */
}

.calendar-day.free {
    background-color: #ffffff;
    color: #44403c; /* stone-700 */
    border: 1px solid #e7e5e4;
}

.calendar-day.free:hover {
    border-color: #cfa746;
    background-color: #fffbeb;
}

.calendar-day.empty {
    background: transparent;
    border: none;
}

/* Modal Animations */
@keyframes modalSlideIn {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.animate-modalSlideIn { animation: modalSlideIn 0.3s ease-out forwards; }

/* Hero Slider Zoom Animation */
@keyframes subtleZoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

.animate-subtle-zoom {
    animation: subtleZoom 8s ease-in-out infinite alternate;
}
