        /* VARIABLES ------------------------------------------------------*/
        :root {
            --primary-color: #f8f1e2; /* Rose pâle */
            --secondary-color: #e7cdc2; /* Crème */
            --accent-color: #b2b2ce; /* Violet */
            --dark-color: #333; /* Gris foncé */
            --light-color: #fff; /* Blanc */
            --main-color: #fad9d2; /* Rose */
            --font-main: 'Verdana', sans-serif;
            --font-size: 19px;

              /* Divers */
            --radius:          8px;
            --shadow-sm:       0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
            --shadow-md:       0 4px 12px rgba(0, 0, 0, 0.10), 0 2px 4px rgba(0, 0, 0, 0.06);
            --transition-fast: 0.15s ease-out;
            --transition-med:  0.25s ease-out;
        }

        /* MAJEURS ------------------------------------------------------*/
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: var(--font-main); background-color: var(--light-color); color: var(--dark-color); }
        main { margin-top: 4rem; }

        /* TITRES et TEXTES ----------------------------------------------*/
        h1 { margin-top: clamp(8px, 2vw, 10px); font-size: clamp(2em, 4vw, 2.3em); line-height: 1.3; text-transform: uppercase; text-align: center;  }
        h2 { margin-top: clamp(8px, 2vw, 10px); font-size: clamp(1.6em, 4vw, 2em); line-height: 1.3; }
        h3 { margin-top: clamp(8px, 2vw, 10px); font-size: clamp(1.4em, 4vw, 1.8em); line-height: 1.3; }
        p { line-height: 1.5; margin: 2em auto }
        .title { font-size: 2.5rem; font-weight: 700; }
        .highlight { color: var(--accent-color); }
        .subtitle { font-size: 1.2rem; font-weight: 300; color: var(--dark-color);  }

        /* HEADER ------------------------------------------------------*/
        .header { padding: 2rem 1rem; text-align: center; border-bottom: 2px solid var(--main-color); }
        .header-content { max-width: 1200px; margin: 0 auto; }

        /* LOGO ------------------------------------------------------*/
        .logo { width: 60%; height: auto; margin-bottom: 1rem; }

        /* SECTION ------------------------------------------------------*/
        /*section { max-width: 1200px; margin: 3rem 5em; }*/

        /* CONTAINER ------------------------------------------------------*/
        .container-wrapper {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: clamp(20px, 5vw, 30px);
            padding: clamp(30px, 5vw, 50px);
            max-width: 1200px;
            margin: 0 auto;
        }
        .conteneur-entete {
            display: flex;
            flex-direction: column;
            align-items: center;
            min-height: 100vh; /* pour éviter un débordement */
            padding-bottom: 2rem; /* Espace supplémentaire pour éviter le chevauchement */
        }
        .conteneur-texte { 
            max-width: 100%; /* Largeur maximale adaptée */
            padding: 0 2rem;
            margin: 1rem auto;
            overflow-wrap: break-word; /* Permet au texte de se briser si nécessaire */
            word-break: break-word; /* Alternative pour forcer le retour à la ligne */
        }
        .conteneur-texte a {color: var(--dark-color)}

        /* SOINS ------------------------------------------------------*/
        .card {
            border-radius: 20px;;
            position: relative;
            margin: 60px 1em 0 1em; /* Espace au dessus pour laisser l'image déborder */
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* L'image qui dépasse d'un tiers */
        .card-image {
            width: 80%;
            height: auto;
            position: relative;
            z-index: 2;
            margin-bottom: -150px; /* faire monter l'image en superposition */
            border-radius: 20%;
            overflow: hidden;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .card-image img { width: 100%; height: 100%; object-fit: cover;}

        /* Le bloc avec la flèche arrondie */
        .card-content {
            width: 100%;
            padding: 170px 0 20px 0; /* Padding haut pour laisser la place à l'image */
            border-radius: 20px 20px 20px 20px; /* Arrondis */
            text-align: center;
            position: relative;
        }

        /* La pointe de la flèche arrondie via un pseudo-élément */
        .card-content::after {
            content: "";
            position: absolute;
            bottom: -40px; /*  Sort du bloc */
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            height: 40px;           
            border-radius: 0 0 20px 20px; /* Forme la pointe arrondie */
            clip-path: polygon(0% 0%, 100% 0%, 50% 100%); /* Pointe triangulaire */
        }

        /* Couleurs : fonds des cartes */
        .card-content-1 { background-color: var(--primary-color); }
        .card-content-2 { background-color: var(--secondary-color); }
        .card-content-3 { background-color: var(--accent-color); }
        .card-content-1::after { background-color: var(--primary-color); }
        .card-content-2::after { background-color: var(--secondary-color); }
        .card-content-3::after { background-color: var(--accent-color); }
        .card-1 { border-bottom: 8px solid var(--primary-color); }
        .card-2 { border-bottom: 8px solid var(--secondary-color); }
        .card-3 { border-bottom: 8px solid var(--accent-color); }
        .card li::before { content: '✓'; margin-right: 0.5rem; color: var(--accent-color)}
                
        /* BOUTONS ------------------------------------------------------*/
        .btn { display: inline-block; padding: 10px 20px; border-radius: 25px; text-decoration: none; color: var(--dark-color); font-weight: bold; margin-top: auto; }
        .btn-1 { background-color: var(--primary-color); margin-bottom:1em; }
        .btn-2 { background-color: var(--secondary-color); margin-bottom:1em; }
        .btn-3 { background-color: var(--accent-color); margin-bottom:1em; }
        .btn:hover { box-shadow: 0 0 1rem var(--dark-color);}
        
        ul { list-style: none; padding: 0; text-align: left; margin: 4em 0 2em 0;  }
        li { margin-bottom: 10px; }

        /* FOOTER ------------------------------------------------------*/
        .footer { background-color: var(--main-color); padding: 3rem 0 0 0; }
        .footer-content { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 2rem; padding-bottom: 2rem; /* Espace supplémentaire pour éviter le chevauchement */}
        .footer-title { text-align: center; font-size: 2rem; margin-bottom: 1rem; }
        .footer-description { text-align: center; max-width: 600px; margin: 0 auto; font-size: 1rem; line-height: 1.8; padding: 0 1rem; }
        .footer-contact { display: flex; flex-direction: column; gap: 1rem; align-items: center; padding: 1rem 0; }

        /* Contact ------------------------------------------------------*/
        .contact-item { display: flex; align-items: center; gap: 0.5rem; }
        .contact-icon { width: 24px; height: 24px; }
        .contact-link { color: var(--dark-color); text-decoration: none; font-weight: 500; }
        .contact-link:hover { text-decoration: underline; }
        .contact-phone { width: 40px; height: 40px; background-color: var(--accent-color); border-radius: 25%; padding: 0.3em }
        .contact-phone:hover { box-shadow: 0 0 1rem var(--dark-color);}

        /* PIED DE PAGE ------------------------------------------------------*/
        .copyright { background-color: var(--accent-color); color: var(--light-color); text-align: center; padding: 1rem 0.5rem !important; margin-top: 2rem; /* Espace supplémentaire pour éviter le chevauchement */ }
        .copyright a { color: var(--light-color); }
        .copyright p { font-size: 0.8 ; line-height: 0; margin: 1em; overflow-wrap: break-word; word-break: break-word; }
 
        /* MENU fixe ------------------------------*/
        nav { box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);  } /* ombre portée */
        #navbar { position: fixed; top: 0; left: 0; width: 100%; background-color: var(--light-color); z-index: 1000; }
        .container-nav { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 1em auto; padding: 0 20px; height: 80px; }

        .logo { height: 120px; width: auto; }

        .nav-liens { list-style-type: none; display: flex; margin: 0; padding: 0; }
        .nav-liens li { margin-left: 2.2rem; }
        .nav-liens a { text-decoration: none; color: var(--dark-color); font-size: 1rem; font-weight: 600;}
        .nav-liens a:hover { text-decoration: underline 4px var(--accent-color); transition: 1s ease-in-out; }
        .nav-liens a:active {color: var(--accent-color); } /* ne fonctionne pas !?! */

        @media (max-width: 768px) {
            .container-nav { height: 120px; }
            .logo { height: 100px ; }
            .nav-liens { display: none; }
        }
        /* MENU Burger ---------------*/
        .burger-ouvre { display: none; }
        .burger-icon { display: none; color: var(--dark-color); font-size: 3em; font-weight: 600; cursor: pointer; }

        @media (max-width: 768px) {
            .nav-liens { display: none; flex-direction: column; position: absolute; top: 120px; left: 0; width: 100%; background-color: var(--main-color); }
            .nav-liens li { margin: 0; text-align: left; border-bottom: solid 2px var(--light-color); }
            .nav-liens a { display: block; padding: 1.5em;}
            .burger-icon { display: block; }
            .burger-ouvre:checked ~ .nav-liens { display: flex; }
        }
        #exterieur, #interieur, #complementaire #carosserie { font-size:1.3em; display:inline-block; width: 10%; padding: 20px; }

        /* RESPONSIVITÉ -----------------------------------------------------------------------------------*/
        /* Media queries pour les très petits écrans ------------------------------------------------------*/
        @media (max-width: 480px) {
            main { margin-top: 6rem; }
            .container-wrapper { grid-template-columns: 1fr; }
            .conteneur-texte p {
            font-size: 1rem; /* Réduction de la taille du texte */
            line-height: 1.4; /* Meilleure lisibilité */
            }
            .footer-title {
                font-size: 1.5rem; /* Réduction de la taille du titre */
            }
            .footer-description {
                font-size: 0.9rem; /* Réduction de la taille du texte */
            }
        }
        /* Media queries pour les petits écrans ------------------------------------------------------*/
        @media (min-width: 481px) and (max-width: 768px) {
            .container-wrapper { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));}
            .contact-phone { width: 24px; height: 24px; }
        }
        /* Media queries pour les très grands écrans ------------------------------------------------------*/
        @media (min-width: 1200px) {
            .container-wrapper { grid-template-columns: repeat(3, 1fr); }
        }