/* ==========================================================================
   La Signature - Thème blanc (2026)
   Chargé APRÈS stylenoir.css / colornoir.css sur toutes les pages.
   Ne touche ni au menu (.main-header, .sticky-header, .mobile-menu)
   ni au footer (.main-footer) : ils gardent leur apparence actuelle.
   ========================================================================== */

:root {
    --ls-vert: #a3db2c;          /* couleur de marque */
    --ls-vert-hover: #93c824;
    --ls-vert-texte: #4f7a00;    /* vert lisible sur fond blanc (liens, petits textes) */
    --ls-vert-pale: #f3f9e6;
    --ls-texte: #1d1d1f;
    --ls-texte-2: #6e6e73;
    --ls-fond: #ffffff;
    --ls-fond-2: #f5f5f7;
    --ls-bord: #e5e5ea;
    --ls-ombre: 0 2px 12px rgba(0, 0, 0, .06);
    --ls-ombre-hover: 0 10px 30px rgba(0, 0, 0, .10);
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
body {
    background-color: var(--ls-fond);
    color: var(--ls-texte);
}

/* --------------------------------------------------------------------------
   Footer gris clair (structure de footer.php inchangée)
   -------------------------------------------------------------------------- */
.main-footer {
    background-color: var(--ls-fond-2);
    border-top: 1px solid var(--ls-bord);
    color: var(--ls-texte-2);
}
.main-footer .widget-title {
    color: var(--ls-texte);
    font-size: 15px;
    letter-spacing: .02em;
}
.main-footer .about-widget .text,
.main-footer .about-widget .text font {
    color: var(--ls-texte-2);
}
.main-footer a,
.main-footer .about-widget .text a,
.main-footer font[style*="b0d239"],
.main-footer font[style*="b0d239"] a {
    color: var(--ls-vert-texte) !important;
}
.main-footer a:hover {
    color: var(--ls-texte) !important;
}
.main-footer .about-widget .footerliens li > a {
    color: var(--ls-texte-2) !important;
}
.main-footer .about-widget .footerliens li > a:hover {
    color: var(--ls-vert-texte) !important;
}
.main-footer .footer-bottom {
    border-top: 1px solid #d2d2d7;
}
.main-footer .footer-bottom .copyright {
    color: var(--ls-texte-2);
}

/* --------------------------------------------------------------------------
   En-tête et menu sur fond blanc
   (le contenu et la structure de menunoir.php ne changent pas)
   -------------------------------------------------------------------------- */
.main-header,
.sticky-header,
.mobile-menu {
    color: var(--ls-texte);
}

/* Bloc logo + téléphone + email */
.main-header .header-upper,
.main-header .header-upper[style] {
    background-color: var(--ls-fond) !important;
}
.main-header .header-upper .icon-box h5,
.main-header .header-upper .icon-box h5[style] {
    color: var(--ls-texte-2) !important;
    font-weight: 400;
}
.main-header .header-upper .icon-box .text,
.main-header .header-upper .icon-box .text a,
.main-header .header-upper .icon-box .text a[style] {
    color: var(--ls-texte) !important;
}
.main-header .header-upper .icon-box .text a:hover {
    color: var(--ls-vert-texte) !important;
}

/* Barre de menu */
.main-header .header-lower .nav-outer,
.main-header .header-lower .nav-outer[style] {
    background-color: var(--ls-fond) !important;
}
.main-header.header-style-five .header-lower .inner-container {
    box-shadow: 0 6px 24px rgba(0, 0, 0, .08);
    border-top: 1px solid var(--ls-bord);
}
.main-header.header-style-five .main-menu .navigation > li > a,
.main-menu .navigation > li > a,
.sticky-header .main-menu .navigation > li > a {
    color: var(--ls-texte);
}
.main-menu .navigation > li > a:hover,
.main-menu .navigation > li.current > a,
.animated .main-menu .navigation > li > a:hover {
    color: var(--ls-vert-texte) !important;
}

/* Sous-menus déroulants */
.main-menu .navigation > li > ul,
.main-menu .navigation > li > ul > li > ul {
    background-color: var(--ls-fond);
    border-top: 2px solid var(--ls-vert);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .10);
}
.main-menu .navigation > li > ul > li > a,
.main-menu .navigation > li > ul > li > ul > li > a {
    color: var(--ls-texte);
    font-weight: 400;
    border-bottom-color: var(--ls-bord);
}
.main-menu .navigation > li > ul > li > a:hover,
.main-menu .navigation > li > ul > li > ul > li > a:hover {
    color: var(--ls-vert-texte);
}
.main-menu .navigation li.dropdown .dropdown-btn {
    color: var(--ls-texte);
    border-color: var(--ls-bord);
}

