/*
Theme Name: Houzez Child
Theme URI: http://www.favethemes.com/
Author: Favethemes
Author URI: http://www.favethemes.com/
Description: Houzez is a premium WordPress theme for real estate agents where modern aesthetics are combined with tasteful simplicity, and where the ease of use is achieved without compromise in your ability to customise the design. Whether you are a real estate agent looking to build a website for your company or a web developer seeking a perfect WordPress theme for your next project, you are certain to appreciate the numerous features and benefits that our theme provides.
Version: 1.0
Tags: white, right-sidebar, left-sidebar, custom-colors, custom-menu, featured-images, post-formats, theme-options, translation-ready
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: houzez
Template: lryere
*/


@import url("../lryere/style.css");

body {
    font-family: 'Lato';
}

.logo.logo-desktop a img {
    width: 215px;
    height: 65px;
}

/* Your CSS code goes here
-------------------------------------- */
footer .menu-navigation-container, footer .menu-liens-utiles-container, footer .footer-contact, footer .footer-slogan {
    font-size: 19px;
    color: #cdcabc;
}

.widget-title {
    font-size: 21px;
    color: #ffffff;
}
.footer-contact {
    line-height: 1.75rem;
}

footer .footer-top-wrap .container {
    border-bottom: 1px solid;
    border-color: #cdcabc;
}

.footer-top-wrap {
    padding: 80px 0 0;
}

.footer-top-wrap .container .row {
    padding-bottom: 30px;
}

.header-inner-wrap .logo {
    margin-top: 7px;
}

.header-main-wrap, #header-section {
    border-bottom: 1px solid #55017d;
}

/* Slider residence */
/* Style des boutons de contrôle du carousel */
.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    width: 50px;
    height: 50px;
    bottom: 10px;
    top: auto;
    transform: translateY(-50%);
    background-color: #F7A600;
    border-radius: 8px;
    opacity: 1;
    transition: background-color 0.3s;
    z-index: 2;
}

.carousel-control-prev {
    left: 50%;              /* placer au centre */
    transform: translateX(-120%); /* décaler vers la gauche */
}

.carousel-control-next {
    left: 50%;              /* placer au centre */
    transform: translateX(20%); /* décaler vers la droite */
}

@media (max-width: 768px) {
    .carousel-control-prev,
    .carousel-control-next {
        width: 40px;
        height: 40px;
    }
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    background-color: #d98f00;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: brightness(0) invert(1);
    width: 20px;
    height: 20px;
}

.modal .carousel-inner img {
    width: 100%;
    max-height: 90vh;
    object-fit: contain;
    background: #000;
}

/* ------- TITRE OVERLAY GÉNÉRAL ------- */
.carousel-wrapper {
    position: relative;
}

.residence-title-overlay {
    position: absolute;
    left: 50%;
    z-index: 2;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    text-align: center;
}

@media (min-width: 769px) {
    .residence-title-overlay {
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .residence-title-overlay h1 {
        font-size: 3rem;
    }
}

@media (max-width: 768px) {
    .residence-title-overlay {
        top: 20%;
        transform: translateX(-50%);
    }

    .residence-title-overlay h1 {
        font-size: 1.8rem;
    }
}

.residence-infos-cards-section {
    background-color: #FFDBA5;
}

.residence-infos-cards-section .bg-residence {
    background-image: url('img/bg-section.png');
    background-size: cover;
    background-position: center;
    height: 400px; /* hauteur sur mobile */
}

/* Pour que le contenu soit au-dessus */
.residence-infos-cards-section > * {
    position: relative;
    z-index: 1;
}

.residence-infos-section {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background-color: #f4f1ec;
    padding: 60px 0;
}

.residence-description, .residence-map-section .section-title {
    font-size: 1.3rem;
    color: #222;
    /*line-height: 1.4;*/
}

.residence-infos-cards-section .p-4.residence-description {
    padding-right: 0 !important;
}

.residence-infos-cards-section .container {
    max-width: 1480px !important;
}

.residence-map-section .section-title {
    max-width: 1200px;
}

/** map residence **/
/* ===== Section "À proximité de chez vous" ===== */
.residence-map-section{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
    "title title"
    "access map";
    gap: 24px 32px;
    max-width: 1200px;
    margin: 0 auto 60px;
    padding: 0 20px;
}

/* Bloc titre centré (haut) */
.residence-map-section .section-title{
    grid-area: title;
    text-align: center;
}
.residence-map-section .section-title h2{
    color: #55017d; /* violet */
    font-family: 'arial-black', Arial, Helvetica, sans-serif;
    margin: 10px 0 8px;
}
.residence-map-section .section-title p{
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.5;
}

/* Colonne gauche : "Les accès" */
.residence-map-section .grid-proximite{
    grid-area: access;
    align-self: start;
}
.residence-map-section .grid-proximite h3{
    margin: 6px 0 8px;
    color: #55017d;
    font-weight: 700;
}
.residence-map-section .grid-proximite p{
    margin: 0;
    line-height: 1.45;
    max-width: 520px;
}

/* Colonne droite : Carte */
#residence-map{
    grid-area: map;
    width: 100%;
    height: 360px;
    border-radius: 12px;
    border: 1px solid #cdcabc; /* gris charte */
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,.06);
    margin-top: 0; /* on annule l’inline margin-top si présent */
}

