/* style.css - Thème Bleu Nuit & Cuivre pour Mafa Prestige */

:root {
    /* NOUVELLE PALETTE */
    --color-black-deep: #0A192F; /* Fond principal (Bleu Nuit profond) */
    --color-dark-surface: #172A45; /* Conteneurs et Header (Bleu plus sombre) */

    --color-gold-accent: #CC8855; /* CUIVRE / BRONZE pour l'accentuation */
    --color-gold-hover: #DDAA77;  /* Cuivre plus clair au survol */
    
    --color-white-text: #F0F8FF; /* Blanc cassé / Crémeux */
    --color-subtle-text: #A0B3CC; /* Texte secondaire lisible */

    --font-serif: 'Playfair Display', serif;
    --font-sans: 'Montserrat', sans-serif;
}

/* Vous pouvez garder les autres règles CSS (.bien-item, .gold-button) */
/* car elles utilisent déjà ces variables (par exemple, .gold-button utilise --color-gold-accent) */

/* --- GÉNÉRAL --- */
* {
    box-sizing: border-box; 
    margin: 0;
    padding: 0;
}

body.theme-dark {
    font-family: var(--font-sans);
    background-color: var(--color-black-deep);
    color: var(--color-white-text);
    line-height: 1.6;
}

h1, h2, h3 {
    font-family: var(--font-serif);
    font-weight: 700;
    color: var(--color-white-text); /* Par défaut, mais peut être surchargé en Gold */
}

/* Liens et accents */
a {
    color: var(--color-white-text);
    text-decoration: none;
    transition: color 0.3s;
}

a:hover, .gold-link:hover {
    color: var(--color-gold-accent);
}

.gold-accent {
    color: var(--color-gold-accent);
}

.gold-line {
    border: none;
    height: 1px;
    background-color: var(--color-gold-accent);
    opacity: 0.3;
    margin: 30px 0;
}

/* --- HEADER ET NAVIGATION --- */
.header-prestige {
    background-color: var(--color-dark-grey);
    padding: 20px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(184, 134, 11, 0.2);
}

.header-prestige.minimal {
    padding: 15px 5%;
}

.logo-text {
    font-size: 1.8em;
    letter-spacing: 2px;
}

.slogan {
    font-size: 0.8em;
    font-style: italic;
    letter-spacing: 1px;
    opacity: 0.7;
}

.main-nav a {
    margin-left: 25px;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.main-nav a.active {
    border-bottom: 1px solid var(--color-gold-accent);
    padding-bottom: 5px;
}

/* --- SECTION HÉROÏQUE (ACCUEIL) --- */
.hero-section {
    height: 70vh;
    background-image: url('./IMG/hero_background.jpg'); /* REMPLACER par votre image de luxe (voiture ou immobilier) */
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: center;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6); /* Overlay sombre pour faire ressortir le texte */
}

.hero-content {
    position: relative;
    max-width: 800px;
    padding: 20px;
}

.hero-title {
    font-size: 3.5em;
    letter-spacing: 3px;
    margin-bottom: 30px;
}

.hero-cta {
    font-size: 1.1em;
    padding: 12px 30px;
    text-transform: uppercase;
}

/* --- GRILLE DE SERVICES (ACCUEIL) --- */
.service-grid-home {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1px; /* Espacement minime entre les blocs */
    background-color: var(--color-dark-grey);
}

.service-block {
    position: relative;
    height: 250px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 25px;
    text-align: left;
    transition: transform 0.3s, opacity 0.3s;
    background-size: cover;
    background-position: center;
}

.service-block:hover {
    transform: scale(1.05);
    opacity: 0.9;
}

.service-block .overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5); /* Overlay sombre */
    transition: background-color 0.3s;
}

.service-block:hover .overlay {
    background-color: rgba(0, 0, 0, 0.7);
}

.service-block h3, .service-block p {
    position: relative;
    z-index: 2;
}

.service-block h3 {
    font-size: 1.5em;
    margin-bottom: 5px;
}

.service-block p {
    font-size: 0.9em;
    opacity: 0.8;
}

