/* Reset et styles de base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* Importation des polices élégantes pour un rendu moderne et raffiné */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
body {
  font-family: 'Inter', sans-serif;
  background: #1f1f1f;
  color: #1f2937;
  line-height: 1.6;
  overflow-x: hidden;
  overflow-y: auto; /* ✅ Ajout essentiel pour scroller sur mobile */
}
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}
/* Navigation */
header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    padding: 20px 0;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}
.logo h1 {
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 300;
    font-family: 'Playfair Display', serif;
    letter-spacing: 2px;
}
.nav-menu ul {
    display: flex;
    list-style: none;
    gap: 3rem;
}
.nav-menu a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 300;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    position: relative;
}
.nav-menu a:hover,
.nav-menu a.active {
    color: #cccccc;
}
.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #ffffff;
    transition: width 0.3s ease;
}
.nav-menu a:hover::after,
.nav-menu a.active::after {
    width: 100%;
}
.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
}
.hamburger span {
    width: 25px;
    height: 2px;
    background-color: #fff;
    margin: 3px 0;
    transition: 0.3s;
}
/* Styles pour les images de fond */
.background-image-1 {
    background-image: url('../background/DSC00354.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.background-image-2 {
    background-image: url('../background/DSC08177.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.background-image-3 {
    background-image: url('../background/DSC01674.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.background-image-4 {
    background-image: url('../background/DSC04726.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.background-image-5 {
    background-image: url('../background/DSC04188-2-Edit.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.background-image-6 {
    background-image: url('../background/DSC07984.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.background-image-7 {
    background-image: url('../background/DSC04185.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.background-image-8 {
    background-image: url('../background/DSC06071.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}
/* Overlay pour améliorer la lisibilité */
.section-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}
.section-overlay-light::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.85);
    z-index: 1;
}
.section-content {
    position: relative;
    z-index: 2;
}
/* Page d'accueil - Hero Section */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}
.hero-content {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.hero h1 {
    font-size: 4.5rem;
    font-weight: 400;
    margin-bottom: 2rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    letter-spacing: 2px;
    line-height: 1.1;
}
.hero-divider {
    width: 80px;
    height: 2px;
    background-color: #ffffff;
    margin: 2rem auto;
    opacity: 0.8;
}
.hero-subtitle {
    font-size: 1.2rem;
    margin-bottom: 3rem;
    color: #ffffff;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
    font-weight: 300;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.cta-buttons {
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
}
/* Boutons */
.btn {
    display: inline-block;
    padding: 15px 35px;
    text-decoration: none;
    border-radius: 0;
    font-weight: 400;
    text-align: center;
    transition: all 0.4s ease;
    cursor: pointer;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 2px solid #ffffff;
    background-color: transparent;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}
.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    transition: left 0.4s ease;
    z-index: -1;
}
.btn:hover::before {
    left: 0;
}
.btn:hover {
    color: #000000;
    border-color: #ffffff;
}
.btn-primary {
    background-color: #ffffff;
    color: #000000;
    border: 2px solid #ffffff;
}
.btn-primary::before {
    background-color: #000000;
}
.btn-primary:hover {
    color: #ffffff;
    background-color: transparent;
}
.btn-secondary {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
}
/* Sections */
.about {
    min-height: 100vh;
    display: flex;
    align-items: center;
    text-align: center;
    position: relative;
}
.about .container {
    position: relative;
    z-index: 2;
}
.about h2 {
    font-size: 3.5rem;
    margin-bottom: 2rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.7);
}
.about p {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    color: #ffffff;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
    font-weight: 300;
    line-height: 1.8;
}
/* Services */
.services {
    padding: 120px 0;
    background-color: #000000;
}
.services h2 {
    text-align: center;
    font-size: 3.5rem;
    margin-bottom: 4rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    letter-spacing: 1px;
}
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3rem;
}
.service-card {
    background: #111111;
    border-radius: 0;
    overflow: hidden;
    transition: all 0.4s ease;
    position: relative;
}
.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(255,255,255,0.1);
}
.service-card img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.service-card:hover img {
    transform: scale(1.05);
}
.service-card h3 {
    padding: 2rem 2rem 1rem;
    font-size: 1.8rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.service-card p {
    padding: 0 2rem 2rem;
    color: #cccccc;
    font-weight: 300;
    line-height: 1.7;
}
/* Sections Hero pour toutes les pages */
.gallery-hero, .shooting-hero, .contact-hero, .tarifs-hero {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}
.gallery-hero .container, .shooting-hero .container, .contact-hero .container, .tarifs-hero .container {
    position: relative;
    z-index: 2;
}
.gallery-hero h1, .shooting-hero h1, .contact-hero h1, .tarifs-hero h1 {
    font-size: 4rem;
    margin-bottom: 2rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    letter-spacing: 1px;
}
.gallery-hero p, .shooting-hero p, .contact-hero p, .tarifs-hero p {
    font-size: 1.3rem;
    color: #ffffff;
    max-width: 700px;
    margin: 0 auto 3rem;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
    font-weight: 300;
    line-height: 1.8;
}
/* Galerie */
.gallery-filters {
    padding: 60px 0;
    background-color: #000000;
}
.filter-buttons {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
}
.filter-btn {
    padding: 12px 25px;
    background-color: transparent;
    border: 1px solid #ffffff;
    color: #ffffff;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
}
.filter-btn.active,
.filter-btn:hover {
    background-color: #ffffff;
    color: #000000;
}
/* Sections avec arrière-plans */
.section-with-background {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
}
.section-with-background.half-height {
    min-height: 60vh;
}
.section-with-background .container {
    position: relative;
    z-index: 2;
    width: 100%;
}
/* Formulaires */
.shooting-form, .contact-content {
    padding: 100px 0;
    background-color: #000000;
}
.form-group select,
.form-group option {
  background-color: #1f1f1f; /* fond foncé */
  color: #ffffff;           /* texte lisible */
}

/* Option sélectionnée */
.form-group select:focus option:checked {
  background-color: #333333;
  color: #ffffff;
}
.form-container, .contact-form-container {
    max-width: 700px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.05);
    padding: 3rem;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: start;
}
.contact-info h2, .form-container h2, .contact-form-container h2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.form-group {
    margin-bottom: 2rem;
}
.form-group label {
    display: block;
    margin-bottom: 0.8rem;
    font-weight: 300;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 15px 0;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    background-color: transparent;
    color: #ffffff;
    font-size: 1rem;
    transition: border-color 0.3s ease;
    font-family: 'Montserrat', sans-serif;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-bottom-color: #ffffff;
}
.form-group input::placeholder,
.form-group textarea::placeholder {
    color: rgba(255, 255, 255, 0.5);
}
/* Contact */
.contact-details {
    margin: 3rem 0;
}
.contact-item {
    margin-bottom: 2rem;
}
.contact-item h3 {
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.contact-item p {
    color: #cccccc;
    margin-bottom: 0.5rem;
    font-weight: 300;
}
.social-links {
    margin-top: 3rem;
}
.social-icons {
    display: flex;
    gap: 1.5rem;
    margin-top: 1rem;
}
.social-link {
    color: #ffffff;
    text-decoration: none;
    padding: 0.8rem 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.8rem;
}
.social-link:hover {
    background-color: #ffffff;
    color: #000000;
}
/* Tarifs */
.tarifs-seances {
    padding: 100px 0;
    background-color: #000000;
}
.tarifs-seances h2 {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 4rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.tarifs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 3rem;
}
.tarif-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 3rem;
    text-align: center;
    transition: all 0.4s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}
.tarif-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.08);
}
.tarif-card h3 {
    font-size: 2rem;
    margin-bottom: 1rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.tarif-subtitle {
    color: #cccccc;
    margin-bottom: 2rem;
    font-style: italic;
    font-weight: 300;
}
.tarif-price {
    font-size: 3rem;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 2rem;
    font-family: 'Montserrat', sans-serif;
}
.tarif-price span {
    font-size: 1.2rem;
    color: #cccccc;
}
.tarif-details {
    list-style: none;
    padding: 0;
    text-align: left;
}
.tarif-details li {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #cccccc;
    font-weight: 300;
}
.tarif-details li:last-child {
    border-bottom: none;
}
/* Extras et autres sections avec arrière-plans */
.extras-section, .faq-section, .formules-mariage, .frais-deplacement {
    padding: 100px 0;
    position: relative;
}
.extras-section h2, .faq-section h2, .formules-mariage h2, .frais-deplacement h2 {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 4rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.7);
}
.extras-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2.5rem;
}
.extra-item {
    background: rgba(255, 255, 255, 0.05);
    padding: 2.5rem;
    text-align: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s ease;
}
.extra-item:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-5px);
}
.extra-item h3 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.extra-price {
    font-size: 2.2rem;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 1rem;
}
.extra-item p:last-child {
    color: #cccccc;
    font-size: 0.95rem;
    font-weight: 300;
}
/* FAQ */
.faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 3rem;
}
.faq-item {
    background: rgba(255, 255, 255, 0.05);
    padding: 2.5rem;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s ease;
}
.faq-item:hover {
    background: rgba(255, 255, 255, 0.08);
}
.faq-item h3 {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.faq-item p {
    color: #cccccc;
    font-weight: 300;
    line-height: 1.7;
}
/* CTA Section */
.cta-section {
    background-color: #000000;
    color: #fff;
    text-align: center;
    padding: 120px 0;
}
.cta-section h2 {
    font-size: 3.5rem;
    margin-bottom: 2rem;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.cta-section p {
    font-size: 1.3rem;
    margin-bottom: 3rem;
    opacity: 0.9;
    font-weight: 300;
}
/* Footer */
footer {
    background-color: #111111;
    color: #cccccc;
    padding: 80px 0 40px;
}
.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    margin-bottom: 3rem;
}
.footer-section h3 {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    font-family: 'Playfair Display', serif;
    color: #ffffff;
    font-weight: 400;
}
.footer-section ul {
    list-style: none;
}
.footer-section ul li {
    margin-bottom: 0.8rem;
}
.footer-section a {
    color: #cccccc;
    text-decoration: none;
    transition: color 0.3s ease;
    font-weight: 300;
}
.footer-section a:hover {
    color: #ffffff;
}
.footer-bottom {
    text-align: center;
    padding-top: 3rem;
    border-top: 1px solid #333;
    color: #888;
    font-weight: 300;
}
/* Lightbox */
.lightbox {
    display: none;
    position: fixed;
    z-index: 2000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.95);
}
.lightbox-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 90%;
    margin-top: 5%;
}
.lightbox-close {
    position: absolute;
    top: 25px;
    right: 45px;
    color: #fff;
    font-size: 50px;
    font-weight: 300;
    cursor: pointer;
    transition: opacity 0.3s ease;
}
.lightbox-close:hover {
    opacity: 0.7;
}
.lightbox-caption {
    text-align: center;
    color: #fff;
    padding: 30px;
    font-size: 1.3rem;
    font-weight: 300;
}
.cookie-link {
  font-size: 0.9rem;
  color: #aaa;
  text-decoration: underline;
  cursor: pointer;
}
/* Responsive */
@media (max-width: 768px) {
    .container {
        padding: 0 20px;
    }
    nav {
        padding: 0 20px;
    }
    .hamburger {
        display: flex;
    }
    .nav-menu {
        position: fixed;
        left: -100%;
        top: 70px;
        flex-direction: column;
        background-color: rgba(0, 0, 0, 0.95);
        width: 100%;
        text-align: center;
        transition: 0.3s;
        padding: 3rem 0;
        backdrop-filter: blur(10px);
        height: calc(100dvh - 70px);
        overflow-y: auto;
    }
    .nav-menu.active {
        left: 0;
    }
    .nav-menu ul {
        flex-direction: column;
        gap: 2rem;
    }
    .hero h1 {
        font-size: 2.5rem;
    }
    .gallery-hero h1, .shooting-hero h1, .contact-hero h1, .tarifs-hero h1 {
        font-size: 2.5rem;
    }
    .about h2, .services h2 {
        font-size: 2.5rem;
    }
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    .services-grid, .gallery-container, .tarifs-grid {
        grid-template-columns: 1fr;
    }
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .filter-buttons {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 1rem;
    }
    .cookie-content {
        flex-direction: column;
        text-align: center;
    }
    .cookie-buttons {
        justify-content: center;
    }
}