/* ===== Responsive ===== */
@media (max-width: 992px){
    .residence-map-section{
        grid-template-columns: 1fr;
        grid-template-areas:
      "title"
      "access"
      "map";
        gap: 16px;
    }
    #residence-map{ height: 320px; }

    .residence-infos-cards-section::before {
        opacity: 0.2;
    }
}

@media (max-width: 600px){
    #residence-map{ height: 260px; }
}

/** end **/

.residence-infos-cards {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.info-card {
    background: #fdf9ff;
    border-radius: 16px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    padding: 30px 20px;
    text-align: center;
    width: 280px;
}

.info-card .icon {
    font-size: 32px;
    color: #F7A600;
    margin-bottom: 10px;
}

.info-card h4 {
    color: #55017d;
    margin-bottom: 8px;
    font-size: 1.3rem;
}

.info-card p {
    margin: 0;
    font-size: 1.2rem;
    color: #333;
    font-family: 'Lato';
}

.info-card .included-charges {
    display: block;
    font-size: 15px;
}

@media (max-width: 768px) {
    .residence-cards-grid {
        flex-direction: column;
        align-items: center;
    }
}

.residence-infos-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.residence-facts {
    flex: 1;
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.residence-facts li {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    font-size: 1rem;
    color: #333;
}

.residence-facts li span {
    font-size: 19px;
}

.residence-icons {
    border-radius: 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 20px;
    flex: 1 1 500px;
}

.icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.9rem;
    color: #55017d;
}

.icon-item img {
    width: 32px;
    height: 32px;
    margin-bottom: 5px;
}

.residence-title h1, .residence-logements h2, .section-title h2 {
    text-align: center;
    font-family: 'arial-black';
    color: #55017d;
    font-size: 3rem;
}

.residence-title h1, .residence-logements h2 {
    margin: 40px 0 0 0;
}

.section-title h2 {
    margin-bottom: 50px;
}

.residence-logements h2 {
    margin-bottom: 60px;
}

.residence-logements {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

/* === Grille responsive, cartes même hauteur === */
.logement-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 360px)); /* 300–360px */
    justify-content: center;   /* centre les colonnes si ligne incomplète */
    gap: 30px;
}

/* Chaque item est un <a> enveloppant la carte */
.logement-grid > a{
    display: flex;              /* permet à .logement-card de s’étirer */
    text-decoration: none;      /* pas de soulignement sur la carte */
    color: inherit;
}

/* La carte remplit l’item et garde la même hauteur que ses sœurs */
.logement-grid > a .logement-card{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;               /* clé pour égaliser les hauteurs */
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease;
}
.logement-grid > a .logement-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0,0,0,.12);
}