/* Images de fond pour la grille (à remplacer par vos images) */
.car-bg { background-image: url('assets/car-grid-bg.jpg'); }
.realestate-bg { background-image: url('assets/immo-grid-bg.jpg'); }
.transfer-bg { background-image: url('assets/transfer-grid-bg.jpg'); }
.insurance-bg { background-image: url('assets/assurance-grid-bg.jpg'); }
.flight-bg { background-image: url('assets/flight-grid-bg.jpg'); }

/* --- PAGE DE DÉTAIL DES SERVICES --- */
.service-details {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 5%;
}

.page-title {
    font-size: 2.5em;
    text-align: center;
    margin-bottom: 10px;
}

.intro-text {
    text-align: center;
    font-size: 1.1em;
    margin-bottom: 50px;
    opacity: 0.7;
}

/* --- BLOCS DE BIENS/OPTIONS (voiture.html, immobilier.html) --- */
.bien-item, .option-item {
    background-color: var(--color-dark-grey);
    padding: 40px;
    margin-bottom: 40px;
    border: 1px solid rgba(184, 134, 11, 0.1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.item-title {
    font-size: 2em;
    margin-bottom: 10px;
}

.item-description, .details {
    font-size: 1em;
    margin-bottom: 20px;
    opacity: 0.8;
}

/* --- GALERIE (SWIPER) --- */
.item-gallery {
    width: 100%;
    height: 450px; /* Taille fixe pour le prestige */
    margin-bottom: 30px;
    overflow: hidden;
}

.gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Personnalisation des flèches Swiper en Gold */
.swiper-button-next, .swiper-button-prev {
    color: var(--color-gold-accent) !important;
}

/* --- BOUTONS --- */
.gold-button {
    background-color: var(--color-gold-accent);
    color: var(--color-black-deep);
    border: none;
    padding: 10px 25px;
    font-size: 1em;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    font-family: var(--font-sans);
    font-weight: 700;
}

.gold-button:hover {
    background-color: #D4AF37; /* Or plus clair au survol */
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(184, 134, 11, 0.5);
}

.btn-whatsapp {
    margin-top: 20px;
    font-size: 1.1em;
}

/* --- FOOTER --- */
.footer-prestige {
    background-color: var(--color-dark-grey);
    text-align: center;
    padding: 20px 0;
    font-size: 0.85em;
    opacity: 0.7;
    border-top: 1px solid rgba(184, 134, 11, 0.2);
}

/* --- RESPONSIVE BASIQUE --- */
@media (max-width: 768px) {
    .header-prestige {
        flex-direction: column;
        text-align: center;
    }
    .main-nav {
        margin-top: 15px;
    }
    .main-nav a {
        display: block;
        margin: 8px 0;
    }
    .hero-title {
        font-size: 2.5em;
    }
    .item-gallery {
        height: 300px;
    }
    .service-details {
        padding: 30px 5%;
    }
}
/* --- NOUVEAUX STYLES POUR LES ICÔNES DE SERVICE --- */

/* Assurer le positionnement du contenu au-dessus de l'overlay */
.service-block .service-content {
    position: relative; 
    z-index: 2;
    /* Styles pour centrer le contenu verticalement si nécessaire, ou le laisser en bas */
}

.gold-icon {
    color: var(--color-gold-accent); /* Couleur Cuivre/Gold */
    font-size: 3em; /* Grande taille pour un impact visuel */
    margin-bottom: 15px;
    display: block; /* Force l'icône à prendre toute la ligne */
    text-align: center; /* Centre l'icône au-dessus du texte */
    
    /* Optionnel: Ajoute un léger effet d'ombre pour que l'icône "brille" */
    text-shadow: 0 0 10px rgba(204, 136, 85, 0.4); 
}

/* Ajustement du bloc pour centrer l'icône et le texte */
.service-block {
    /* Suppression de 'justify-content: flex-end;' si vous voulez centrer le contenu */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centre verticalement le contenu */
    align-items: center; /* Centre horizontalement le contenu */
    text-align: center;
    padding: 25px;
}

.service-block h3 {
    margin-top: 5px; /* Ajuste la distance après l'icône */
    font-size: 1.4em;
}
/* DANS style.css */

/* ---------------------------------------------------- */
/* NOUVELLE GRILLE DE VÉHICULES (voiture.html) */
/* ---------------------------------------------------- */
.car-grid {
    display: grid;
    /* Par défaut, 3 colonnes de taille égale */
    grid-template-columns: repeat(3, 1fr); 
    gap: 30px; /* Espace entre les cartes */
    max-width: 1200px; /* Largeur maximale de la grille */
    margin: 50px auto; /* Centre la grille et donne une marge verticale */
    padding: 0 20px; /* Padding sur les côtés pour éviter le bord sur mobile */
}

/* Style de chaque carte de véhicule */
.bien-item {
    background-color: var(--color-dark-surface); /* Couleur de fond des cartes */
    border-radius: 8px; /* Bords arrondis pour un look moderne */
    overflow: hidden; /* Important pour que les images ne débordent pas */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5); /* Ombre plus prononcée */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    display: flex; /* Flexbox pour le contenu interne */
    flex-direction: column; /* Organise les éléments en colonne */
}

.bien-item:hover {
    transform: translateY(-8px); /* Élève légèrement la carte au survol */
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7); /* Ombre encore plus intense */
}