/*
 * ==========================
 * Page d'erreur 404
 *
 * Ces styles définissent la mise en page et la typographie de la
 * section héroïque affichée lorsque l'utilisateur tente d'accéder
 * à une page inexistante. L'objectif est de conserver l'esthétique
 * sombre et épurée du site tout en signalant clairement l'erreur.
 */
.error-hero {
    /* Hauteur généreuse pour centrer le contenu verticalement */
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}
.error-hero .container {
    position: relative;
    z-index: 2;
}
.error-hero h1 {
    font-size: 6rem;
    margin-bottom: 1rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    letter-spacing: 1px;
}
.error-hero p {
    font-size: 1.4rem;
    color: #ffffff;
    max-width: 700px;
    margin: 0 auto 2rem;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
    font-weight: 300;
    line-height: 1.8;
}
.error-hero .btn {
    margin: 0.5rem;
}
@media (max-width: 480px) {
    .hero h1 {
        font-size: 2rem;
    }
    .gallery-hero h1, .shooting-hero h1, .contact-hero h1, .tarifs-hero h1 {
        font-size: 2rem;
    }
    .btn {
        padding: 12px 25px;
        font-size: 0.8rem;
    }
    .form-container, .contact-form-container {
        padding: 2rem;
    }
}
/* Animations */
.gallery-item.hidden {
    display: none;
}
.gallery-item.show {
    display: block;
    animation: fadeInUp 0.6s ease-out;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* Styles spécifiques pour les logos */
.site-logo {
    height: 60px;
    width: auto;
    vertical-align: middle;
}
/* Styles pour les formules de mariage */
.formules-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 3rem;
}
.formule-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 3rem;
    text-align: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s ease;
}
.formule-card.featured {
    border: 2px solid rgba(255, 255, 255, 0.3);
    transform: scale(1.05);
}
.formule-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.08);
}
.formule-card.featured:hover {
    transform: scale(1.05) translateY(-10px);
}
.formule-card h3 {
    font-size: 2rem;
    margin-bottom: 1rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.formule-price {
    font-size: 3rem;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 2rem;
}
.formule-details {
    list-style: none;
    padding: 0;
    text-align: left;
    margin-bottom: 2rem;
}
.formule-details li {
    padding: 0.8rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #cccccc;
    font-weight: 300;
}
.formule-details li:last-child {
    border-bottom: none;
}
.formule-extras h4 {
    color: #ffffff;
    margin-bottom: 1rem;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.formule-extras ul {
    list-style: none;
    padding: 0;
}
.formule-extras li {
    padding: 0.5rem 0;
    color: #cccccc;
    font-size: 0.9rem;
    font-weight: 300;
}
/* Zones de déplacement */
.zones-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}
.zone-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 2rem;
    text-align: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s ease;
}
.zone-card:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-5px);
}
.zone-card h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}
.zone-location {
    color: #cccccc;
    margin-bottom: 1rem;
    font-weight: 300;
}
.zone-price {
    font-size: 2rem;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 0.5rem;
}
.zone-card p:last-child {
    color: #cccccc;
    font-size: 0.9rem;
    font-weight: 300;
}
.deplacement-intro {
    text-align: center;
    color: #cccccc;
    margin-bottom: 3rem;
    font-weight: 300;
    font-style: italic;
}
/* Styles pour la galerie Masonry */
.grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 15px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
}
.grid-item {
    width: 33.333%;
    padding: 15px;
    position: relative;
    cursor: pointer;
    transition: all 0.4s ease;
    box-sizing: border-box;
}
.grid-item a.photo-text-more {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    transition: all 0.4s ease;
}
.grid-item:hover a.photo-text-more {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}
.grid-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
    border-radius: 8px;
}
.grid-item:hover img {
    transform: scale(1.05);
}
.grid-item.loaded {
    opacity: 1;
    animation: fadeInUp 0.6s ease-out;
}
.grid-item:not(.loaded) {
    opacity: 0;
}
/* Overlay pour les éléments de la grille */
.grid-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.4s ease;
    z-index: 1;
    pointer-events: none;
}
.grid-item:hover::before {
    background: rgba(0, 0, 0, 0.3);
}
/* Styles pour le loader de chargement infini */
.page-load-status {
    display: none;
    padding: 3rem 0;
    text-align: center;
    color: #ffffff;
}
.infinite-scroll-request {
    display: block;
}
.infinite-scroll-last,
.infinite-scroll-error {
    display: none;
    font-size: 1.1rem;
    color: #cccccc;
    font-weight: 300;
}
.loader-ellips {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}
.loader-ellips__dot {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #ffffff;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.loader-ellips__dot:nth-child(1) {
    left: 8px;
    animation: loader-ellips1 0.6s infinite;
}
.loader-ellips__dot:nth-child(2) {
    left: 8px;
    animation: loader-ellips2 0.6s infinite;
}
.loader-ellips__dot:nth-child(3) {
    left: 32px;
    animation: loader-ellips2 0.6s infinite;
}
.loader-ellips__dot:nth-child(4) {
    left: 56px;
    animation: loader-ellips3 0.6s infinite;
}
@keyframes loader-ellips1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes loader-ellips3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes loader-ellips2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}
/* Responsive pour la galerie Masonry */
@media (max-width: 1024px) {
    .grid-item {
        width: 50%;
        padding: 12px;
    }
}
@media (max-width: 768px) {
    .grid-item {
        width: 100%;
        padding: 10px;
    }
}
/* Styles pour les filtres de galerie (compatibles avec Masonry) */
.gallery-filters {
    padding: 60px 0;
    background-color: #000000;
}
.filter-buttons {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
}
.filter-btn {
    padding: 12px 25px;
    background-color: transparent;
    border: 1px solid #ffffff;
    color: #ffffff;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
}
.filter-btn.active,
.filter-btn:hover {
    background-color: #ffffff;
    color: #000000;
}
/* Styles pour les éléments cachés par les filtres */
.grid-item.hidden {
    display: none;
}
.grid-item.show {
    display: block;
}
/* Styles pour l'aperçu de galerie sur la page d'accueil */
.gallery-preview {
    padding: 120px 0;
    background-color: #000000;
}
.gallery-preview h2 {
    text-align: center;
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    letter-spacing: 1px;
}
.gallery-preview-subtitle {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 4rem;
    color: #cccccc;
    font-weight: 300;
    font-style: italic;
}


