/* 3E Properties — monochrome encre + surfaces liquid glass sur imagerie */
:root {
    --primary-color: #161210;
    --primary-color-rgb: 22, 18, 16;
    --secondary-color: rgba(22, 18, 16, 0.55);
    --secondary-color-rgb: 74, 68, 63;
    --tertiary-color-rgb: #0c0a09;
    --btn-color: #ffffff;
    --btn-hover-bg: #3a332e;
}

/* Fonds : papier chaud, noir structure */
section {
    background-color: #faf7f2;
}

.bg-dark-1,
section.bg-dark-1,
footer.section-dark {
    background-color: #161210 !important;
}

.bg-color-op-5 {
    background-color: rgba(22, 18, 16, 0.05) !important;
}

/* --- Liquid glass : surfaces --- */

.glass {
    background: rgba(255, 255, 255, 0.5);
    -webkit-backdrop-filter: blur(24px) saturate(1.6);
    backdrop-filter: blur(24px) saturate(1.6);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 8px 32px rgba(22, 18, 16, 0.12);
    border-radius: 16px;
}

.glass-dark {
    background: rgba(20, 18, 16, 0.4);
    -webkit-backdrop-filter: blur(24px) saturate(1.4);
    backdrop-filter: blur(24px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 32px rgba(0, 0, 0, 0.35);
    border-radius: 16px;
    color: #fff;
}

/* Header : barre de verre flottante */
header,
header.header-light,
header.smaller {
    background: rgba(250, 247, 242, 0.65) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.8);
    backdrop-filter: blur(20px) saturate(1.8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 24px rgba(22, 18, 16, 0.06);
}

/* Boutons : verre sombre, lisibles sur photo comme sur papier */
a.btn-main,
a.btn-main:active,
a.btn-main:focus,
a.btn-main:visited,
.btn-main,
input[type=button].btn-main,
input[type=submit].btn-main {
    background: #161210;
    border: none;
    border-radius: 12px;
    color: #fff;
}

a.btn-main:hover,
.btn-main:hover {
    background: #3a332e;
    color: #fff;
}

/* Bouton secondaire : contour, s'adapte au fond */
a.btn-line,
.btn-line {
    background: transparent;
    border: 1px solid #161210;
    border-radius: 12px;
    color: #161210;
}

.bg-dark-1 a.btn-line,
.text-light a.btn-line,
.glass-scene a.btn-line,
.section-accent a.btn-line {
    border-color: rgba(255, 255, 255, 0.7);
    color: #fff;
}

a.btn-main.text-dark,
.btn-main.text-dark {
    color: #fff !important;
}

/* Pastilles de verre (badges des cartes) */
.glass-pill {
    display: inline-block;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #fff;
    background: rgba(20, 18, 16, 0.45);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    backdrop-filter: blur(16px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
    border-radius: 999px;
}

/* Bandeau chiffres clés du hero : plaque de verre */
.hero-stats {
    background: rgba(20, 18, 16, 0.35);
    -webkit-backdrop-filter: blur(24px) saturate(1.4);
    backdrop-filter: blur(24px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
    border-radius: 16px;
    padding: 24px 32px;
}

.hero-stats .timer {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
}

.hero-stats .stat-label {
    font-size: 14px;
    letter-spacing: .5px;
    opacity: .8;
}

/* Bandeau info des cartes bien : bande de verre */
.card-glass-strip {
    background: rgba(20, 18, 16, 0.45);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    backdrop-filter: blur(20px) saturate(1.4);
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
}

/* Scènes sombres avec photo : témoignages, CTA final */
.glass-scene {
    background: linear-gradient(rgba(15, 14, 12, 0.72), rgba(15, 14, 12, 0.72)), url('../../images/background/1.webp') center / cover no-repeat !important;
    color: #fff;
}

.section-accent {
    background: linear-gradient(rgba(15, 14, 12, 0.55), rgba(15, 14, 12, 0.55)), url('../../images/slider/2.webp') center / cover no-repeat !important;
    color: #fff;
}

/* Témoignages : cartes de verre sur la scène photo */
.quote-item {
    background: rgba(20, 18, 16, 0.4);
    -webkit-backdrop-filter: blur(24px) saturate(1.4);
    backdrop-filter: blur(24px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
    border-radius: 16px;
    padding: 32px;
}

/* Motif « trois barres » : encre sur papier, blanc sur scène sombre */
.brand-bars {
    display: inline-block;
    line-height: 0;
}

.brand-bars span {
    display: block;
    height: 6px;
    background: #161210;
    margin-bottom: 5px;
}

.brand-bars span:nth-child(1) { width: 48px; }
.brand-bars span:nth-child(2) { width: 34px; }
.brand-bars span:nth-child(3) { width: 48px; margin-bottom: 0; }

.bg-dark-1 .brand-bars span,
.glass-scene .brand-bars span,
.text-light .brand-bars span {
    background: #fff;
}

/* Piliers */
.pillar-number {
    font-size: 72px;
    font-weight: 700;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(22, 18, 16, 0.55);
}

.pillar-img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    border-radius: 16px;
}

/* Hero : sous-titre lisible */
.hero-subtitle {
    color: #fff;
    opacity: .95;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

/* Accents texte sur fond sombre */
.bg-dark-1 .id-color,
.glass-scene .id-color,
footer .id-color {
    color: #cfd8df !important;
}

/* Blocs de confirmation (fond encre via --primary-color) : texte blanc */
.bg-color h4,
.bg-color p,
.bg-color {
    color: #fff;
}

/* Bouton WhatsApp flottant */
.whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 1000;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    transition: transform .2s ease-out, bottom .3s ease-out;
}

.whatsapp-float:hover {
    color: #fff;
    transform: translateY(-3px);
}

/* Quand la flèche de retour en haut apparaît, WhatsApp lui cède la place du bas */
body:has(#back-to-top.show:not(.hide)) .whatsapp-float {
    bottom: 84px;
}

/* Footer */
footer h4 {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

footer .footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

footer .footer-links li {
    margin-bottom: 8px;
}

footer .footer-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

footer .footer-links a:hover {
    color: #fff;
}

.footer-logo {
    filter: invert(1);
    width: 150px;
}

.logo-invert {
    filter: invert(1);
}

/* Partenaires */
.partners-strip {
    border-top: 1px solid rgba(22, 18, 16, 0.1);
    border-bottom: 1px solid rgba(22, 18, 16, 0.1);
}

.partners-strip img {
    max-height: 48px;
    width: auto;
    opacity: .6;
    filter: grayscale(1);
    transition: opacity .2s ease-out;
}

.partners-strip img:hover {
    opacity: 1;
    filter: none;
}

/* Alignement vertical des boutons côte à côte */
a.btn-main,
.btn-main,
a.btn-line,
.btn-line {
    vertical-align: middle;
}

a.btn-line,
.btn-line {
    padding: 4px 29px; /* compense la bordure de 1px pour matcher la hauteur de btn-main */
}

/* Titres blancs sur les panneaux et scènes de verre */
.glass-dark h1,
.glass-dark h2,
.glass-dark h3,
.section-accent h2,
.glass-scene h2 {
    color: #fff;
}

/* Cartes bien : la photo domine, la bande reste compacte et lisible */
.property-card-img {
    width: 100%;
    height: 440px;
    object-fit: cover;
}

.dev-gallery-img {
    width: 100%;
    height: 420px;
    object-fit: cover;
}

@media only screen and (max-width: 991px) {
    .dev-gallery-img {
        height: 260px;
    }
}

.card-glass-strip {
    padding: 14px 18px;
}

.card-glass-strip h4 {
    color: #fff;
    margin-bottom: 2px;
}

.card-glass-strip .fw-600 {
    color: #fff;
}

/* Onglets (plans d'étage, quartier) : pilule encre sur clair, inversée sur sombre */
.de-tab .d-tab-nav li {
    border-radius: 10px;
}

.de-tab .d-tab-nav .active-tab {
    background: #161210;
    color: #fff !important;
}

.bg-dark-1 .de-tab .d-tab-nav .active-tab {
    background: #faf7f2;
    color: #161210 !important;
}

/* Flèches de carousel : coins arrondis, chevron toujours contrasté */
.de-custom-nav .d-prev:before,
.de-custom-nav .d-next:before,
.de-custom-nav.dark .d-prev:before,
.de-custom-nav.dark .d-next:before {
    border-radius: 10px;
    color: #fff !important;
}

.bg-dark-1 .de-custom-nav .d-prev:before,
.bg-dark-1 .de-custom-nav .d-next:before {
    background: #faf7f2;
    color: #161210 !important;
}

/* --- Ajustements mobile --- */
@media (max-width: 575.98px) {
    .hero-stats {
        padding: 14px 16px;
    }

    .hero-stats .timer {
        font-size: 26px;
    }

    .hero-stats .stat-label {
        font-size: 12px;
    }

    .pillar-number {
        font-size: 52px;
    }

    .pillar-img {
        height: 240px;
    }

    .property-card-img {
        height: 340px;
    }
}

/* Retour en haut : à sa place d'origine en bas, apparaît au scroll ;
   le bouton WhatsApp, toujours visible, se tient au-dessus.
   Pastille liquid glass : lisible sur fonds clairs comme sombres. */
#back-to-top {
    /* centré sur l'axe du bouton WhatsApp : 24px + (56 - 40) / 2 */
    right: 32px;
    border-radius: 50%;
    background: rgba(20, 18, 16, 0.45);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    backdrop-filter: blur(16px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 4px 14px rgba(0, 0, 0, 0.25);
}

#back-to-top:before {
    color: #fff !important;
}