/* Contenu textuel de la carte */
.bien-item .item-content {
    padding: 20px; /* Espace autour du texte et du bouton */
    flex-grow: 1; /* Permet au contenu de prendre l'espace restant */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Pour que le bouton soit en bas si le texte est court */
}

/* Style de la galerie Swiper à l'intérieur de la carte */
.item-gallery {
    width: 100%;
    height: 200px; /* Hauteur fixe pour l'image dans la carte (peut être ajustée) */
    position: relative;
    overflow: hidden;
    /* Pas de marge bottom ici, car le padding du .item-content gérera l'espace */
}

/* Ajustement de la taille du texte pour les cartes */
.bien-item .item-title {
    font-size: 1.3em; /* Taille du titre plus petite dans la carte */
    margin-bottom: 8px;
    color: var(--color-gold-accent); /* Mettez le titre en Cuivre/Gold */
}

.bien-item .item-description {
    font-size: 0.9em; /* Description plus compacte */
    color: var(--color-subtle-text);
    margin-bottom: 15px;
}

/* Style du bouton dans la carte */
.bien-item .btn-whatsapp {
    width: 100%; /* Le bouton prend toute la largeur de la carte */
    margin-top: auto; /* Pousse le bouton vers le bas */
    font-size: 0.9em;
    padding: 10px 15px;
    border-radius: 4px;
}

/* ---------------------------------------------------- */
/* POSITIONNEMENT ET STYLE DES FLÈCHES SWIPER (sur la photo) */
/* ---------------------------------------------------- */
.swiper-button-next, 
.swiper-button-prev {
    color: var(--color-white-text) !important; /* Flèches blanches pour contraster avec la photo */
    font-size: 1.8em !important; /* Taille des flèches */
    opacity: 0.8; /* Légèrement transparentes */
    transition: opacity 0.3s, background-color 0.3s;
    top: 50%;
    transform: translateY(-50%);
    width: 35px; /* Largeur du bouton */
    height: 35px; /* Hauteur du bouton */
    background-color: rgba(0, 0, 0, 0.4); /* Fond semi-transparent pour la lisibilité */
    border-radius: 50%; /* Boutons ronds */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10; /* Assure que les flèches sont au-dessus de l'image */
}

.swiper-button-next:hover, 
.swiper-button-prev:hover {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.7); /* Plus sombre au survol */
}

.swiper-button-prev {
    left: 10px;
}

.swiper-button-next {
    right: 10px;
}

/* Cacher le texte par défaut de Swiper (sinon ça gâche le design) */
.swiper-button-next::after, 
.swiper-button-prev::after {
    content: ''; 
}

/* Personnalisation de la pagination (les petits points sous l'image) */
.swiper-pagination {
    bottom: 10px !important; /* Positionnement au-dessus du bord inférieur de l'image */
}

.swiper-pagination-bullet {
    background: var(--color-white-text) !important; /* Points blancs */
    opacity: 0.6 !important;
}

.swiper-pagination-bullet-active {
    background: var(--color-gold-accent) !important; /* Point actif en Cuivre/Gold */
    opacity: 1 !important;
    transform: scale(1.2); /* Point actif légèrement plus grand */
}


