/* Schriftart für "WILLKOMMEN BEI" - Dancing Script mit Fallbacks */
@font-face {
    font-family: 'Dancing Script';
    src: url('fonts/DancingScript-Regular.woff2') format('woff2'),
         url('fonts/DancingScript-Regular.woff') format('woff'),
         url('fonts/DancingScript-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Allgemeine Stile für die Seite */
body {
    font-family: 'Arial', sans-serif;
    background: linear-gradient(to bottom, #fafafa, #f8cccc); /* Fließender Verlauf von #f0eceb nach #d2c4c1 über die ganze Seite */
    color: #333;
    margin: 0;
    padding: 0;
    background-attachment: fixed; /* Verhindert das Verschieben des Hintergrunds beim Scrollen */
  }

/* Social Media Icons */
.social-media {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 10px;
}

.social-media a {
    color: white;
    margin: 0 10px;
    font-size: 20px;
}

.social-media .location-icon {
    font-size: 20px;
}

/* Header */
header {
    background-color: white;
    padding: 10px;
    text-align: center;

}

header .logo {
    max-width: 200px;
}

header nav ul {
    list-style: none;
    padding: 0;
}

header nav ul li {
    display: inline;
    margin: 0 15px;
}

header nav ul li a {
    color: #333;
    font-weight: bold;
}

.header-link-list{
padding-top: 20px;
padding-bottom: 10px;
}

.header-link-list-btn {
    background-color: #f8e7e7; /* main color #333;*/
    color: rgb(0, 0, 0);
    padding: 10px 10px;
    text-decoration: none;
    border-radius: 5px;
    font-size: 15px;
    font-weight: bold;
}

/* Hero Section */
.hero {
    text-align: center;
    padding: 20px 50px;
}

.hero h2 {
    font-size: 36px;
    color: #333;
}

.hero p {   
    font-size: 18px;
    margin: 20px 0;
}

.hero .btn {
    background-color: #333;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    font-size: 18px;
}

/* application-lashes Section */
.application-lashes {
    text-align:center;
    padding: 30px;
}

.application-lashes h2 {
    text-align: center;
    font-size: 36px;
    color: #333;
}

.application-lashes-outer{
padding: 30px;
margin: 50px 50px;

}

.application-lashes p {
    font-size: 18px;
/*   margin: 20px 20px; */
}

/* price-lashes Section */
.price-lashes {
    text-align: center;
    padding: 30px;
}

.price-lashes-style-outer{
    display: flex;
    gap: 5px;
    justify-content: center;
    flex-wrap: wrap;
}

.price-lashes-style {
    margin: 30px 30px;
}

.price-lashes h2 {
    font-size: 36px;
    color: #333;
}

.price-lashes-style h3 {
    font-size: 24px;
    color: #333;
}

.price-lashes-style h4 {
    font-size: 20px;
    color: #333;
}

.price-lashes p {
    font-size: 18px;
    margin: 10px 10px;
 
}

/* Willkommen bei - Schriftzug */
h1 {
    font-family: 'Dancing Script', cursive;
    font-size: 48px;
    color: #333;
    text-align: center;
    margin-top: 20px;
}

/* About Section */
.about {
    padding: 40px;
    text-align: center;
}

.about h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

.about p {
    font-size: 18px;
}

/* Services Section */
.services {
    padding: 40px;
    text-align: center;
}

.services h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

/* Service Item */
.service-item {
    background-color: white;
    padding: 20px;
    margin: 10px;
    border-radius: 10px;
    display: inline-block;
    width: calc(50% - 20px);
    text-align: center;
    box-sizing: border-box;
}

.service-item h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.service-item p {
    font-size: 16px;
}

/* Contact Section */
.contact {
    padding: 40px;
    text-align: center;
}

.contact h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

.contact p {
    font-size: 18px;
}

.contact .btn {
    background-color: #333;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    font-size: 18px;
}

/* Allgemeine Button-Stile */
a.btn {
    display: inline-flex;
    align-items: center;
    padding: 12px 20px;
    margin: 10px 0;
    border-radius: 5px;
    text-decoration: none;
    font-size: 16px;
    color: white;
    font-weight: bold;
    transition: all 0.3s ease;
}

/* Hover-Effekt für alle Buttons */
a.btn:hover {
    opacity: 0.8;
}

/* Facebook Button */
a.btn.facebook {
    background-color: #1877f2; /* Facebook Blau */
}

a.btn.facebook i {
    margin-right: 10px;
}

/* Instagram Button */
a.btn.instagram {
    background-color: #e4405f; /* Instagram Pink/Rot */
}

a.btn.instagram i {
    margin-right: 10px;
}

/* TikTok Button */
a.btn.tiktok {
    background-color: #000000; /* TikTok Schwarz */
}

a.btn.tiktok i {
    margin-right: 10px;
}

/* WhatsApp Button */
a.btn.whatsapp {
    background-color: #25d366; /* WhatsApp Grün */
}

a.btn.whatsapp i {
    margin-right: 10px;
}

/* Stil für Icons (FontAwesome) */
a i {
    font-size: 20px; /* Icon-Größe */
}



/* Video Section */
.video-section {
    padding: 40px;
    text-align: center;
}

.video-section h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

.video-gallery {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.video-gallery video {
    max-width: 300px;
    height: auto;
    border-radius: 10px;
}

/* Galerie Section */

.gallery-section {
    padding: 40px;
    text-align: center;
}

.gallery-section h2 {
    margin-bottom: 20px;
    font-size: 36px;
    text-align: center;
}

.gallery-container {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.gallery-container img {
    height: auto;
    max-width: 200px;
    border-radius: 10px;
}


/* Galerie Section - Styles */

.gallery-section-styles {
    padding: 10px;
    gap: 10px;
    text-align: center;
}

.gallery-section-styles h2 {
    margin-bottom: 20px;
    font-size: 36px;
    text-align: center;
}

.gallery-outer-container-styles {
    display: flex;
    gap: 50px;
    justify-content: center;
    flex-wrap: wrap;
}

.gallery-pic-container-styles img {
    height: 250px;
    width: 300px;
    border-radius: 5px;
}

.gallery-pic-container-styles p {
    text-align: center;
}


/* Map Section */

.map {
    display: flex;            /* Flexbox aktivieren */
    flex-direction: column;   /* Elemente vertikal anordnen (statt nebeneinander) */
    justify-content: center;  /* Vertikale Zentrierung */
    align-items: center;      /* Horizontale Zentrierung */
    height: 60vh;            /* Höhe des Containers auf 100% des Viewports setzen */
    padding: 40px  40px;               /* Padding entfernen, um die Karte optimal zu positionieren */
    margin: 0;                /* Margin entfernen */
}

/* Überschrift */
.map h2 {
    margin-bottom: 20px;      /* Abstand zwischen Überschrift und Karte */
    text-align: center;       /* Text der Überschrift zentrieren */
}

/* Map View (die Karte selbst) */
.map-view {
    display: flex;            /* Flexbox aktivieren */
    justify-content: center;  /* Horizontale Zentrierung */
    align-items: center;      /* Vertikale Zentrierung */
    padding: 40px;            /* Padding für den Container */
    text-align: center;
}

/* Karte */
#map {
    width: 80%;               /* Die Breite der Karte */
    height: 400px;            /* Höhe der Karte */
}


/* Footer */
footer {
    text-align: center;
    padding: 20px;
    padding-bottom: 50px;
    background-color: #333; /* Schwarzer Hintergrund für den Footer */
    color: white;
    font-size: 14px;
}

/* Versteckter Text */
.hidden-text {
    position: absolute;
    left: -9999px;
}

/* Zentrierung von Bildern/Videos in der Galerie */
.gallery-container,
.video-gallery {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.gallery-container img,
.video-gallery video {
    margin: 10px;
}

/* Wenn weniger Bilder/Videos vorhanden sind, zentrieren */
.gallery-container img,
.video-gallery video {
    margin-left: auto;
    margin-right: auto;
}

/* Anpassungen für größere Bildschirme */
@media (min-width: 768px) {
    .service-item {
        width: calc(33.33% - 20px);
    }
}

    /* Buchungsformular */
    .booking-form {
        max-width: 600px;
        margin: 40px auto;
        padding: 30px;
        background-color: white;
        border-radius: 10px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }

    .booking-form h2 {
        text-align: center;
        font-size: 28px;
        margin-bottom: 20px;
    }

    .booking-form label {
        display: block;
        margin-bottom: 8px;
        font-weight: bold;
        text-align: left;
    }

    .booking-form input,
    .booking-form select,
    .booking-form button {
        width: 100%;
        padding: 10px;
        margin-bottom: 20px;
        border: 1px solid #ccc;
        border-radius: 5px;
        box-sizing: border-box;
    }

    .booking-form button {
        background-color: #333;
        color: white;
        font-size: 16px;
        cursor: pointer;
    }

    .booking-form button:hover {
        background-color: #555;
    }

    /* --- Abschnitt für Stornierung --- */
    .cancel-booking {
        background-color: #f8f8f8;
        padding: 40px 20px;
        margin: 40px auto;
        max-width: 600px;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

    .cancel-booking h2 {
        font-size: 1.8em;
        margin-bottom: 20px;
        color: #333;
        text-align: center;
    }

    .cancel-booking form {
        display: flex;
        flex-direction: column;
    }

    .cancel-booking label {
        margin-bottom: 8px;
        font-weight: bold;
        color: #444;
    }

    .cancel-booking input {
        padding: 10px;
        margin-bottom: 20px;
        border: 1px solid #ccc;
        border-radius: 6px;
        font-size: 1em;
    }

    .cancel-booking button {
        background-color: #d9534f;
        color: #fff;
        padding: 12px;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        font-size: 1em;
        transition: background-color 0.3s ease;
    }

    .cancel-booking button:hover {
        background-color: #c9302c;
    }

    /* Erfolgs-/Fehlermeldung */
    .cancel-booking .message {
        margin-top: 15px;
        padding: 10px;
        border-radius: 6px;
        text-align: center;
        font-weight: bold;
    }

    .cancel-booking .message.success {
        background-color: #dff0d8;
        color: #3c763d;
    }

    .cancel-booking .message.error {
        background-color: #f2dede;
        color: #a94442;
    }

    #time-slots {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* 3 Kacheln pro Reihe */
        gap: 10px;
        margin-top: 20px;
    }

    /* Grid für Datum- und Zeit-Kacheln */
    .slots-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
        gap: 10px;
        margin: 10px 0;
    }
    
    /* Gemeinsame Styles für Zeit- und Datumskacheln */
    .time-slot,
    .date-slot {
        padding: 10px;
        text-align: center;
        background: #f5f5f5;
        border: 1px solid #ccc;
        border-radius: 8px;
        cursor: pointer;
        user-select: none;
        transition: background 0.2s, transform 0.1s;
        font-weight: bold;
    }
    
    /* Hover-Effekt */
    .time-slot:hover:not(.booked),
    .date-slot:hover {
        background: #e0e0e0;
        transform: scale(1.05);
    }
    
    /* Ausgegraut (belegt) */
    .time-slot.booked {
        background: #ddd;
        color: #999;
        cursor: not-allowed;
    }
    
    /* Ausgewählt */
    .time-slot.selected,
    .date-slot.selected {
        background: #4caf50;
        color: #fff;
        border-color: #388e3c;
    }
    

  /* Photo Slider*/
.slider-container {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: auto;
    overflow: hidden;
}

.slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.slide {
    min-width: 100%;
    max-width: 100%;
}

.slide img {
    width: 100%;
    height: auto;
}

button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
}

.prev {
    left: 0;
}

.next {
    right: 0;
}

/* Responsive Anpassung */
@media screen and (max-width: 768px) {
    .slider-container {
        max-width: 100%;
    }
}

/* Stil für das WhatsApp-Banner */

.whatsapp-banner {
    background-color: #ffffff; /* Hintergrundfarbe setzen Grün #25D366*/
    color: rgb(0, 0, 0);              /* Textfarbe auf Weiß setzen */
    padding: 10px 20px;        /* Innenabstand: oben und unten 10px, links und rechts 20px */
    position: fixed;           /* Position auf "fixed" setzen, damit das Banner immer am Bildschirm bleibt */
    bottom: 0;                 /* Das Banner wird an den unteren Rand des Bildschirms positioniert */
    left: 0;                   /* Das Banner wird an den linken Rand des Bildschirms positioniert */
    width: 100%;               /* Das Banner nimmt die gesamte Breite des Bildschirms ein */
    text-align: center;        /* Der Text im Banner wird horizontal zentriert */
    font-size: 18px;           /* Schriftgröße auf 18px setzen */
    display: flex;             /* Flexbox aktivieren, um den Inhalt (Text und Icon) besser anzuordnen */
    align-items: center;       /* Vertikale Zentrierung der Flexbox-Elemente (Text und Icon) */
    justify-content: center;   /* Horizontale Zentrierung der Flexbox-Elemente (Text und Icon) */
    z-index: 9999;             /* Das Banner wird immer im Vordergrund angezeigt */
}

.whatsapp-banner a {
    color: rgb(0, 0, 0);              /* Linkfarbe auf Weiß setzen */
    text-decoration: none;     /* Unterstreichung von Links entfernen */
    font-weight: bold;         /* Linktext fett machen */
    margin-left: 10px;         /* Abstand von 10px zwischen dem Icon und dem Text */
}

.whatsapp-icon {
    width: 30px;               /* Die Breite des WhatsApp-Icons auf 30px setzen */
    height: 30px;              /* Die Höhe des WhatsApp-Icons auf 30px setzen */
    background-image: url('https://upload.wikimedia.org/wikipedia/commons/6/6b/WhatsApp.svg'); /* Das Icon als Hintergrundbild einfügen */
    background-size: cover;    /* Das Hintergrundbild wird skaliert, sodass es den gesamten Bereich des Elements abdeckt */
    margin-right: 10px;        /* Abstand von 10px zwischen dem Icon und dem Text */
}