/* Image en haut si tu l’ajoutes plus tard */
.logement-image img{
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

/* Contenu interne qui pousse pour équilibrer */
.logement-info{
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;                    /* prend toute la hauteur dispo */
}
.logement-info h3{
    font-size: 24px;
    color: #55017d;
    margin: 0 0 30px 0;
    text-align: center;
}

/* Meta collée en bas pour aligner les prix entre cartes */
.logement-meta{
    margin-top: auto;           /* pousse la meta au bas de la carte */
    display: flex;
    justify-content: space-between;
    gap: 24px;
    line-height: 1.2;
}
.logement-meta span{
    display: block;
    font-size: 16px;
    letter-spacing: .04em;
    color: #8a8a8a;
}
.logement-meta strong{
    display: block;
    margin-top: 6px;
    color: #55017d;
}

/* === Responsive tweaks === */
@media (max-width: 600px){
    .logement-grid{
        gap: 20px;
        grid-template-columns: 1fr;             /* 1 carte par ligne */
    }
    .logement-image img{ height: 160px; }
}

@media (min-width: 1200px){
    .logement-grid{
        grid-template-columns: repeat(auto-fit, minmax(320px, 360px)); /* un peu plus large sur grands écrans */
    }
}


.residence-services-section {
    text-align: center;
    padding: 60px 20px;
    background-color: #fff;
}

.section-title p {
    font-size: 1.2rem;
    color: #333;
    margin-bottom: 40px;
}

.section-title {
    text-align: center;
}

/* Grid responsive */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Carte de service */
.service-card {
    background: #fcf8fd;
    border-radius: 16px;
    padding: 30px 20px;
    transition: transform 0.3s ease;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    cursor: default;
}

.services-list li i {
    color: #F7A600;
}

/* Carte de service */
.service-card {
    background: #fcf8fd;
    border-radius: 16px;
    padding: 30px 20px;
    transition: transform 0.3s ease;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    cursor: default;
}

.service-card:hover {
    transform: translateY(-6px);
}

.service-icon {
    background-color: #55017d;
    color: #fff;
    font-size: 24px;
    border-radius: 12px;
    padding: 15px;
    display: inline-block;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
}

.service-card:hover .service-icon {
    animation: bounce 0.5s;
}

.service-card h3 {
    color: #55017d;
    font-size: 1.3rem;
    margin-bottom: 10px;
}

.service-card p {
    color: #333;
    font-size: 1.3rem;
    margin: 0;
}

/* Animation rebond */
@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

/* Responsive */
@media (max-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .services-grid.desktop {
        display: none;
    }
    .services-grid {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
    }

    .services-grid .services-list ul {
        list-style: none;
        padding-left: 0;
        margin: 0;
        text-align: left;
    }

    .services-list li {
        margin: 8px 0;
        font-size: 18px;
    }
}

.residence-buttons-wrapper {
    position: sticky;
    top: 20px;
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}

.btn-residence {
    padding: 15px 25px;
    font-size: 1rem;
    border-radius: 8px;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.btn-residence:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

.btn-orange {
    background-color: #F7A600;
    color: white;
}

.btn-purple {
    background-color: #55017d;
    color: white;
}

.btn-purple:hover, .btn-orange:hover {
    color: #FFF;
}

@media screen and (max-width: 768px) {
    .residence-buttons-wrapper {
        flex-direction: column;
        align-items: center;
    }

    .btn-residence {
        width: 90%;
        text-align: center;
    }
}


.residence-buttons-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: white;
    border-top: 1px solid #55017d;
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 20px 0;
    z-index: 9999;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.residence-buttons-fixed.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.btn-residence {
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
    .residence-buttons-fixed {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        padding: 16px;
    }

    .btn-residence {
        width: 90%;
        text-align: center;
    }
}

.residence-slider-info {
    margin: 80px auto 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px; /* ajuste 300px si tu veux plus/moins large */
    gap: 24px;
    align-items: start;
}

@media (min-width: 1400px){
    .residence-slider-info{
        grid-template-columns: minmax(0,1fr) 400px;
    }
}

/* le carrousel garde des coins arrondis et une hauteur fixe stylée */
.residence-slider-info .carousel-wrapper{
    border-radius: 12px;
    overflow: hidden;
}
.residence-slider-info .carousel-inner {
    border-radius: 15px;
}
.residence-slider-info .carousel-inner .carousel-item img{
    height: 545px;
    object-fit: cover;
}

/* Colonne de droite : 3 cartes empilées */
.residence-infos-cards{
    display: grid;
    gap: 16px;
    align-content: start;
}

/* ====== Responsive ====== */
/* responsive : repasse en colonne + 2 cartes par rang puis 1 */
@media (max-width: 992px){
    .residence-slider-info{ grid-template-columns: 1fr; }
    .residence-infos-cards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px){
    .residence-infos-cards{ grid-template-columns: 1fr; }
}

@media (max-width: 600px){
    .residence-slider-info .carousel-inner .carousel-item img{ height: 360px; }
}


/***** END Residences page ****/

.hover-effect, .hover-effect-flat {
    border-radius: 12px 12px 0 0;
}

.blog-post-item-v1 .blog-post-thumb {
    margin: 0;
}

.blog-post-item-v1 {
    padding: 0;
}
.hover-effect:before {
    background-image: initial; /*linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 0%, rgba(247, 166, 0, 0) 50%, rgba(247, 166, 0, 0.75) 100%);*/
}

.blog-post-title h3, .blog-posts-module-v3-right-wrap h3 {
    font-size: 22px;
}

.blog-post-title h3 a, .blog-posts-module-v3-right-wrap h3 a {
    color: #55017d !important;
}

.blog-post-link a {
    display: block;
    text-align: center;
    background: #55017d;
    color: #FFFFFF;
    text-decoration: none;
    padding: 10px 0;
    border-radius: 30px;
    transition: background 0.3s;
    margin-top: 20px;
}

.blog-post-link a:hover {
    background: #F7A600;
}

.blog-post-item.blog-post-item-v1 {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    font-family: 'arial-black', sans-serif;
}

.blog-post-meta .list-inline .list-inline-item.d-flex {
    display: inline-flex !important;
}

#faq-sub-title {
    padding: 1rem 2rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: linear-gradient(90deg, rgba(255,255,255,0.3), rgba(255,255,255,0.3));
    text-align: center;
    font-family: 'arial-black', sans-serif;
}

.faq-title ul li .elementor-icon-list-icon {
    background-color: #55017d;
    color: #fff;
    font-size: 24px;
    border-radius: 12px;
    padding: 15px;
    display: inline-block;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
}

.faq-title ul li .elementor-icon-list-icon svg{
    color: #fff;
}

.faq-block {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.faq-block .e-con-full {
    border: initial;
}

.faq-block .elementor-icon-list-text {
    margin-left: 10px;
    padding-bottom: 10px;
}

.page-title.flex-grow-1 h1 {
    color: #55017d;
    font-family: "arial-black", Sans-serif;
    font-size: 3rem;
    font-style: normal;
}

.lightbox-form-wrap {
    display: none;
}

.property-detail-wrap .text-secondary {
    display: none;
}

.property-header-wrap .page-title h1 {
    font-size: 2.5rem;
    color: #55017d;
}

.property-price-wrap .item-price, .item-price .price, .item-price .price-postfix {
    font-weight: 400;
    font-size: 30px;
    font-family: 'arial-black';
}

.property-price-wrap .item-price .price-extra, .item-price-wrap .item-price .price-extra, .item-price-wrap .item-price .price-prefix {
    display: block;
    font-size: 15px;
    color: #636363;
    font-weight: 400;
    font-family: 'Lato';
}

.item-price-wrap .item-price .price, .item-price .price, .item-price .price-postfix {
    font-size: 25px;
}

@media (max-width: 767.98px) {
    .single-property .page-title h1 {
        font-size: 2rem;
        color: #55017d;
        font-weight: 400;
        font-family: 'arial-black';
    }
}

.property-detail-wrap .detail-wrap {
    border: initial;
    background-color: initial;
    padding: 0;
}

.property-detail-wrap .block-wrap {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    font-family: 'arial-black', sans-serif;
}

.property-detail-wrap .block-wrap h2 {
    font-size: 25px;
    color: #55017d;
}

.cmplz-links.cmplz-information {
    display: none;
}

.post-inner-wrap, .post-footer-wrap, .post-header-wrap, .post-content-wrap, .author-detail-wrap, .post-comment-form-wrap, .author-comment {
    padding: 0;
}

.article-wrap .post-header-wrap {
    margin-bottom: 30px;
}

.post-header-wrap .author-meta{
    display: none;
}

.post-content-wrap {
    margin-top: 30px;
    margin-bottom: 80px;
}


/* Icon properties */

/* petit kicker sous le H2 */
.lr-kicker{
    letter-spacing:.5rem;
    text-transform:uppercase;
    font-size:.8rem;
    color:#000;
    opacity:.6;
    margin:0;
}

/* carte */
.lr-card{
    background:#fff;
    border-radius:16px;
    padding:24px 20px;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:10px;
    box-shadow:0 8px 30px rgba(0,0,0,.06);
    transition:transform .25s ease, box-shadow .25s ease;
}
.lr-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 34px rgba(0,0,0,.10);
}

/* icône (badge) */
.lr-card__icon{
    width:92px;             /* taille du badge */
    height:92px;
    border-radius:22px;     /* 50% pour un cercle parfait */
    background:rgba(85,1,125,.08);
    display:flex;
    align-items:center;
    justify-content:center;
}
.lr-card__icon img{
    width:120px;             /* taille réelle de l’icône */
    height:120px;
    object-fit:contain;
}

/* valeur + libellé */
.lr-card__value{
    font-size:1.25rem;
    color:#F7A600;
    margin-top:4px;
}
.lr-card__label{
    font-weight:600;
    font-size: 1.3rem;
    color:#55017d;
}

/* espacement de la grille (on garde la g-4 Bootstrap) */
.lr-card-grid{ margin-top:.25rem; }

/* petits ajustements responsive si besoin */
@media (min-width:1200px){
    .lr-card__value{ font-size:1.3rem; }
    .lr-card__icon{ width:96px; height:96px; }
    .lr-card__icon img{ width:120px; height:120px; }
}

.item-price .price, .item-price .price-postfix, .item-price .price, .item-price .price-prefix {
    color:#55017d;
    font-weight: 400;
}

.fw-property-section-wrap .block-wrap {
    padding: 0;
}

.fw-property-documents-wrap h3, .fw-property-details-wrap h3 {
    text-align: center;
    color: #55017d;
    font-size: 3rem;
    letter-spacing: initial;
    text-transform: initial;
    max-width: initial;
}

@media (max-width: 1024px) {
    .fw-property-documents-wrap h3, .fw-property-details-wrap h3 {
        font-size: 1.8rem;
    }
}

.block-content-wrap .block-title-wrap {
    margin: 0 !important;
}

.block-content-wrap p:last-of-type, .block-content-wrap ul:last-of-type {
    margin-bottom: 80px;
}

.carousel-item img {
    object-fit:cover;
    height:660px;
    cursor:pointer
}

/* Contact */

.gform_heading h2.gform_title {
    display: none;
}

.gform-theme--framework .gf_progressbar_title, .gform-theme--framework .gf_step_label, .gform-theme--framework .gf_step_number {
    font-size: 26px;
    color: #55017d;
    font-weight: 400;
    font-family: 'arial-black';
}

.gf_progressbar_wrapper .gf_step_page_name {
    display: none;
}

/* ========== WRAPPER & TYPO (Form ID 1) ========== */
#gform_wrapper_1, #gform_wrapper_2 {
    --violet: #55017d; /* LRYE */
    --orange: #F7A600; /* LRYE */
    --gris: #cdcabc;   /* LRYE */
    font-family: 'arial-black', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: #222;
}