.gallery-preview-cta {
    text-align: center;
    margin-top: 3rem;
}
/* Responsive pour l'aperçu de galerie */
@media (max-width: 1024px) {
    .grid-preview .grid-item {
        width: 33.333%;
        padding: 8px;
    }
}
@media (max-width: 768px) {
    .grid-preview .grid-item {
        width: 50%;
        padding: 6px;
    }
    .gallery-preview h2 {
        font-size: 2.5rem;
    }
}
@media (max-width: 480px) {
    .grid-preview .grid-item {
        width: 100%;
        padding: 5px;
    }
    .gallery-preview h2 {
        font-size: 2rem;
    }
}
.payment-container {
            max-width: 800px;
            margin: 2rem auto;
            padding: 2rem;
            background: white;
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            color: #000;
        }
        .payment-header {
            text-align: center;
            margin-bottom: 2rem;
            padding-bottom: 1rem;
            border-bottom: 2px solid #f0f0f0;
        }
        .order-summary {
            background: #f8f9fa;
            padding: 1.5rem;
            border-radius: 8px;
            margin-bottom: 2rem;
        }
        .order-item {
            display: flex;
            justify-content: space-between;
            margin-bottom: 0.5rem;
            padding: 0.5rem 0;
        }
        .order-total {
            font-weight: bold;
            font-size: 1.2rem;
            border-top: 2px solid #ddd;
            padding-top: 1rem;
            margin-top: 1rem;
        }
        .payment-methods {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            margin-bottom: 2rem;
        }
        .payment-method {
            border: 2px solid #e0e0e0;
            border-radius: 8px;
            padding: 1.5rem;
            cursor: pointer;
            transition: all 0.3s ease;
            text-align: center;
        }
        .payment-method:hover {
            border-color: #007bff;
            box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
        }
        .payment-method.active {
            border-color: #007bff;
            background-color: #f8f9ff;
        }
        .payment-method h3 {
            margin: 0 0 1rem 0;
            color: #333;
        }
        .payment-method .method-logo {
            font-size: 2rem;
            margin-bottom: 1rem;
        }
        .payment-form {
            display: none;
            margin-top: 2rem;
        }
        .payment-form.active {
            display: block;
        }
        .stripe-card-simulation {
            border: 1px solid #ddd;
            border-radius: 8px;
            padding: 1rem;
            background: white;
        }
        .card-input-group {
            margin-bottom: 1rem;
            position: relative;
        }
        .card-input-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }
        .card-input {
            width: 100%;
            padding: 0.75rem;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 1rem;
            transition: border-color 0.3s ease;
        }
        .card-input:focus {
            outline: none;
            border-color: #007bff;
            box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
        }
        .card-input-group label {
            display: block;
            margin-bottom: 0.5rem;
            font-weight: 500;
            color: #555;
        }
        .paypal-simulation {
            text-align: center;
            padding: 2rem;
            background: #f8f9fa;
            border-radius: 8px;
        }
        .payment-button {
            width: 100%;
            padding: 1rem 2rem;
            font-size: 1.1rem;
            font-weight: bold;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-top: 1rem;
        }
        .stripe-button {
            background: #635bff;
            color: white;
        }
        .stripe-button:hover {
            background: #5a54d9;
        }
        .paypal-button {
            background: #0070ba;
            color: white;
        }
        .paypal-button:hover {
            background: #005ea6;
        }
        .payment-button:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        .payment-loading {
            display: none;
            text-align: center;
            padding: 1rem;
            color: #007bff;
        }
        .payment-error {
            display: none;
            background: #f8d7da;
            color: #721c24;
            padding: 1rem;
            border-radius: 4px;
            margin-top: 1rem;
        }
        .payment-success {
            display: none;
            text-align: center;
            padding: 2rem;
            background: #d4edda;
            color: #155724;
            border-radius: 8px;
        }
        .success-icon {
            font-size: 3rem;
            color: #28a745;
            margin-bottom: 1rem;
        }
        .transaction-details {
            background: white;
            padding: 1.5rem;
            border-radius: 8px;
            margin-top: 1rem;
            text-align: left;
        }
        .security-info {
            background: #e7f3ff;
            padding: 1rem;
            border-radius: 4px;
            margin-top: 1rem;
            font-size: 0.9rem;
            color: #0066cc;
        }
        .back-button {
            display: inline-block;
            margin-bottom: 1rem;
            color: #007bff;
            text-decoration: none;
            font-weight: 500;
        }
        .back-button:hover {
            text-decoration: underline;
        }
        @media (max-width: 768px) {
            .payment-methods {
                grid-template-columns: 1fr;
                gap: 1rem;
            }
            .card-input-row {
                grid-template-columns: 1fr;
            }
            .payment-container {
                margin: 1rem;
                padding: 1rem;
            }
        }