/* Menu qui reste en haut au défilement */
.sticky-header {
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 1px 0 var(--ls-bord), 0 6px 20px rgba(0, 0, 0, .06);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .sticky-header {
        background: rgba(255, 255, 255, .85);
        -webkit-backdrop-filter: saturate(180%) blur(16px);
        backdrop-filter: saturate(180%) blur(16px);
    }
}

/* Menu mobile (panneau qui s'ouvre avec le bouton ☰) */
.mobile-menu .menu-box {
    background: var(--ls-fond);
}
.mobile-menu .close-btn {
    color: var(--ls-texte);
}
.mobile-menu .navigation li {
    border-top-color: var(--ls-bord);
}
.mobile-menu .navigation:last-child,
.mobile-menu .navigation li > ul > li:first-child {
    border-color: var(--ls-bord);
}
.mobile-menu .navigation li > a,
.mobile-menu .social-links li a {
    color: var(--ls-texte);
}
.mobile-menu .navigation li > a:hover,
.mobile-menu .navigation li.current > a {
    color: var(--ls-vert-texte);
}
.mobile-menu .navigation li.dropdown .dropdown-btn {
    color: var(--ls-texte);
    background: rgba(0, 0, 0, .03);
}
.mobile-menu .menu-backdrop {
    background-color: rgba(29, 29, 31, .35);
}
.nav-outer .mobile-nav-toggler {
    color: var(--ls-texte);
}

/* Barre d'actions en bas de l'écran (mobile) */
.nextstepnavigationelement {
    background-color: var(--ls-fond);
    border-right: 1px solid var(--ls-bord);
    border-top: 1px solid var(--ls-bord);
}
.nextstepnavigationlink {
    color: var(--ls-texte);
}
.nextstepnavigationelement img[src*="menu-contact"],
.nextstepnavigationelement img[src*="menu-tel"],
.nextstepnavigationelement img[src*="menu-oreille"] {
    filter: brightness(0);
    opacity: .85;
}
.nextstepnavigationelement a:hover {
    color: var(--ls-vert-texte);
}

/* Écran de chargement (accueil) : fond blanc, textes foncés */
#loader-wrapper .loader-section {
    background: var(--ls-fond);
}
#loader-wrapper,
#loader-wrapper h3,
#loader-wrapper p {
    color: var(--ls-texte);
}

section h1, section h2, section h3, section h4, section h5, section h6 {
    color: var(--ls-texte);
}

section p,
section .text,
section li {
    color: var(--ls-texte-2);
}

/* Liens dans le contenu (le menu et le footer gardent leurs couleurs) */
section a {
    color: var(--ls-vert-texte);
}
section a:hover {
    color: var(--ls-texte);
}