/* ---------------------------------------------------- */
/* RESPONSIVE DESIGN (TRÈS IMPORTANT POUR LA GRILLE) */
/* ---------------------------------------------------- */

/* Sur les écrans moyens (tablettes), 2 colonnes */
@media (max-width: 992px) {
    .car-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
}

/* Sur les petits écrans (smartphones), 1 colonne */
@media (max-width: 576px) {
    .car-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .bien-item .item-title {
        font-size: 1.2em;
    }
    .bien-item .item-description {
        font-size: 0.85em;
    }
    .item-gallery {
        height: 180px; /* Hauteur légèrement réduite sur mobile */
    }
}

/* Ajustement pour le header et le titre général si besoin */
@media (max-width: 768px) {
    .header-prestige { flex-direction: column; }
    .main-nav { margin-top: 15px; }
    .page-title { font-size: 2em; }
    .intro-text { font-size: 0.95em; margin-bottom: 30px; }
}
/* --- SECTION PIED DE PAGE (FOOTER) --- */

/* Conteneur principal du pied de page */
.footer-prestige {
    background-color: var(--color-background-dark); /* Noir/Bleu très foncé */
    color: var(--color-white-text);
    padding: 40px 20px;
    text-align: center;
    border-top: 3px solid var(--color-gold-accent); /* Ligne supérieure en Cuivre */
    font-family: var(--font-body);
}

/* Section de contact spécifique dans le footer */
#contact {
    margin-bottom: 20px;
}

/* Style des paragraphes de contact */
.footer-prestige p {
    margin: 8px 0;
    font-size: 0.95em;
    line-height: 1.5;
}

/* Mise en avant du nom de l'entreprise (en gras) */
.footer-prestige p strong {
    font-weight: 700;
    color: var(--color-gold-accent);
}

/* Texte de contact (Téléphone / Email) */
.footer-prestige p:nth-child(2) {
    font-size: 1.1em;
    font-weight: 500;
}

/* Style du copyright */
.footer-prestige p:nth-child(3) {
    font-size: 0.85em;
    opacity: 0.7;
    margin-top: 20px;
}

/* Note personnalisée (location longue durée) */
.footer-note {
    font-style: italic;
    color: var(--color-gold-accent); /* Texte en couleur d'accent */
    margin-top: 25px !important;
    font-size: 0.9em !important;
}

/* Règle pour améliorer la lisibilité des liens (si vous les mettez) */
.footer-prestige a {
    color: var(--color-gold-accent);
    text-decoration: none;
    transition: color 0.3s;
}

.footer-prestige a:hover {
    color: #fff; /* Devient blanc au survol */
}
/* DANS style.css */

/* Style pour l'indication de la fourchette de prix */
.price-range-note {
    text-align: center;
    font-size: 1.1em;
    font-weight: 400;
    margin: 30px auto 40px auto;
    max-width: 800px;
    padding: 15px;
    border: 1px solid var(--color-gold-accent);
    border-radius: 4px;
    background-color: rgba(var(--color-gold-rgb), 0.05); /* Fond légèrement doré */
}

.price-range-note strong {
    font-weight: 700;
}
/* DANS style.css - Styles pour le Formulaire de Transfert */

/* Conteneur principal du formulaire */
.prestige-form {
    max-width: 800px;
    margin: 50px auto;
    padding: 30px;
    background-color: var(--color-dark-surface); /* Fond sombre */
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

/* Bloc d'information sur le prix */
.form-info-block {
    text-align: center;
    padding: 15px;
    margin-bottom: 30px;
    border: 1px solid var(--color-gold-accent);
    border-radius: 4px;
    background-color: rgba(var(--color-gold-rgb), 0.05);
}

.form-info-block p {
    margin: 5px 0;
    font-size: 0.9em;
}

.price-range-display {
    font-size: 1.4em;
    font-weight: bold;
    color: var(--color-white-text);
}

/* Fieldset et Legend pour les sections */
.prestige-form fieldset {
    border: none;
    padding: 20px 0;
    margin-bottom: 30px;
    border-top: 1px solid rgba(var(--color-white-rgb), 0.1); /* Séparateur léger */
}

.prestige-form fieldset:first-of-type {
    border-top: none; /* Pas de ligne en haut du premier bloc */
}

.section-title {
    font-size: 1.3em;
    font-weight: 700;
    color: var(--color-gold-accent);
    padding: 0 10px;
    margin-bottom: 20px;
    display: block; /* S'assure que le titre prend toute la largeur */
}

/* Groupes de labels et d'inputs */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.95em;
    font-weight: 500;
    color: var(--color-white-text);
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 12px;
    border: 1px solid rgba(var(--color-gold-rgb), 0.3);
    border-radius: 4px;
    background-color: var(--color-background-dark); /* Arrière-plan foncé pour les inputs */
    color: var(--color-white-text);
    font-size: 1em;
    box-sizing: border-box; /* Inclut padding et border dans la largeur totale */
    transition: border-color 0.3s, box-shadow 0.3s;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: var(--color-gold-accent);
    box-shadow: 0 0 0 1px var(--color-gold-accent);
    outline: none;
}

