/** GENERAL **/

body {
    background-color: #24445c !important;
    font-family: "Open Sans", sans-serif !important;
    color: #fff !important;
    min-height: 100vh;
    position: relative;
}

select:focus-visible,
select:focus {
    outline: none;
}

h1 {
    font-weight: 700 !important;
    text-transform: uppercase;
    font-family: "Open Sans", sans-serif !important;
    font-size: 2rem !important;
    line-height: 2.7rem !important;
}

h2 {
    text-transform: uppercase !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
}

p {
    font-weight: lighter;
}

strong {
    font-weight: bolder;
}

a {
    color: rgba(255, 255, 255, 1) !important;
    text-decoration: none !important;
}

input {
    -webkit-border-radius: 0 !important;
    border-radius: 0 !important;
}

a:hover {
    color: #c6a47f !important;
}

textarea:focus,
input:focus {
    outline: none;
}

#iframe {
    border-radius: 9.55px;
}
/* footer{
  position: absolute;
  width: 100%;
  bottom: 0;
} */

a:focus,
button:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

footer .list {
    list-style: none;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-around;
}

footer .list li:first-child {
    font-size: 1.3rem;
}

footer .list a {
    font-size: 0.7rem;
}

/* input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    border: none;
    -webkit-text-fill-color: white;
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    transition: background-color 5000s ease-in-out 0s;
} */

/* LINKS */

.gold-link {
    font-weight: 400;
}

.gold-link a {
    color: #c6a47f !important;
    font-style: italic;
    font-weight: 100;
}

.gold-link a:hover {
    text-decoration: underline !important;
}
/* BUTTONS */

.btn {
    text-transform: uppercase !important;
    font-size: 0.7rem !important;
}

.btn-round {
    border-radius: 100px !important;
}

.btn-gold {
    background-color: #c6a47f !important;
    color: #fff !important;
}

.btn-gold:hover {
    color: white !important;
}

.btn-blue,
.btn-white {
    background-color: #24445c !important;
    color: #fff !important;
}

.btn-white {
    border: 1px solid white;
}

.btn-border-gold {
    background-color: transparent !important;
    color: #c6a47f !important;
    border: 1px solid #c6a47f !important;
}

/* MESSAGES D'ERREUR */

.green {
    color: green;
}

.red {
    color: red;
}

/* STYLE DE LA PAGINATION */

.pagination {
    justify-content: center !important;
    margin-top: 50px;
}

.page-item.disabled .page-link {
    background: transparent !important;
}

.page-link {
    background: transparent !important;
    font-size: 1rem !important;
    border: none !important;
    font-weight: bold !important;
}

.page-item.active .page-link {
    color: #c6a47f;
    font-size: 1rem !important;
}

.page-item:first-child .page-link {
    font-size: 0.8rem !important;
}

.page-link:focus {
    box-shadow: 0px !important;
}

/* STYLES DU CAROUSEL */

.owl-dots {
    display: flex;
    justify-content: center;
}

.owl-dot {
    margin: 0 10px;
}

.active .round {
    width: 43px;
}

.round {
    width: 10px;
    height: 10px;
    border-radius: 20px;
    background-color: white;
}

/** NAVBAR **/


.navbar.transparent {
    background-color: transparent !important;
}

.navbar.scrolled {
    background-color: #24445c !important; /* Remplace par la couleur de ta navbar */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); /* Effet d'ombre subtil */
}

.nav-item {
    text-transform: uppercase !important;
    font-size: 0.7rem;
}

.navbar-dark .navbar-nav .nav-link.active {
    color: #c6a47f !important;
}

/* MODAL */

.alert-niids {
    color: #c6a47e;
    background-color: #f3ca9a4b;
    border-color: #c6a47ebe;
}
/* -------------------------- PAGE D'ACCUEIL -------------------------- */

/* SECTION WELCOME */

.colonne-img {
    position: absolute !important;
    right: 0 !important;
    height: 480px !important;
    width: 62% !important;
}

.img-home {
    width: 120%;
    height: 530px;
    position: absolute;
    right: -20%;
}

#recherche {
    margin-bottom: 0;
    font-size: 0.9rem;
    color: #c6a47f !important;
    cursor: pointer;
    display: flex;
    align-items: center;
}

#recherche img {
    transform: rotate(-90deg);
    margin-left: 5px;
}

#agencewebimmo .admin {
    position: relative;
    z-index: 2;
}

#welcome {
    background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), 
                url('../../img/welcome-background.jpg') center/cover no-repeat;=
    color: white; /* Texte clair sur fond sombre */
    text-align: center;
    padding: 100px 20px;
}

/** ARTICLE BIENVENU **/