/* Titres de section : sobres, noirs, petit filet vert */
.sec-title h2,
section h2[style*="a3db2c"],
section h2[style*="A3DB2C"] {
    color: var(--ls-texte) !important;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.sec-title .text {
    color: var(--ls-texte-2);
}

/* Inline : textes blancs / gris clair prévus pour le fond noir */
section [style*="color:#fff"],
section [style*="color: #fff"],
section [style*="color:#FFF"],
section [style*="color: #FFF"],
section [style*="color:#ffffff"],
section [style*="color: #ffffff"],
section [style*="color: #bbb"],
section [style*="color:#bbb"] {
    color: var(--ls-texte) !important;
}
section [style*="color:#555"] {
    color: var(--ls-bord) !important;
}

/* Inline : fonds sombres */
section [style*="background-color: #23242c"],
section [style*="background-color:#23242c"],
section [style*="background-color: #23262d"],
section [style*="background-color:#23262d"],
section [style*="background-color: #18171d"],
section [style*="background-color:#18171d"],
section [style*="background-color: #282a30"],
section [style*="background-color:#282a30"] {
    background-color: var(--ls-fond-2) !important;
}

/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */
.btn-style-one,
.theme-btn.btn-style-one,
.btn-style-one.light {
    background-color: var(--ls-vert) !important;
    color: var(--ls-texte) !important;
    border-radius: 0;
}
.btn-style-one:hover,
.btn-style-one.light:hover {
    color: #fff !important;
}
.btn-style-one:before,
.btn-style-las:before {
    background-color: var(--ls-texte);
}
.btn-style-las {
    background-color: var(--ls-vert);
    color: var(--ls-texte);
}
.btn-style-las:hover {
    color: #fff;
}
.theme-btn p,
.theme-btn span {
    color: inherit !important;
}

/* Bouton retour en haut */
.scroll-to-top {
    background-color: var(--ls-texte);
    color: #fff;
    border-color: var(--ls-texte);
}
.scroll-to-top:hover {
    background-color: var(--ls-vert);
    color: var(--ls-texte);
}

/* Onglets latéraux fixes (contact rapide, à droite sur ordinateur) : fond clair */
.webshopcontrol1,
.webshopcontrol2,
.webshopcontrol3,
.webshopcontrol4 {
    background-color: var(--ls-fond-2);
    color: var(--ls-texte);
    font-weight: 500;
    border: 1px solid var(--ls-bord);
    border-right: 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.webshopcontrol1 img,
.webshopcontrol2 img,
.webshopcontrol3 img,
.webshopcontrol4 img {
    filter: brightness(0); /* icônes blanches -> foncées */
    opacity: .85;
}
.webshopcontrol1:hover,
.webshopcontrol2:hover,
.webshopcontrol3:hover,
.webshopcontrol4:hover {
    background-color: var(--ls-vert);
    border-color: var(--ls-vert);
}

/* Champs de formulaire */
input:-internal-autofill-selected {
    background-color: var(--ls-fond-2) !important;
    color: var(--ls-texte) !important;
}

/* --------------------------------------------------------------------------
   Cartes de biens (bloc-bien.php)
   -------------------------------------------------------------------------- */
.service-block-two .inner-box {
    background: var(--ls-fond);
    border: 1px solid var(--ls-bord);
    box-shadow: var(--ls-ombre);
    transition: box-shadow .3s ease, transform .3s ease;
}
.service-block-two a:hover .inner-box {
    box-shadow: var(--ls-ombre-hover);
    transform: translateY(-2px);
}
.service-block-two .content,
.service-block-two .content[style] {
    background-color: var(--ls-fond) !important;
}
.service-block-two .image.bienphoto,
.service-block-two .image[style] {
    background-color: var(--ls-fond-2) !important;
}
.service-block-two .titlebien {
    color: var(--ls-texte);
}
.service-block-two .content p,
.service-block-two .content p[style] {
    color: var(--ls-texte-2) !important;
}
.service-block-two .content font[style] {
    color: var(--ls-bord) !important;
}

/* Prix sur la photo */
.prixpanel,
.prixpage {
    background-color: rgba(255, 255, 255, .92);
    color: var(--ls-texte);
}

/* --------------------------------------------------------------------------
   Accueil
   -------------------------------------------------------------------------- */
/* Section sur photo sombre : le texte reste blanc */
.working-process-section h2,
.working-process-section h4,
.working-process-section .text,
.working-process-section .count {
    color: #fff !important;
}

/* Grand titre en filigrane derrière l'équipe */
.team-section .big-title {
    color: var(--ls-fond-2);
}

/* Bloc agences : fond clair au lieu de la texture sombre */
.room-dimention .content,
.room-dimention .content[style] {
    background-image: none !important;
    background-color: var(--ls-fond-2);
}
.room-dimention .content h2 {
    color: var(--ls-texte);
}
.room-dimention .content .text,
.room-dimention .content ul li {
    color: var(--ls-texte-2);
}
.room-dimention .content ul li i {
    color: var(--ls-vert-texte);
}

/* --------------------------------------------------------------------------
   Formulaires (contact, estimation, tenez-moi au courant, visite)
   -------------------------------------------------------------------------- */
section .form-control,
section .form-select,
section textarea,
.contact-form .bootstrap-select > .dropdown-toggle,
.contact-form .form-group input[type="text"],
.contact-form .form-group input[type="email"],
.contact-form .form-group input[type="password"],
.contact-form .form-group input[type="tel"],
.contact-form .form-group input[type="number"],
.contact-form .form-group textarea,
.contact-form .form-group select {
    background-color: var(--ls-fond);
    color: var(--ls-texte);
    border: 1px solid #d2d2d7;
    font-weight: 400;
}
section .form-control:focus,
section .form-select:focus,
section textarea:focus,
.contact-form .form-group input:focus,
.contact-form .form-group textarea:focus,
.contact-form .form-group select:focus {
    background-color: var(--ls-fond);
    color: var(--ls-texte);
    border-color: var(--ls-vert);
    box-shadow: 0 0 0 3px rgba(163, 219, 44, .25);
    outline: none;
}
section ::placeholder {
    color: #a1a1a6;
    opacity: 1;
}
.textoinput {
    color: var(--ls-texte-2);
}
section [style*="border: 1px solid #282a30"] {
    border-color: var(--ls-bord) !important;
}

/* Blocs Téléphone / Email / Horaires */
.contact-section .contact-info-three .content {
    background: var(--ls-fond-2);
    box-shadow: none;
}
.contact-section .contact-info-three .content h4 {
    color: var(--ls-texte);
}
.contact-section .contact-info-three .content .text,
.contact-section .contact-info-three .content .text a {
    color: var(--ls-texte-2);
}
.contact-section .contact-info-three .content .text a:hover {
    color: var(--ls-vert-texte);
}
.contact-section .contact-info-three .content .icon {
    color: var(--ls-vert-texte);
}

/* --------------------------------------------------------------------------
   Liste des biens : vidéos
   -------------------------------------------------------------------------- */
body .bloc-videos .video-bien {
    background-color: var(--ls-fond-2);
}
body .bloc-videos .video-bien-info p {
    color: var(--ls-texte-2);
}

/* --------------------------------------------------------------------------
   Blocs CTA texturés verts (fiche bien, etc.) -> gris très clair
   -------------------------------------------------------------------------- */
.cta-section .outer-box,
.cta-section .outer-box[style] {
    background-image: none !important;
    background-color: var(--ls-fond-2);
}
.cta-section .outer-box:before,
.cta-section .outer-box .shape-one:before,
.cta-section .outer-box .shape-one:after {
    background: transparent !important;
}
.cta-section h2,
.cta-section h2[style] {
    color: var(--ls-texte) !important;
}
.cta-section .outer-box [style*="background-color: #a3c755"] {
    background-color: var(--ls-fond) !important;
    border: 1px solid var(--ls-bord) !important;
    border-radius: 0 !important;
}
.cta-section .outer-box [style*="color:black"] {
    color: var(--ls-texte-2) !important;
}

/* Titres gris (#888) de la fiche bien */
section h2[style*="color:#888"] {
    color: var(--ls-texte) !important;
    letter-spacing: -0.02em;
}

/* Galerie photo de la fiche bien */
.banner-section .swiper-slide,
section .swiper-slide {
    background-color: var(--ls-fond);
}
.fancybox-thumbs-y {
    background-color: var(--ls-fond-2);
}

/* --------------------------------------------------------------------------
   Champ "Localisation" à étiquettes (tenez-moi au courant / recherche)
   -------------------------------------------------------------------------- */
body .bootstrap-tagsinput {
    background-color: var(--ls-fond);
    color: var(--ls-texte) !important;
    border: 1px solid #d2d2d7;
}
body .bootstrap-tagsinput input {
    color: var(--ls-texte);
}
body .bootstrap-tagsinput .tag,
body .bootstrap-tagsinput .label-info {
    background-color: var(--ls-vert);
    color: var(--ls-texte);
}

/* Titres de biens (cartes et bloc vidéos) */
.titlebien {
    color: var(--ls-texte);
}
body .bloc-videos .video-bien-info a:hover .titlebien {
    color: var(--ls-vert-texte);
}

/* Textes verts en ligne : vert foncé lisible sur blanc */
section p[style*="a3db2c"],
section p[style*="A3DB2C"] {
    color: var(--ls-vert-texte) !important;
}

/* ==========================================================================
   Menu « premium » (principes Apple / Emil Kowalski)
   Structure de menunoir.php inchangée : uniquement des réglages visuels.
   ========================================================================== */
:root {
    --ls-ease: cubic-bezier(0.23, 1, 0.32, 1);        /* ease-out marqué */
    --ls-ease-tiroir: cubic-bezier(0.32, 0.72, 0, 1); /* tiroir façon iOS */
}

/* --- Coordonnées du header (téléphone / email) -------------------------- */
.main-header .header-upper .icon-box .icon img {
    width: 46px !important;
    height: 46px !important;
}
.main-header .header-upper .icon-box h5,
.main-header .header-upper .icon-box h5[style] {
    margin-bottom: 2px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.main-header .header-upper .icon-box .text a,
.main-header .header-upper .icon-box .text a[style] {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}
.main-header .header-upper .icon-box .text a::after {
    width: 100%;
    left: 0;
    right: auto;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 220ms var(--ls-ease);
}

/* --- Liens de la barre de menu ------------------------------------------ */
.main-menu .navigation > li > a {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    transition: color 200ms var(--ls-ease);
}
/* Trait vert : s'étire depuis la gauche (transform, pas width) */
.main-menu .navigation > li > a::after,
.animated .main-menu .navigation > li > a::after {
    width: auto;
    left: 0;
    right: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 220ms var(--ls-ease);
}
.main-menu .navigation > li > a:hover::after,
.animated .main-menu .navigation > li > a:hover::after {
    width: auto;
    left: 0;
    right: 0;
}
/* Chevron discret sur les entrées à sous-menu */
.main-menu .navigation > li.dropdown > a {
    padding-right: 15px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236e6e73' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right center / 9px 6px;
}
.main-menu .navigation > li.dropdown > a::after {
    right: 15px;
}
/* Menu collant : le trait se place sous le texte, pas en bas du bandeau */
.sticky-header .main-menu .navigation > li > a::after {
    bottom: 28px;
}
.sticky-header .main-menu .navigation > li.dropdown > a:after {
    display: block;
}

/* --- Sous-menus déroulants ---------------------------------------------- */
@media only screen and (min-width: 768px) {
    .main-menu .navigation > li > ul,
    .main-menu .navigation > li > ul > li > ul {
        padding: 8px;
        min-width: 230px;
        border-top-width: 2px;
        transform-origin: top left;
        transform: translateY(-4px) scale(0.98);
        /* fermeture rapide, après un court délai (évite les fermetures accidentelles) */
        transition: opacity 120ms ease 120ms, transform 120ms ease 120ms, visibility 0s linear 240ms;
    }
    .main-menu .navigation > li:nth-last-child(-n+2) > ul {
        transform-origin: top right;
    }
    .main-menu .navigation > li.dropdown:hover > ul,
    .main-menu .navigation li > ul > li.dropdown:hover > ul {
        transform: none;
        transition: opacity 180ms var(--ls-ease), transform 180ms var(--ls-ease), visibility 0s;
    }
    .main-menu .navigation > li > ul > li,
    .main-menu .navigation > li > ul > li > ul > li {
        padding: 0;
    }
    .main-menu .navigation > li > ul > li > a,
    .main-menu .navigation > li > ul > li > ul > li > a {
        padding: 9px 14px;
        border-bottom: 0;
        font-size: 15px;
        line-height: 22px;
        transition: background-color 150ms ease, color 150ms ease;
    }
}

/* --- Menu collant : glisse depuis le haut ------------------------------- */
.sticky-header {
    transform: translateY(-100%);
    transition: transform 200ms ease, opacity 200ms ease, visibility 0s linear 200ms;
}
.fixed-header .sticky-header {
    transform: none;
    transition: transform 420ms var(--ls-ease-tiroir), opacity 200ms ease, visibility 0s;
}

/* --- Mobile : bouton ☰, tiroir et liens en cascade ---------------------- */
.nav-outer .mobile-nav-toggler {
    transition: transform 160ms var(--ls-ease);
}
.nav-outer .mobile-nav-toggler:active {
    transform: scale(0.92);
}
.mobile-menu .menu-box,
.mobile-menu .menu-backdrop {
    transition: transform 320ms var(--ls-ease-tiroir), opacity 250ms ease, visibility 0s linear 320ms;
}
.mobile-menu-visible .mobile-menu .menu-box,
.mobile-menu-visible .mobile-menu .menu-backdrop {
    transition: transform 420ms var(--ls-ease-tiroir), opacity 300ms ease, visibility 0s;
}
.mobile-menu .navigation li > a {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .02em;
    padding-top: 13px;
    padding-bottom: 13px;
}
.mobile-menu-visible .mobile-menu .navigation > li {
    animation: ls-menu-cascade 360ms var(--ls-ease) both;
}
.mobile-menu-visible .mobile-menu .navigation > li:nth-child(2) { animation-delay: 40ms; }
.mobile-menu-visible .mobile-menu .navigation > li:nth-child(3) { animation-delay: 80ms; }
.mobile-menu-visible .mobile-menu .navigation > li:nth-child(4) { animation-delay: 120ms; }
.mobile-menu-visible .mobile-menu .navigation > li:nth-child(5) { animation-delay: 160ms; }
.mobile-menu-visible .mobile-menu .navigation > li:nth-child(6) { animation-delay: 200ms; }
.mobile-menu-visible .mobile-menu .navigation > li:nth-child(7) { animation-delay: 240ms; }
@keyframes ls-menu-cascade {
    from { opacity: 0; transform: translateX(12px); }
    to   { opacity: 1; transform: none; }
}
.mobile-menu .close-btn {
    transition: transform 200ms var(--ls-ease);
}
.mobile-menu .close-btn:active {
    transform: scale(0.9);
}

/* --- Survols : uniquement à la souris ----------------------------------- */
@media (hover: hover) and (pointer: fine) {
    .main-menu .navigation > li > a:hover::after,
    .main-header .header-upper .icon-box .text a:hover::after {
        transform: scaleX(1);
        transform-origin: left;
    }
    .main-menu .navigation > li > ul > li > a:hover,
    .main-menu .navigation > li > ul > li > ul > li > a:hover {
        background-color: var(--ls-fond-2);
        color: var(--ls-texte);
    }
}

/* --- Focus clavier ------------------------------------------------------- */
.main-header a:focus-visible,
.sticky-header a:focus-visible,
.mobile-menu a:focus-visible {
    outline: 2px solid var(--ls-vert-texte);
    outline-offset: 3px;
}
/* Sous-menu accessible au clavier */
@media only screen and (min-width: 768px) {
    .main-menu .navigation > li.dropdown:focus-within > ul {
        visibility: visible;
        opacity: 1;
        transform: none;
    }
}

/* --- Réduire les animations ---------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .sticky-header,
    .fixed-header .sticky-header,
    .main-menu .navigation > li > ul,
    .main-menu .navigation > li.dropdown:hover > ul {
        transform: none !important;
    }
    .mobile-menu-visible .mobile-menu .navigation > li {
        animation: none;
    }
    .mobile-menu .menu-box,
    .mobile-menu .menu-backdrop {
        transition-duration: 1ms !important;
    }
}

/* ==========================================================================
   Liste des biens & cartes « premium » (list-biens.php, accueil)
   Données et liens inchangés (bloc-bien.php, bloc-recherche.php).
   ========================================================================== */

/* --- Grille alignée sur le menu (1140 px) ------------------------------- */
.services-section-two > div[style*="padding-left: 15px"] {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

/* --- En-tête : « Maison / Biens à vendre / 74 résultats » --------------- */
.services-section-two .sec-title h1,
.services-section-two .sec-title h1 font {
    margin-bottom: 6px;
    font-size: 13px !important;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ls-vert-texte) !important;
}
.services-section-two .sec-title h2 {
    font-size: clamp(32px, 4vw, 44px);
    line-height: 1.05;
    font-weight: 600;
    letter-spacing: -0.025em;
}
.services-section-two .sec-title .text[style] {
    margin-top: 10px;
    font-size: 15px !important;
    color: var(--ls-texte-2);
    font-variant-numeric: tabular-nums;
}

/* --- Carte -------------------------------------------------------------- */
.service-block-two .inner-box {
    overflow: hidden;
    margin-bottom: 30px;
    border-color: var(--ls-bord);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);
    transition: transform 300ms var(--ls-ease), box-shadow 300ms var(--ls-ease);
}
.imagesigna:hover {
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);
}
.service-block-two a:hover .inner-box {
    transform: none;
}
/* Photo au format 3:2, toujours remplie */
.service-block-two .image.bienphoto {
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.service-block-two .image.bienphoto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms var(--ls-ease);
}
/* Prix : pastille sur la photo */
.service-block-two .prixpanel {
    top: 14px;
    right: 14px;
    bottom: auto;
    padding: 6px 12px;
    background-color: rgba(255, 255, 255, .88);
    color: var(--ls-texte);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .10);
    z-index: 4;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .service-block-two .prixpanel {
        background-color: rgba(255, 255, 255, .72);
        -webkit-backdrop-filter: saturate(180%) blur(12px);
        backdrop-filter: saturate(180%) blur(12px);
    }
}
/* Contenu */
.service-block-two .content,
.service-block-two .content[style] {
    height: auto;
    padding: 18px 20px 16px;
    box-shadow: none;
}
.service-block-two .titlebien {
    margin: 0 0 4px;
    padding-bottom: 0;
    font-size: 18px !important;
    font-weight: 600;
    letter-spacing: -0.01em;
}
.service-block-two h4:before {
    display: none;
}
.service-block-two .content > p,
.service-block-two .content > p[style] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 14px;
    letter-spacing: .01em;
}
.service-block-two .content > p img {
    width: 16px !important;
    height: 16px !important;
}
.service-block-two .pebpanel {
    width: auto;
    margin-top: 12px;
}
.service-block-two .pebpanel img {
    height: 22px;
    width: auto;
}
/* Caractéristiques : une ligne d'icônes et de chiffres, filet au-dessus */
.service-block-two .paneldetail,
.service-block-two .paneldetail[style] {
    margin: 14px 0 0 !important;
    padding-top: 12px;
    border-top: 1px solid #ececf0;
}
.service-block-two .carte-specs,
.service-block-two .carte-specs[style] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--ls-texte) !important;
    font-variant-numeric: tabular-nums;
}
.service-block-two .carte-specs span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.service-block-two .carte-specs img {
    width: 20px;
    height: 20px;
}
/* Bien vendu : la carte s'efface légèrement */
.service-block-two a.linkvendu .bienphoto img {
    filter: saturate(.85);
}

