@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600&display=swap');

*{
    margin: 0;
    padding: 0;
}

/* Application du scroll à tout le site */

body::-webkit-scrollbar {
    width: .6rem;
}

body::-webkit-scrollbar-thumb {
    background-color: blue;
} 

body {
    overflow-x: hidden;
}


/* STYLE POUR LE NAV */
nav {
    display: flex;
    justify-content: space-around;
    background-color: white;
    width: 100%;
    top: 0;
    position: sticky;
    z-index: 1000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

ul{
    display: flex !important;
    align-items: center !important;
    padding-top: 16px !important;
}

ul li{
    list-style: none;
}

ul li a{
    text-decoration: none;
    color: black;
    font-size: 15px;
    font-weight: normal;
    font-family: Georgia, 'Times New Roman', Times, serif;
    padding: 13px;
    text-transform: uppercase;
    transition: 0.5s;
}

ul li a:hover{
    color: #007bff;
}

ul li a.active{
    color: #007bff;
}

.logo{
    display: flex;
    align-items: center;
}

.logo img{
    width: 159px;
}

.button{
    display: flex;
    align-items: center;
} 

.button a{
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    font-family: "Syne", sans-serif;
    padding: 12px 20px;
    transition: 0.3s;
    border-radius: 25px;
    background-color: #007bff;
    color: white;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 123, 255, 0.3);
}

.button a:hover{
    background-color: #0056b3;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
}

/* STYLE POUR LE DROPDOWN */

.dropdown{
    position: relative;
}

.dropdown-menu{
    background-color: white;
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 200px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    display: none;
    border-radius: 8px;
    margin-left: 12px;
}


.dropdown-menu a{
    font-weight: normal;
    gap: 8px;
    display: flex;
    align-items: center;
    padding: 12px;
    transition: 0.3s;
    font-size: 14px;
    text-decoration: none;
    text-transform: none;
}

.dropdown-menu a:hover{
    background-color: #007bff;
    color: white;
}

.dropdown:hover .dropdown-menu{
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(5px);
}

.dropdown-menu a:hover i{
    color: white; 
}

.dropdown a i{
    color: blue;
    font-size: 14px;
}



/* STYLE FOR BIENVENUE */