#agencewebimmo-desc {
    background: #c6a47f 0% 0% no-repeat padding-box;
    border-radius: 80px 0px 0px 80px;
    opacity: 1;
    width: 97%;
    margin-left: auto;
    height: 500px;
    margin-bottom: 10vh;
}

#agencewebimmo-desc-container {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
}

/* MAIN */

.accompagnement .image-title {
    color: #c6a47f;
    line-height: 21px;
    font-style: italic;
    font-weight: 100;
}

.accompagnement .item span {
    display: block;
    font-style: normal;
    font-weight: bold;
    font-size: 1rem;
}

.accompagnement .item span::after {
    content: "";
    display: block;
    margin-top: 1vh;
    height: 3px;
    width: 15%;
    background-color: #c6a47f;
}

.accompagnement .image-subtitle {
    font-size: 1rem;
}

/* SECTION ESPACE CLIENT */

#espace-client {
    margin: 100px 0;
}

/* SECTION MANDAT */

#mandat {
    margin: 100px 0;
}

/* .img-mandat{
  background-image: url("../../img/accueil-mandat.svg");
  background-size: cover;
  height: 40vh;
  min-height: 400px;
  background-repeat: no-repeat;
  padding-left: 200px;
  background-position: bottom center;
} */

/* SECTION SERVICES */

.services {
    margin-top: 170px;
}

.services .cards {
    width: 100%;
    height: 260px;
    display: flex;
    align-items: center;
    font-size: 10px;
}

.services .card-left {
    width: 45%;
    height: 70%;
}

.services .card-left .top {
    background-color: white;
    height: 50%;
    color: #c6a47f;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px 0 0 0;
}

.services .card-left .top p {
    margin-bottom: 0;
    font-size: 20px;
    font-weight: lighter;
}

.services .card-left .bottom {
    height: 50%;
    background-color: #f4f4f4;
    border-radius: 0 0 0 10px;
    border-top: 1px dashed #b8b8b8;
    display: flex;
    justify-content: center;
    align-items: center;
}

.services .card-left .bottom p {
    margin-bottom: 0;
    color: #606060;
    font-size: 10px;
}

.services .card-right {
    height: 100%;
    width: 100%;
}

.services .card-right .top {
    font-family: "nunito";
    height: 40%;
    background-color: #c6a47f;
    border-radius: 10px 10px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.services .card-right .top p {
    margin-bottom: 0;
    font-size: 60px;
    font-weight: 600;
}

.services .card-right .bottom {
    background-color: white;
    height: 60%;
    color: black;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    border-radius: 0 0 10px 10px;
}

.services .card-right .bottom p {
    margin-bottom: 0;
    font-size: 15px;
    justify-self: center;
    color: #24445c;
}

.services .card-right .bottom span {
    color: #c6a47f;
}

/* SECTION ANNONCES */

/* .annonces {
  margin-top: 170px;
} */

.annonces a:hover {
    color: white !important;
}

.annonces .title {
    font-weight: bold !important;
    font-size: 30px !important;
    margin-bottom: 4vh;
}

.annonce-image {
    background-position: center;
    background-size: cover;
    border-radius: 5px;
    position: relative;
    height: 264px;
}

.annonce-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.annonce-image .type {
    background-color: #c6a47f;
    position: absolute;
    top: 10px;
    left: 10px;
    height: fit-content;
    border-radius: 100px;
}

.annonce-image .vendu {
    background-color: #dc3545;
}

.annonce-image .niids {
    background-color: #24445c;
}

.annonce-image .exclu {
    background-color: #c6a47f;
}

.annonce-image .type p {
    margin-bottom: 0;
    padding: 5px 10px;
    text-transform: uppercase;
    font-size: 0.7rem;
    font-weight: 600;
}

.annonce-image .price {
    position: absolute;
    bottom: 10px;
    left: 15px;
}

.annonce-image .price p {
    margin-bottom: 0;
    font-weight: bold;
    font-size: 18px;
    line-height: 20px;
}

.annonce-image .gallery {
    position: absolute;
    background-color: rgba(37, 37, 37, 0.5);
    right: 5px;
    bottom: 5px;
    height: fit-content;
    border-radius: 20px;
    display: none;
}

.annonce-image .gallery p {
    margin-bottom: 0;
    padding: 5px;
    font-size: 14px;
}

.annonces .informations h3 {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 19px;
}

.annonces .informations span {
    font-size: 0.8rem;
    display: block;
    text-transform: none;
    font-weight: 100;
}

.annonces .informations p {
    font-size: 0.6rem;
    font-weight: bold;
}

/* SECTION INFOS AGENCE  */

.infos-agence {
    margin-top: 170px;
}
.infos-agence img {
    position: relative;
    width: 100%;
}

.infos-agence h2 {
    margin-bottom: 30px;
}

.infos-agence span {
    display: block;
}

.infos-agence p {
    margin-left: auto;
    margin-bottom: 40px;
}

/* SECTION CONTACT */

.contact {
    margin-top: 100px;
}
.contact h2 {
    text-transform: none !important;
    font-size: 30px !important;
    font-weight: bold !important;
}
#contact-form {
    position: relative;
    background-color: white;
    border-radius: 40px;
}
.overlay-form {
    width: 100%;
    height: 100%;
    border-radius: 40px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    z-index: 2;
}