/* SOLUTION AGRESSIVE - Grid d'images sur TOUTE la largeur du site */
/* Forcer la section gallery-preview à utiliser toute la largeur */
.gallery-preview {
    padding: 120px 0;
    background-color: #000000;
    width: 100vw !important; /* Force la largeur à 100% de la viewport */
    margin-left: calc(-50vw + 50%) !important; /* Centre la section en pleine largeur */
    position: relative;
}
.gallery-preview .container {
    max-width: none !important; /* Supprime toute limitation de largeur */
    width: 100% !important;
    padding: 0 20px !important; /* Padding minimal */
    margin: 0 auto;
}

.preview-item {
    padding: 0 !important;
    margin: 0 !important;
}

.preview-item img {
    display: block;
    width: 100%;
    height: auto;
}




/* Responsive pour grands écrans */
@media (min-width: 1600px) {
    .grid-preview .grid-item {
        flex: 1 1 calc(20% - 15px); /* 5 colonnes sur très grands écrans */
        max-width: calc(20% - 15px);
    }
}
@media (min-width: 1200px) and (max-width: 1599px) {
    .grid-preview .grid-item {
        flex: 1 1 calc(25% - 15px); /* 4 colonnes */
        max-width: calc(25% - 15px);
    }
}
@media (min-width: 900px) and (max-width: 1199px) {
    .grid-preview .grid-item {
        flex: 1 1 calc(33.333% - 15px); /* 3 colonnes */
        max-width: calc(33.333% - 15px);
    }
}
@media (min-width: 600px) and (max-width: 899px) {
    .grid-preview .grid-item {
        flex: 1 1 calc(50% - 15px); /* 2 colonnes */
        max-width: calc(50% - 15px);
    }
    .gallery-preview .container {
        padding: 0 15px !important;
    }
}
@media (max-width: 599px) {
    .grid-preview .grid-item {
        flex: 1 1 100%; /* 1 colonne */
        max-width: 100%;
    }
    .gallery-preview .container {
        padding: 0 10px !important;
    }
}
.cgv-container {
  padding: 140px 0 60px; 
  background-color: #111;
  color: #f0f0f0;
  font-family: 'Source Sans Pro', sans-serif;
  line-height: 1.7;
}
.cgv-container .container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.cgv-container h1 {
  font-family: 'Playfair Display', serif;
  font-size: 3rem;
  margin-bottom: 1.5rem;
  color: #ffffff;
  text-align: center;
}
.cgv-container p {
  margin-bottom: 1.2rem;
  font-size: 1.05rem;
  color: #dddddd;
}
.cgv-container section {
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.cgv-container h2 {
  font-size: 1.8rem;
  font-family: 'Playfair Display', serif;
  color: #ffffff;
  margin-bottom: 0.8rem;
  margin-top: 1.5rem;
}
.cgv-container a {
  color: #66ccff;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .cgv-container h1 {
    font-size: 2.2rem;
  }
  .cgv-container h2 {
    font-size: 1.5rem;
  }
}
.mentions-container {
  max-width: 1000px;
  margin: 120px auto 60px;
  padding: 0 20px;
  line-height: 1.8;
  font-size: 1rem;
  color: #ffffff;
}
/* Titre principal */
.mentions-title {
  font-size: 3rem;
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  text-align: center;
  margin-bottom: 2.5rem;
}
/* Sections */
.mentions-section {
  margin-bottom: 2.5rem;
}
.mentions-section h2 {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #ffffff;
}
.mentions-section p,
.mentions-section ul,
.mentions-section li {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 1rem;
  color: #dddddd;
}
.mentions-section ul {
  padding-left: 1.5rem;
  list-style: disc;
}
/* Liens */
.mentions-section a {
  color: #5da9ff;
  text-decoration: underline;
}
.mentions-section a:hover {
  color: #ffffff;
}
/* Lignes horizontales si tu veux en mettre */
.mentions-section hr {
  border: none;
  border-top: 1px solid #444;
  margin: 2rem 0;
}
.hidden {
  display: none;
}
.confirmation-section {
  padding: 120px 20px;
  background-color: #f7f7f7;
  min-height: 80vh;
  text-align: center;
  font-family: 'Source Sans Pro', sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.confirmation-section h1 {
  font-size: 3rem;
  font-family: 'Playfair Display', serif;
  color: #222;
  margin-bottom: 1.5rem;
}
.confirmation-message {
  font-size: 1.2rem;
  color: #444;
  margin-bottom: 1rem;
  line-height: 1.6;
}
.confirmation-cta {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.confirmation-btn {
  background-color: #000;
  color: #fff;
  padding: 12px 28px;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.confirmation-btn:hover {
  background-color: #333;
}
.confirmation-btn-secondary {
  background-color: transparent;
  color: #000;
  padding: 12px 28px;
  border: 2px solid #000;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}
.confirmation-btn-secondary:hover {
  background-color: #000;
  color: #fff;
}
@media (max-width: 768px) {
  .nav-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.95);
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
  }

  .nav-menu.active {
    display: flex;
  }

  .nav-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
  }

  .nav-menu ul li {
    margin: 1rem 0;
  }

  .nav-menu ul li a {
    font-size: 1.5rem;
    color: #fff;
    text-decoration: none;
  }
.background-image-1,
.background-image-2,
.background-image-3,
.background-image-4,
.background-image-5,
.background-image-6,
.background-image-7,
.background-image-8,
.background-image-9 {
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: scroll !important; /* évite les bugs de parallaxe sur mobile */
  background-repeat: no-repeat;
}

  .hamburger {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 10000;
    cursor: pointer;
    display: flex;
    flex-direction: column;
  }

  .hamburger span {
    background: #fff;
    height: 3px;
    width: 25px;
    margin: 4px 0;
    transition: all 0.3s ease;
  }

  .hamburger.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }

  .hamburger.open span:nth-child(2) {
    opacity: 0;
  }

  .hamburger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }
}