/* Entrée des cartes : courte et discrète (au lieu de 1,5 s) */
.service-block-two .inner-box.wow.animated {
    animation-name: ls-carte-entree !important;
    animation-duration: 500ms !important;
    animation-timing-function: var(--ls-ease) !important;
}
@keyframes ls-carte-entree {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: none; }
}

/* Appui */
.service-block-two a:active .inner-box {
    transform: scale(0.99);
    transition-duration: 120ms;
}

@media (hover: hover) and (pointer: fine) {
    .service-block-two a:hover .inner-box {
        transform: translateY(-3px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, .04), 0 14px 34px rgba(0, 0, 0, .10);
    }
    .service-block-two a:hover .bienphoto img {
        transform: scale(1.04);
    }
    .service-block-two a:hover .titlebien {
        color: var(--ls-vert-texte);
    }
}

/* --- Bloc de recherche -------------------------------------------------- */
.cta-section [style*="box-shadow: 0px 0px 7px 5px"] {
    box-shadow: 0 2px 6px rgba(0, 0, 0, .05), 0 12px 32px rgba(0, 0, 0, .08) !important;
    border: 1px solid var(--ls-bord);
}
.blocrecherche {
    border-right: 1px solid #ececf0;
}
.titrerecherche {
    padding-bottom: 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ls-texte-2);
}
.blocrecherche select.form-control,
.blocrecherche select.form-control[style] {
    padding-left: 0;
    border: 0 !important;
    font-size: 15px;
    font-weight: 500;
    color: var(--ls-texte);
    background-color: transparent;
    box-shadow: none;
    cursor: pointer;
}
.blocrecherche .bootstrap-tagsinput {
    border-color: var(--ls-bord);
}
.cta-section form .theme-btn.btn-style-one {
    transition: background-color 200ms var(--ls-ease), color 200ms var(--ls-ease), transform 160ms var(--ls-ease);
}
.cta-section form .theme-btn.btn-style-one p {
    font-size: 15px !important;
    font-weight: 600;
    letter-spacing: .04em;
}
.cta-section form .theme-btn.btn-style-one:active {
    transform: scale(0.98);
}
@media (hover: hover) and (pointer: fine) {
    .cta-section form .theme-btn.btn-style-one:hover {
        background-color: var(--ls-vert-hover) !important;
        color: var(--ls-texte) !important;
    }
    .cta-section form .theme-btn.btn-style-one:hover:before {
        transform: scale(0, 1);
    }
}

/* --- Vidéos sous la liste ----------------------------------------------- */
body .bloc-videos .video-bien {
    border: 1px solid var(--ls-bord);
}
body .bloc-videos .video-bien-info .titlebien {
    color: var(--ls-texte);
}

/* --- Réduire les animations --------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .service-block-two .inner-box.wow.animated {
        animation-name: ls-fondu !important;
    }
    .service-block-two a:hover .inner-box,
    .service-block-two a:hover .bienphoto img,
    .service-block-two a:active .inner-box {
        transform: none;
    }
}
@keyframes ls-fondu {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Cartes d'une même rangée à la même hauteur, caractéristiques alignées en bas */
.service-block-two {
    display: flex;
    margin-bottom: 30px;
}
.service-block-two > a {
    display: flex;
    flex: 1;
    min-width: 0;
}
.service-block-two .inner-box {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-bottom: 0;
}
.service-block-two .content,
.service-block-two .content[style] {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.service-block-two .paneldetail,
.service-block-two .paneldetail[style] {
    margin-top: auto !important;
}
.service-block-two .pebpanel {
    margin-bottom: 14px;
}
.service-block-two .carte-specs,
.service-block-two .carte-specs[style] {
    gap: 6px 14px;
}