.visible-error {
    background-color: #dc3545;
}

.visible-success {
    background-color: green;
}

.contact__footer input[name="email"] {
    width: 100%;
    border-radius: 20px 0 0 20px !important;
    border: none;
    font-size: 12px;
    border-right: 1px solid lightgrey;
}

.contact__footer input[name="phone_number"] {
    width: 100%;
    position: relative;
    border: none;
    font-size: 12px;
}

.contact__footer button {
    width: 100%;
    height: 100%;
}

/* SECTION VISITE VIRTUELLE */

#visite-virtuelle {
    background-color: #c6a47f;
    width: 75%;
    margin-right: auto;
    border-radius: 0 80px 80px 0;
    margin-top: 100px;
    max-width: 1680px;
}

#container-visite-virtuelle {
    position: absolute;
    left: 0;
    right: 0;
}

#col-img {
    background: url("../../img/ecran-mac-noir.svg") no-repeat;
    background-size: contain;
    background-position: bottom center;
    height: 400px;
}

/* MEDIA QUERIES */
@media (max-width: 767px) {
    .accompagnement {
        margin-top: 200px;
    }
    .contact__footer input[name="email"] {
        border-radius: 0 !important;
        border-right: none;
        border-bottom: 1px solid lightgrey;
    }

    .contact__footer input[name="phone_number"] {
        font-size: 12px;
    }

    #col-img {
        height: 275px;
    }

    #contact-form {
        border-radius: 20px;
    }

    .overlay-form {
        border-radius: 20px;
    }

    /* SECTION SERVICES */

    .services {
        margin-top: 230px;
    }

    .cards {
        height: 250px;
    }

    /* SECTION ANNONCES */

    .annonces {
        margin-top: 100px;
    }

    /* SECTION INFOS-AGENCE */

    .infos-agence {
        margin-top: 100px;
    }
}

@media (max-width: 300px) {
    #col-img {
        height: 225px;
    }
}

/* SECTION WELCOME */

@media (min-width: 992px) and (max-width: 1200px) {

    .colonne-img {
        height: 500px !important;
        width: 60% !important;
        margin-bottom: 0;
    }

    .img-home {
        width: 115%;
        position: absolute;
        bottom: 0;
    }
}

@media (min-width: 769px) and (max-width: 991px) {
    .colonne-img {
        height: 560px !important;
        width: 55% !important;
    }
    .img-home {
        width: 125% !important;
        height: 500px !important;
    }
    #image-mac {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .colonne-img {
        position: relative !important;
        height: fit-content !important;
        margin-bottom: -105px !important;
        width: 100% !important;
    }
    .img-home {
        width: 100% !important;
        position: relative !important;
        height: auto !important;
        right: -20% !important;
    }
    #image-mac {
        width: 100%;
    }

    /* SECTION SERVICES*/

    .services div:nth-child(3) {
        order: 2;
    }

    /* SECTION VISITE VIRTUELLE */
    #visite-virtuelle {
        width: 100%;
        margin-right: auto;
        border-radius: 0;
        margin-top: 100px;
    }
}

/* -------------------------------------- PAGE HONORAIRES ------------------------------- */

.honoraires {
    margin-top: 50px;
}

.honoraires .tableau {
    margin-top: 70px;
}

.honoraires .tab-title {
    background-color: rgb(255, 255, 255, 0.2);
    border-radius: 100px;
    padding-left: 15px;
    font-size: 1rem;
    font-weight: 600;
}

.honoraires .tab-subtitle,
.honoraires .tab-subtitle2 {
    font-size: 0.8rem;
}

.honoraires .mentions {
    font-size: 11px;
    font-style: italic;
}

.honoraires sup {
    font-weight: normal;
}

@media (min-width: 992px) {
    .honoraires {
        margin-top: 120px;
    }

    .honoraires .tableau {
        margin-top: 90px;
    }

    .honoraires .mentions {
        margin-top: 50px;
        margin-bottom: 200px;
    }
}

/* ------------------------------- PAGE 404 ------------------------------- */

.erreur-404 h1 {
    font-size: 30px !important;
}

.erreur-404 h2 {
    font-size: 15px !important;
}