/* === GRILLE MASONRY (Responsive Mobile) === */
.grid,
.grid-preview {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
}

/* Mobile : 1 colonne forcée */
@media (max-width: 768px) {
  .grid-item,
  .grid-preview .grid-item {
    width: 100% !important;
    margin: 0 0 16px 0;
    box-sizing: border-box;
  }

  .grid-item img,
  .grid-preview .grid-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    object-fit: cover;
  }

  /* Évite les débordements */
  .grid,
  .grid-preview {
    padding: 0 10px;
    overflow: hidden;
  }
}

/* Desktop : remet Masonry si nécessaire (optionnel ici, Masonry gère déjà) */
@media (min-width: 769px) {
  .grid-item,
  .grid-preview .grid-item {
    width: calc(33.33% - 10px); /* 3 colonnes */
    margin-bottom: 16px;
  }

  .grid-item img,
  .grid-preview .grid-item img {
    width: 100%;
    display: block;
    border-radius: 6px;
  }

  .grid,
  .grid-preview {
    padding: 0;
  }
}

html, body {
  height: auto;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}

body {
  position: relative;
}

.contact-info p {
  color: #ffffff;
}

.grid-preview .grid-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.15);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.grid-preview .grid-item:hover::before { opacity: 1; }
.grid-preview .grid-item img { transform: none !important; } /* pas de zoom */