/* Titre de sections (fields 5,8,12) */
#gform_wrapper_1 .gsection_title,
#gform_wrapper_2 .gsection_title,
#gform_wrapper_3 .gsection_title,
#gform_wrapper_4 .gsection_title,
#gform_wrapper_5 .gsection_title,
#gform_wrapper_6 .gsection_title,
#gform_wrapper_7 .gsection_title,
#gform_wrapper_8 .gsection_title,
#gform_wrapper_9 .gsection_title,
#gform_wrapper_10 .gsection_title
{
    font-size: 26px;
    color: #55017d;
    border-left: 4px solid #F7A600;
    padding-left: .6rem;
    margin: 1.2rem 0 .8rem;
}

/* ========== CHAMPS ========== */
#gform_wrapper_1 .gfield_label, #gform_wrapper_2 .gfield_label {
    color: var(--violet);
    margin-bottom: .35rem;
    font-size: 16px;
}

#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 select,
#gform_wrapper_1 textarea,
#gform_wrapper_2 input[type="text"],
#gform_wrapper_2 input[type="email"],
#gform_wrapper_2 input[type="tel"],
#gform_wrapper_2 select,
#gform_wrapper_2 textarea {
    width: 100%;
    font-size: 1rem;
    line-height: 1.45;
    padding: 12px 14px;
    border: 2px solid var(--gris);
    border-radius: 10px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