.erreur-404 .image {
    background-image: url(../../img/img-page-404-desert.svg);
    background-size: cover;
    height: 90vh;
    min-height: 400px;
    background-repeat: no-repeat;
    padding-bottom: 30px;
    background-position: bottom center;
}

.row-buttons {
    height: 100%;
}

@media (max-width: 768px) {
    .row-buttons {
        height: auto;
    }
}

/* ------------------------------- PAGE LOGIN ------------------------------- */
.espace-client {
    height: 100vh;
}

.espace-client .left-col {
    background-image: url("../../img/sign-in-niids.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.espace-client .connexion {
    margin-top: 100px;
}

.espace-client .forgot {
    color: #c6a47f !important;
    font-size: 0.8rem;
}

.espace-client .back-home {
    color: #24445c !important;
    font-size: 0.7rem;
    text-transform: uppercase;
}

.espace-client .back-home i {
    font-size: 1rem;
}

.espace-client .logo {
    width: 65%;
    height: auto;
}

.espace-client .right-col {
    background-color: white;
}

.espace-client h1 {
    color: #24445c;
}

.espace-client input {
    padding: 8px 15px;
    border: 1px solid #c6a47f;
    border-radius: 30px;
    font-size: 0.8rem;
    color: #24445c;
}

.espace-client .remember-text {
    color: #24445c;
    font-size: 0.8rem;
    margin-bottom: 0;
    margin-left: 15px;
}

.espace-client input::placeholder {
    color: #24445c;
}

.espace-client .social-networks {
    margin-top: 180px;
}

.espace-client .social-networks ul {
    list-style: none;
}

.espace-client .social-networks a {
    font-size: 1.5rem !important;
    color: #24445c !important;
}

.espace-client .social-networks a:hover {
    color: #c6a47f !important;
}

.espace-client .mentions p {
    color: #24445c;
    font-size: 0.7rem;
    margin: 0;
}

.espace-client .right-col .invalid-feedback {
    margin-top: 15px !important;
    font-size: 0.8rem !important;
    margin-left: 5px !important;
}

@media (max-width: 767px) {
    .espace-client h1 {
        font-size: 1.7rem !important;
    }

    .espace-client .left-col {
        height: 40%;
    }

    .espace-client .right-col {
        border-radius: 50px 50px 0 0;
    }

    .espace-client .back-home {
        color: #24445c !important;
        font-size: 0.6rem;
        text-transform: uppercase;
    }

    .espace-client .back-home i {
        font-size: 0.8rem;
    }

    .espace-client .connexion {
        margin-top: 30px;
    }

    .espace-client .social-networks {
        margin-top: 30px;
    }
}

/* --------------------------------------------- PAGE MOT DE PASSE OUBLIE -----------------------------------------*/

.forgot .left-col {
    background: url("../../img/niids-mot-de-passe-perdu.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* ------------------------------------------- PAGE REINITIALISATION MOT DE PASSE --------------------------------*/

.reinit .left-col {
    background: url("../../img/niids-reinitialise-mot-de-passe.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* ------------------------------------------ PAGES MENTIONS LÉGALES  -----------------------------------------*/

.privacy h3 {
    font-size: 1.8rem !important;
    text-transform: none !important;
    margin: 30px 0 10px 0 !important;
}

.privacy strong {
    font-weight: bold;
}

.privacy p {
    margin: 0;
    font-size: 0.9rem;
}

.privacy a {
    color: #c6a47f !important;
}

/* PAGE D'ARTICLES */

.articles {
    margin-top: 120px;
}

.articles .image-article {
    background-size: cover !important;
    height: 300px;
    background-position: center !important;
    border-radius: 20px;
}

.articles img {
    width: 100%;
    border-radius: 15px;
}

.articles h1 {
    font-size: 2.5rem !important;
}

.articles h2 {
    font-size: 1.5rem !important;
}

.articles form {
    background: rgba(255, 255, 255, 0.25);
    border-radius: 100px;
    display: flex;
    justify-content: space-between;
    padding: 5px 10px;
}

.article-content a {
    color: #c6a47f !important;
}

.articles form input,
.articles form button {
    border: none;
    background: transparent;
}

.articles input::placeholder,
.articles input {
    color: white;
}

.articles .categorie {
    background-color: #c6a47f;
    border-radius: 5px;
    text-transform: uppercase;
    font-size: 0.7rem;
}

.articles a:hover {
    color: white !important;
}

.articles .date {
    font-style: italic;
    font-size: 0.8rem;
}

@media (max-width: 470px) {
    .articles .date {
        display: block;
        padding: 0 !important;
        margin-top: 10px;
    }
}

@media (max-width: 575px) {
    .articles .image-article {
        border-radius: 0;
    }
}