.booking-scope.pseudo-fullscreen {
  position: fixed;
  inset: 0;
  width: 100dvw;
  height: 100dvh;
  overflow: auto;
  z-index: 9999;
  background: var(--surface);
  -webkit-overflow-scrolling: touch;
}

.booking-scope.pseudo-fullscreen .booking-container {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

@media (min-width: 1024px) {
  .booking-scope.pseudo-fullscreen .booking-container {
    grid-template-columns: 3fr 1fr;
  }
}

/* -------------------------------------------------------
   Ajustements pour la bannière de cookies (TermsFeed)
   La bannière intégrée par le script cookieconsent est trop large
   sur les petits écrans. Les règles ci‑dessous réduisent la
   taille, la typographie et l’espacement afin qu’elle s’intègre
   correctement sur mobile.  Les classes utilisées proviennent
   du script cookieconsent v4 (préfixes .termsfeed-com---nb et
   .cc-nb-*) et sont ciblées avec !important pour surcharger
   les valeurs par défaut.  Si vous mettez à jour la version du
   script, vérifiez que les sélecteurs sont toujours valides.
------------------------------------------------------- */
@media (max-width: 600px) {
  /* Conteneur principal de la bannière */
  .termsfeed-com---nb {
    width: 90% !important;
    max-width: 90% !important;
    margin: 0 auto !important;
    left: 5% !important;
    right: 5% !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 1rem !important;
  }
  /* Réduire l’espace autour du contenu */
  .termsfeed-com---nb .cc-nb-main-container {
    padding: 1rem !important;
  }
  /* Ajuster les boutons et les liens */
  .termsfeed-com---nb .cc-nb-okagree,
  .termsfeed-com---nb .cc-nb-reject,
  .termsfeed-com---nb .cc-nb-changep {
    display: block !important;
    width: 100% !important;
    margin: 0.25rem 0 !important;
    font-size: 14px !important;
    padding: 0.5rem !important;
    text-align: center !important;
  }
  /* Texte de titre et paragraphe plus petit */
  .termsfeed-com---nb .cc-nb-title {
    font-size: 1.1rem !important;
  }
  .termsfeed-com---nb .cc-nb-text {
    font-size: 0.85rem !important;
  }
}

/*
 * Images de fond adaptées aux écrans mobiles (moins de 768 px).
 * Ces versions réduites limitent la bande passante sur mobile sans sacrifier la qualité.
 */
@media (max-width: 768px) {
    .background-image-1 { background-image: url('../background/DSC00354_mobile.webp'); }
    .background-image-2 { background-image: url('../background/DSC08177_mobile.webp'); }
    .background-image-3 { background-image: url('../background/DSC01674_mobile.webp'); }
    .background-image-4 { background-image: url('../background/DSC04726_mobile.webp'); }
    .background-image-5 { background-image: url('../background/DSC04188-2-Edit_mobile.webp'); }
    .background-image-6 { background-image: url('../background/DSC07984_mobile.webp'); }
    .background-image-7 { background-image: url('../background/DSC04185_mobile.webp'); }
    /* La huitième image réutilise la 6ème déclinaison mobile car DSC06071 est inutilisable */
    .background-image-8 { background-image: url('../background/DSC07984_mobile.webp'); }

    /* Désactiver l'effet de parallaxe sur mobile pour améliorer les performances */
    .background-image-1, .background-image-2, .background-image-3,
    .background-image-4, .background-image-5, .background-image-6,
    .background-image-7, .background-image-8 {
        background-attachment: scroll;
    }
}