.hero {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/class1.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.hero-content{
    position: relative;
    top: 23%;
    text-align: center;
}

.hero-content h2 {
    color: white;
    font-size: 54px;
    font-weight: bold;
    font-family: "Poppins", sans-serif;
    text-shadow: 0 2px 2px black;
}

.hero-content p{
    color: white;
    font-size: 28px;
    opacity: 97%;
    margin-top: 13px;
    font-family: "Syne", sans-serif;
    text-align: center !important;
}


.hero-content .changecontent {
    color: cyan;
    content: ' ';
    font-weight: 600;
    text-shadow: 0 1px 1px black;
}



/* STYLE DE FORMULAIRE */

.containers{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 90vh;
}

.form-containers{
    all: unset;
    background: rgba(3, 4, 94, 0.5);
    padding: 50px !important;
    width: 90% !important;
    max-width: 900px !important;
    border-radius: 5px;
    color: white;
    position: relative;
}
       
.title-form {
    background-color: rgba(255, 255, 255, 0.75);
    opacity: 95%;
    color: blue;
    white-space: nowrap;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom-right-radius: 29px;
    border-top-left-radius: 29px;
    top: 0;
    left: 0;
    display: inline-block;
    position: absolute;
    font-size: 17px;
    padding: 8px 20px !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.form-group{
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 3px !important;
}

.input-box{
    flex: 1 !important;
    position: relative !important;
}

.input-box select{
    width: 100% !important;
    color: white;
    background: rgba(255, 255, 255, 0.1);
    padding: 8px !important;
    border: 2px solid white !important;
    border-radius: 5px !important;
    font-size: 17px !important;
    outline: none;
    appearance: none;
    transition: 0.3s;
    cursor: pointer;
    font-family: 'Times New Roman', Times, serif;
}

.input-box select:focus{
    border-color: cyan !important;
    box-shadow: 0 0 10px cyan !important;
    transform: scale(1.01);
}

.input-box select option{
    background-color: white;
    color: black;
    font-family: "Poppins";
}

.input-box i{
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    pointer-events: none;
}

.btn-rechercher{
    width: 24%;
    background-color: white;
    color: blue;
    border-radius: 5px;
    font-size: 17px;
    font-weight: bold;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    cursor: pointer;
    margin-left: auto;
    padding: 8px;
    margin-top: 7px;
    border: none;
    transition: 0.3s;
}

.btn-rechercher:hover{
    background-color: blue;
    color: white;
}

/* STYLE FOR PRESENTATION */

.container {
    margin-top: 30px;
    display: flex;
    align-items: center;
    width: 100%;
    height: 75vh;
    padding: 0 9%;
    gap: 70px;
}

/* STYLE POUR L'IMAGE */

.card-container {
    position: relative;
    display: inline-block;
    padding: 15px;
}

.corner-blue {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    background-color: blue;
    border-top-right-radius: 20px;
    z-index: -1;
}

.image img {
    display: block;
    width: 100% !important;
    height: 56vh;
    border-bottom-left-radius: 100px;
    border-top-right-radius: 50px;
    box-shadow: 0 3px 13px blue;
}



/* STYLE POUR LE TEXTE */

.text-section {
    flex: 1;
    margin-top: 30px;
    max-width: 600px;
}


.text-section h2 {
    font-size: 24px;
    font-weight: bold;
    font-family: "Poppins";
    color: black;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.blue-bar-title {
    width: 10px;
    height: 28px;
    background-color: blue;
    display: inline-block;
    margin-right: 8px;
}

.text-section p { 
    font-size: 18px;
    line-height: 1.70;
    opacity: 100%;
    text-align: justify;
    font-family: Georgia, 'Times New Roman', Times, serif;
}

.text-section a {
    text-decoration: none;
    color: blue;
    font-weight: bold;
    opacity: 90%;
}

.text-section a:hover {
    text-decoration: underline;
}

.title-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.line {
    height: 2px;
    background-color: blue;
    width: 56px;
}

.title {
    font-family: "Merriweather";
    color: blue;
    font-size: 15px;
    margin: 4px;
    padding-top: 21px;
}



/* STYLE POUR LE CATALOGUE DES BIENS */

.property-container h2 {
    text-align: center;
    font-size: 28px;
    margin-top: 40px;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}

.property-carousel-wrapper {
    position: relative;
    margin: 50px auto;
    max-width: 1200px;
    overflow: hidden;
    padding-left: 5px;
}

.property-carousel {
    display: flex;
    gap: 10px;
    transition: transform 0.5s ease-in-out;
    padding-bottom: 40px;
    width: calc(100% + 0); /* Compenser le gap */
    flex-wrap: nowrap;
}

/* Carte des biens immobilier */

.property-item {
    position: relative;
    background-color: white;
    border-radius: 10px;
    width: 100%;
    overflow: hidden;
    padding-bottom: 111px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    flex: 0 0 calc(33.333% - 8px); /* 3 éléments avec gap */
    min-width: 300px; /* Largeur minimale */
}

.property-item img {
    width: 100%;
    height: 35vh;
    object-fit: cover !important;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.property-item:hover img {
    opacity: 0.7;
    transform: scale(1.05);
}

/* Badge et favori */

.property-badge, .property-favorite {
    position: absolute;
    top: 10px;
    z-index: 10;
}

.property-badge {
    position: absolute;
    left: 20px;
    top: 18px;
    background-color: blue;
    color: white;
    font-weight: bold;
    border-radius: 7px;
    padding: 5px 13px;
    font-size: 16px;
    font-family: "Gentium Plus", sans-serif;
}

.property-favorite {
    position: absolute;
    top: 18px;
    right: 20px;
    background-color: white;
    width: 37px;
    height: 37px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.property-favorite i {
    color: black;
    font-size: 20px;
}

/* Card content */

.property-card-content {
    padding: 24px;
    text-align: left;
    height: 23vh;
}

.property-item a {
    text-decoration: none;
}

.property-card-content h3 {
    color: black;
    font-size: 19px;
    font-family: "Poppins", sans-serif;
    margin: 1px 0;
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
}

.property-card-content h3 i {
    color: black;
    margin-right: 8px;
    opacity: 50%;
    font-size: 15px;
    
}

.property-card-content p {
    color: black;
    font-size: 19px;
    opacity: 70%;
    margin: 21px 0;
    cursor: pointer;
    font-family: "Gentium Plus", sans-serif;
    transition: color 0.3s ease;
}

.property-card-content p:hover {
    color: #007bff;
}

.price {
    color: black;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: bold;
    font-family: "Poppins", sans-serif;
}

.property-card-content .price {
    font-size: 22px;
}



.price i {
    color: black;
    margin-right: 5px;
    opacity: 60%;
    font-size: 19px;
}

.bold {
    color: #007bff;
    font-weight: bold;
    font-family: "Lora";
    font-size: 18px;
    margin: 0 5px;
}

.property-icons {
    border-top: 1px solid #ddd;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 13px;
}

.property-icons i {
    color: black;
    opacity: 80%;
    margin-right: 7px;
}

.property-icons  span {
    color: #007bff;
    font-family: "Lora";
    font-weight: bold;
    font-size: 16px;
}

/* ----- STYLE POUR LES CHEVRONS ----- */

.carousel-btn {
    position: absolute;
    top: 40%;
    transform: translateY(-40%);
    background-color: white;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    box-shadow: 0 5px 18px black;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    color: black;
    overflow: hidden;
}



/* Halo tournant */
.carousel-btn::before {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    background: conic-gradient(
        from 0deg,
        cyan,
        transparent 30%,
        cyan,
        transparent 60%,
        cyan
    );
    animation: rotate-halo 2s linear infinite;
    border-radius: 50%;
    z-index: 0;
}

/* Pour que le bouton reste visible au-dessus de l'effet */
.carousel-btn > * {
    position: relative;
    z-index: 1;
}

/* L'effet de rotation */
@keyframes rotate-halo {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.carousel-btn:hover {
    box-shadow: 0 4px 10px #007bff;
}



.carousel-btn-left {
    left: 0;
}


.carousel-btn-right {
    right: 0;
}

/* ---- STYLE POUR LE CATALOGE PARCELLES ---- */

.parcel-container{
    background-image: url('/images/parcelle.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 88vh;
    position: relative;
    margin-bottom: 70px;
}



/* Centrer le contenu */
.content {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center; 
    padding-left: 88px;
    
}    

/* Boîte blanche */
.box { 
    background: white;
    padding: 28px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px black;
    max-width: 500px;
    text-align: left;
}

/* Titre avec barre colorée */
.title {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    position: relative;
}


.bar {
    width: 18px;
    height: 82px;
    background: blue;
    position: absolute;
    top: 22px !important;
    left: 0px !important;
    border-bottom-right-radius: 15px;
    border-top-right-radius: 15px; 
}

.title h2 {
    color: black;
    font-size: 19px;
    font-weight: bold;
    font-family: Georgia, 'Times New Roman', Times, serif;
    background-color: white;
    padding: 19px;
    border-radius: 4px;
    text-align: center;
    opacity: 100%;
    box-shadow: 0 8px 30px rgba(0, 174, 255, 0.3); 
    margin-bottom: 20px; 
}


.title h2:hover {
    transition: 0.3s ease-in-out;
    box-shadow: 0 2px 10px #007bff;
}

.title h2 span {
    color: blue;
}

/* Texte */
p {
    line-height: 1.6;
    margin-bottom: 20px;
    font-size: 15px;
    opacity: 100%;
    font-family: "Merriweather", sans-serif;
    text-align: justify;
}

/* Bouton */
.btn {
    display: inline-block;
    padding: 10px 20px;
    background: blue;
    color: white;
    font-weight: bold;
    text-decoration: none;
    font-size: 17px;
    border-radius: 5px;
    transition: 0.3s;
    cursor: pointer;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.btn:hover {
    background: darkblue;
    color: white;
}

.titles-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

.lines {
    width: 50px;
    height: 2px;
    background-color: blue;
}

.titles {
    font-family: "Merriweather";
    color: blue;
    margin: 5px;
}

/* Style for title-blog */

.blog-title {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    padding: 60px 5%;
    background: linear-gradient(to right, #f4f9ff, #ffffff);
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
    overflow: hidden;
    margin: 70px 0;
}

.blog-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: -50px;
    width: 120px;
    height: 120%;
    background: linear-gradient(to bottom, #007bff, transparent);
    opacity: 0.2;
    transform: rotate(-15deg);
    z-index: 0;
}

.blog-title .text-container {
    z-index: 1;
    max-width: 750px;
}

.blog-title h2 {
    font-weight: 700;
    font-size: 36px;
    opacity: 90%;
    font-family: "Poppins", serif;
    color: #0a2a66;
    margin-bottom: 10px;
    position: relative;
}

.blog-title .paragraphe-blog {
    font-size: 18px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    color: #333;
    opacity: 0.8;
    line-height: 1.6;
    letter-spacing: 0.4px;
    margin-top: 0;
}

.blog-title strong {
    color: #007bff;
    font-weight: bold;
}


/* Style for property-blog-wrapper */

.property-blog-wrapper {
    margin: 30px auto;
    max-width: 1200px;
    position: relative;
}

.property-blog {
    display: flex;
    gap: 10px;
    padding-bottom: 40px;
}

.blog-item {
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    width: 100%;
    overflow: hidden;
}

.blog-item:hover {
    transition: 0.3s ease;
    box-shadow: 0 4px 10px #007bff;
}

.blog-item img {
    width: 100%;
    height: 35vh;
    object-fit: cover;
    box-shadow: 0 1px 8px #004085;
}

/* Style for blog-card-content */

.blog-card-content {
    padding: 23px;
    height: 30vh;
    text-align: left;
}

.blog-card-content h2 {
    font-size: 18px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    color: black;
    font-weight: 600;
}

.blog-card-content p {
   opacity: 65%;
   font-size: 18px;
   font-family: 'Times New Roman', Times, serif;
   margin: 19px 0; 
}

.blog-card-content p:hover {
    color: #007bff;
}

.blog-card-content a {
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-weight: bold;
    font-size: 18px;
    color: white; /* bleu principal */
    cursor: pointer;
    padding: 8px 11px;
    border-radius: 5px;
    background-color: darkblue;
}


.blog-card-content a i {
    font-size: 18px;
    color: white;
}

/* ----- STYLE FOR FOOTER -----*/

footer {
    background-image: linear-gradient(rgba(3, 4, 94, 0.6), rgba(3, 4, 94, 0.6)), url('/images/mettez.jpeg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    padding: 70px 0;
}


.footer-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0 20px;
    max-width: 1235px; 
}


.footer-section {
    width: 30%;
    min-width: 250px;
}

.footer-section h2 {
    font-family: "Inter", sans-serif;
    font-weight: bold;
    font-size: 21px;
    color: white;
    margin-top: 8px;
}

.footer-section img {
    width: 30%;
    margin: 5px;
    border-radius: 4px;
}


.footer-section img {
    box-shadow: 0 2px 3px #007bff;
}

.footer-section .social-link {
    display: flex;
    gap: 10px;
}

.footer-section .social-link i {
    font-size: 18px;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid white;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    margin: 15px 0;
    box-shadow: 0 4px 4px white;
}

.footer-section .social-link i:hover {
    background-color: blue;
    color: white;
}

.footer-section .social-link a {
    text-decoration: none;
}

.footer-section a {
    text-decoration: none;
    font-size: 18px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: normal;
    color: white;
    cursor: pointer;
}

.footer-section a:hover {
    color: cyan;
}

.footer-section p {
    color: white;
    opacity: 99%;
    font-size: 16px;
    letter-spacing: normal;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: normal;
}

.footer-section h6 {
    font-weight: bold;
    font-size: 18px;
    font-family: "Poppins", sans-serif;
    color: white;
    opacity: 88%;
    margin: 17px 0;
}

.footer-section h6 a {
    text-decoration: none;
    font-family: "Poppins", sans-serif;
    font-weight: bold;
    opacity: 90%;
    cursor: pointer;
}

.footer-section h6 .wrap {
    white-space: nowrap;
}

.footer-section h6 i {
    margin: 0 3px;
}

/* Style for Footer Bottom */
.footer-bottom {
    background-color: #324A5F;
    padding: 40px;
    text-align: center;
}

.footer-bottom h3 {
    font-size: 17.90px;
    color: white;
    font-family: "Poppins", sans-serif;
}

.footer-bottom h3 a{
    text-decoration: none;
    color: white;
    cursor: pointer;
}

.footer-bottom h3 a:hover {
    color: cyan;
}


.footer-bottom .social {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-bottom .social i {
    color: blue;
    font-size: 25px;
    background-color: white;
    box-shadow: 0 5px 15px white;
    width: 50px;
    height: 50px;
    border-radius: 60%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.footer-bottom .social i:hover {
    transform: scale(1.05);
    transform: translateY(-5px);
    transition: 0.3s ease;
    box-shadow: 0 4px 10px #007bff;
}



/* LA RESPONSIVITE */

/* Style pour le menu */
#menu-bar {
    display: flex;
    align-items: center;
    margin-left: 16px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    display: none;
}

#menu-bar:hover {
    background-color: blue;
    color: white;
}

/* LA RESPONSIVITE FOR HEADER */

@media (max-width: 1187px) {
    ul {
        position: absolute;
        top: 80%;
        left: 0;
        right: 0;
        padding: 1rem 2rem;
        width: 100%;
        background-color: #324A5F;
        border-radius: 5px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        padding-left: 0;
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    }

    ul li {
        width: 100%;
    }

    ul li a {
        text-align: left;
        padding: 10px 25px;
        display: block;
        color: white;
        font-size: 14px;
    }

    ul li a.active {
        color: cyan;
    }

    ul li a:hover {
        color: cyan;
    }

    .dropdown-menu a {
        color: black;
    }

    #menu-bar {
        display: initial;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
    }

   
    ul.active {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }

    .dropdown:hover .dropdown-menu{
        position: relative;
        width: 100%;
        top: 0;
    }
}

/* RESPONSIVITE FOR LOGO END BUTTON */

@media(max-width: 1010px) {
    .logo img {
        width: 180px;
        padding-left: 5rem;
        padding-right: 1rem;
    }

    .button a{
        font-size: 13px;
        padding: 8px 11px;
        margin-right: 2rem;
        display: inline-flex;
        word-break: break-word;
    }
    
     .button a i {
        margin-right: 4px;
    }
}

/* RESPONSIVITE POUR BIENVENUE */

@media(max-width: 378px){
    .hero-content h2{
        font-size: 36px;
        padding: 0 5%;
        text-shadow: 0 1px 1px black;
    }

    .hero-content{
        position: relative;
        top: 13%;
        text-align: center;
    }
    
    .hero-content p{
        font-size: 20px;
        margin-top: 19px;
        margin-bottom: 30px;
        font-family: "Gentium Plus", sans-serif;
        padding: 0 5%;
    }
}

@media (max-width: 804px) {
    .hero-content h2{
        font-size: 36px;
        padding: 0 5%;
        text-shadow: 0 1px 1px black;
    }

    .hero-content{
        position: relative;
        top: 13%;
        text-align: center;
    }
    
    .hero-content p{
        font-size: 20px;
        margin-top: 19px;
        margin-bottom: 30px;
        font-family: "Gentium Plus", sans-serif;
        padding: 0 5%;
    }
}

@media (max-width: 1285px) {
    .hero-content h2{
        font-size: 36px;
        padding: 0 8%;
        text-shadow: 0 1px 1px black;
    }

    .hero-content{
        position: relative;
        top: 13%;
        text-align: center;
    }
    
    .hero-content p{
        font-size: 20px;
        margin-top: 19px;
        margin-bottom: 30px;
        font-family: "Gentium Plus", sans-serif;
        padding: 0 5%;
    }
}


@media (max-width: 1115px) {
    .hero-content p{
        margin-bottom: 4rem;
    }
}

@media(max-width: 768px){
    .hero-content p{
        margin-bottom: 50px;
    }
    
    .hero {
        height: 117vh;
    }
}


/* RESPONSIVITE FOR FORMULAIRE */

@media (max-width: 1285px) {
    .form-group {
        flex-wrap: wrap;
        justify-content: center;
    }

    .input-box {
        width: 80% !important; 
    }
    
    .containers {
        padding: 0 20px;
    }

    .btn-rechercher {
        width: 100%;
        text-align: center;
    }
}



@media (max-width: 768px) {

    .form-containers {
        padding: 40px 0 !important;
        margin-top: 3rem;
    }

    .form-group {
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }

    .input-box select {
        font-size: 15px !important;
        font-family: "Playfair Display", serif;
    }

   

    .btn-rechercher {
        width: 80%;
        padding: 8px;
        margin-right: 41px;
        margin-left: 2rem;
    }    


    .containers {
        height: 100vh;
    }
}



@media (max-width: 1285px) {
    .title-form {
        font-size: 14px;
        padding: 10px;
        background-color: rgba(255, 255, 255, 0.70);
        font-family: "Poppins", sans-serif;
        color: #007bff;
        font-weight: bold;
    } 
    
    .input-box select option{
      background-color: white;
      color: black;
      font-family: "Gentium Plus", sans-serif;
    }
      
}


/* RESPONSIVITE POUR LA PRESENTATION */

@media (max-width: 1278px) {   
    .container{
        margin-top: 60px;
        flex-wrap: wrap;
        height: auto;
        gap: 38px;
    }

    
    html, body {
        overflow-x: hidden;
    }

    .image img {
        height: 51vh !important;
    }
    
    .image, .text-section {
        flex: 1 1 100%; /* prend toute la largeur */
    }
   
    .text-section p{
        hyphens: auto; 
        word-spacing: 1px; 
        text-align: justify;
    }

    .text-section h2 {
        font-size: 22px;
        text-align: left;
        margin-bottom: 16px;
        font-family: "Poppins";
        white-space: normal;
    }

    .blue-bar-title{
        height: 6vh;
    }

}


/* RESPONSIVISITE POUR LE CATALOGUE DES BIENS */


@media (max-width: 768px) {
    .property-item {
        flex: 0 0 70%; 
        min-width: 98%;
    }  


    .property-icons i {
        margin-right: 7px;
    }
    
    
    .property-container h2 {
        font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
        margin: 0 28px;
    }

}


@media (max-width: 768px) {
    .property-carousel-wrapper {
        padding: 0 28px; 
    }
}

/* RESPONSIVISITE POUR LE CATALOGUE DES PARCELLES */

@media (max-width: 768px) {
    .parcel-container {
        height: 90vh;
        padding: 40px 15px;
    }

    .content {
        position: relative;
        height: auto;
        padding: 0;
        justify-content: center;
        align-items: center;
        margin-top: 40px;
    }

    .box {
        max-width: 100%;
        width: 100%;
        padding: 20px;
    }

    .title h2 {
        font-size: 19px;
        text-align: center;
        font-family: Georgia, 'Times New Roman', Times, serif;
    }


    p {
        font-size: 14px;
    }

    .bar {
        height: 105px;
    }

}


@media(max-width: 767px){
    .bar{
        height: auto;
        min-height: 80px; 
    }
}

@media(max-width: 416px){
    .bar{
        height: auto;
        min-height: 103px; 
    }
}


/* RESPONSIVISITE POUR TITRE BLOG */

@media (max-width: 768px){
    .blog-title {
        flex-wrap: wrap;
    } 


    .blog-title .paragraphe-blog {
        text-align: center;
    }
    
    
    .blog-title h2 {
       text-align: center;
    }
}

/* RESPONSIVITE POUR PROPERTY-BLOG-WRPPER */

@media(max-width: 768px){
    .property-blog {
        flex-wrap: wrap;
        gap: 28px;
        margin: 0 16px;
    }

    .blog-card-content {
        padding: 19px;
        height: 32vh;
        text-align: left;
    }
    

}

/* RESPONSIVISITE POUR LE FOOTER */

@media (max-width: 768px) {
    .footer-container {
       flex-wrap: wrap; 
    }
    
    .footer-section h6.wrap {
        white-space: nowrap;
    }
    
    .footer-section h6.wrap a {
        font-size: 18px;
    }


    .footer-section h6 i {
        margin-right: 7px;
    }
    
    .footer-section a {
        font-size: 16px;
    }
    
    .footer-bottom h3 {
        font-size: 17px;
        color: white;
        font-family: "Poppins", sans-serif;
    }
    
    
    .footer-section p {
    color: white;
    opacity: 95%;
    font-size: 16px;
    letter-spacing: normal;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: normal;
}
    
}



/* STYLE POUR LE FICHIER LOUER.BLADE.PHP */

/* Style pour le titre accrocheur */
.louer-container{
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/images/a_louer.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.louer-content{
    position: relative;
    top: 23%;
    text-align: center;
}

.titre-louer{
    color: white;
    font-size: 54px;
    text-shadow: 0 1px 1px black;
    font-family: 'Inter', sans-serif;
}

/* Style pour le titre de formulaire */

.paragraphe-louer {
    color: white;
    font-size: 23px;
    font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    text-align: center;
    margin: 10px 0;
    opacity: 100%;
}

/* STYLE POUR L'ANNONCE DES BIENS */

.louer-bien {
    margin-top: 60px;
    margin-bottom: 50px;
    text-align: center;
}

.louer-bien .titre-bien {
    color: black;
    font-size: 30px;
    font-family: "Syne", sans-serif;
}

.louer-bien .bien {
    margin: 4px;
    text-align: center;
    color: black;
    font-size: 19px;
    font-family: "Gentium Plus", sans-serif; 
    opacity: 100%;
}

/* STYLE POUR L'ANNONCE DES BIENS A LOUER */

.louer-container-wrapper {
    position: relative;
    margin: 30px auto;
    max-width: 1200px;
}

.louer-property {
    display: flex;
    gap: 20px 17px;
    transition: transform 0.5s ease-in-out;
    padding-bottom: 40px;
    flex-wrap: wrap;
}

.louer-item {
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    width: calc(33.333% - 20px);
    position: relative;
}

.louer-item img{
    width: 100%;
    object-fit: cover;
    height: 35vh;
    transition: opacity 0.3s ease, transform 0.3s ease;
}


.louer-item:hover img {
    opacity: 0.7;
    transform: scale(1.05);
}

/* Badge et favorite */

.louer-badge, .louer-favorite {
    position: absolute;
    top: 10px;
    z-index: 10;
}

.louer-badge {  
    position: absolute;
    top: 18px;
    left: 20px; 
    background-color: blue;
    border-radius: 7px;
    padding: 5px 13px;
    font-size: 16px;
    color: white;
    font-weight: bold;
    font-family: "Gentium Plus", sans-serif;
} 

.louer-favorite {
    position: absolute;
    top: 18px;
    right: 20px;
    cursor: pointer;
    width: 37px;
    height: 37px;
    background-color: white;
    border-radius: 50%;
    box-shadow: 0 3px 5px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.louer-favorite i {
    color: black;
    font-size: 20px;
}

/* Style pour le louer-card-content */

.louer-card-content {
    padding: 24px;
    height: 40vh;
    text-align: left;
}

.louer-item a {
    text-decoration: none;
}

.louer-card-content h3 {
    color: black;
    font-family: "Poppins", sans-serif;
    font-size: 19px;
    font-weight: bold;
    margin: 1px 0;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.louer-card-content h3 i {
    color: black;
    opacity: 50%;
    cursor: pointer;
    margin-right: 8px;
    font-size: 15px;
}

.louer-card-content p {
    color: black;
    font-size: 19px;
    margin: 13px 0;
    opacity: 70%;
    cursor: pointer;
    margin: 21px 0;
    font-family: "Gentium Plus", sans-serif;
    transition: color 0.3s ease;
}

.louer-card-content p:hover {
    color: #007bff;
}

.louer-card-content .budget {
    font-size: 22px;
}

.budget {
    color: black;
    opacity: 80%;
    font-family: "Poppins", sans-serif;
    cursor: pointer;
    font-weight: bold;
}

.budget i {
    opacity: 60%;
    color: black;
    cursor: pointer;
    margin-right: 4px;
    font-size: 19px;
}

.bol {
    color: #007bff;
    font-family: "Lora";
}

.louer-card-content .bol {
    font-size: 18px;
}

.louer-icons {
    padding-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #ddd;
}

.louer-icons i {
    color: black;
    opacity: 70%;
    margin-right: 7px;
}

.louer-icons span {
    font-family: "Lora";
    color: #007bff;
    font-weight: bold;
    font-size: 16px;
}



/* STYLE POUR LE MESSAGE RASSURANT */

.rassurant-container {
    background-color: #f7f9fc;
    border-radius: 15px;
    padding: 30px 25px;
    max-width: 900px;
    text-align: center;
    margin: 60px auto;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.rassurant-titre {
    font-size: 28px;
    color: #002f6c;
    font-size: bold;
    margin-bottom: 15px;
    font-family: 'Gentium Plus', serif;
}

.rassurant-paragraphe {
    font-size: 19px;
    font-family: "Lora", serif;
    color: #333;
    line-height: 1;
}

.rassurant-container {
    border-left: 6px solid #1a73e8;
}




/* STYLE POUR MAISON.BLADE.PHP */

.maison-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/parfaite.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.maison-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.paragraphe-maison {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

.titre-maison {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;
}


/* STYLE POUR LE CATALOGUE DES BIENS */

/* Style section catalogue */

.catalogue-section {
    margin: 50px 0;
    text-align: center;
}


.catalogue-titre {
    font-family: "Syne", sans-serif;
    font-size: 31px;
    color: blue;
}

.catalogue-paragraphe {
    text-align: center;
    color: black;
    margin-top: 10px;
    font-size: 18px;
}


/* STYLE POUR LE FICHIER APPARTEMENT.BLADE.PHP */

.appartement-container {
    background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('/images/style.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.appartement-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-appartement {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-appartement {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* STYLE POUR LE CATALOGUE DES BIENS */

.catalogue-appartement {
    border: 2px dotted #007BFF; /* Bleu pointillé */
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3); 
    max-width: 800px;
    margin: 60px auto;
    text-align: center;
}

.catalogue-appartement-titre {
    font-size: 30px;
    font-weight: bold;
    color: #004085; 
    margin-bottom: 15px;
    font-family: "Inter", sans-serif;
}

.catalogue-appartement-paragraphe {
    font-size: 18px;
    color: #333;
    line-height: 1.6;
    font-family: 'Gentium Plus', serif;
}


/* STYLE POUR LE FICHIER VILLA.BLADE.PHP */


.villa-container {
    background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('/images/villa_bureau.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.villa-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-villa {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-villa {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}


/* Style pour le catalogue des biens */

.catalogue-villa {
    border-left: 4px solid royalblue;
    padding: 25px 30px;
    margin: 60px auto;
    max-width: 900px;
    border-radius: 12px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.catalogue-villa:hover {
    transform: scale(1.01);
    box-shadow: 0 4px 15px rgba(65, 105, 225, 0.2);
}

.catalogue-villa-titre {
    font-size: 28px;
    font-weight: 700;
    color: #1f1f1f;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-family: 'Poppins', sans-serif;
}

.catalogue-villa-titre::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 3px;
    background-color: royalblue;
    border-radius: 2px;
}

.catalogue-villa-paragraphe {
    font-size: 17px;
    color: #333;
    line-height: 1.6;
    font-family: 'Open Sans', sans-serif;
    margin-top: 5px;
}


/* STYLE POUR LE FICHIER VENDRE.BLADE.PHP */

.vendre-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/investis.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.vendre-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-vendre {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-vendre {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le formulaire */



/* Style pour le catalogue des biens */

.catalogue-vendre {
    text-align: center;
    margin: 60px auto 40px;
    max-width: 800px;
    padding: 0 20px;
    position: relative;
}

.catalogue-vendre-titre {
    font-size: 30px;
    font-weight: bold;
    color: #1a1a1a;
    position: relative;
    display: inline-block;
    font-family: "Syne", sans-serif;
}

.catalogue-vendre-titre::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: royalblue;
    border-radius: 2px;
}

.catalogue-vendre-paragraphe {
    font-size: 18px;
    color: #555;
    margin-top: 20px;
    line-height: 1.6;
    font-family: 'Gentium Plus', serif;
}


/* STYLE POUR LE FICHIER HOMS.BLADE.PHP */

.homs-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/buy.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.homs-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-homs {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-homs {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}


/* Style pour le catalogue des biens */

.catalogue-homs {
    text-align: center;
    margin: 60px auto;
    max-width:  800px;
    padding: 0 20px;
    position: relative;
}

.catalogue-homs-titre {
    position: relative;
    font-family: "Syne", sans-serif;
    margin-bottom: 19px;
    color: #007bff;
    font-size: 30px;
    font-weight: 700;
    display: inline-block;
}

.catalogue-homs-titre::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 2px;
    width: 70px;
    height: 4px;
    background-color: cyan;
}

.catalogue-homs-paragraphe {
   color: black;
   font-size: 17px;
}


/* STYLE POUR LE FICHIER APPARTMENT.BLADE.PHP */

.appartment-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/vendre2.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.appartment-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-appartment {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-appartment {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue des biens */

.catalogue-appartment {
    max-width: 850px;
    margin: 70px auto;
    padding-left: 25px;
    border-left: 4px solid royalblue;
    animation: fadeIn 1s ease-in-out;
}

.catalogue-appartment-titre {
    font-family: "Syne", sans-serif;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #0a2a66;
    position: relative;
}

.catalogue-appartment-paragraphe {
    font-family: "Lora", serif;
    font-size: 17px;
    color: #444;
    line-height: 1.6;
    margin: 0;
}

/* Animation douce */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* STYLE POUR LE FICHIER TERRAIN.BLADE.PHP */

.terrain-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/trouvez.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.terrain-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-terrain {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-terrain {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}


/* Style pour le catalogue des biens */

.catalogue-terrain {
    max-width: 850px;
    margin: 70px auto;
    border-left: 4px dotted blue;
    padding: 0 25px;
    position: relative;
    animation: fadeInUp 0.8s ease-in-out;
}

.catalogue-terrain-titre {
    font-size: 30px;
    font-family: "Syne", sans-serif;
    color: #007bff;
    margin-bottom: 12px;
    font-weight: 700;
    position: relative;
    display: inline-block;
}

.catalogue-terrain-titre::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, cyan, cyan);
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease-in-out;
}

.catalogue-terrain-titre:hover::after {
    transform: scaleX(1);
}

.catalogue-terrain-paragraphe {
    font-family: "Lora", serif;
    font-size: 17px;
    line-height: 1.6;
    margin: 0;
    color: #333;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* STYLE POUR LE FICHIER MEUBLUE.BLADE.PHP */

.meuble-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/nos_bien.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.meuble-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-meuble {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-meuble {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue des biens */

.catalogue-meuble {
    max-width: 900px;
    margin: 70px auto;
    padding: 20px 30px;
    border-left: 5px solid royalblue;
    background: linear-gradient(135deg, #f8f9ff, #ffffff);
    box-shadow: 0 8px 16px rgba(0, 0, 100, 0.08);
    border-radius: 12px;
    animation: fadeSlide 1s ease-in-out;
}

.catalogue-meuble-titre {
    font-family: "Merriweather", serif;
    font-size: 28px;
    font-weight: bold;
    color: #0a2472;
    position: relative;
    margin-bottom: 12px;
}

.catalogue-meuble-paragraphe {
    font-family: "Lora", serif;
    font-size: 17px;
    color: #333;
    line-height: 1.6;
    margin: 0;
}

/* Animation douce */
@keyframes fadeSlide {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* STYLE POUR LE FICHIER VILLA_MEUBLE.BLADE.PHP */

.villa_meuble-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/villas_meubles.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.villa_meuble-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-villa_meuble {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-villa_meuble {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}


/* Style pour le catalogue des biens */

.catalogue-villa_meuble {
    max-width: 900px;
    margin: 70px auto;
    text-align: center;
}

.catalogue-villa_meuble-titre {
    font-family: 'Times New Roman', Times, serif;
    color: blue;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 17px;
    display: inline-block;
    position: relative;
} 

.catalogue-villa_meuble-titre::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -10px;
    background-color: cyan;
    width: 70px;
    height: 3px;
    border-radius: 2px;
}

.catalogue-villa_meuble-paragraphe {
    color: black;
}


/* STYLE POUR LE FICHIER APPARTEMENT_MEUBLE.BLADE.PHP */

.appartement_meuble-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/appartement_meublé.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.appartement_meuble-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-appartement_meuble {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-appartement_meuble {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue biens */

.catalogue-appartement_meuble {
    max-width: 900px;
    margin: 80px auto;
    padding: 20px 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
   /* border: 2px solid #007bff; */
   background: linear-gradient(145deg, #f0f0f0, #ffffff);
   animation: fadeIn 1s ease-in-out;
}

.catalogue-appartement_meuble-titre {
    font-family: "Syne", sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #0a2a66;
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 8px;
    text-transform: uppercase;
}

.catalogue-appartement_meuble-titre::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 3px;
    background-color: royalblue;
    border-radius: 2px;
}

.catalogue-appartement_meuble-paragraphe {
    font-family: "Lora", serif;
    font-size: 16px;
    color: #444;
    line-height: 1.7;
    text-align: justify;
    padding: 0 20px;
    margin-bottom: 20px;
    font-weight: 400;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* STYLE POUR LE FICHIER VENDRE_LOUER.BLADE.PHP */

.vendre_louer-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/vente_location.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.vendre_louer-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-vendre_louer {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-vendre_louer {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}


/* Style pour le catalogue des biens */

.catalogue-vendre_louer {
    max-width: 850px;
    margin: 90px auto;
    padding: 30px 25px;
    position: relative;
    background: #fefefe;
    border-left: 6px solid #007bff;
    box-shadow: 0 0 20px rgba(0, 123, 255, 0.2);
    border-radius: 12px;
    overflow: hidden;
    animation: slideIn 1s ease-out;
}

.catalogue-vendre_louer::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    height: 100%;
    width: 8px;
    background: linear-gradient(180deg, #007bff, #00c6ff);
    animation: pulseGlow 2s infinite alternate;
    border-radius: 4px;
}

.catalogue-vendre_louer-titre {
    font-family: "Inter", sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #0a2a66;
    margin-bottom: 12px;
}

.catalogue-vendre_louer-paragraphe {
    font-family: "Lora", serif;
    font-size: 17px;
    line-height: 1.6;
    color: #444;
}

/* Animations */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes pulseGlow {
    from {
        box-shadow: 0 0 8px rgba(0, 123, 255, 0.4);
    }
    to {
        box-shadow: 0 0 18px rgba(0, 123, 255, 0.8);
    }
}


/* STYLE POUR LE FICHIER METTRE_EN_VENTE.BLADE.PHP */

.mettre_en_vente-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/mettez.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.mettre_en_vente-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-mettre_en_vente {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-mettre_en_vente {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue des biens */

.catalogue-mettre_en_vente {
    max-width: 850px;
    margin: 90px auto;
    padding: 40px 35px;
    background: linear-gradient(145deg, #ffffff, #f0f4f8 );
    border: 1px solid #d1e3f8;
    border-radius: 18px;
    box-shadow: 0 10px 35px rgba(0, 123, 255, 0.1);
    position: relative;
    overflow: hidden;
    transition: all 0.4 ease;
}

.catalogue-mettre_en_vente::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, #007bff 0%, transparent 70%);
    opacity: 0.05;
    z-index: 0;
}

.catalogue-mettre_en_vente-titre {
    font-family: "Playfair Display", serif;
    font-size: 28px;
    font-weight: 700;
    color: #0a2a66;
    margin-bottom: 16px;
    z-index: 1;
    position: relative;
    border-left: 5px solid #007bff;
    padding-left: 15px;
    line-height: 1.4;
}

.catalogue-mettre_en_vente-paragraphe {
    font-family: "Inter" sans-serif;
    font-size: 16px;
    color: #333;
    position: relative;
    line-height: 1.7;
    border-left: 3px solid #cce5ff;
    z-index: 1;
    padding-left: 10px;
}


/* STYLE POUR LE FICHIER METTRE_EN_LOCATION.BLADE.PHP */

.mettre_en_location-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/louez.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.mettre_en_location-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-mettre_en_location {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-mettre_en_location {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue des biens */

.catalogue-mettre_en_location {
    max-width: 900px;
    margin: 90px auto;
    padding: 40px 48px;
    border-radius: 14px; 
    border-right: 5px solid blue;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08); 
    transition: transform 0.3s ease box-shadow 0.3s ease;  
}

.catalogue-mettre_en_location:hover {
    transform: scale(1.01);
    box-shadow: 0 4px 15px rgba(65, 105, 225, 0.2);
}

.catalogue-mettre_en_location-titre {
    color: black;
    font-family: "Poppins", serif;
    font-weight: 700;
    margin-bottom: 18px;
    font-size: 28px;
    position: relative;
    display: inline-block;
}

.catalogue-mettre_en_location-titre::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 4px;
    background-color: blue;
    border-radius: 5px;
}

.catalogue-mettre_en_location-paragraphe {
    font-family: "Lora", serif;
    font-size: 16px;
    padding-left: 10px;
}

/* STYLE POUR LE FICHIER GESTION_BIEN.BLADE.PHP */

.gestion_bien-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/confiez.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.gestion_bien-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-gestion_bien {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-gestion_bien {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}


/* Style pour le catalogue des biens */

.catalogue-gestion_bien {
    max-width: 950px;
    margin: 90px auto;
    padding: 20px 30px;
    border-left: 4px solid #0a58ca;
    border-bottom: 2px dashed #0a58ca;
    position: relative;
    font-family: 'Inter', sans-serif;
}

.catalogue-gestion_bien::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;
    height: 100%;
    width: 4px;
    background: linear-gradient(to bottom, #0a58ca, #00b4d8);
    border-radius: 2px;
    animation: verticalPulse 2s infinite ease-in-out;
}

.catalogue-gestion_bien-titre {
    font-size: 26px;
    font-weight: 800;
    color: #0a2a66;
    margin-bottom: 15px;
    padding-left: 12px;
    position: relative;
    border-left: 3px solid #0a58ca;
}

.catalogue-gestion_bien-paragraphe {
    font-size: 17px;
    color: #333;
    line-height: 1.6;
    padding-left: 15px;
    border-left: 2px solid rgba(0, 0, 0, 0.07);
    margin-left: 5px;
}

@keyframes verticalPulse {
    0% {
        transform: scaleY(1);
        opacity: 0.7;
    }
    100% {
        transform: scaleY(1.15);
        opacity: 1;
    }
}


/* STYLE POUR LE FICHIER AGENCE.BLADE.PHP */

.agence-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/footer.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.agence-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-agence {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-agence {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue des biens */

.agent-container {
    max-width: 850px;
    margin: 90px auto;
    background-color: white;
    padding: 40px;
    box-shadow: 0 10px 35px rgba(0, 123, 255, 0.2);
    border-top: 4px dotted #007bff;
    border-radius: 12px;
}

/* Section intro-agence */
.intro-agence h1 {
    color: black;
    font-family: "Playfair Display", serif;
    font-size: 25px;
    font-weight: 500;
}

.intro-agence p {
    font-family: "Lora", serif;
    font-size: 17px;
    opacity: 98%;
}

/* Section vision-valeurs */

.vision-valeurs h2 {
    font-family: "Playfair Display", serif;
    font-size: 25px;
    font-weight: 500;
    color: black;
}

.vision-valeurs p {
    font-family: "Lora", serif;
    font-size: 17px;
    opacity: 98%;
}

.vision-valeurs h3 {
    font-family: "Lora", serif;
    font-size: 17px;
    opacity: 98%;
    margin-bottom: 16px;
    position: relative;
    padding: 0 16px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
}

/* Icône bleue personnalisée avant chaque li */
.vision-valeurs h3::before {
    content: "💠"; /* ou "\2022" pour un rond classique */
    font-size: 18px;
    color: #007bff;
    margin-left: 0;
}


/* Section engagement */

.engagements h2 {
    font-family: "Playfair Display", serif;
    font-size: 25px;
    font-weight: 500;
    color: black;
}

.engagements p {
    font-family: "Lora", serif;
    font-size: 17px;
    opacity: 98%;
}

/* Section confiance */

.confiance h2 {
    font-family: "Playfair Display", serif;
    font-size: 25px;
    color: black;
    font-weight: 500;
}

.confiance p{
    font-family: "Lora", serif;
    opacity: 98%;
    font-size: 17px;
}


/* STYLE POUR LE FICHIER MARCHE.BLADE.PHP */

.marche-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/marcheimmo.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.marche-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-marche {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-marche {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue des biens */

.catalogue-marche {
    max-width: 950px;
    margin: 90px auto;
    padding: 45px 35px;
    background: linear-gradient(to right, #f4f9ff, #ffffff);
    border-left: 4px solid #007bff;
    border-radius: 14px;
    box-shadow: 0 8px 25px rgba(0, 123, 255, 0.08);
    transition: all 0.3s ease;
}

.catalogue-marche:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(0, 123, 255, 0.12);
}

.catalogue-marche-titre {
    font-family: "Playfair Display", serif;
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #0a0a0a;
}

.catalogue-marche-paragraphe {
    font-family: "Lora", serif;
    font-size: 17px;
    line-height: 1.7;
    color: #333;
    opacity: 0.95;
}

/* STYLE POUR LE FICHIER CONSEIL.BLADE.PHP */


.conseil-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/conseils.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.conseil-content {
    position: relative;
    top: 24%;
    text-align: center;
}

.titre-conseil {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

.paragraphe-conseil {
    text-align: center;
    color: white;
    font-size: 23px;
    font-family: "Poppins";
    margin: 10px 0;
}

/* Style pour le catalogue des biens */

.catalogue-conseil {
    max-width: 850px;
    margin: 90px auto;
    background: linear-gradient(to right, #f7faff, #ffffff);
    padding: 40px;
    border-left: 4px dashed #007bff;
    border-radius: 16px;
    box-shadow: 0 12px 35px rgba(0, 123, 255, 0.08);
}

.catalogue-conseil-titre {
    font-family: "Playfair Display", serif;
    font-size: 28px;
    color: #222;
    margin-bottom: 20px;
}

.catalogue-conseil-paragraphe {
    font-family: "Lora", serif;
    font-size: 17px;
    color: #444;
    line-height: 1.6;
    margin-bottom: 30px;
}

.conseil p {
    position: relative;
    padding-left: 50px;
    margin-bottom: 22px;
    font-family: "Lora", serif;
    font-size: 17px;
    color: #333;
    line-height: 1.5;
}

.conseil p::before {
    content: counter(item);
    counter-increment: item;
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    background-color: #007bff;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 8px rgba(0, 123, 255, 0.2);
}

/* Initialiser le compteur */
.conseil {
    counter-reset: item;
}

/* STYLE POUR LE FICHIER CONTACT.BLADE.PHP */

.contact-container {
    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/images/restons_en_contact.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

.contact-content {
    position: relative;
    top: 37%;
    text-align: center;
}

.titre-contact {
    font-size: 54px;
    color: white;
    text-shadow: 0 1px 1px black;
    font-family: "Inter", sans-serif;    
}

/* Style pour le titre et paragraphe du formulaire */

.contact-intro {
    max-width: 900px;
    margin-top: 70px;
    margin-bottom: 60px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.contact-intro h2 {
    font-family: "Playfair Display", serif;
    font-size: 28px;
    color: #007bff;
    margin-bottom: 10px;
}

.contact-intro p {
    text-align: center;
    font-size: 16px;
}


/* Style pour le formulaire */

.form-contact {
    max-width: 600px;
    margin: 0 auto 90px;
    background-color: #fdfdfd;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    padding: 40px;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
}

.form-contact label {
    display: block;
    margin-bottom: 8px;
    font-family: "Lora", sans-serif;
    font-size: 16px;
    color: #333;
    font-weight: 500;
}

.form-contact input,
.form-contact textarea {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 20px;
    transition: 0.3s ease;
    background-color: #fff;
    font-family: "Lora", serif;
    font-size: 16px;
}

.form-contact textarea {
    padding: 20px 18px;
    min-width: 120px;
    resize: vertical;
}

.form-contact input:focus,
.form-contact textarea:focus {
    border-color: #00bcd4;
    box-shadow: 0 0 8px rgba(0, 188, 212, 0.5);
    outline: none;
}

/* Style pour le bouton */
.form-btn {
    background-color: #007bff;
    font-size: 18px;
    font-family: "Syne", sans-serif;
    color: white;
    padding: 7px 20px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    font-weight: 500;
}

.form-btn:hover {
    background-color: darkblue;
}


/* STYLE POUR LE FICHIER DEMANDE.BLADE.PHP */

/* Style pour le formulaire */

.form-flottant {
    max-width: 600px;
    margin: 0 auto;
    background: #ffffff;
    padding: 40px;
    border-radius: 12px;
    margin-top: 36px;
    overflow: hidden;
}

.input-floating {
    position: relative;
    margin-bottom: 30px;
}

.input-floating input,
.input-floating textarea {
    width: 100%;
    border: none;
    border-bottom: 2px solid #ccc;
    background: transparent;
    padding: 10px 0;
    color: #333;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.input-floating textarea {
    resize: vertical;
    min-height: 100px;
}

.input-floating label {
    position: absolute;
    top: 10px;
    left: 0;
    color: #888;
    font-size: 16px;
    font-family: "Lora", serif;
    transition: 0.3s ease;
    pointer-events: none;
}

.input-floating input:focus,
.input-floating textarea:focus {
    border-bottom-color: #007BFF;
    box-shadow: 0 1px 0 #007bff;
    outline: none;
}

.input-floating input:focus + label,
.input-floating input:not(:placeholder-shown) + label,
.input-floating textarea:focus + label,
.input-floating textarea:not(:placeholder-shown) + label {
    top: -14px;
    font-size: 16px;
    color: #007bff;
}

/* Style pour l'icon close */

.history {
    position: absolute;
    top: 30px;
    left: 40px;
}

.history i {
    color: white;
    background-color: blue;
    font-size: 30px;
    border: 2px solid white;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.history i:hover {
    background-color: #324A5F;
}

/* STYLE POUR LE DROPDOWN MENU SUR LE MOBILE DANS LE BUT DE NE PAS AUTORISER LA REDIRECTION AU PREMIER CLIQUE DES LIENS PRINCIPEAUX */

.dropdown-menu.show {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(5px);
}

/* RESPONSIVITE POUR LE FICHIER LOUER.BLADE.PHP */

@media(max-width: 1285px) {

    .containers{
        display: flex;
        justify-content: center;
        align-items: center;
        height: 70vh;
    }   

    .louer-container {
        height: 120vh;
    }

    .louer-content{
        position: relative;
        top: 13%;
        text-align: center;
    }

    .titre-louer {
        font-size: 36px;
        padding: 0 8%;
    }

    .paragraphe-louer {
        font-size: 20px;
        margin-top: 30px;
        margin-bottom: 45px;
        padding: 0 8%;
        font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    }

    .titre-bien {
        text-align: center;
        margin-bottom: 18px;
        padding: 0 7%;
    }

    .bien {
        text-align: center;
        padding: 0 8%;
    }

    /* Responsivité pour le message rassurant */
    .rassurant-container {
        margin: 0 28px;
        margin-bottom: 60px;
    }

    .rassurant-paragraphe {
        line-height: 1.50;
    }
}    


/* Responsivité pour le catalogue des biens */
@media(max-width: 992px) {
    /* Deux bien par ligne sur tablette */
    .louer-item {
        width: calc(50% - 20px);
    }
}  

@media(max-width: 576px) {
    /* 1 bien par ligne sur mobile */
    .louer-item {
        width: 100%;
    }
    
    .louer-container-wrapper {
        padding: 0 28px;
    }
}


/* RESPONSIVITE POUR LE FICHIER MAISON.BLADE.PHP */
@media(max-width: 1285px) {

    .maison-content{
        position: relative;
        top: 13%;
        text-align: center;
    }

    .maison-container {
        height: 107vh;
    }

    .titre-maison {
        font-size: 35px;
        padding: 0 8%;
    }

    .paragraphe-maison {
        font-size: 20px;
        margin-top: 20px;
        margin-bottom: 30px;
        padding: 0 8%;
        font-family: "Merriweather", sans-serif;
    }

    .catalogue-titre {
        text-align: center;
        margin-bottom: 18px;
        padding: 0 7%;
    }

    .catalogue-paragraphe {
        text-align: center;
        padding: 0 8%;
    }

} 


/* LA RESPONSIVITE POUR LE FICHIER APPARTEMENT.BLADE.PHP */

@media(max-width: 1285px) {
    

    .appartement-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .appartement-container {
        height: 130vh;
    }

    .titre-appartement {
        font-size: 38px;
        padding: 0 7%;
    }

    .paragraphe-appartement {
        font-size: 24px;
        margin-top: 30px;
        margin-bottom: 60px;
        padding: 0 7%;
        font-family: "Gentium Plus", sans-serif;
    }

    .catalogue-appartement {
        margin: 30px;
        margin-top: 70px;
        margin-bottom: 70px;
    }


    .catalogue-appartement-paragraphe {
        text-align: center;
    }
}   


/* RESPONSIVITE POUR LE FICHIER VILLA.BLADE.PHP */

@media(max-width: 1285px) {

    .villa-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .villa-container {
        height: 111vh;
    }

    .titre-villa {
        font-size: 36px;
        padding: 0 7%;
    }

    .paragraphe-villa {
        font-size: 19px;
        margin-top: 30px;
        margin-bottom: 60px;
        padding: 0 7%;
        font-family: "Lora", serif;
    }

    .catalogue-villa {
        margin: 30px;
        margin-top: 70px;
        margin-bottom: 70px;
    }

    .catalogue-villa-paragraphe {
        text-align: left;
        margin-top: 25px;
    }
}   


/* RESPONSIVITE POUR LE FICHIER VENDRE.BLADE.PHP */

@media(max-width: 1285px) {

    .vendre-content {
        position:  relative;
        top: 13%;
        text-align: center;
    }

    .vendre-container {
        height: 130vh;
    }

    .titre-vendre {
        font-size: 36px;
        padding: 0 7%;
    }

    .paragraphe-vendre {
        font-size: 18px;
        margin-top: 30px;
        margin-bottom: 60px;
        padding: 0 7%;
        font-family: "Merriweather", sans-serif;
    }

    .catalogue-vendre {
        margin-top: 70px;
        margin-bottom: 70px;
    }

    .catalogue-vendre-paragraphe {
        text-align: left;
        margin-top: 25px;
        padding: 0 6%;
        font-size: 18px;
    }
}  


/* RESPONSIVITE POUR LE FICHIER HOMS.BLADE.PHP */

@media(max-width: 1285px) {

    .homs-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .homs-container {
        height: 130vh;
    }

    .titre-homs {
        font-size: 40px;
        padding: 0 7%;
    }

    .paragraphe-homs {
        font-size: 21px;
        margin-top: 30px;
        margin-bottom: 48px;
        padding: 0 7%;
        font-family: "Lora", serif;
    }

    .catalogue-homs {
        margin-top: 70px;
        margin-bottom: 70px;
    }

    .catalogue-homs-titre {
        text-align: left;
        margin-left: 10px;
    }

    .catalogue-homs-paragraphe {
        text-align: justify;
        margin-top: 25px;
        padding: 0 6%;
    }
}  

/* RESPONSIVITE POUR LE FICHIER APPARTMENT.BLADE.PHP */

@media(max-width: 1285px) {

    .appartment-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .appartment-container {
        height: 120vh;
    }

    .titre-appartment {
        font-size: 38px;
        padding: 0 7%;
    }

    .paragraphe-appartment {
        font-size: 21px;
        margin-top: 30px;
        margin-bottom: 30px;
        padding: 0 7%;
    }

    .catalogue-appartment {
       margin: 40px;
       margin-top: 80px;
    }

    .catalogue-homs-titre {
        text-align: left;
        margin-left: 10px;
    }

    .catalogue-appartment-paragraphe {
        text-align: left;
        margin-top: 25px;
        margin-bottom: 80px;
        padding: 0 2%;
    }
} 


/* RESPONSIVITE POUR LE FICHIER TERRAIN.BLADE.PHP */

@media(max-width: 1285px) {

    .terrain-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .terrain-container {
        height: 137vh;
    }

    .titre-terrain {
        font-size: 40px;
        padding: 0 7%;
    }

    .paragraphe-terrain {
        font-size: 24px;
        margin-top: 30px;
        margin-bottom: 48px;
        padding: 0 7%;
        font-family: 'Courier New', Courier, monospace;
    }

    .catalogue-terrain {
       margin: 40px;
       margin-top: 80px;
    }

    .catalogue-terrain-titre {
        text-align: left;
        margin-left: 10px;
    }

    .catalogue-terrain-paragraphe {
        text-align: left;
        margin-top: 25px;
        margin-bottom: 80px;
        padding: 0 2%;
    }
} 


/* RESPONSIVITE POUR LE FICHIER MEUBLE.BLADE.PHP */

@media(max-width: 1285px) {

    .meuble-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .meuble-container {
        height: 129vh;
    }

    .titre-meuble {
        font-size: 34px;
        padding: 0 2%; 
    }

    .paragraphe-meuble {
        font-size: 24px;
        margin-bottom: 40px;
        margin-top: 37px;
        padding: 0 7%;
        font-family: "Gentium Plus", sans-serif;
    }

    .catalogue-meuble {
       margin: 30px;
       margin-top: 90px;
       margin-bottom: 90px;
    }

    .catalogue-meuble-titre {
        text-align: left;
    }

    .catalogue-meuble-paragraphe {
        text-align: left;
        margin-top: 25px;
    }
} 


/* RESPONSIVITE POUR LE FICHIER VILLE_MEUBLE.BLADE.PHP */

@media(max-width: 1285px) {

    .villa_meuble-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .villa_meuble-container {
        height: 111vh;
    }

    .titre-villa_meuble {
        font-size: 38px;
        padding: 0 2%; 
    }

    .paragraphe-villa_meuble {
        font-size: 18px;
        margin-bottom: 40px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Playfair Display", serif;
    }

    .catalogue-villa_meuble {
       margin: 30px;
       margin-top: 80px;
       margin-bottom: 80px;
    }

    .catalogue-villa_meuble-titre {
        padding: 0 3%;
    }

    .catalogue-villa_meuble-paragraphe {
        text-align: justify;
        margin-top: 25px;
        font-size: 17px;
        padding: 0 3%;
    }
} 


/* RESPONSIVITE POUR LE FICHIER APPARTEMENT_MEUBLE.BLADE.PHP */

@media(max-width: 1285px) {

    .appartement_meuble-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .appartement_meuble-container {
        height: 135vh;
    }

    .titre-appartement_meuble {
        font-size: 40px;
        padding: 0 2%; 
    }

    .paragraphe-appartement_meuble {
        font-size: 22px;
        margin-bottom: 40px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Gentium Plus", serif;
    }

    .catalogue-appartement_meuble {
       margin: 20px;
       margin-top: 80px;
       margin-bottom: 80px;
    }

    .catalogue-appartement_meuble-titre {
        text-align: justify;
    }

    .catalogue-appartement_meuble-paragraphe {
        text-align: justify;
        font-size: 18px;
    }
} 


/* RESPONSIVITE POUR LE FICHIER VENDRE_LOUER.BLADE.PHP */

@media(max-width: 1285px) {

    .vendre_louer-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .vendre_louer-container {
        height: 116vh;
    }

    .titre-vendre_louer{
        font-size: 35px;
        padding: 0 2%; 
    }

    .paragraphe-vendre_louer {
        font-size: 20px;
        margin-bottom: 39px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Playfair Dispaly", serif;
    }

    .catalogue-vendre_louer {
        margin: 21px;
        margin-top: 90px;
        margin-bottom: 90px;
    }
}    


/* RESPONSIVITE POUR LE FICHIER METTRE_EN_VENTE.BLADE.PHP */

@media(max-width: 1285px) {

    .mettre_en_vente-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .mettre_en_vente-container {
        height: 120vh;
    }

    .titre-mettre_en_vente{
        font-size: 31px;
        padding: 0 2%; 
    }

    .paragraphe-mettre_en_vente {
        font-size: 22px;
        margin-bottom: 38px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Syne", serif;
    }

    .catalogue-mettre_en_vente {
        margin: 21px;
        margin-top: 90px;
        margin-bottom: 90px;
    }
}    


/* RESPONSIVITE POUR LE FICHIER METTRE_EN_LOCATION.BLADE.PHP */

@media(max-width: 1285px) {

    .mettre_en_location-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .mettre_en_location-container {
        height: 120vh;
    }

    .titre-mettre_en_location{
        font-size: 40px;
        padding: 0 9%; 
    }

    .paragraphe-mettre_en_location {
        font-size: 19px;
        margin-bottom: 38px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Playfair Display", serif;
    }

    .catalogue-mettre_en_location {
        margin: 21px;
        margin-top: 90px;
        margin-bottom: 90px;
    }


    .catalogue-mettre_en_location-paragraphe {
        font-size: 16px;
    }
}    


/* RESPONSIVITE POUR LE FICHIER GESTION_BIEN.BLADE.PHP */

@media(max-width: 1285px) {

    .gestion_bien-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .gestion_bien-container {
        height: 127vh;
    }

    .titre-gestion_bien {
        font-size: 38px;
        padding: 0 9%; 
    }

    .paragraphe-gestion_bien {
        font-size: 22px;
        margin-bottom: 38px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Syne", serif;
    }

    .catalogue-gestion_bien {
        margin: 21px;
        margin-top: 90px;
        margin-bottom: 90px;
    }
}    

/* RESPONSIVITE POUR LE FICHIER AGENCE.BLADE.PHP */

@media(max-width: 1285px) {

    .agence-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .agence-container {
        height: 129vh;
    }

    .titre-agence {
        font-size: 37px;
        padding: 0 9%; 
    }

    .paragraphe-agence {
        font-size: 21px;
        margin-bottom: 38px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Lora", serif;
    }

    .agent-container {
        margin: 30px;
        margin-top: 90px;
        margin-bottom: 90px;
    }

    .agent-container .intro-agence h1 {
        white-space: nowrap;
        margin-bottom: 10px;
    }

    .valeur-vision h3 {
        margin-left: 8px;
    }


    .agent-container .engagements p {
        text-align: left;
    } 

    .agent-container h1, .agent-container h2 {
        color: blue;
    }
} 


/* RESPONSIVITE POUR LE FICHIER MARCHE.BLADE.PHP */

@media(max-width: 1285px) {

    .marche-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .marche-container {
        height: 127vh;
    }

    .titre-marche {
        font-size: 38px;
        padding: 0 9%; 
    }

    .paragraphe-marche {
        font-size: 22px;
        margin-bottom: 38px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Syne", serif;
    }

    .catalogue-marche {
        margin: 21px;
        margin-top: 90px;
        margin-bottom: 90px;
    }

    .catalogue-marche-paragraphe {
        font-family: "Syne", sans-serif;
        font-size: 18px;
    }
}    

/* RESPONSIVITE POUR LE FICHIER CONSEILS.BLADE.PHP */ 

@media(max-width: 1285px) {

    .conseil-content {
        position: relative;
        top: 13%;
        text-align: center;
    }

    .conseil-container {
        height: 120vh;
    }

    .titre-conseil {
        font-size: 37px;
        padding: 0 7%; 
    }

    .paragraphe-conseil {
        font-size: 21px;
        margin-bottom: 38px;
        margin-top: 30px;
        padding: 0 7%;
        font-family: "Syne", serif;
    }

    .catalogue-conseil {
        margin: 21px;
        margin-top: 90px;
        margin-bottom: 90px;
    }

    .conseil p {
        text-align: left;
    }

    .catalogue-conseil-titre {
        color: darkblue;
    }

    .catalogue-conseil-titre {
        color: darkblue;
        text-align: center;
        font-family: "Syne", sans-serif;
    }
    
    .catalogue-conseil-paragraphe {
        font-size: 18px;
        font-family: "Playfair Display", serif;
        text-align: center;
    }

    .catalogue-conseil {
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    }
 

    /* RESPONSIVITE POUR LE FICHIER CONTACT.BLADE.PHP */
    
    .contact-container {
        height: 90vh;
    }

    .contact-content h2 {
        font-size: 40px;
        padding: 0 9%;
    }
    
    .contact-content {
        position: relative;
        top: 38%;
        text-align: center; 
    }
    
    .contact-intro {
        padding: 0 6%;
    }

    /* Responsivité pour le formulaire */
    .form-contact {
        margin: 24px;
        margin-bottom: 90px;
        background-color: darkblue;
    }

    .form-contact label {
        color: white;
    }

    .contact-intro h2 {
        font-family: "Inter", sans-serif;
    }
}   


/* RESPONSIVITE POUR LE FICHIER DEMANDE.BLADE.PHP */

@media(max-width: 1285px) {
    .form-flottant {
        margin: 20px;
        margin-top: 50px;
    }
}


/* STYLE POUR LE FICHIER SHOW.BLADE.PHP */

.carousel-slide {
    position: relative;
}

.carousel-item img {
    height: 730px;
}

.carousel-bt {
    position: absolute;
    top: 40%;
    transform: translateY(-40%);
    border-radius: 50%;
    background-color: blue;
    color: white;
    width: 50px;
    height: 50px;
}

.carousel-control-prev {
    left: 30px;
}

.carousel-control-next {
    right: 30px;
}

/* La description */


.description {
    margin: 60px auto;
    max-width: 800px;
    background-color: white;
    padding: 30px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);
    border-radius: 8px;
}
.description h4 {
    color: blue;
    margin-bottom: 10px;
}

.description p {
    opacity: 88%;
}

/* Responsivité pour le fichier show.blade.php */

@media(max-width: 378px) {
    .carousel-item img {
        height: 600px;
    }
}

/* Style pour le formulaire pour reformuler une requête dans le fichier de detail show.blade.php */

.form-description {
    max-width: 500px;
    margin: 30px auto;
    background: linear-gradient(to right, #e0f7ff, #e0f7ff);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.09);
    border-radius: 10px;
    padding: 30px;
}

.form-description label {
    font-weight: bold;
    margin: 6px 0;
    font-size: 14px;
    font-family: "Merriweather", sans-serif;
}

.form-description input {
    width: 100%;
    outline: none;
    border: none;
    border-radius: 6px;
    padding: 5px;
    border: 1px solid transparent;
}

.form-description textarea {
    width: 100%;
    height: 13vh;
    outline: none;
    resize: vertical;
    padding: 10px;
    border-radius: 6px;
    border: none;
    border: 1px solid transparent;
}

.form-description input:focus,
.form-description textarea:focus {
    border-color: blue;
    box-shadow: 0 0 3px blue;
}

.demande-btn {
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
}

.demande-btn button {
    padding: 10px;
    background-color: blue;
    border-radius: 4px;
    color: white;
    border: none;
    cursor: pointer;
    text-decoration: none;
    font-family: "Syne", sans-serif;
    font-size: 15px;
    font-weight: bold;
    transition: 0.3s all ease-in-out; 
    border: 2px solid transparent;
    display: inline-block;
}

.demande-btn button:hover {
    background-color: white;
    color: blue;
    border: 2px solid blue;
}

.demande-btn button i {
    margin-right: 4px;
}

.demande-btn a {
    text-decoration: none;
    padding: 10px;
    border-radius: 4px;
    background-color: #25D366;
    color: white;
    font-family: "Syne", sans-serif;
    font-size: 15px;
    font-weight: bold;
    transition: 0.3s all ease-in-out; 
    border: 2px solid transparent;
    display: inline-block;
}

.demande-btn a:hover {
    background-color: white;
    color: #25D366;
    border: 2px solid #25D366;
}

.demande-btn a i {
    margin-right: 7px;
}

/* Responsivité pour les buttons de formulaire */
@media(max-width: 378px) {
    .demande-btn {
        flex-wrap: wrap;
        flex-direction: column;
        text-align: center;
    }
    
    .demande-btn button {
        margin-bottom: 8px;
    }
    
    .description h5 {
        font-family: "Syne", sans-serif;
    }
}

/* Style pour le formulaire de recherche dans index.blade.php */

.search-container{
    display: flex;
    justify-content: center;
    align-items: center;
    height: vh;
}

.search-form-box{
    all: unset;
    background: rgba(3, 4, 94, 0.5);
    padding: 50px !important;
    width: 90% !important;
    max-width: 900px !important;
    border-radius: 5px;
    color: white;
    position: relative;
}


.title-search {
    max-width: 1000px;
    margin: 40px auto;
    font-weight: bold;
    font-size: 25px;
    color: black;
    font-family: "Lora", sans-serif;
}

.paragraphe-search {
    max-width: 1200px;
    margin: 40px auto;
    font-size: 17px;
}



/* Responsivité pour le formulaire de recherche dans index.blade.php */
@media (max-width: 1285px) {
    .form-group {
        flex-wrap: wrap;
        justify-content: center;
    }

    .input-box {
        width: 80% !important; 
    }

    .search-container {
        padding: 0 20px;
    }

    .btn-rechercher {
        width: 100%;
        text-align: center;
    }
}



@media (max-width: 768px) {

    .search-form-box {
        padding: 40px 0 !important;
        margin-top: 3rem;
    }

    .form-group {
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }

    .input-box select {
        font-size: 15px !important;
        font-family: "Playfair Display", serif;
    }

   

    .btn-rechercher {
        width: 80%;
        padding: 8px;
        margin-right: 41px;
        margin-left: 2rem;
    }   
}



@media (max-width: 1285px) {
    .title-form {
        font-size: 14px;
        padding: 10px;
        background-color: rgba(255, 255, 255, 0.70);
        font-family: "Syne", sans-serif;
        color: #007bff;
        font-weight: bold;
    } 
    
}

/* Responsivité pour  le title et le p dans le fichier index de recherche */

@media(max-width: 1285px) {
    .title-search {
        max-width: 800px;
        margin: 40px auto;
        padding: 0 8%;
        font-weight: bold;
        font-size: 20px;
        color: black;
        font-family: "Syne", sans-serif;
    }
    
    .paragraphe-search {
        max-width: 800px;
        margin: 40px auto;
        padding: 0 8%;
        font-size: 16px;
    }
}


/* STYLE POUR LE FICHIER LEGAL.BLADE.PHP DE MENTIONS LEGALES */

.mentions {
    max-width: 1200px;
    margin: 80px auto;
}

.mentions_title {
    margin-bottom: 17px;
    color: blue;
    font-weight: bold;
    font-family: "DM Sans", sans-serif;
}

.mentions_paragraphe span {
    color: blue;
    font-weight: bold;
}

.mentions_paragraphe a {
    text-decoration: none;
}

.mentions_paragraphe p {
    font-family: "DM Sans", sans-serif !important;
    font-size: 17px;
}

.mentions_titre h5 {
    font-weight: bold;
    color: blue;
    font-family: "DM Sans", sans-serif;
}

.mentions_titre p {
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
}


/* RESPONSIVITE POUR LE FICHIER LEGAL.BLADE.PHP CONCERNANT MENTIONS LEGALES */

@media(max-width: 778px){
    .mentions {
        margin: 40px 7%;
    }
}


/* Style pour le fichier terms.blade.php, for terme & condition d'utilisation */

.termes {
    max-width: 1200px;
    margin: 40px auto;
}

.termes h2 {
    color: blue;
    margin-bottom: 13px;
    font-weight: bold;
    font-size: 24px;
    font-family: "DM Sans";
}

.termes h4 {
    color: darkblue;
    font-family: "DM Sans";
    font-size: 20px;
}

.termes p {
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
}

.termes a {
    text-decoration: none;
    color: blue;
}

/* RESPONSIVITE POUR LE FICHIER TERMS.BLADE.PHP */

@media(max-width: 778px) {
    .termes {
        margin: 40px 7%;
    }
}


@media(max-width: 998px) {
    .termes {
        margin: 40px 7%;
    }
}

/* Style pour le menu-title de dropdown-menu */
.menu-title {
    font-weight: bold;
    padding-bottom: 5px;
    margin-bottom: px;
    display: block;
}


/* Style pour le favoris */

.property-favorite.favori-actif i {
    color: blue;
}

.favoris {
    max-width: 1200px;
    margin: auto;
}

.favoris h1 {
    color: blue;
    font-family: "DM Sans", sans-serif;
    font-weight: bold;
    font-size: 26px;
}


@media(max-width: 778px){
    .favoris h1 {
        padding-left: 5%;
    }
}


.retour {
    color: blue;
    text-align: center;
    font-family: 'DM Sans', sans-serif;
    font-weight: bold;
    cursor: pointer;
    font-size: 17px;
}


.pagination {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 4rem;
    font-family: sans-serif;
}

.pagination a,
.pagination span {
    padding: 8px 14px;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid blue;
    font-weight: bold;
    transition: 0.3s;
    font-family: 'Syne', sans-serif;
}

.pagination a {
    background: #fff;
    color: #333;
}

.pagination a:hover {
    background: blue;
    color: #fff;
}

.pagination .active {
    background: blue;
    color: #fff;
    font-weight: bold;
    border: 1px solid #333;
}

.pagination .disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination .dots {
    padding: 8px 14px;
    color: blue;
}