/* Styles pour les lignes (Date/Heure, Sièges/Véhicule) */
.form-row {
    display: flex;
    gap: 20px;
}

.half-width {
    flex: 1; /* Prend la moitié de la largeur */
}

/* Bouton de soumission (Reprend le style du .gold-button) */
.submit-transfert-btn {
    width: 100%;
    margin-top: 20px;
    padding: 15px;
    font-size: 1.1em;
    font-weight: 700;
    cursor: pointer;
}

/* RESPONSIVE DESIGN pour le formulaire */
@media (max-width: 650px) {
    .prestige-form {
        padding: 20px;
        margin: 30px 10px;
    }
    .form-row {
        flex-direction: column; /* Les colonnes deviennent des lignes sur mobile */
    }
    .form-group {
        margin-bottom: 15px;
    }
}
/* DANS style.css - Styles pour la grille de Garanties d'Assurance */

/* Conteneur de la grille des options de garantie */
.guarantee-options-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Deux colonnes pour la liste des garanties */
    gap: 15px;
    padding: 10px;
}

/* Style de chaque groupe Checkbox */
.checkbox-group {
    display: flex;
    align-items: center;
    cursor: pointer;
    background-color: var(--color-background-dark); /* Arrière-plan légèrement plus foncé */
    padding: 10px;
    border-radius: 4px;
    border: 1px solid rgba(var(--color-gold-rgb), 0.1);
    transition: background-color 0.2s;
}

.checkbox-group:hover {
    background-color: rgba(var(--color-gold-rgb), 0.1);
}

.checkbox-group input[type="checkbox"] {
    /* Style pour l'input réel (carré) */
    width: 20px;
    height: 20px;
    margin-right: 10px;
    flex-shrink: 0; /* Empêche la case de rétrécir */
    accent-color: var(--color-gold-accent); /* Colorise la case cochée */
}

.checkbox-group label {
    /* Style pour le texte de la garantie */
    margin: 0;
    font-size: 0.95em;
    font-weight: 400;
    line-height: 1.2;
    cursor: pointer;
    color: var(--color-white-text);
}

/* Responsive pour la grille des garanties */
@media (max-width: 650px) {
    .guarantee-options-grid {
        grid-template-columns: 1fr; /* Une seule colonne sur mobile */
    }
}
/* --- 1. VARIABLES GLOBALES (CSS CUSTOM PROPERTIES) --- */
:root {
    /* Couleurs de fond et de texte */
    --color-background-dark: #121212; /* Noir de jais profond */
    --color-background-light: #1A1A1A; /* Gris très sombre pour les cartes/blocs */
    --color-white-text: #EAEAEA; /* Blanc cassé pour le texte principal */
    --color-subtle-text: #A0A0A0; /* Gris clair pour les descriptions */}
    /* DANS style.css */

.price-policy-note {
    font-size: 1.1em;
    font-weight: 400;
    text-align: center;
    padding: 15px 20px;
    margin: 25px auto;
    border: 1px solid rgba(var(--color-gold-rgb), 0.5); /* Bordure Or subtile */
    border-radius: 6px;
    background-color: var(--color-background-dark); /* Assure le fond sombre */
    color: var(--color-white-text); /* Texte blanc */
    max-width: 800px;
}

.price-policy-note strong {
    color: var(--color-gold-accent);
}