/*
==================================================
MAPIZY — PROPRIETAIRES/css/style.css
V1.0 01-06-2026

CSS global factorisé depuis toutes les pages PROPRIETAIRES
Pages autonomes (login, creer_compte, activation, verifier_mail) 
conservent leur propre CSS car elles n'incluent pas index.php

Structure :
  01. Variables CSS
  02. Layout global + mz-content
  03. Menu / Sidebar
  04. Breadcrumb & Hero
  05. Cards lieux/biens (accueil, lieu)
  06. Upload photos (accueil, bien)
  07. Panels & formulaires (bien, piece)
  08. Bouton save flottant
  09. Pièces
  10. Score / Complétion
  11. Calendrier FullCalendar
  12. Kanban Tâches
  13. Bandeau abonnement
  14. Pages : stats, factures, abonnement, site_web, ota
  15. Dark mode overrides
==================================================
*/

/* ================================================
   TYPOGRAPHIE — Geist (local)
   Fichiers dans : ../lib/fonts/geist/
   ================================================ */

@font-face {
    font-family: 'Geist';
    src: url('../lib/fonts/geist/Geist-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Geist';
    src: url('../lib/fonts/geist/Geist-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Geist';
    src: url('../lib/fonts/geist/Geist-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Geist';
    src: url('../lib/fonts/geist/Geist-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Geist';
    src: url('../lib/fonts/geist/Geist-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Application globale */
body,
.mz-sidebar,
.form-control,
.form-select,
.btn,
.modal-content,
h1, h2, h3, h4, h5, h6 {
    font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ================================================
   01. VARIABLES CSS
   ================================================ */

:root {
    --mz-red:       #b40020;
    --mz-red-dark:  #870018;
    --mz-red-hover: #d60023;
    --mz-cream:     #fff9f1;
    --mz-text:      #222222;
    --mz-muted:     #6c757d;
    --mz-border:    #ececec;
    --mz-card-bg:   #ffffff;
    --mz-bg:        #f8f9fa;
    --mz-photo-bg:  #f4f4f4;
}

/* ================================================
   02. LAYOUT GLOBAL
   ================================================ */

/* -- index.php -- */
/* =============================================
   MAPIZY DARK MODE
   Classe body.mz-dark
============================================= */
body.mz-dark{
    background-color:#0f1117 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-sidebar,
body.mz-dark .mz-menu,
body.mz-dark nav,
body.mz-dark .navbar,
body.mz-dark .card,
body.mz-dark .mz-panel,
body.mz-dark .mz-card,
body.mz-dark .modal-content,
body.mz-dark .dropdown-menu{
    background-color:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .form-control,
body.mz-dark .form-select,
body.mz-dark .input-group-text{
    background-color:#0f1117 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .form-control::placeholder{color:#7a8099 !important;}
body.mz-dark .table{color:#e8eaf0 !important;}
body.mz-dark .table td,
body.mz-dark .table th{border-color:#252a38 !important;}
body.mz-dark .text-muted{color:#7a8099 !important;}
body.mz-dark .alert-light,
body.mz-dark .alert-secondary{
    background-color:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .bg-white,
body.mz-dark .bg-light{
    background-color:#181c27 !important;
}
body.mz-dark a{color:#7eb3f5;}
body.mz-dark a:hover{color:#afd0ff;}
body.mz-dark .mz-dark-toggle{
    background:#252a38;
    border-color:#252a38;
}
/* Transition douce */
body, body *{
    transition: background-color .2s, color .2s, border-color .2s;
}

/* ================================================
   03. MENU / SIDEBAR
   ================================================ */

/* -- menu.php -- */
.mz-sidebar-section-title{
    font-size:12px;
    font-weight:700;
    color:#999;
    padding:0 20px;
    margin-bottom:12px;
    letter-spacing:1px;
}

.mz-menu-bien{
    margin-bottom:18px;
}

.mz-menu-bien-link{
    display:block;
    text-decoration:none;
    color:#222;
    padding:10px 18px;
    font-weight:700;
}

.mz-menu-bien-link:hover{
    background:#fff5f6;
}

.mz-menu-bien-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}

.mz-menu-lieu{
    display:block;
    text-decoration:none;
    color:#666;
    padding:8px 20px 8px 42px;
    font-size:14px;
    border-left:2px solid rgba(214,0,35,.12);
    margin-left:22px;
}

.mz-menu-lieu:hover{
    background:#fff8f8;
    color:#d60023;
}

.mz-menu-lieu-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}

.mz-menu-lieu-sub{
    font-size:12px;
    color:#999;
    margin-top:2px;
}
/*************************************************/
/* SITE CARD */
/*************************************************/

.mz-site-card{

    margin:2px 18px 2px 18px;

    padding:22px;

    border-radius:24px;

    background:
        linear-gradient(
            135deg,
            #d60023 0%,
            #ff4d6d 100%
        );

    color:#fff;

    text-align:center;

    box-shadow:
        0 14px 35px rgba(214,0,35,.22);

}

.mz-site-card-icon{

    width:72px;
    height:72px;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    display:flex;
    align-items:center;
    justify-content:center;

    margin:auto auto 18px auto;

    font-size:30px;

}

.mz-site-card-title{

    font-size:20px;
    font-weight:700;

    margin-bottom:12px;

}

.mz-site-card-text{

    font-size:13px;
    line-height:1.7;

    opacity:.96;

    margin-bottom:20px;

}

.mz-site-card-btn{

    display:inline-flex;
    align-items:center;
    gap:10px;

    background:#fff;

    color:#d60023;

    text-decoration:none;

    padding:12px 22px;

    border-radius:999px;

    font-weight:700;

    transition:.18s;

    box-shadow:
        0 6px 18px rgba(0,0,0,.12);

}

.mz-site-card-btn:hover{

    transform:translateY(-2px);

    background:#fff;

    color:#b0001c;

    text-decoration:none;

}
.mz-sidebar{
    position:fixed;
    top:0;
    left:0;
    width:260px;
    height:100vh;
    background:#ffffff;
    border-right:1px solid #ececec;
    overflow-y:auto;
    overflow-x:hidden;
    padding-bottom:120px;
    z-index:100;
    box-shadow:2px 0 12px rgba(0,0,0,.05);
}

.mz-sidebar-logo{
    font-size:22px;
    font-weight:800;
    color:#d60023;
    padding:24px 22px 20px;
    border-bottom:1px solid #f0f0f0;
    letter-spacing:-.5px;
}

.mz-sidebar-menu{
    padding:16px 0;
}

.mz-sidebar-menu a{
    display:block;
    padding:10px 22px;
    color:#444;
    text-decoration:none;
    font-size:14px;
    transition:.15s;
}

.mz-sidebar-menu a:hover{
    color:#ffffff;
    background:#252a38;
}

.mz-sidebar-section{
    border-top:1px solid #f0f0f0;
    padding-top:12px;
    margin-top:4px;
}

.mz-content{
    margin-left:260px;
    padding:15px;
}

@media(max-width:768px){
    .mz-sidebar{
        position:relative;
        width:100%;
        height:auto;
        border-right:none;
        border-bottom:1px solid #ececec;
    }
    .mz-content{
        margin-left:0;
        padding:20px;
    }
}

/* Dark mode sidebar */
body.mz-dark .mz-sidebar{
    background:#181c27;
    border-right-color:#252a38;
}
body.mz-dark .mz-sidebar-logo{ color:#e63950; }
body.mz-dark .mz-sidebar-section{ border-color:#252a38; }
body.mz-dark .mz-menu-bien-link{ color:#e8eaf0; }
body.mz-dark .mz-menu-lieu{ color:#7a8099; border-left-color:rgba(230,57,80,.2); }
body.mz-dark .mz-menu-lieu:hover{ background:#252a38; color:#e63950; }
body.mz-dark .mz-menu-bien-link:hover{ background:#252a38; }

.mz-menu-lieu_noactif {opacity: 0.3; -moz-opacity:0.3; -ms-filter: "alpha(opacity=30)"; filter: alpha(opaciy=30);}

/* ================================================
   04. BREADCRUMB & HERO
   ================================================ */

/* -- pages/lieu.php -- */
.mz-hero{background:linear-gradient(135deg,#d60023 0%,#930019 100%);border-radius:32px;padding:40px;color:#fff;position:relative;overflow:hidden;margin-bottom:30px;box-shadow:0 15px 40px rgba(0,0,0,.15);}
.mz-hero:before{content:'';position:absolute;top:-80px;right:-80px;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.08);}
.mz-breadcrumb{font-size:14px;opacity:.85;margin-bottom:10px;}
.mz-breadcrumb a{color:#fff;text-decoration:none;}
.mz-title{font-size:42px;font-weight:800;line-height:1.1;margin-bottom:10px;}
.mz-subtitle{font-size:17px;opacity:.9;}
.mz-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06);transition:.18s;height:100%;}
.mz-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.10);}
.mz-cover{height:210px;background:#f3f3f3;overflow:hidden;position:relative;}
.mz-cover img{width:100%;height:100%;object-fit:cover;}
.mz-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.mz-card-body{padding:22px;}
.mz-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;background:#fff3f5;color:#d60023;font-weight:600;font-size:13px;margin:0 8px 8px 0;}
.mz-links{background:#fff;border-radius:28px;padding:30px;margin-bottom:30px;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.mz-links-title{font-size:24px;font-weight:800;margin-bottom:25px;}
.mz-link-btn{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:#f8f8f8;color:#222;text-decoration:none;margin-bottom:12px;transition:.15s;}
.mz-link-btn:hover{background:#fff3f5;text-decoration:none;color:#d60023;}
.mz-link-icon{width:42px;height:42px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;color:#d60023;}
.mz-stat{text-align:center;}
.mz-stat-number{font-size:34px;font-weight:800;color:#d60023;}
.mz-stat-label{color:#777;}
.mz-empty{background:#fff;border-radius:28px;padding:50px;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.mz-score-wrap{margin-top:14px;padding-top:14px;border-top:1px solid #f5f5f5;}
.mz-score-bar-bg{height:8px;border-radius:30px;background:#f0f0f0;overflow:hidden;margin:5px 0 8px;}
.mz-score-bar-fill{height:100%;border-radius:30px;}
.mz-critere{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:2px 7px;border-radius:20px;margin:2px 2px 0 0;}
.mz-critere.ok{background:#eaf3de;color:#3b6d11;}
.mz-critere.ko{background:#fcebeb;color:#a32d2d;}

/* ================================================
   05. CARDS LIEUX/BIENS
   ================================================ */

/* -- pages/accueil.php -- */
/* Variables adaptatives clair/sombre */
.mz-dashboard{
    padding:25px;
    color:var(--mz-text, #222);
}

.mz-title-page{
    font-size:34px;
    font-weight:700;
    margin-bottom:5px;
    color:var(--mz-text, #222);
}

.mz-subtitle-page{
    color:var(--mz-muted, #777);
}

.mz-card-lieu{
    background:var(--mz-card-bg, #fff);
    border-radius:24px;
    overflow:hidden;
    border:1px solid var(--mz-border, #ececec);
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.25s;
    height:100%;
}

.mz-card-lieu:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.mz-card-photo{
    height:270px;
    background:var(--mz-photo-bg, #f4f4f4);
    overflow:hidden;
    position:relative;
}
.mz-card-photo img{width:100%;height:100%;object-fit:cover;}
				   
			   
				
					 
 

.mz-upload-cover{
    position:absolute;inset:0;
			
    background:rgba(0,0,0,.30);
				 
					   
    display:flex;align-items:center;justify-content:center;
			   
    color:#fff;text-align:center;cursor:pointer;
				   
			  
    opacity:0;transition:.25s;z-index:5;
			  
}

.mz-card-photo:hover .mz-upload-cover{opacity:1;}
			  
 

						  
						
.mz-upload-cover.dragover{opacity:1!important;background:rgba(180,0,32,.82)!important;}
 

.mz-upload-center i{font-size:42px;margin-bottom:12px;}
				   
					   
 

.mz-upload-center small{opacity:.9;}
			   
 

.mz-upload-progress{
    position:absolute;left:15px;right:15px;bottom:15px;
			  
			   
				
				
    height:14px;border-radius:30px;overflow:hidden;
					
				 
			   
    display:none;z-index:10;background:#fff;
}

.mz-card-content{
    padding:20px;
    background:var(--mz-card-bg, #fff);
}

.mz-card-title{
				   
					
    font-size:25px;font-weight:700;margin-bottom:6px;
    color:var(--mz-text, #222);
}

.mz-card-ville{
    color:var(--mz-muted, #666);
    font-size:15px;
}
.mz-mini-number{font-size:30px;font-weight:700;color:#b40020;}
.mz-mini-label{font-size:14px;color:var(--mz-muted, #666);}
.mz-card-actions{display:flex;gap:10px;margin-top:22px;}
					
				  
 

			   
				   
			   
 

				 
				 
			 
					
 

.mz-upload-error{
    position:absolute;top:10px;left:10px;right:10px;
			 
			  
			   
    background:#dc3545;color:#fff;padding:10px;
    border-radius:12px;font-size:13px;z-index:15;display:none;
				 
					   
				   
			   
				 
}
.mz-photo-link{display:block;width:100%;height:100%;}
				  
			   
.mz-photo-link img{width:100%;height:100%;object-fit:cover;}
.mz-btn-upload{
    position:absolute;top:12px;right:12px;z-index:20;
    border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.15);
}
.mz-btn-upload:hover{background:#b40020;color:#fff;border-color:#b40020;}

/* Dark mode overrides */
body.mz-dark .mz-card-lieu{
    background:#181c27;
    border-color:#252a38;
    box-shadow:0 10px 35px rgba(0,0,0,.3);
}
body.mz-dark .mz-card-content{background:#181c27;}
body.mz-dark .mz-card-title{color:#e8eaf0;}
body.mz-dark .mz-card-ville{color:#7a8099;}
body.mz-dark .mz-card-photo{background:#0f1117;}
body.mz-dark .mz-mini-label{color:#7a8099;}
body.mz-dark .mz-title-page{color:#e8eaf0;}
body.mz-dark .mz-subtitle-page{color:#7a8099;}
body.mz-dark .mz-dashboard{color:#e8eaf0;}
body.mz-dark .alert-light{
    background:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}

/* -- pages/stats.php -- */
.mz-stat-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 4px 20px rgba(0,0,0,.06);height:100%;position:relative;overflow:hidden;}
.mz-stat-card:before{content:'';position:absolute;top:0;left:0;width:5px;height:100%;background:#d60023;}
.mz-stat-icon{width:50px;height:50px;border-radius:14px;background:#fff0f2;color:#d60023;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;}
.mz-stat-number{font-size:36px;font-weight:800;line-height:1;margin-bottom:4px;}
.mz-stat-label{color:#999;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.mz-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 4px 20px rgba(0,0,0,.06);}
.mz-card-title{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.mz-pb{height:8px;border-radius:30px;background:#f0f0f0;overflow:hidden;margin-top:4px;}
.mz-pb-fill{height:100%;border-radius:30px;}
.mz-critere{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:2px 7px;border-radius:20px;margin:2px 2px 0 0;}
.mz-critere.ok{background:#eaf3de;color:#3b6d11;}
.mz-critere.ko{background:#fcebeb;color:#a32d2d;}
.mz-lieu-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:.5px solid #f5f5f5;cursor:pointer;transition:.15s;border-radius:12px;}
.mz-lieu-row:hover{background:#fafafa;padding-left:6px;padding-right:6px;}
.mz-lieu-row:last-child{border-bottom:none;}
.mz-lieu-img{width:54px;height:54px;border-radius:10px;object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.mz-conseil{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 16px rgba(0,0,0,.05);height:100%;}
.mz-conseil-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:10px;}

/* SCHEMA BIENS */
.mz-schema-bien{border:2px solid #e0e0e0;border-radius:18px;padding:16px;margin-bottom:18px;background:#fafafa;position:relative;}
.mz-schema-bien-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eee;}
.mz-schema-mailbox{width:36px;height:36px;background:#d60023;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex-shrink:0;}
.mz-schema-bien-nom{font-weight:700;font-size:14px;line-height:1.2;}
.mz-schema-bien-adresse{font-size:11px;color:#aaa;}
.mz-schema-lieux{display:flex;flex-wrap:wrap;gap:10px;}
.mz-schema-lieu{border-radius:14px;padding:12px;flex:1;min-width:140px;position:relative;}
.mz-schema-lieu-nom{font-size:12px;font-weight:700;color:#fff;margin-bottom:8px;text-shadow:0 1px 2px rgba(0,0,0,.3);}
.mz-schema-lieu-badge{font-size:10px;color:rgba(255,255,255,.8);margin-bottom:8px;}
.mz-schema-pieces{display:flex;flex-wrap:wrap;gap:5px;}
.mz-schema-piece{border-radius:8px;padding:5px 9px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;}
.mz-schema-empty{font-size:11px;color:rgba(255,255,255,.6);font-style:italic;}

/* ================================================
   06. UPLOAD PHOTOS
   ================================================ */

/* -- pages/bien.php -- */
.mz-layout{
    display:flex;
    gap:20px;
    align-items:flex-start;
}
.mz-left{
    width:320px;
    flex-shrink:0;
    position:sticky;
    top:20px;
}
.mz-center{
    flex:1;
    min-width:0;
}
.mz-right{
    display:none;
}

.mz-panel{
    background:#fff;
    border-radius:24px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
    padding:25px;
    margin-bottom:20px;
}

.mz-piece-card{
    background:#fff;
    border-radius:24px;
    padding:25px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
    min-height:220px;
    position:relative;
    transition:.2s;
}

.mz-piece-card:hover{
    transform:translateY(-2px);
}

.mz-piece-title{
    font-size:28px;
    font-weight:700;
    margin-bottom:5px;
}

.mz-piece-type{
    color:#777;
    margin-bottom:20px;
}

.mz-piece-equips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
	margin-bottom:20px;
}

.mz-equip-badge{
    background:#fff5f6;
    color:#d60023;
    border-radius:30px;
    padding:4px 4px;
    font-size:12px;
    font-weight:600;
}

.mz-add-piece{
    border:2px dashed #d60023;
    background:#fff;
    border-radius:24px;
    min-height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    cursor:pointer;
    transition:.2s;
}

.mz-add-piece:hover{
    background:#fff7f8;
}

.mz-add-icon{
    width:90px;
    height:90px;
    border-radius:50%;
    background:#d60023;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:42px;
    margin-bottom:20px;
}

.mz-sidebar-title{
    font-size:13px;
    letter-spacing:1px;
    font-weight:700;
    color:#999;
    margin-bottom:20px;
}

.mz-capacite{
    font-size:42px;
    font-weight:800;
    color:#d60023;
    line-height:1;
}

.mz-equipement-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:14px;
    cursor:grab;
    transition:.15s;
    margin-bottom:8px;
    border:1px solid #eee;
}

.mz-equipement-item:hover{
    background:#fff5f6;
    border-color:#d60023;
}

.mz-equipement-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:#fff0f2;
    color:#d60023;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
}

.mz-zone-3d{
    height:520px;
    border-radius:24px;
    overflow:hidden;
    background:#f5f5f5;
    border:2px solid #eee;
}
.mz_bien-photo{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    height:220px;
    background:#f4f4f4;
    margin-bottom:25px;
}

.mz_bien-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.mz_bien-photo-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.28);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    color:#fff;
    opacity:0;
    transition:.2s;
    cursor:pointer;
}

.mz_bien-photo:hover .mz_bien-photo-overlay{
    opacity:1;
}

.mz_bien-photo-overlay.dragover{
    opacity:1!important;
    background:rgba(214,0,35,.80)!important;
}

.mz-upload-bien-btn{
    position:absolute;
    top:12px;
    right:12px;
    z-index:5;
}

.mz-upload-bien-progress{
    position:absolute;
    left:15px;
    right:15px;
    bottom:15px;
    z-index:10;
    display:none;
}

.mz-upload-bien-error{
    position:absolute;
    top:12px;
    left:12px;
    right:70px;
    background:#dc3545;
    color:#fff;
    padding:10px;
    border-radius:12px;
    font-size:13px;
    z-index:20;
    display:none;
}
.mz-piece-cover{
    height:220px;
    border-radius:18px;
    overflow:hidden;
    margin-top:20px;
    background:#f4f4f4;
}

.mz-piece-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.mz-piece-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}




/*************************************************/
/* CALENDRIER */
/*************************************************/

#mzCalendar{
    min-height:500px;
}

.fc{
    --fc-border-color:#ececec;

    --fc-button-bg-color:#d60023;
    --fc-button-border-color:#d60023;

    --fc-button-hover-bg-color:#b3001d;
    --fc-button-hover-border-color:#b3001d;

    --fc-button-active-bg-color:#8f0017;
    --fc-button-active-border-color:#8f0017;
}

.fc .fc-toolbar-title{
    font-size:30px;
    font-weight:800;
}

.fc .fc-button{
    border-radius:14px!important;
    box-shadow:none!important;
}

.fc .fc-daygrid-event{
    border-radius:10px;
    border:0!important;
    padding:4px 7px;
    font-size:12px;
    font-weight:600;
}

.mz-dispo-legend{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:20px;
}

.mz-dispo-badge{
    padding:2px 2px;
    border-radius:4px;
    color:#fff;
    font-size:12px;
    font-weight:500;
}

.mz-dispo-booking{
    background:#003580;
}

.mz-dispo-airbnb{
    background:#ff385c;
}

.mz-dispo-abritel{
    background:#7b1fa2;
}

.mz-dispo-manuel{
    background:#555;
}

.mz-dispo-maintenance{
    background:#111;
}

.mz-dispo-option{
    background:#ff9800;
}

.mz-dispo-blocage{
    background:#d60023;
}

/*************************************************/
/* SAVE FLOAT */
/*************************************************/

.mz-save-floating{

    position:fixed !important;

    right:25px;
    bottom:25px;

    z-index:999999 !important;

    min-width:220px;

    height:58px;

    border-radius:18px;

    font-size:18px;
    font-weight:700;

    box-shadow:
        0 10px 30px rgba(214,0,35,.25);

    transition:.15s;

    display:flex;
    align-items:center;
    justify-content:center;

    pointer-events:auto;

}

.mz-save-floating:hover{

    transform:translateY(-2px);

}

@media(max-width:768px){

    .mz-save-floating{

        left:15px;
        right:15px;

        bottom:15px;

        width:auto;
        min-width:auto;

    }

}


/*************************************************/
/* FIX AJOUT PIECE */
/*************************************************/

.mz-add-piece{

    border:2px dashed #d60023;
    background:#fff;

    border-radius:24px;

    min-height:220px;

    display:flex !important;

    align-items:center;
    justify-content:center;

    flex-direction:column;

    text-align:center;

    cursor:pointer;

    transition:.2s;

    width:100%;
    height:100%;

    padding:30px;

}

.mz-add-piece .mz-add-icon{

    flex-shrink:0;

}

.mz-add-piece .fw-bold{

    line-height:1.2;

}
.mz-save-floating{
    transition:
        background .2s,
        transform .15s,
        box-shadow .2s;
}

.mz-save-floating.btn-success{

    animation:mzSavePop .35s ease;

    box-shadow:
        0 12px 35px rgba(25,135,84,.35);

}

@keyframes mzSavePop{

    0%{
        transform:scale(.92);
    }

    60%{
        transform:scale(1.08);
    }

    100%{
        transform:scale(1);
    }

}

/*************************************************/
/* SAVE STATES */
/*************************************************/

.mz-save-floating{

    overflow:hidden;

    transition:
        background .25s,
        transform .2s,
        box-shadow .25s,
        opacity .35s;

}


@keyframes mzSavePulse{

    0%{
        transform:scale(.92);
    }

    60%{
        transform:scale(1.06);
    }

    100%{
        transform:scale(1);
    }

}

@keyframes mzSaveShake{

    0%{
        transform:translateX(0);
    }

    20%{
        transform:translateX(-5px);
    }

    40%{
        transform:translateX(5px);
    }

    60%{
        transform:translateX(-4px);
    }

    80%{
        transform:translateX(4px);
    }

    100%{
        transform:translateX(0);
    }

}
/*************************************************/
/* PAGE SAVE FEEDBACK */
/*************************************************/

body.mz-page-success{

    animation:mzPageSuccessFlash 1.8s ease;

}

body.mz-page-error{

    animation:mzPageErrorFlash 4.5s ease;

}

@keyframes mzPageSuccessFlash{

    0%{
        background:#ffffff;
    }

    12%{
        background:#d1f7df;
    }

    100%{
        background:#ffffff;
    }

}

@keyframes mzPageErrorFlash{

    0%{
        background:#ffffff;
    }

    8%{
        background:#ffd7dc;
    }

    100%{
        background:#ffffff;
    }

}

/* ================================================
   07. PIÈCES
   ================================================ */

/* -- pages/piece.php -- */
.mz-piece-layout{
    display:flex;
    gap:20px;
    align-items:flex-start;
    overflow:hidden;
}

.mz-piece-center{
    flex:1;
    min-width:0;
}

.mz-piece-right{
    width:360px;
    flex-shrink:0;
}

.mz-panel{
    background:#fff;
    border-radius:24px;
    padding:25px;
    margin-bottom:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

/* =========================================================
PLAN
========================================================= */

.mz-room{
    position:relative;

    background:#fafafa;

    border-radius:24px;

 min-height:720px;

    overflow:hidden;

    border:2px dashed #ddd;

    background-size:40px 40px;

    background-image:
        linear-gradient(
            to right,
            rgba(0,0,0,.05) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(0,0,0,.05) 1px,
            transparent 1px
        );
}

/* =========================================================
EQUIPEMENTS DANS LE PLAN
========================================================= */

.mz-equipement{
    position:absolute;

    background:#fff;

    border-radius:14px;

    padding:8px;

    width:110px;
    min-height:115px;

    text-align:center;

    box-shadow:0 3px 12px rgba(0,0,0,.10);

    cursor:move;

    overflow:hidden;
	    transition:
        transform .12s,
        box-shadow .12s;
}


.mz-equipement:hover{
    transform:scale(1.02);

    box-shadow:0 6px 18px rgba(0,0,0,.16);
}
.mz-equipement img{
    width:52px;
    height:52px;

    object-fit:contain;

    pointer-events:none;

    margin-top:2px;
}

.mz-equipement .fw-bold{
    font-size:13px;
    line-height:1.2;

    margin-top:8px;

    word-break:break-word;
}

.mz-equipement-delete{

    position:absolute;

    top:6px;
    right:6px;

    width:24px;
    height:24px;

    border-radius:50%;

    border:0;

    background:#fff;

    color:#999;

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:0 2px 8px rgba(0,0,0,.10);

    transition:.15s;

    z-index:20;

    padding:0;

    font-size:12px;
}

.mz-equipement-delete:hover{
    background:#d60023;
    color:#fff;

    transform:scale(1.08);

    box-shadow:0 6px 18px rgba(214,0,35,.35);
}

/* =========================================================
CAPACITE
========================================================= */

.mz-capacite{
    font-size:52px;
    font-weight:800;
    color:#d60023;
}

/* =========================================================
DRAG GHOST
========================================================= */

.mz-drag-ghost{
    position:fixed;

    width:80px;
    height:80px;

    pointer-events:none;

    z-index:999999;

    opacity:.9;
}

.mz-drag-ghost img{
    width:100%;
    height:100%;
    object-fit:contain;
}

/* =========================================================
PHOTOS
========================================================= */

.mz-piece-gallery{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
}

.mz-piece-photo{
    width:82px;
    height:82px;

    border-radius:16px;

    overflow:hidden;

    position:relative;

    cursor:move;

    border:3px solid #222;

    background:#f4f4f4;
}

.mz-piece-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.mz-piece-photo.principal{
    border-color:#d60023;

    box-shadow:0 0 0 3px rgba(214,0,35,.15);
}

.mz-piece-photo-delete{
    position:absolute;

    top:4px;
    right:4px;

    width:22px;
    height:22px;

    border-radius:50%;

    border:0;

    background:rgba(0,0,0,.7);

    color:#fff;

    font-size:11px;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:5;
}

.mz-piece-drop{
    width:82px;
    height:82px;

    border-radius:16px;

    border:2px dashed #d60023;

    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;

    color:#d60023;

    background:#fff;

    cursor:pointer;

    transition:.15s;

    font-size:12px;

    text-align:center;
}

.mz-piece-drop.dragover{
    background:#fff0f2;
}

.mz-piece-drop i{
    font-size:22px;
    margin-bottom:4px;
}

/* =========================================================
ONGLETS EQUIPEMENTS
========================================================= */

.mz-equipement-tabs{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:0;

    margin:-25px -25px 20px -25px;

    overflow:hidden;

    border-bottom:1px solid #ececec;
}

.mz-equipement-tab{

    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    padding:0 10px;

    cursor:pointer;

    transition:.15s;

    font-size:12px;
    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.3px;

    border-right:1px solid rgba(0,0,0,.05);
    border-bottom:1px solid rgba(0,0,0,.05);

    border-radius:0;

    user-select:none;
}

.mz-equipement-tab:hover{
    filter:brightness(.98);
}

/* =========================================================
COUCHAGE
========================================================= */

.mz-equipement-tab[data-tab="couchage"]{
    background:#f1e8ff;
    color:#6d28d9;
}

.mz-equipement-tab[data-tab="couchage"].active{
    background:#7c3aed;
    color:#fff;
}

/* =========================================================
SANITAIRE
========================================================= */

.mz-equipement-tab[data-tab="sanitaire"]{
    background:#e8f1ff;
    color:#2563eb;
}

.mz-equipement-tab[data-tab="sanitaire"].active{
    background:#2563eb;
    color:#fff;
}

/* =========================================================
MOBILIER
========================================================= */

.mz-equipement-tab[data-tab="mobilier"]{
    background:#ebfaef;
    color:#16a34a;
}

.mz-equipement-tab[data-tab="mobilier"].active{
    background:#16a34a;
    color:#fff;
}

/* =========================================================
ELECTROMENAGER
========================================================= */

.mz-equipement-tab[data-tab="electromenager"]{
    background:#e7fbfb;
    color:#0891b2;
}

.mz-equipement-tab[data-tab="electromenager"].active{
    background:#0891b2;
    color:#fff;
}

/* =========================================================
MULTIMEDIA
========================================================= */

.mz-equipement-tab[data-tab="multimedia"]{
    background:#ffe8f1;
    color:#db2777;
}

.mz-equipement-tab[data-tab="multimedia"].active{
    background:#db2777;
    color:#fff;
}

/* =========================================================
EXTERIEUR
========================================================= */

.mz-equipement-tab[data-tab="exterieur"]{
    background:#e8f8f0;
    color:#059669;
}

.mz-equipement-tab[data-tab="exterieur"].active{
    background:#059669;
    color:#fff;
}

/* =========================================================
PANELS EQUIPEMENTS
========================================================= */

.mz-equipement-panel{
    display:none;

    max-height:650px;

    overflow-y:auto;

    padding-right:5px;
}

.mz-equipement-panel.active{
    display:block;
}

.mz-equipement-panel::-webkit-scrollbar{
    width:8px;
}

.mz-equipement-panel::-webkit-scrollbar-thumb{
    background:#ddd;
    border-radius:20px;
}

/* =========================================================
TOOLS
========================================================= */

.mz-tool{
    display:flex;
    align-items:center;

    gap:12px;

    padding:14px;

    border-radius:18px;

    border:1px solid #eee;

    margin-bottom:12px;

    cursor:grab;

    background:#fff;

    transition:.15s;
}

.mz-tool:hover{
    background:#fff5f6;

    border-color:#d60023;

    transform:translateY(-1px);
}

.mz-tool img{
    width:58px;
    height:58px;

    object-fit:contain;

    flex-shrink:0;

    pointer-events:none;
}

.mz-tool .fw-bold{
    font-size:15px;
    line-height:1.2;
}
.mz-piece-drop.loading{
    pointer-events:none;
    opacity:.75;
    background:#fff0f2;
}

.mz-piece-drop.loading i{
    animation:mzSpin 1s linear infinite;
}

@keyframes mzSpin{
    from{ transform:rotate(0deg); }
    to{ transform:rotate(360deg); }
}

/* ================================================
   08. KANBAN TÂCHES
   ================================================ */

/* -- pages/taches.php -- */
/* MODE CLAIR (défaut) */
:root{
    --bg:#f8f9fa;
    --surface:#ffffff;
    --border:#e0e0e0;
    --border2:#cccccc;
    --text:#1a1a2e;
    --muted:#6c757d;
    --accent:#e63950;
    --font:'Sora',sans-serif;
    --mono:'JetBrains Mono',monospace;
    --radius:12px;
}
/* MODE SOMBRE */
body.mz-dark{
    --bg:#0f1117;
    --surface:#181c27;
    --border:#252a38;
    --border2:#2e3447;
    --text:#e8eaf0;
    --muted:#7a8099;
}
*{box-sizing:border-box;margin:0;padding:0}
.mz-taches-wrap{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;padding-bottom:40px;overflow-x:auto;min-height:100%;}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 0;flex-wrap:wrap;}
.topbar h1{font-size:22px;font-weight:700;letter-spacing:-.3px;display:flex;align-items:center;gap:10px;color:var(--text);}
.topbar h1 span{font-family:var(--mono);font-size:13px;color:var(--muted);font-weight:400;padding:3px 8px;border:1px solid var(--border2);border-radius:6px;}
.filters{display:flex;gap:8px;padding:16px 24px;flex-wrap:wrap;align-items:center;}
.filters input[type=text]{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:8px;font-family:var(--font);font-size:13px;width:220px;outline:none;}
.filters input[type=text]:focus{border-color:var(--accent)}
.filters input[type=text]::placeholder{color:var(--muted)}
.filters select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:8px;font-family:var(--font);font-size:13px;outline:none;cursor:pointer;}
.filters select:focus{border-color:var(--accent)}
.btn-filter{background:var(--surface);border:1px solid var(--border);color:var(--muted);padding:8px 16px;border-radius:8px;font-family:var(--font);font-size:13px;cursor:pointer;text-decoration:none;transition:all .15s;}
.btn-filter:hover{color:var(--text)}
.btn-new{background:var(--accent);border:none;color:#fff;padding:9px 18px;border-radius:8px;font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:opacity .15s;white-space:nowrap;}
.btn-new:hover{opacity:.85}
.stats-row{display:flex;gap:8px;padding:0 24px 16px;flex-wrap:wrap;}
.stat-pill{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:12px;font-family:var(--mono);}
.stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.stat-count{font-weight:600;color:var(--text);}
.stat-label{color:var(--muted);}
.kanban{display:flex;gap:14px;padding:0 24px 32px;min-height:600px;align-items:flex-start;overflow-x:auto;}
.col{flex:0 0 260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 220px);overflow:hidden;}
.col-head{padding:12px 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);flex-shrink:0;}
.col-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.col-label{font-weight:600;font-size:12px;flex:1;letter-spacing:.3px;text-transform:uppercase;color:var(--text);}
.col-count{font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:2px 8px;min-width:24px;text-align:center;}
.col-body{overflow-y:auto;flex:1;padding:10px;}
.quick-add{flex-shrink:0;padding:8px 10px 10px;border-top:1px solid var(--border);}
.quick-input{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font);font-size:12px;padding:7px 10px;border-radius:8px;width:100%;outline:none;}
.quick-input:focus{border-color:var(--accent)}
.quick-input::placeholder{color:var(--muted)}
.quick-add-btn{margin-top:6px;width:100%;background:var(--border);border:none;color:var(--text);padding:6px;border-radius:8px;font-family:var(--font);font-size:12px;cursor:pointer;display:none;}
.quick-add-btn:hover{background:var(--accent);color:#fff}
.tache-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer;transition:border-color .15s,transform .1s;position:relative;}
.tache-card:hover{border-color:var(--border2);transform:translateY(-1px);}
.tache-card.dragging{opacity:.4;}
.card-top{display:flex;align-items:flex-start;gap:8px;margin-bottom:7px;}
.card-title{font-weight:600;font-size:13px;line-height:1.4;flex:1;color:var(--text);}
.card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0;}
.tache-card:hover .card-actions{opacity:1}
.btn-action{background:var(--surface);border:1px solid var(--border);color:var(--muted);width:24px;height:24px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .12s;flex-shrink:0;}
.btn-action:hover{background:var(--border2);color:var(--text)}
.btn-action.del:hover{background:#dc2626;border-color:#dc2626;color:#fff}
.card-desc{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.card-footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;}
.prio-badge{font-size:10px;font-weight:600;padding:3px 7px;border-radius:20px;font-family:var(--mono);}
.type-badge{font-size:10px;font-weight:700;padding:3px 7px;border-radius:6px;font-family:var(--mono);}
.card-id{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);}
.card-move{width:100%;margin-top:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font);font-size:11px;padding:4px 8px;border-radius:6px;outline:none;cursor:pointer;display:none;}
.tache-card:hover .card-move{display:block}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;backdrop-filter:blur(4px);}
.modal-overlay.open{display:flex}
.modal-box{background:var(--surface);border:1px solid var(--border2);border-radius:16px;width:100%;max-width:580px;overflow:hidden;}
.modal-head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.modal-head h2{font-size:16px;font-weight:600;color:var(--text);}
.modal-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:4px;}
.modal-close:hover{color:var(--text)}
.modal-body{padding:20px;display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-group label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.form-group input,.form-group textarea,.form-group select{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:8px;font-family:var(--font);font-size:13px;width:100%;outline:none;resize:vertical;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent)}
.form-group select option{background:var(--surface)}
.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;}
.btn-cancel{background:none;border:1px solid var(--border);color:var(--muted);padding:8px 18px;border-radius:8px;font-family:var(--font);font-size:13px;cursor:pointer;}
.btn-cancel:hover{color:var(--text)}
.btn-save{background:var(--accent);border:none;color:#fff;padding:8px 22px;border-radius:8px;font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;}
.btn-save:hover{opacity:.85}
.toast-stack{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:99999;}
.toast{background:var(--surface);border:1px solid var(--border2);border-radius:10px;padding:10px 16px;font-size:13px;display:flex;align-items:center;gap:8px;min-width:220px;color:var(--text);}
.toast.ok::before{content:'✓';color:#10b981;font-weight:700}
.toast.err::before{content:'✕';color:#ef4444;font-weight:700}
.col-empty{text-align:center;color:var(--muted);font-size:12px;padding:24px 0;font-family:var(--mono);}

/* ================================================
   09. BANDEAU ABONNEMENT
   ================================================ */

/* -- system/bandeau_abonnement.php -- */
.mz-bandeau-abo{
    border-radius:16px;
    margin:0 0 20px 0;
    padding:16px 20px;
    color:#fff;
    display:flex;
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
    animation:mzBandeauIn .3s ease;
}
@keyframes mzBandeauIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.mz-bandeau-icon{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.mz-bandeau-body{flex:1;min-width:0;}
.mz-bandeau-titre{font-weight:700;font-size:15px;margin-bottom:3px;}
.mz-bandeau-texte{font-size:13px;opacity:.9;line-height:1.5;}
.mz-bandeau-actions{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap;}
.mz-masque-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.mz-masque-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:rgba(0,0,0,.15);border-radius:20px;padding:4px 10px;opacity:.9;}
.mz-bandeau-toggle{font-size:12px;opacity:.7;cursor:pointer;text-decoration:underline;border:none;background:none;color:#fff;padding:0;}
.mz-masque-wrap{display:none;}
.mz-masque-wrap.open{display:block;}

/* ================================================
   10. PAGE FACTURES
   ================================================ */

/* -- pages/factures.php -- */
.fct-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px rgba(0,0,0,.06);margin-bottom:24px;}
.fct-title{font-size:22px;font-weight:800;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.fct-badge-actif{background:#eaf3de;color:#27ae60;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.fct-badge-resilie{background:#fcebeb;color:#a32d2d;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.fct-badge-inactif{background:#f5f5f5;color:#aaa;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.fct-bien-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;border:1px solid #f0f0f0;border-radius:14px;margin-bottom:10px;}
.fct-bien-nom{font-weight:700;font-size:14px;}
.fct-bien-url{font-family:monospace;font-size:12px;color:#1565c0;margin-top:2px;}
.fct-bien-dates{font-size:11px;color:#aaa;margin-top:2px;}
.fct-table{width:100%;border-collapse:collapse;}
.fct-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#aaa;padding:8px 12px;border-bottom:1px solid #f0f0f0;text-align:left;}
.fct-table td{padding:12px;border-bottom:1px solid #f8f8f8;font-size:13px;}
.fct-table tr:last-child td{border-bottom:none;}
.fct-table tr:hover td{background:#fafafa;}
.fct-dl{color:#1565c0;font-size:12px;text-decoration:none;}
.fct-dl:hover{text-decoration:underline;}
.fct-empty{text-align:center;padding:40px;color:#bbb;font-size:14px;}
.fct-desabo-card{background:#fff8f8;border:1px solid rgba(214,0,35,.15);border-radius:16px;padding:20px;margin-top:12px;}
.fct-desabo-title{font-size:14px;font-weight:700;color:#a32d2d;margin-bottom:12px;}
.fct-radio-opt{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;cursor:pointer;}
.fct-radio-opt input{margin-top:3px;accent-color:#d60023;}
.fct-radio-label{font-size:13px;line-height:1.5;}
.fct-radio-label strong{display:block;font-weight:600;}
.fct-radio-label span{color:#888;font-size:12px;}

/* ================================================
   11. PAGE ABONNEMENT
   ================================================ */

/* -- pages/abonnement_mapizy.php -- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=DM+Sans:wght@300;400;500;600&display=swap');
:root{--rouge:#d60023;--noir:#d60023;--gris:#f7f7f5;--or:#c9a84c;}
.mab-page{font-family:'DM Sans',sans-serif;background:#f7f7f5;min-height:100vh;}
.mab-hero{background:linear-gradient(135deg,#d60023,#930019);border-radius:32px;padding:60px;margin-bottom:36px;position:relative;overflow:hidden;}
.mab-hero-dot{position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(214,0,35,.2) 0%,transparent 70%);}
.mab-eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--or);border:1px solid rgba(201,168,76,.3);border-radius:30px;padding:5px 14px;margin-bottom:22px;}
.mab-title{font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,58px);font-weight:900;color:#fff;line-height:1.08;margin-bottom:18px;}
.mab-title span{color:rgba(255,255,255,.85);font-style:italic;}
.mab-sub{font-size:16px;color:rgba(255,255,255,.6);line-height:1.7;max-width:560px;margin-bottom:36px;}
.mab-card{background:#fff;border-radius:22px;padding:26px;box-shadow:0 4px 20px rgba(0,0,0,.06);height:100%;}
.mab-feature-icon{width:48px;height:48px;border-radius:14px;background:var(--gris);color:var(--rouge);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px;}
.mab-feature-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;margin-bottom:6px;color:#1a1a1a;}
.mab-feature-text{font-size:13px;color:#555;line-height:1.6;}
.mab-pricing-wrap{background:linear-gradient(135deg,#d60023,#930019);border-radius:28px;padding:52px;text-align:center;margin:36px 0;position:relative;overflow:hidden;}
.mab-price{font-family:'Playfair Display',serif;font-size:88px;font-weight:900;color:#fff;line-height:1;display:flex;align-items:flex-start;justify-content:center;gap:4px;}
.mab-price-num{font-size:88px;}
.mab-price-sym{font-size:32px;margin-top:14px;color:rgba(255,255,255,.5);}
.mab-price-per{font-size:18px;color:rgba(255,255,255,.35);font-family:'DM Sans',sans-serif;align-self:flex-end;margin-bottom:8px;}
.mab-feats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0;}
.mab-feat{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.75);font-size:13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:7px 14px;}
.mab-feat i{color:var(--or);}
.mab-btn{display:inline-flex;align-items:center;gap:10px;background:var(--rouge);color:#fff;font-weight:600;font-size:17px;padding:17px 42px;border-radius:50px;border:none;cursor:pointer;transition:all .2s;box-shadow:0 8px 28px rgba(214,0,35,.38);}
.mab-btn:hover{background:#930019;transform:translateY(-2px);color:#fff;}
.mab-actif-card{background:linear-gradient(135deg,#eaf3de,#f0f7e6);border-radius:22px;padding:40px;text-align:center;border:1px solid #c5e09d;margin-bottom:36px;}
.mab-compare-table{width:100%;border-collapse:collapse;}
.mab-compare-table th{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#aaa;padding:10px 16px;border-bottom:2px solid #f0f0f0;text-align:left;}
.mab-compare-table td{padding:14px 16px;border-bottom:1px solid #f8f8f8;font-size:14px;vertical-align:middle;}
.mab-compare-table tr:last-child td{border-bottom:none;}
.mab-check{color:#27ae60;font-size:16px;}
.mab-cross{color:#e0e0e0;font-size:16px;}
.mab-highlight{background:#fff8f8;}
.mab-tag-gratuit{background:#f5f5f5;color:#aaa;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.mab-tag-abo{background:#fff0f2;color:#d60023;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}

/* ================================================
   12. PAGE SITE WEB
   ================================================ */

/* -- pages/site_web.php -- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=DM+Sans:wght@300;400;500;600&display=swap');
:root{--rouge:#d60023;--rouge-dark:#930019;--noir:#d60023;--gris:#f7f7f5;--gris2:#eeede9;--texte:#888888;--or:#c9a84c;}
.sw-page{font-family:'DM Sans',sans-serif;color:var(--texte);}
.sw-hero{background:linear-gradient(135deg,#d60023,#930019);border-radius:32px;padding:70px 60px;margin-bottom:40px;position:relative;overflow:hidden;}
.sw-hero-noise{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");opacity:.4;pointer-events:none;}
.sw-hero-dot{position:absolute;right:-100px;top:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(214,0,35,.25) 0%,transparent 70%);}
.sw-hero-dot2{position:absolute;left:-60px;bottom:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.15) 0%,transparent 70%);}
.sw-eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--or);border:1px solid rgba(201,168,76,.3);border-radius:30px;padding:6px 16px;margin-bottom:28px;}
.sw-hero-title{font-family:'Playfair Display',serif;font-size:clamp(34px,4.5vw,66px);font-weight:900;line-height:1.06;color:#fff;margin-bottom:24px;}
.sw-hero-title span{color:var(--rouge);font-style:italic;}
.sw-hero-sub{font-size:17px;font-weight:300;color:rgba(255,255,255,.65);line-height:1.75;max-width:580px;margin-bottom:40px;}
.sw-hero-sub strong{color:rgba(255,255,255,.9);}
.sw-hero-url{display:inline-block;font-family:monospace;font-size:15px;font-weight:700;color:var(--or);background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.25);border-radius:8px;padding:4px 12px;margin-top:2px;}
.sw-hero-cta{display:inline-flex;align-items:center;gap:12px;background:var(--rouge);color:#fff;font-weight:600;font-size:16px;padding:16px 32px;border-radius:50px;border:none;cursor:pointer;transition:all .2s;text-decoration:none;box-shadow:0 8px 30px rgba(214,0,35,.35);}
.sw-hero-cta:hover{background:var(--rouge-dark);transform:translateY(-2px);box-shadow:0 14px 40px rgba(214,0,35,.45);color:#fff;}
.sw-hero-note{margin-top:16px;font-size:13px;color:rgba(255,255,255,.35);}
.sw-mockup-bar{display:flex;gap:6px;align-items:center;margin-bottom:14px;}
.sw-mockup-dot{width:10px;height:10px;border-radius:50%;}
.sw-mockup-url{flex:1;background:rgba(255,255,255,.08);border-radius:6px;padding:5px 12px;font-size:11px;color:rgba(255,255,255,.5);font-family:monospace;}
.sw-mockup-screen{background:linear-gradient(135deg,#d60023,#930019);border-radius:12px;padding:20px;min-height:150px;position:relative;overflow:hidden;}
.sw-mockup-ph{height:10px;border-radius:6px;background:rgba(255,255,255,.12);margin-bottom:8px;}
.sw-mockup-ph.large{height:26px;width:60%;background:rgba(255,255,255,.18);}
.sw-mockup-ph.small{width:40%;}
.sw-mockup-img{height:65px;border-radius:8px;margin-top:12px;background:linear-gradient(90deg,rgba(214,0,35,.3),rgba(201,168,76,.2));}
.sw-section-title{font-family:'Playfair Display',serif;font-size:clamp(26px,3vw,42px);font-weight:700;line-height:1.15;margin-bottom:8px;}
.sw-section-sub{font-size:15px;color:#888;margin-bottom:44px;max-width:540px;}
.sw-feature-card{background:#fff;border-radius:22px;padding:26px;height:100%;border:1px solid var(--gris2);transition:.2s;}
.sw-feature-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.08);border-color:rgba(214,0,35,.15);}
.sw-feature-icon{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;background:var(--gris);color:var(--rouge);}
.sw-feature-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;margin-bottom:7px;}
.sw-feature-text{font-size:13px;color:#666;line-height:1.65;}
.sw-domaine-strip{background:var(--gris);border-radius:24px;padding:36px;margin:40px 0;text-align:center;}
.sw-domaine-pill{display:inline-flex;align-items:center;background:#fff;border:2px solid var(--rouge);border-radius:40px;padding:11px 26px;font-family:monospace;font-size:17px;color:var(--rouge);font-weight:700;margin:7px;box-shadow:0 4px 20px rgba(214,0,35,.1);}
.sw-domaine-pill .gray{color:#bbb;}
/* BIENS SELECTION */
.sw-bien-card{background:#fff;border:2px solid var(--gris2);border-radius:20px;padding:22px;cursor:pointer;transition:.2s;position:relative;}
.sw-bien-card:hover{border-color:var(--rouge);box-shadow:0 8px 30px rgba(214,0,35,.1);}
.sw-bien-card.selected{border-color:var(--rouge);background:#fff8f8;}
.sw-bien-check{position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;background:var(--rouge);color:#fff;display:none;align-items:center;justify-content:center;font-size:12px;}
.sw-bien-card.selected .sw-bien-check{display:flex;}
.sw-bien-actif{background:#fff;border:2px solid #27ae60;border-radius:20px;padding:22px;position:relative;}
.sw-bien-actif-badge{position:absolute;top:14px;right:14px;background:#27ae60;color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:12px;}
.sw-bien-nom{font-weight:700;font-size:16px;margin-bottom:3px;}
.sw-bien-adresse{font-size:12px;color:#aaa;margin-bottom:6px;}
.sw-bien-slug{font-size:11px;font-family:monospace;color:var(--rouge);margin-top:6px;}
.sw-bien-meta{font-size:12px;color:#999;}
/* PRICING */
.sw-pricing{background:linear-gradient(135deg,#d60023,#930019);border-radius:32px;padding:56px;text-align:center;margin:40px 0;position:relative;overflow:hidden;}
.sw-pricing-noise{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");opacity:.4;pointer-events:none;}
.sw-pricing-label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-bottom:14px;}
.sw-price{font-family:'Playfair Display',serif;font-size:90px;font-weight:900;color:#fff;line-height:1;display:flex;align-items:flex-start;justify-content:center;gap:6px;}
.sw-price-num{font-size:90px;}
.sw-price-sym{font-size:34px;margin-top:16px;color:rgba(255,255,255,.5);}
.sw-price-per{font-size:20px;color:rgba(255,255,255,.35);font-family:'DM Sans',sans-serif;font-weight:300;align-self:flex-end;margin-bottom:10px;}
.sw-pricing-features{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0;}
.sw-pricing-feat{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.75);font-size:13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:7px 15px;}
.sw-pricing-feat i{color:var(--or);}
.sw-pricing-cta{display:inline-flex;align-items:center;gap:12px;background:var(--rouge);color:#fff;font-weight:600;font-size:18px;padding:18px 44px;border-radius:50px;border:none;cursor:pointer;transition:all .2s;box-shadow:0 8px 30px rgba(214,0,35,.4);}
.sw-pricing-cta:hover{background:var(--rouge-dark);transform:translateY(-2px);color:#fff;}
.sw-pricing-note{margin-top:18px;font-size:12px;color:rgba(255,255,255,.3);}
.sw-garantie{background:linear-gradient(135deg,#eaf3de,#f0f7e6);border-radius:24px;padding:38px;margin:40px 0;text-align:center;border:1px solid #c5e09d;}
.sw-faq-item{border-bottom:1px solid var(--gris2);padding:18px 0;}
.sw-faq-q{font-weight:600;font-size:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none;}
.sw-faq-q:hover{color:var(--rouge);}
.sw-faq-a{font-size:13px;color:#666;line-height:1.7;margin-top:10px;display:none;}
.sw-faq-item.open .sw-faq-a{display:block;}
.sw-faq-item.open .sw-faq-chevron{transform:rotate(180deg);}
.sw-faq-chevron{transition:.2s;}
.sw-preview-box{background:rgba(214,0,35,.05);border:1px dashed rgba(214,0,35,.3);border-radius:16px;padding:16px 22px;margin-top:18px;display:none;}
.sw-preview-box.visible{display:block;}
.sw-preview-url{font-family:monospace;font-size:17px;font-weight:700;color:var(--rouge);}

/* ================================================
   13. PAGE STRIPE SUCCESS
   ================================================ */

/* -- pages/stripe_success.php -- */
.ss-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;}
.ss-card{background:#fff;border-radius:28px;padding:60px 48px;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.08);max-width:520px;width:100%;}
.ss-icon{width:90px;height:90px;border-radius:50%;background:#eaf3de;color:#27ae60;display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 28px;}
.ss-title{font-size:30px;font-weight:800;margin-bottom:12px;}
.ss-sub{color:#888;font-size:15px;line-height:1.7;margin-bottom:30px;}
.ss-url{font-family:monospace;font-size:16px;font-weight:700;color:#d60023;background:#fff0f2;border:1px solid rgba(214,0,35,.2);border-radius:8px;padding:8px 16px;display:inline-block;margin-bottom:24px;}
.ss-btn{display:inline-flex;align-items:center;gap:10px;background:#d60023;color:#fff;font-weight:600;font-size:15px;padding:14px 32px;border-radius:50px;text-decoration:none;transition:.2s;}
.ss-btn:hover{background:#930019;color:#fff;}
.ss-btn-sec{display:inline-flex;align-items:center;gap:8px;color:#666;font-size:14px;text-decoration:none;margin-top:14px;padding:10px 20px;border-radius:50px;border:1px solid #eee;}
.ss-btn-sec:hover{background:#f5f5f5;color:#333;}

/* ================================================
   14. PAGES MISC
   ================================================ */

/* -- pages/fiches.php -- */
.fiche-card{background:#fff;border:0;border-radius:22px;box-shadow:0 10px 26px rgba(0,0,0,.08);overflow:hidden;height:100%}.fiche-img{width:100%;height:190px;object-fit:cover;background:#f1f1f1}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:rgba(180,0,32,.08);color:var(--mz-red);font-size:.86rem;font-weight:600}

/* ================================================
   16. DARK MODE OVERRIDES
   Appliqué via body.mz-dark (toggle menu)
   ================================================ */

body.mz-dark { background-color:#0f1117 !important; color:#e8eaf0 !important; }
body.mz-dark .mz-sidebar,
body.mz-dark nav,
body.mz-dark .card,
body.mz-dark .mz-panel,
body.mz-dark .mz-card-lieu,
body.mz-dark .mz-card-content,
body.mz-dark .modal-content,
body.mz-dark .dropdown-menu { background-color:#181c27 !important; border-color:#252a38 !important; color:#e8eaf0 !important; }
body.mz-dark .form-control,
body.mz-dark .form-select,
body.mz-dark .input-group-text { background-color:#0f1117 !important; border-color:#252a38 !important; color:#e8eaf0 !important; }
body.mz-dark .form-control::placeholder { color:#7a8099 !important; }
body.mz-dark .table { color:#e8eaf0 !important; }
body.mz-dark .table td, body.mz-dark .table th { border-color:#252a38 !important; }
body.mz-dark .text-muted { color:#7a8099 !important; }
body.mz-dark .alert-light, body.mz-dark .alert-secondary { background-color:#181c27 !important; border-color:#252a38 !important; color:#e8eaf0 !important; }
body.mz-dark .bg-white, body.mz-dark .bg-light { background-color:#181c27 !important; }
body.mz-dark .mz-card-photo { background:#0f1117 !important; }
body.mz-dark .mz-card-ville, body.mz-dark .mz-mini-label { color:#7a8099 !important; }
body.mz-dark .mz-title-page, body.mz-dark .mz-subtitle-page { color:#e8eaf0 !important; }
body.mz-dark a { color:#7eb3f5; }
body.mz-dark a:hover { color:#afd0ff; }
body.mz-dark .mz-hero { box-shadow:0 15px 40px rgba(0,0,0,.4) !important; }
/* Tâches dark mode : variables CSS auto via :root override sur body.mz-dark */
body.mz-dark {
    --bg:#0f1117; --surface:#181c27; --border:#252a38;
    --border2:#2e3447; --text:#e8eaf0; --muted:#7a8099;
}
/* Transition douce */
body, body * { transition: background-color .2s, color .2s, border-color .2s; }

/* Dark mode abonnement_mapizy */
body.mz-dark .mab-page{background:#0f1117;}
body.mz-dark .mab-card{background:#181c27;border-color:#252a38;}
body.mz-dark .mab-feature-title{color:#e8eaf0;}
body.mz-dark .mab-feature-text{color:#7a8099;}
body.mz-dark .mab-compare-table th{color:#7a8099;border-color:#252a38;}
body.mz-dark .mab-compare-table td{border-color:#252a38;color:#e8eaf0;}
body.mz-dark .mab-compare-table tr:last-child td{border-color:transparent;}
body.mz-dark .mab-highlight{background:#181c27;}
/* Dark mode site_web */
body.mz-dark .sw-feature-card{background:#181c27;border-color:#252a38;}
body.mz-dark .sw-feature-title{color:#e8eaf0;}
body.mz-dark .sw-feature-text{color:#7a8099;}

/* Dark mode heroes — rouge sombre */
body.mz-dark .mab-hero,
body.mz-dark .mab-pricing-wrap,
body.mz-dark .sw-hero,
body.mz-dark .sw-pricing,
body.mz-dark .mz-hero{
    background:linear-gradient(135deg,#5c000f,#3a000a) !important;
    box-shadow:0 15px 40px rgba(0,0,0,.5) !important;
}


/* ================================================
   DARK MODE — BLOC MOTIVATION ABONNEMENT (accueil)
   ================================================ */
body.mz-dark .row [style*="fff8f0"],
body.mz-dark [style*="background:linear-gradient(135deg,#fff8f0"],
body.mz-dark [style*="background: linear-gradient(135deg, #fff8f0"]{
    background:linear-gradient(135deg,#1e0a0f,#1a0d14) !important;
    border-color:rgba(214,0,35,.25) !important;
}
body.mz-dark [style*="color:#666"]{color:#9aa0b4 !important;}
body.mz-dark [style*="color:#aaa"]{color:#6b7099 !important;}

/* ================================================
   DARK MODE — LIENS (remplacer le bleu Bootstrap)
   ================================================ */
body.mz-dark a:not(.btn):not(.nav-link):not(.mz-menu-bien-link):not(.mz-menu-lieu):not(.mz-site-card-btn):not(.mz-link-btn){
    color:#f07080;
}
body.mz-dark a:not(.btn):not(.nav-link):not(.mz-menu-bien-link):not(.mz-menu-lieu):not(.mz-site-card-btn):not(.mz-link-btn):hover{
    color:#ff9090;
}
body.mz-dark .text-danger { color:#f07080 !important; }
body.mz-dark .text-muted  { color:#6b7099 !important; }

/* Boutons outline en dark */
body.mz-dark .btn-outline-secondary{
    border-color:#444;
    color:#aaa;
}
body.mz-dark .btn-outline-secondary:hover{
    background:#333;
    color:#fff;
}
body.mz-dark .btn-light{
    background:#252a38;
    border-color:#252a38;
    color:#e8eaf0;
}
body.mz-dark .btn-light:hover{
    background:#2e3447;
    color:#fff;
}

/* Badges dark */
body.mz-dark .badge.bg-warning  { background:#7a5a00 !important; color:#ffd87a !important; }
body.mz-dark .badge.bg-light    { background:#252a38 !important; color:#9aa0b4 !important; }
body.mz-dark .badge.bg-success  { background:#0d4a1e !important; color:#6fcf97 !important; }
body.mz-dark .badge.bg-danger   { background:#5c000f !important; color:#f07080 !important; }
body.mz-dark .mz-badge          { background:#252a38 !important; color:#f07080 !important; }

/* Dropdowns dark */
body.mz-dark .dropdown-menu    { background:#181c27; border-color:#252a38; }
body.mz-dark .dropdown-item    { color:#e8eaf0; }
body.mz-dark .dropdown-item:hover{ background:#252a38; }
body.mz-dark .dropdown-divider { border-color:#252a38; }


/* ================================================
   DARK MODE — BLOC MOTIVATION ABONNEMENT
   Le bloc a des styles inline donc on cible via
   les classes enfants et override agressif
   ================================================ */
body.mz-dark .mz-dashboard .row > .col-12 > div{
    background:linear-gradient(135deg,#1e0a0f,#1a0d14) !important;
    border-color:rgba(214,0,35,.2) !important;
}
body.mz-dark .mz-dashboard [style*="color:#666"],
body.mz-dark .mz-dashboard [style*="color: #666"]{ color:#7a8099 !important; }
body.mz-dark .mz-dashboard [style*="color:#aaa"],
body.mz-dark .mz-dashboard [style*="color: #aaa"]{ color:#555d7a !important; }
body.mz-dark .mz-dashboard [style*="font-size:18px"]{color:#e8eaf0 !important;}

/* ================================================
   DARK MODE — LIENS : plus de bleu Bootstrap
   ================================================ */
body.mz-dark a{
    color:#ffffff !important;
}
body.mz-dark a:hover{
    color:#ffffff !important;
}
/* Exceptions — boutons et éléments de navigation */
body.mz-dark a.btn,
body.mz-dark a.btn:hover,
body.mz-dark a.nav-link,
body.mz-dark a.mz-menu-bien-link,
body.mz-dark a.mz-menu-lieu,
body.mz-dark a.mz-site-card-btn,
body.mz-dark a.mz-link-btn,
body.mz-dark a.mz-breadcrumb,
body.mz-dark a.mz-breadcrumb a,
body.mz-dark .mz-breadcrumb a,
body.mz-dark .dropdown-item{
    color:inherit !important;
}
body.mz-dark .btn-danger,
body.mz-dark .btn-danger:hover { color:#fff !important; }
body.mz-dark .btn-outline-danger{ color:#f07080 !important; border-color:#f07080 !important; }
body.mz-dark .btn-outline-danger:hover{ background:#5c000f !important; color:#fff !important; }

/* ================================================
   DARK MODE — BOUTONS
   ================================================ */
body.mz-dark .btn-outline-secondary{
    border-color:#3a4060;
    color:#9aa0b4;
}
body.mz-dark .btn-outline-secondary:hover{
    background:#252a38;
    color:#e8eaf0;
    border-color:#555d7a;
}
body.mz-dark .btn-light{
    background:#252a38;
    border-color:#2e3447;
    color:#e8eaf0;
}
body.mz-dark .btn-light:hover{
    background:#2e3447;
    color:#fff;
}
body.mz-dark .btn-outline-light{
    border-color:rgba(255,255,255,.3);
    color:rgba(255,255,255,.8);
}
body.mz-dark .btn-outline-light:hover{
    background:rgba(255,255,255,.1);
    color:#fff;
}

/* ================================================
   DARK MODE — BADGES
   ================================================ */
body.mz-dark .badge.bg-warning  { background:#7a5a00 !important; color:#ffd87a !important; }
body.mz-dark .badge.bg-light    { background:#252a38 !important; color:#9aa0b4 !important; }
body.mz-dark .badge.bg-success  { background:#0d4a1e !important; color:#6fcf97 !important; }
body.mz-dark .badge.bg-danger   { background:#5c000f !important; color:#f07080 !important; }
body.mz-dark .mz-badge          { background:#252a38 !important; color:#f07080 !important; }

/* ================================================
   DARK MODE — DROPDOWNS
   ================================================ */
body.mz-dark .dropdown-menu    { background:#181c27 !important; border-color:#252a38 !important; }
body.mz-dark .dropdown-item    { color:#e8eaf0 !important; }
body.mz-dark .dropdown-item:hover{ background:#252a38 !important; color:#fff !important; }
body.mz-dark .dropdown-divider { border-color:#252a38 !important; }

/* ================================================
   DARK MODE — DIVERS
   ================================================ */
body.mz-dark .text-danger   { color:#f07080 !important; }
body.mz-dark .text-muted    { color:#6b7099 !important; }
body.mz-dark .text-success  { color:#6fcf97 !important; }
body.mz-dark .border        { border-color:#252a38 !important; }
body.mz-dark hr             { border-color:#252a38 !important; }


/* ================================================
   DARK MODE — STATS CARDS
   ================================================ */
body.mz-dark .mz-stat-card{
    background:#181c27 !important;
    box-shadow:0 4px 20px rgba(0,0,0,.3) !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-stat-icon{
    background:#2a0a10 !important;
    color:#f07080 !important;
}
body.mz-dark .mz-stat-label{ color:#7a8099 !important; }
body.mz-dark .mz-stat-number{ color:#e8eaf0 !important; }

/* Stats : mz-card (structure de biens) */
body.mz-dark .mz-card{
    background:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-card-title{ color:#e8eaf0 !important; }

/* Stats : progress bars fond */
body.mz-dark .mz-pb{
    background:#252a38 !important;
}

/* Stats : listes items */
body.mz-dark [style*="border-bottom:.5px solid #f5f5f5"],
body.mz-dark [style*="border-bottom: .5px solid #f5f5f5"]{
    border-bottom-color:#252a38 !important;
}
body.mz-dark [style*="border-bottom:1px solid #eee"],
body.mz-dark [style*="border-bottom: 1px solid #eee"]{
    border-bottom-color:#252a38 !important;
}

/* Stats : icônes fond carré */
body.mz-dark [style*="background:#f0f0f0"],
body.mz-dark [style*="background: #f0f0f0"]{
    background:#252a38 !important;
}
body.mz-dark [style*="background:#f5f5f5"],
body.mz-dark [style*="background: #f5f5f5"]{
    background:#252a38 !important;
    color:#9aa0b4 !important;
}
body.mz-dark [style*="background:#fafafa"],
body.mz-dark [style*="background: #fafafa"]{
    background:#181c27 !important;
    color:#7a8099 !important;
}

/* Stats : schéma structure */
body.mz-dark .mz-schema-lieu{
    background:#181c27 !important;
    border-color:#252a38 !important;
}
body.mz-dark .mz-schema-bien{
    background:#0f1117 !important;
    border-color:#252a38 !important;
}
body.mz-dark .mz-schema-piece{
    background:#252a38 !important;
    color:#e8eaf0 !important;
}

/* ================================================
   DARK MODE — BANDEAU ABONNEMENT (bleu → sombre)
   ================================================ */
body.mz-dark .mz-bandeau,
body.mz-dark [class*="bandeau"]{

	background: linear-gradient(90deg,#7b1d00,#f00) !important;
    border-color:rgba(100,120,255,.2) !important;
}
/* Cibler le bandeau par son style inline gradient bleu */
body.mz-dark [style*="linear-gradient(90deg,#1565c0"],
body.mz-dark [style*="linear-gradient(90deg, #1565c0"],
body.mz-dark [style*="linear-gradient(90deg,#b71c1c"],
body.mz-dark [style*="linear-gradient(90deg,#e65100"],
body.mz-dark [style*="linear-gradient(90deg,#2e7d32"]{
    filter:brightness(0.65) saturate(0.8) !important;
}
/* Bouton dans le bandeau */
body.mz-dark .mz-bandeau-btn,
body.mz-dark [style*="linear-gradient(90deg,#1565c0"] .btn,
body.mz-dark [style*="linear-gradient(90deg,#1565c0"] a.btn{
background: rgba(255, 0, 0, 0.45) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.3) !important;
}

/* ================================================
   DARK MODE — MENU bloc "Votre site internet dédié"
   Le bouton blanc avec texte rouge devient invisible
   ================================================ */
body.mz-dark .mz-site-card{
    background:linear-gradient(135deg,#5c000f,#3a000a) !important;
}
body.mz-dark .mz-site-card-btn{
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.25) !important;
}
body.mz-dark .mz-site-card-btn:hover{
    background:rgba(255,255,255,.22) !important;
    color:#fff !important;
}
body.mz-dark .mz-site-card-title{ color:#fff !important; }
body.mz-dark .mz-site-card-text{ color:rgba(255,255,255,.8) !important; }
body.mz-dark .mz-site-card-icon{ background:rgba(255,255,255,.1) !important; }

/* ================================================
   DARK MODE — LIEU : "Aucun bien configuré" empty state
   ================================================ */
body.mz-dark .mz-empty{
    background:#181c27 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-empty h2{ color:#e8eaf0 !important; }
body.mz-dark .mz-empty .text-muted{ color:#7a8099 !important; }

/* ================================================
   DARK MODE — BIEN/PIECE : panels et sections
   ================================================ */
body.mz-dark .mz-panel{
    background:#181c27 !important;
    border:1px solid #252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-piece-card{
    background:#181c27 !important;
    box-shadow:0 10px 25px rgba(0,0,0,.3) !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-piece-title{ color:#e8eaf0 !important; }
body.mz-dark .mz-piece-type{ color:#7a8099 !important; }
body.mz-dark .mz-add-piece{
    background:#181c27 !important;
    border-color:#3a000a !important;
}
body.mz-dark .mz-add-piece:hover{ background:#1e0a0f !important; }
body.mz-dark .mz-capacite{ color:#f07080 !important; }
body.mz-dark .mz-sidebar-title{ color:#555d7a !important; }

/* Bien : zone non réservable */
body.mz-dark [style*="background:#f5f5f5"][style*="border-radius:50%"]{
    background:#252a38 !important;
    color:#7a8099 !important;
}

/* ================================================
   DARK MODE — FACTURES
   ================================================ */
body.mz-dark .mz-facture-card,
body.mz-dark .mz-invoice-card{
    background:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .table-responsive,
body.mz-dark .table{
    background:#181c27 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .table-striped > tbody > tr:nth-of-type(odd) > *{
    background:#0f1117 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .table > :not(caption) > * > *{
    background:#181c27 !important;
    color:#e8eaf0 !important;
    border-color:#252a38 !important;
}

/* ================================================
   DARK MODE — PIÈCE
   ================================================ */
body.mz-dark .mz-equip-badge{
    background:#2a0a10 !important;
    color:#f07080 !important;
}
body.mz-dark .mz-piece-cover{
    background:#0f1117 !important;
}
body.mz-dark .mz-equipement-item{
    background:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-equipement-item:hover{
    background:#252a38 !important;
    border-color:#f07080 !important;
}
body.mz-dark .mz-equipement-icon{
    background:#2a0a10 !important;
    color:#f07080 !important;
}

/* ================================================
   DARK MODE — GENERAL : tout ce qui reste blanc
   ================================================ */
body.mz-dark .alert-info{
    background:#0d1a40 !important;
    border-color:#1a2a60 !important;
    color:#93b4f0 !important;
}
body.mz-dark .alert-success{
    background:#0d2a1a !important;
    border-color:#1a4a2a !important;
    color:#6fcf97 !important;
}
body.mz-dark .alert-warning{
    background:#2a1a00 !important;
    border-color:#4a3000 !important;
    color:#ffd87a !important;
}
body.mz-dark .alert-danger{
    background:#2a0a0a !important;
    border-color:#5c000f !important;
    color:#f07080 !important;
}
/* Input group */
body.mz-dark .input-group-text{
    background:#252a38 !important;
    border-color:#3a4060 !important;
    color:#9aa0b4 !important;
}
/* Tabs */
body.mz-dark .nav-tabs{ border-color:#252a38 !important; }
body.mz-dark .nav-tabs .nav-link{ color:#9aa0b4 !important; }
body.mz-dark .nav-tabs .nav-link.active{
    background:#181c27 !important;
    border-color:#252a38 #252a38 #181c27 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .tab-content{ background:#181c27 !important; }
/* Modal */
body.mz-dark .modal-header{ border-color:#252a38 !important; }
body.mz-dark .modal-footer{ border-color:#252a38 !important; }
body.mz-dark .modal-body{ background:#181c27 !important; }
body.mz-dark .modal-title{ color:#e8eaf0 !important; }
body.mz-dark .btn-close{ filter:invert(1) !important; }
/* Pagination */
body.mz-dark .page-link{
    background:#181c27 !important;
    border-color:#252a38 !important;
    color:#9aa0b4 !important;
}
body.mz-dark .page-item.active .page-link{
    background:#d60023 !important;
    border-color:#d60023 !important;
    color:#fff !important;
}
/* Form checks */
body.mz-dark .form-check-label{ color:#e8eaf0 !important; }
body.mz-dark .form-check-input:not(:checked){
    background:#252a38 !important;
    border-color:#3a4060 !important;
}
/* Switch toggle */
body.mz-dark .form-switch .form-check-input:not(:checked){
    background-color:#252a38 !important;
}

/* ================================================
   DARK MODE — FACTURES
   ================================================ */
body.mz-dark .fct-card{
    background:#181c27 !important;
    box-shadow:0 4px 20px rgba(0,0,0,.3) !important;
    color:#e8eaf0 !important;
}
body.mz-dark .fct-title{ color:#e8eaf0 !important; }
body.mz-dark .fct-bien-nom{ color:#e8eaf0 !important; }
body.mz-dark .fct-bien-dates{ color:#7a8099 !important; }
body.mz-dark .fct-bien-url{ color:#7eb3f5 !important; }
body.mz-dark .fct-bien-row{
    border-bottom-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .fct-empty{ color:#555d7a !important; }
body.mz-dark .fct-dl{ color:#7a8099 !important; }
body.mz-dark .fct-badge-actif{
    background:#0d2a1a !important;
    color:#6fcf97 !important;
}
body.mz-dark .fct-badge-inactif,
body.mz-dark .fct-badge-resilie{
    background:#2a0a0a !important;
    color:#f07080 !important;
}
body.mz-dark .fct-table{
    color:#e8eaf0 !important;
    border-color:#252a38 !important;
}
body.mz-dark .fct-table th,
body.mz-dark .fct-table td{
    border-color:#252a38 !important;
    background:#181c27 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .fct-radio-opt{
    background:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
}
body.mz-dark .fct-radio-opt:hover{
    border-color:#f07080 !important;
    background:#1e0a0f !important;
}
body.mz-dark .fct-radio-label{ color:#9aa0b4 !important; }
body.mz-dark .fct-desabo-card{
    background:#1e0a0f !important;
    border-color:#5c000f !important;
    color:#e8eaf0 !important;
}
/* labels inline factures */
body.mz-dark [style*="color:#888"]:not(.btn){ color:#555d7a !important; }
body.mz-dark [style*="color:#999"]:not(.btn){ color:#555d7a !important; }

/* ================================================
   DARK MODE — STATS : mz-conseil + schéma
   ================================================ */
body.mz-dark .mz-conseil{
    background:#181c27 !important;
    box-shadow:0 4px 16px rgba(0,0,0,.3) !important;
    color:#e8eaf0 !important;
}
body.mz-dark .mz-conseil-icon{
    background:#2a0a10 !important;
    color:#f07080 !important;
}
/* schéma structure biens */
body.mz-dark .mz-schema-lieux{ color:#e8eaf0 !important; }
body.mz-dark .mz-schema-lieu{
    background:#181c27 !important;
    border-color:#252a38 !important;
}
body.mz-dark .mz-schema-bien{
    background:#0f1117 !important;
    border-color:#252a38 !important;
}
body.mz-dark .mz-schema-bien-nom{ color:#e8eaf0 !important; }
body.mz-dark .mz-schema-bien-adresse{ color:#7a8099 !important; }
body.mz-dark .mz-schema-bien-header{ border-color:#252a38 !important; }
body.mz-dark .mz-schema-piece{
    background:#252a38 !important;
    color:#c0c4d4 !important;
    border-color:#3a4060 !important;
}
body.mz-dark .mz-schema-pieces{ color:#7a8099 !important; }
body.mz-dark .mz-schema-mailbox{
    background:#252a38 !important;
    border-color:#3a4060 !important;
    color:#9aa0b4 !important;
}
/* mz-card dans stats */
body.mz-dark .mz-card-title{ color:#e8eaf0 !important; }

/* ================================================
   DARK MODE — PIÈCE
   Images 3 & 4 : outils blancs, zone drop, équipements
   ================================================ */

/* Zone de plan (grille) — fond gris clair → sombre */
body.mz-dark .mz-room{
    background:#0f1117 !important;
    background-image:
        linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px) !important;
}

/* Outils drag (Lit simple, WC...) — fond blanc → sombre */
body.mz-dark .mz-tool{
    background:#181c27 !important;
    border-color:#252a38 !important;
    color:#e8eaf0 !important;
    box-shadow:0 2px 8px rgba(0,0,0,.3) !important;
}
body.mz-dark .mz-tool:hover{
    background:#252a38 !important;
    border-color:#3a4060 !important;
}

/* Zone drop (équipements posés sur le plan) */
body.mz-dark .mz-piece-drop{
    background:#181c27 !important;
    border-color:#252a38 !important;
}

/* Équipement posé sur le plan */
body.mz-dark .mz-equipement{
    background:#252a38 !important;
    border-color:#3a4060 !important;
    color:#e8eaf0 !important;
    box-shadow:0 2px 8px rgba(0,0,0,.4) !important;
}
body.mz-dark .mz-equipement:hover{
    border-color:#f07080 !important;
    box-shadow:0 4px 14px rgba(214,0,35,.25) !important;
}
body.mz-dark .mz-equipement-delete{
    background:#2a0a10 !important;
    color:#f07080 !important;
    border-color:#5c000f !important;
}

/* Onglets équipements (Couchages / Sanitaires...) */
body.mz-dark .mz-equipement-tabs{
    background:#0f1117 !important;
    border-color:#252a38 !important;
}
body.mz-dark .mz-equipement-tab{
    color:#9aa0b4 !important;
}
body.mz-dark .mz-equipement-tab.active,
body.mz-dark .mz-equipement-tab:hover{
    background:#181c27 !important;
    color:#f07080 !important;
}
body.mz-dark .mz-equipement-panel{
    background:#0f1117 !important;
    border-color:#252a38 !important;
}

/* Panneaux latéraux pièce */
body.mz-dark .mz-piece-right,
body.mz-dark .mz-piece-center{
    background:#181c27 !important;
    border-color:#252a38 !important;
}

/* Galerie photos pièce */
body.mz-dark .mz-piece-gallery{
    background:#0f1117 !important;
    border-color:#252a38 !important;
}
body.mz-dark .mz-piece-photo{
    background:#181c27 !important;
    border-color:#252a38 !important;
}
body.mz-dark .mz-piece-photo-delete{
    background:#2a0a10 !important;
    color:#f07080 !important;
}

/* Drag ghost */
body.mz-dark .mz-drag-ghost{
    background:#252a38 !important;
    border-color:#3a4060 !important;
    color:#9aa0b4 !important;
}

/* Layout pièce global */
body.mz-dark .mz-piece-layout{
    background:#0f1117 !important;
}