#gform_wrapper_1 input:focus,
#gform_wrapper_1 select:focus,
#gform_wrapper_1 textarea:focus,
#gform_wrapper_2 input:focus,
#gform_wrapper_2 select:focus,
#gform_wrapper_2 textarea:focus {
    outline: none;
    border-color: var(--violet);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--violet) 20%, transparent);
}

/* Placeholders */
#gform_wrapper_1 ::placeholder, #gform_wrapper_2 ::placeholder { color: #9a9a9a; }

/* Champs requis (texte “(Nécessaire)”) */
.gfield_required, #gform_wrapper_2 .gfield_required  { color: #000; font-size: 20px; }
.gform_required_legend {
    display: none;
}

#gform_wrapper_1 .gfield_description, #gform_wrapper_2 .gfield_description {
    font-family: 'Lato';
}

/* Listes déroulantes (id 7, 13, 16) */
#gform_wrapper_1 .gfield select, #gform_wrapper_2 .gfield select {
    background-image:
            linear-gradient(45deg, transparent 50%, var(--violet) 50%),
            linear-gradient(135deg, var(--violet) 50%, transparent 50%),
            linear-gradient(to right, var(--gris), var(--gris));
    background-position:
            calc(100% - 21px) calc(50% - 5px),
            calc(100% - 13px) calc(50% - 5px),
            calc(100% - 2.4rem) 50%;
    background-size: 8px 8px, 8px 8px, 1px 60%;
    background-repeat: no-repeat;
    appearance: none;
    padding: 9px;

}

#gform_wrapper_2 input[type="file"] ,
#gform_wrapper_2 .gfield_description.gform_fileupload_rules ,
#gform_wrapper_2 .gfield_description.gfield_consent_description {
    font-family: 'Lato';
}

/* Champ consentement RGPD (id 19) */
#gform_wrapper_1 .gfield_consent_label,
#gform_wrapper_1 .gfield_consent_description, #gform_wrapper_2 .gfield_consent_label,
#gform_wrapper_2 .gfield_consent_description { font-size: .95rem; }
#gform_wrapper_1 .gfield_consent_label a, #gform_wrapper_2 .gfield_consent_label a { color: var(--violet); text-decoration: underline; }

/* ========== LAYOUT (2 colonnes sur desktop pour coordonnées) ========== */
/* Page "Coordonnées": fields 9 (Nom), 10 (Email), 11 (Tel) */
@media (min-width: 768px) {
    #field_1_9, #field_1_10, #field_1_11 { float: left; width: calc(50% - 12px); }
    #field_1_9, #field_1_10 { margin-right: 24px; } /* espace colonne */
}
/* Reset flottants de GF */
#gform_wrapper_1 .gform_fields::after, #gform_wrapper_2 .gform_fields::after { content: ""; display: table; clear: both; }

/* ========== BARRE DE PROGRESSION (déjà activée et colorée dans ton export) ========== */
#gform_wrapper_1 .gf_progressbar, #gform_wrapper_2 .gf_progressbar {
    background: var(--gris);
    border-radius: 999px;
    overflow: hidden;
    height: 10px;
    margin: 12px 0 18px;
}
#gform_wrapper_1 .gf_progressbar_percentage, #gform_wrapper_2 .gf_progressbar_percentage {
    background: var(--violet); /* couleur de progression */
}

/* ========== BOUTONS (Suivant / Précédent / Envoyer) ========== */
#gform_wrapper_1 .gform_page_footer .gform_previous_button,
#gform_wrapper_1 .gform_page_footer .gform_next_button,
#gform_wrapper_1 .gform_footer .gform_button,
#gform_wrapper_2 .gform_page_footer .gform_previous_button,
#gform_wrapper_2 .gform_page_footer .gform_next_button,
#gform_wrapper_2 .gform_footer .gform_button{
    appearance: none;
    border: none;
    border-radius: 10px;
    padding: 12px 18px;
    cursor: pointer;
    transition: transform .05s ease, background .2s ease, box-shadow .2s ease;
}

