:root {
                --delta-primary: #2660ff;
                --delta-muted: #6c757d;
                --delta-bg: transparent;
                --delta-border: #e9ecef;
            }

            body {
                background: var(--delta-bg);
            }

            .text-primary {
                color: var(--delta-primary) !important;
            }

            .btn-primary {
                --bs-btn-bg: var(--delta-primary);
                --bs-btn-border-color: var(--delta-primary);
                --bs-btn-hover-bg: #194dde;
                --bs-btn-hover-border-color: #194dde;
            }

            .page-wrap {
                padding-block: 24px 60px;
            }

            .badges .badge {
                border: 1px solid var(--delta-border);
                background: #f8f9fa;
                color: #111;
            }

            /* ---- Gallery ---- */
            .gallery-main {
                border-radius: 0px;
                overflow: hidden;
            }

            .gallery-thumbs .swiper-slide {
                opacity: .7;
                cursor: pointer;
                border-radius: 0px;
                overflow: hidden;
                border: 1px solid var(--delta-border);
            }

            .gallery-thumbs .swiper-slide-thumb-active {
                opacity: 1;
                border-color: var(--delta-primary);
            }

            .ratio-4x3 {
                aspect-ratio: 4/3;
                object-fit: cover;
                width: 100%;
                height: auto;
                display: block;
            }

            /* ---- DPE / GES ---- */
            .dpe-card {
                border-radius: 0px;
                padding: 16px;
                background: #fff;
            }

            .dpe-scale {
                height: 180px;
                display: grid;
                grid-template-rows: repeat(7, 1fr);
                gap: 6px;
            }

            .dpe-bar {
                display: flex;
                align-items: center;
                justify-content: space-between;
                color: #fff;
                padding: 6px 10px;
                border-radius: 0px;
                font-weight: 600;
                font-size: 14px;
            }
            /* par défaut = gris */
            .dpe-scale .dpe-bar{
                color: #111;
                border: 1px solid var(--delta-border);
            
            }
            .dpe-a {
                width: 38%;
            }
            .dpe-b {
                width: 44%;
            }
            .dpe-c {
                width: 53%;
            }
            .dpe-d {
                width: 60%;
            }
            .dpe-e {
                width: 70%;
            }
            .dpe-f {
                width: 80%;
            }
            .dpe-g {
                width: 100%;
            }

            .dpe-scale .dpe-bar .dpe-a { background:#1f8a4c; }
            .dpe-scale .dpe-bar .dpe-b { background:#58b15a; }
            .dpe-scale .dpe-bar .dpe-c { background:#b2d235; color:#1c1c1c; }
            .dpe-scale .dpe-bar .dpe-d { background:#ffd23f; color:#1c1c1c; }
            .dpe-scale .dpe-bar .dpe-e { background:#ffa53d; }
            .dpe-scale .dpe-bar .dpe-f { background:#ff6b4a; }
            .dpe-scale .dpe-bar .dpe-g { background:#de3646; }
            
            /* ACTIF = reprend les couleurs A→G */
            .dpe-scale .dpe-bar.is-active{
                color: #fff;
                border-color: transparent;
                width: 100%;
            }
            
            /* Forcer les couleurs quand is-active + dpe-x */
            .dpe-scale .dpe-bar.is-active.dpe-a { background:#1f8a4c; }
            .dpe-scale .dpe-bar.is-active.dpe-b { background:#58b15a; }
            .dpe-scale .dpe-bar.is-active.dpe-c { background:#b2d235; color:#1c1c1c; }
            .dpe-scale .dpe-bar.is-active.dpe-d { background:#ffd23f; color:#1c1c1c; }
            .dpe-scale .dpe-bar.is-active.dpe-e { background:#ffa53d; }
            .dpe-scale .dpe-bar.is-active.dpe-f { background:#ff6b4a; }
            .dpe-scale .dpe-bar.is-active.dpe-g { background:#de3646; }
  

            .dpe-a {
                background: #1f8a4c;
            }

            .dpe-b {
                background: #58b15a;
            }

            .dpe-c {
                background: #b2d235;
                color: #1c1c1c;
            }

            .dpe-d {
                background: #ffd23f;
                color: #1c1c1c;
            }

            .dpe-e {
                background: #ffa53d;
            }

            .dpe-f {
                background: #ff6b4a;
            }

            .dpe-g {
                background: #de3646;
            }

            .dpe-value {
                display: inline-flex;
                align-items: center;
                gap: 1px;
                font-weight: 700;
                color: #111;
                border: 1px solid var(--delta-border);
                padding: 6px 10px;
                border-radius: 0px;
                background: #fff;
                font-size: 1em;
                margin-bottom: 10px;
                width: 100%;
            }

            /* Quand on applique une classe dpe-x sur la pastille */
            .dpe-value.dpe-a {
                background: #1f8a4c;
                color: #fff;
                border-color: #1f8a4c;
            }

            .dpe-value.dpe-b {
                background: #58b15a;
                color: #fff;
                border-color: #58b15a;
            }

            .dpe-value.dpe-c {
                background: #b2d235;
                color: #1c1c1c;
                border-color: #b2d235;
            }

            .dpe-value.dpe-d {
                background: #ffd23f;
                color: #1c1c1c;
                border-color: #ffd23f;
            }

            .dpe-value.dpe-e {
                background: #ffa53d;
                color: #fff;
                border-color: #ffa53d;
            }

            .dpe-value.dpe-f {
                background: #ff6b4a;
                color: #fff;
                border-color: #ff6b4a;
            }

            .dpe-value.dpe-g {
                background: #de3646;
                color: #fff;
                border-color: #de3646;
            }


            /* ---- Sticky action (mobile) ---- */
            .sticky-actions {
                position: fixed;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 1030;
                background: #fff;
                border-top: 1px solid var(--delta-border);
                padding: 10px;
            }

            @media (min-width: 992px) {
                .sticky-actions {
                    display: none;
                }
            }

            /* Card minimaliste */
            .card-min {
                border: 1px solid var(--delta-border);
                border-radius: 0px;
            }

            /* Listes compactes */
            .list-compact li {
                margin-bottom: .4rem;
            }


            html[data-bs-theme="dark"] .text-primary {
                color: #fff !important;
            }

            html[data-bs-theme="dark"] .btn-link {
                color: #fff !important;
            }


            .phrase-animation,
            .example-phrase {
                cursor: pointer;
                user-select: none;
            }

            .example-phrase:active {
                transform: scale(0.98);
            }

            /* Par défaut: thème clair */
            .logo-dark {
                display: none;
            }

            /* Quand le thème dark est actif sur <html data-bs-theme="dark"> */
            html[data-bs-theme="dark"] .logo-light {
                display: none;
            }

            html[data-bs-theme="dark"] .logo-dark {
                display: inline;
            }

            .chip-input {
                min-height: 48px;
                cursor: text;
            }

            .chip-input:focus-within {
                box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .15);
            }

            .chip-text {
                min-width: 140px;
                outline: none;
                padding: .25rem 0;
            }

            .chip {
                display: inline-flex;
                align-items: center;
                gap: .35rem;
                padding: .25rem .5rem;
                border-radius: 16px;
                background: var(--si-tertiary-bg);
                font-size: .9rem;
                margin: .2rem;
            }

            .chip .chip-x {
                cursor: pointer;
                font-size: 1rem;
                line-height: 1;
                opacity: .6;
            }

            .chip .chip-x:hover {
                opacity: 1;
            }

            .chip-placeholder {
                padding: .25rem 0;
                margin-left: .25rem;
            }

            .phrase-animation {
                white-space: nowrap;
                border-right: 2px solid currentColor;
                padding-right: 4px;
                animation: blink 0.9s steps(1) infinite;
            }

            @keyframes blink {
                50% {
                    border-color: transparent;
                }
            }

            /* Le lien étendu ne doit pas passer devant les boutons d'action */
            .stretched-link::after {
                z-index: 1;
            }

            /* Les actions doivent toujours rester cliquables au-dessus */
            .immo-actions {
                z-index: 3;
            }

            /* Si tu utilises un overlay visuel sur l'image, ne bloque pas les clics */
            .img-overlay {
                pointer-events: none;
            }

            .header .mode-switch {
                color: #000000;
            }

            /* Container flottant gauche */
            .floating-actions {
                position: fixed;
                right: 1rem;
                /* distance du bord gauche */
                bottom: 10rem;
                /* distance du bas */
                display: flex;
                flex-direction: column;
                gap: 0.75rem;
                z-index: 9999;
                /* au-dessus de tout */
            }

            /* Bouton rond */
            .floating-action-btn {
                width: 3.5rem;
                height: 3.5rem;
                border-radius: 999px;
                border: none;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 1.25rem;
                font-weight: 600;
                color: #fff;
                box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25);
                cursor: pointer;
                transition: all 0.18s ease;
            }

            /* Effet hover */
            .floating-action-btn:hover {
                transform: translateY(-2px) scale(1.05);
                box-shadow: 0 20px 35px rgba(0, 0, 0, 0.3);
            }

            /* Couleurs spécifiques */
            .call-btn {
                background: linear-gradient(135deg, #10b981 0%, #059669 100%);
                /* vert premium */
                text-decoration: none;
            }

            .alert-btn {
                background: linear-gradient(135deg, #f87171 0%, #dc2626 100%);
                /* rouge alerte */
            }

            /* Option : légère animation pulse sur l'alerte pour attirer l'œil */
            .alert-btn {
                position: relative;
            }

            .alert-btn::after {
                content: "";
                position: absolute;
                inset: 0;
                border-radius: inherit;
                box-shadow: 0 0 15px rgba(220, 38, 38, 0.7);
                animation: pulseAlert 1.8s infinite;
            }

            @keyframes pulseAlert {
                0% {
                    box-shadow: 0 0 10px rgba(220, 38, 38, 0.7);
                    opacity: 1;
                }

                70% {
                    box-shadow: 0 0 25px rgba(220, 38, 38, 0);
                    opacity: 0;
                }

                100% {
                    box-shadow: 0 0 10px rgba(220, 38, 38, 0);
                    opacity: 0;
                }
            }

            /* Mobile : remonter un peu pour éviter le bouton cookie / nav basse */
            @media (max-width: 768px) {
                .floating-actions {
                    right: 0.75rem;
                    bottom: 10rem;
                }
            }


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

            @media screen and (min-width: 0px) and (max-width: 991px) {
                .dpe-card {
                    margin-bottom: 85px !important;
                    font-size: 0.66rem;
                }
                .dpe-scale {
                    font-size: 0.66rem;
                }
              
              }