#gform_wrapper_1 .gform_page_footer .gform_previous_button, #gform_wrapper_2 .gform_page_footer .gform_previous_button {
    background: #fff;
    color: var(--violet);
    border: 2px solid var(--violet);
}
#gform_wrapper_1 .gform_page_footer .gform_next_button,
#gform_wrapper_1 .gform_footer .gform_button,
#gform_wrapper_2 .gform_page_footer .gform_next_button,
#gform_wrapper_2 .gform_footer .gform_button {
    background: var(--violet);
    color: #fff;
}
#gform_wrapper_1 .gform_page_footer .gform_next_button:hover,
#gform_wrapper_1 .gform_footer .gform_button:hover, #gform_wrapper_2 .gform_page_footer .gform_next_button:hover,
#gform_wrapper_2 .gform_footer .gform_button:hover  {
    background: var(--orange);
}
#gform_wrapper_1 .gform_page_footer .gform_previous_button:hover, #gform_wrapper_2 .gform_page_footer .gform_previous_button:hover {
    border-color: var(--orange);
    color: var(--orange);
}
#gform_wrapper_1 .gform_page_footer .gform_previous_button:active,
#gform_wrapper_1 .gform_page_footer .gform_next_button:active,
#gform_wrapper_1 .gform_footer .gform_button:active,
#gform_wrapper_2 .gform_page_footer .gform_previous_button:active,
#gform_wrapper_2 .gform_page_footer .gform_next_button:active,
#gform_wrapper_2 .gform_footer .gform_button:active {
    transform: translateY(1px);
}



/* Boutons GF — priorité forte + ciblage précis */
#gform_wrapper_1 .gform_footer .gform_button,
#gform_wrapper_1 .gform_page_footer .gform_next_button,
#gform_wrapper_2 .gform_footer .gform_button,
#gform_wrapper_2 .gform_page_footer .gform_next_button {
    background-color: #55017d !important;
    border: 2px solid #55017d !important;
    color: #fff !important;
    border-radius: 10px;
    padding: 12px 18px;
}
#gform_wrapper_1 .gform_page_footer .gform_previous_button,
#gform_wrapper_2 .gform_page_footer .gform_previous_button {
    background: #fff !important;
    color: #55017d !important;
    border: 2px solid #55017d !important;
}
#gform_wrapper_1 .gform_footer .gform_button:hover,
#gform_wrapper_1 .gform_page_footer .gform_next_button:hover,
#gform_wrapper_2 .gform_footer .gform_button:hover,
#gform_wrapper_2 .gform_page_footer .gform_next_button:hover {
    background-color: #F7A600 !important;
    border-color: #F7A600 !important;
}
#gform_wrapper_1 .gform_page_footer .gform_previous_button:hover,
#gform_wrapper_2 .gform_page_footer .gform_previous_button:hover {
    color: #F7A600 !important;
    border-color: #F7A600 !important;
}

/* ========== ERREURS & MESSAGES ========== */
#gform_wrapper_1 .gfield_validation_message,
#gform_wrapper_1 .validation_message,
#gform_wrapper_2 .gfield_validation_message,
#gform_wrapper_2 .validation_message {
    margin-top: .35rem;
    padding: .5rem .75rem;
    background: color-mix(in oklab, #ffdddd 85%, #fff);
    border-left: 4px solid #d33;
    border-radius: 6px;
    font-size: .95rem;
}
#gform_wrapper_1 .gform_confirmation_message, #gform_wrapper_2 .gform_confirmation_message {
    padding: 1rem 1.25rem;
    border-left: 4px solid var(--violet);
    background: color-mix(in oklab, var(--gris) 25%, #fff);
    border-radius: 8px;
}

#gform_submit_button_1, #gform_submit_button_2 {
    background: var(--violet);
    border: 2px solid #55017d !important;
    border-radius: 10px;
}

/* ========== PETITS PLUS UX ========== */
#gform_wrapper_1 .gfield_description,
#gform_wrapper_1 .instruction, #gform_wrapper_2 .gfield_description,
#gform_wrapper_2 .instruction { color: #666; font-size: .9rem; }
#gform_wrapper_1 .gfield input[type="tel"] , #gform_wrapper_2 .gfield input[type="tel"]{ letter-spacing: .3px; }
#gform_wrapper_1 .gfield--type-textarea textarea, #gform_wrapper_2 .gfield--type-textarea textarea { min-height: 140px; resize: vertical; }
/* Hauteur confortable des champs + line-height harmonisée */
#gform_wrapper_1 select,
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 textarea, #gform_wrapper_2 select,
#gform_wrapper_2 input[type="text"],
#gform_wrapper_2 input[type="email"],
#gform_wrapper_2 input[type="tel"],
#gform_wrapper_2 textarea {
    min-height: 44px;
    line-height: 1.3;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 767px) {
    #gform_wrapper_1 .gform_page_footer,
    #gform_wrapper_1 .gform_footer, #gform_wrapper_2 .gform_page_footer,
    #gform_wrapper_2 .gform_footer { display: grid; gap: .6rem; }
}

/*** Candidature ***/
#candidature-grille {
    display: grid;
    grid-template-columns: 70% 30%;
    gap: 20px;
}

@media (max-width: 767px) {
    #candidature-grille {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/* Liste contact */

#list-icon-contact .elementor-icon-list-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: -40px;
}

#list-icon-engagement .elementor-icon-list-items {
    margin-top: -50px;
}

/* Chaque ligne = icône + texte alignés */
#list-icon-contact .elementor-icon-list-item{
    display: flex;
    align-items: center;
}

/* Le carré arrondi derrière l’icône */
#list-icon-contact .elementor-icon-list-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;       /* 50% pour un rond parfait */
    background: #f3e8f9;       /* violet très clair */
    margin-right: 12px;        /* espace avec le texte */
    flex-shrink: 0;
}

/* Couleur de l’icône (FontAwesome ou SVG) */
#list-icon-contact .elementor-icon-list-icon i,
#list-icon-contact .elementor-icon-list-icon svg{
    color: #55017d;            /* violet charte */
    fill: #55017d;
    stroke: #55017d;
    width: 18px; height: 18px; /* pour les SVG */
}

/* Option : hover plus dynamique */
#list-icon-contact .elementor-icon-list-item:hover .elementor-icon-list-icon{
    background: #55017d;
}
#list-icon-contact .elementor-icon-list-item:hover .elementor-icon-list-icon i,
#list-icon-contact .elementor-icon-list-item:hover .elementor-icon-list-icon svg{
    color: #fff; fill: #fff; stroke: #fff;
}

/* Mobile : réduit un peu le carré */
@media (max-width: 767px){
    #list-icon-contact .elementor-icon-list-icon{
        width: 36px; height: 36px; border-radius: 8px;
    }
}

.mapboxgl-marker {
    background-image: url('img/marker-les-residences.png');
    background-size: cover;
    width: 50px;
    height: 80px;
    cursor: pointer;
}

.mapboxgl-marker svg {
    display: none;
}

#bloc-besoin-aide, #bloc-nos-engagements {
    height: auto !important;
    align-self: flex-start;
    max-height: fit-content;
}

.colonne-droite-sticky {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 70px;
    align-self: flex-start;
    z-index: 2;
    padding: 0;
}

.colonne-droite-sticky #bloc-besoin-aide,
.colonne-droite-sticky #bloc-nos-engagements {
    height: auto;
    max-height: fit-content;
}

#bloc-nos-engagements h3 {
    margin-bottom: 40px;
}

/* Option : désactiver le sticky en mobile/tablette */
@media (max-width: 1024px){
    .colonne-droite-sticky { position: static; top: auto; }
}

/** Blog **/
.featured-post h3 {
    font-size: 1.7rem;
    font-family: 'arial-black';
}

.featured-post .text-muted {
    font-size: 18px;
}

.page-template-templateblog-lrye-php .page-title-wrap {
    padding: 0;
    text-align: center;
}
.blog-hero .btn-cta,
.blog-list .btn-cta{
    background: #55017d;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 0 50px;
    font-weight: 600;
    margin: 20px 0;
}
.blog-hero .btn-cta:hover,
.blog-list .btn-cta:hover{ filter: brightness(0.9); color:#fff; }

.blog-list .thumb{
    width: 120px; height: 90px; object-fit: cover; border:1px solid #cdcabc; flex: 0 0 120px;
}
.blog-list .item + .item{ border-top:1px solid #cdcabc; }
.blog-section-title{ color: #55017d; font-weight: 800; }

.blog-hero .hero-img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 12px;
}

.blog-list .item h4 {
    font-size: 1.4rem;
    font-family: 'arial-black';
}

.blog-list .item .text-muted {
    font-size: 17px;
}

.blog-list .btn-cta {
    padding: 5px 50px;
}

.blog-list .item .thumb {
    width: 320px;
    height: 200px;
    border-radius: 15px;
}

.blog-list .item .d-flex {
    flex-direction: row;
}

/* Mobile : texte passe sous la photo */
@media (max-width: 767.98px) {
    .blog-list .item .d-flex {
        flex-direction: column; /* pile image + texte */
    }

    .blog-list .item .thumb {
        width: 100%;
        height: auto;
        max-height: 220px;
        margin-bottom: 1rem;
    }
}

/** DatePicker **/
#ui-datepicker-div {
    display: none;
}
/* ===== Datepicker LRYE — Style Clean Premium ===== */
.ui-datepicker.gform-theme--framework,
.ui-datepicker.gform-theme--orbital,
.ui-datepicker.gform-theme--foundation,
.ui-datepicker.gform-theme--datepicker,
.ui-datepicker {
    --violet: #55017d;
    --orange: #F7A600;
    --gris:   #cdcabc;
    background: #fff !important;
    border: 1px solid var(--gris) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.14) !important;
    overflow: hidden;
    z-index: 99999 !important;
    font-family: inherit;
}

/* --- Header clair (titre centré + flèches rondes) --- */
.ui-datepicker .ui-datepicker-header {
    background: #fff !important;
    border: 0 !important;
    padding: 12px 12px 0 !important;
    position: relative;
}

.ui-datepicker .ui-datepicker-title {
    color: var(--violet);
    font-weight: 800;
    font-size: 16px;
    text-align: center;
    margin: 0 48px; /* laisse la place aux flèches */
}

/* Sélecteurs Mois/Année stylés (quand activés) */
.ui-datepicker .ui-datepicker-title select {
    appearance: none;
    background: #fff;
    color: #3b3b3b;
    border: 1px solid var(--gris);
    border-radius: 10px;
    padding: 6px 30px 6px 10px;
    font-weight: 700;
    line-height: 1;
    outline: none;
    background-image:
            url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2355017d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right 8px center;
}
.ui-datepicker .ui-datepicker-title select:focus {
    box-shadow: 0 0 0 3px rgba(85,1,125,.15);
    border-color: var(--violet);
}

/* Flèches navigation (boutons ronds subtils) */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 10px;
    width: 34px; height: 34px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--gris);
    display: grid; place-items: center;
    cursor: pointer;
    transition: box-shadow .15s ease, transform .05s ease;
}
.ui-datepicker .ui-datepicker-prev { left: 10px; }
.ui-datepicker .ui-datepicker-next { right: 10px; }
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
    box-shadow: 0 0 0 3px rgba(85,1,125,.12);
}
.ui-datepicker .ui-datepicker-prev:active,
.ui-datepicker .ui-datepicker-next:active { transform: scale(.96); }

/* Icônes chevrons (SVG en masque coloré) */
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon { display:none !important; }
.ui-datepicker .ui-datepicker-prev::before,
.ui-datepicker .ui-datepicker-next::before{
    content:"";
    width:18px; height:18px;
    background: var(--violet);
    -webkit-mask-size: contain; mask-size: contain;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: center; mask-position: center;
    display:block;
}
.ui-datepicker .ui-datepicker-prev::before{
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
}
.ui-datepicker .ui-datepicker-next::before{
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
}

/* --- Grille --- */
.ui-datepicker table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 8px;
    padding: 10px 12px 14px;
}
.ui-datepicker thead th {
    color: #6b6b6b;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-align: center;
}

/* Jours (pastilles) */
.ui-datepicker td a,
.ui-datepicker td span{
    display: block;
    width: 40px; height: 40px;
    line-height: 40px;
    margin: 0 auto;
    border-radius: 12px;
    text-align: center;
    font-weight: 700;
    color: #2a2a2a;
    text-decoration: none !important;
    transition: background .12s ease, box-shadow .12s ease, color .12s ease, transform .02s ease;
    border: 1px solid transparent;
}
.ui-datepicker td a:hover{
    background: #f6f2f9; /* très léger violet */
    box-shadow: 0 0 0 2px rgba(85,1,125,.08) inset;
}

/* Aujourd'hui (anneau violet fin) */
.ui-datepicker .ui-datepicker-today a{
    box-shadow: 0 0 0 2px var(--violet) inset !important;
    color: #1f1f1f;
}

/* Sélection (orange plein) */
.ui-datepicker .ui-state-active,
.ui-datepicker .ui-state-active:hover{
    background: var(--orange) !important;
    color: #1f1f1f !important;
    border-color: #e59a00 !important;
    box-shadow: 0 6px 16px rgba(247,166,0,.35), 0 0 0 3px rgba(247,166,0,.25) inset !important;
    transform: translateY(-1px);
}

/* Week-end légèrement atténué */
.ui-datepicker tbody tr td:nth-child(6) a,
.ui-datepicker tbody tr td:nth-child(7) a{ color:#5a5a5a; }

/* Jours d’un autre mois + désactivés */
.ui-datepicker .ui-priority-secondary { color: #b4b1b1 !important; }
.ui-datepicker .ui-state-disabled { opacity: .45 !important; filter: grayscale(25%); }

/* Responsive */
@media (max-width: 420px){
    .ui-datepicker { border-radius: 12px !important; }
    .ui-datepicker td a, .ui-datepicker td span{ width: 36px; height: 36px; line-height: 36px; border-radius: 10px; }
    .ui-datepicker .ui-datepicker-title{ font-size: 14px; }
}

.back-to-top-wrap {
    bottom: 60px;
}


/* cookie banniere */
@media (max-width: 768px) {
    #cmplz-manage-consent .cmplz-manage-consent {
        margin-bottom: -35px !important;
    }
}


/* nav */
.header-social-icons .list-inline .list-inline-item a {
    color: #55017d;
    position: absolute;
    top: 5px;
    right: 10px;
}

.header-social-icons {
    padding-left: 10px;
}

.header-social-icons .list-inline .list-inline-item a.btn-youtube {
    right: 7px;
}

.header-social-icons .list-inline .list-inline-item a.btn-phone-number {
    top: 7px;
    right: 9px;
}

.header-social-icons .list-inline .list-inline-item {
    position: relative;
}

.header-social-icons .list-inline .list-inline-item:before {
    content: '';
    display: block;
    text-align: center;
    line-height: 5.3rem;
    border: .1rem solid #55017d;
    border-radius: 100%;
    flex-shrink: 0;
    margin-right: 0;
    width: 2.3rem;
    height: 2.3rem;
    background-size: 1.6rem 1.6rem;
    background-repeat: no-repeat;
    background-position-y: .4rem;
    background-position-x: .4rem;
}

.navbar .header-wrap-6.login a {
    background: #55017d;
    padding: 0 10px;
    border-radius: 10px;
    color: #FFF;
}

.navbar .header-wrap-6.login a:hover {
    background: #F7A600;
    border: #F7A600;
}

@media (max-width: 1199px) {
    .header-social-icons {
        display: none;
    }
}

.agent-profile-buttons {
    display: none;
}

.post-meta-author,
.fh-author,
.meta-author,
.by-author {
    display: none !important;
}
