/*
==================================================
MAPIZY — PROPRIETAIRES/css/pages.css
Pages autonomes (login, creer_compte, activation,
verifier_mail, demande_acces)

Ce fichier :
1. Contient le CSS propre à chaque page autonome
2. Neutralise body.mz-dark pour ces pages
   via la classe .mz-page-standalone sur leur wrapper

CHARGEMENT : dans chaque page autonome via <link>
==================================================
*/

/* ================================================
   NEUTRALISATION DARK MODE
   Toutes ces pages ont un fond blanc fixe
   indépendant de la préférence dark mode
   ================================================ */

/* Reset forcé — ces pages gardent leur design clair */
.mz-page-standalone,
.mz-page-standalone *:not(.btn-danger):not(.btn-danger *):not(.text-danger) {
    color: revert;
    background-color: revert;
    border-color: revert;
}

/* Override explicite des règles body.mz-dark
   qui s'appliquent via index.php */
body.mz-dark .mz-page-standalone { background:#fff !important; color:#222 !important; }
body.mz-dark .mz-page-standalone .form-control { background:#fff !important; color:#222 !important; border-color:#dee2e6 !important; }
body.mz-dark .mz-page-standalone .form-select  { background:#fff !important; color:#222 !important; border-color:#dee2e6 !important; }
body.mz-dark .mz-page-standalone label          { color:#212529 !important; }
body.mz-dark .mz-page-standalone .text-muted    { color:#6c757d !important; }
body.mz-dark .mz-page-standalone a:not(.btn)    { color:#d60023 !important; }
body.mz-dark .mz-page-standalone .alert-danger  { background:#f8d7da !important; color:#842029 !important; border-color:#f5c2c7 !important; }
body.mz-dark .mz-page-standalone .alert-success { background:#d1e7dd !important; color:#0f5132 !important; border-color:#badbcc !important; }
body.mz-dark .mz-page-standalone .alert-info    { background:#cff4fc !important; color:#055160 !important; border-color:#b6effb !important; }
body.mz-dark .mz-page-standalone .bg-white      { background:#fff !important; }
body.mz-dark .mz-page-standalone .bg-light      { background:#f8f9fa !important; }
body.mz-dark .mz-page-standalone .border        { border-color:#dee2e6 !important; }
body.mz-dark .mz-page-standalone .card          { background:#fff !important; color:#222 !important; border-color:#dee2e6 !important; }
body.mz-dark .mz-page-standalone input          { background:#fff !important; color:#222 !important; }
body.mz-dark .mz-page-standalone .input-group-text { background:#e9ecef !important; color:#495057 !important; border-color:#ced4da !important; }
body.mz-dark .mz-page-standalone .btn-close     { filter:none !important; }
body.mz-dark .mz-page-standalone .dropdown-menu { background:#fff !important; color:#222 !important; }
body.mz-dark .mz-page-standalone .table         { color:#212529 !important; }
body.mz-dark .mz-page-standalone .table td,
body.mz-dark .mz-page-standalone .table th      { background:#fff !important; border-color:#dee2e6 !important; color:#212529 !important; }

/* ================================================
   02. LOGIN
   ================================================ */

body{
    overflow-x:hidden;
}

.login-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(180,0,32,.12),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #fff9f1,
            #ffffff
        );
    padding:40px 15px;
}

.login-card{
    background:#ffffff;
    border:0;
    border-radius:24px;
    box-shadow:0 18px 45px rgba(0,0,0,.11);
    overflow:hidden;
}

.login-side{
    background:
        linear-gradient(
            135deg,
            rgba(180,0,32,.96),
            rgba(95,0,17,.96)
        ),
        url('../images/bg.svg');

    background-size:cover;
    color:#ffffff;
    height:100%;
}

.login-icon{
    width:54px;
    height:54px;
    border-radius:18px;
    background:rgba(255,255,255,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.45rem;
}

.login-side .fa-check-circle{
    opacity:.9;
}

.small-muted{
    color:#777777;
}

.required-star{
    color:#c40022;
}

.ajax-msg{
    display:none;
}

.btn-mapizy{
    background:#b40020;
    border-color:#b40020;
    color:#ffffff;
    font-weight:600;
    border-radius:12px;
    padding:12px 18px;
    transition:all .2s ease;
}

.btn-mapizy:hover{
    background:#920019;
    border-color:#920019;
    color:#ffffff;
}

.btn-outline-mapizy{
    border:2px solid #b40020;
    color:#b40020;
    background:#ffffff;
    font-weight:600;
    border-radius:12px;
    padding:12px 18px;
    transition:all .2s ease;
}

.btn-outline-mapizy:hover{
    background:#b40020;
    color:#ffffff;
}

.form-control{
    border-radius:12px;
    min-height:48px;
}

@media(max-width:991px){

    .login-side{
        border-radius:24px 24px 0 0;
    }

}

/* ================================================
   03. DEMANDE D'ACCÈS
   ================================================ */

.demande-hero{min-height:calc(100vh - 180px);display:flex;align-items:center;background:radial-gradient(circle at 80% 20%,rgba(180,0,32,.12),transparent 32%),linear-gradient(180deg,#fff9f1,#ffffff);}
.demande-card{background:#fff;border:0;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.11);}
.demande-side{background:linear-gradient(135deg,rgba(180,0,32,.96),rgba(95,0,17,.96)),url('../images/bg.svg');background-size:cover;color:#fff;height:100%;}
.demande-icon{width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:1.45rem;}
.form-section{border:1px solid #ececec;border-radius:18px;padding:20px;margin-bottom:20px;background:#fcfcfc;}
.form-check-custom{border:1px solid #ddd;border-radius:14px;padding:15px;transition:all .2s;cursor:pointer;}
.form-check-custom:hover{border-color:#b40020;background:#fff5f6;}
.form-check-input:checked + label{color:#b40020;font-weight:700;}
.hp-field{position:absolute;left:-9999px;opacity:0;}

/* MOTIVATION ABONNEMENT */
.mab-motivation{background:linear-gradient(135deg,rgba(214,0,35,.08),rgba(214,0,35,.03));border:1px solid rgba(214,0,35,.2);border-radius:18px;padding:22px;margin-bottom:24px;}
.mab-motivation-title{font-size:16px;font-weight:700;color:#d60023;margin-bottom:10px;}
.mab-motivation-feat{display:flex;align-items:center;gap:10px;font-size:13px;color:#444;margin-bottom:7px;}
.mab-motivation-feat i{color:#d60023;width:16px;text-align:center;}
.mab-motivation-btn{display:inline-flex;align-items:center;gap:8px;background:#d60023;color:#fff;font-weight:600;font-size:13px;padding:10px 20px;border-radius:30px;text-decoration:none;transition:.15s;margin-top:12px;}
.mab-motivation-btn:hover{background:#930019;color:#fff;}

/* ================================================
   04. CRÉER UN COMPTE
   ================================================ */

body{background:radial-gradient(circle at 80% 20%,rgba(180,0,32,.12),transparent 32%),linear-gradient(180deg,#fff9f1,#ffffff);min-height:100vh;}
.demande-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.11);}
.demande-side{background:linear-gradient(135deg,rgba(180,0,32,.96),rgba(95,0,17,.96));color:#fff;height:100%;padding:40px 36px;}
.demande-icon{width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:24px;}
.side-avantage{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:14px;opacity:.9;}
.side-avantage i{width:20px;text-align:center;opacity:.7;}
.form-section{border:1px solid #ececec;border-radius:18px;padding:20px;margin-bottom:20px;background:#fcfcfc;}
.form-section h3{font-size:15px;font-weight:700;margin-bottom:16px;color:#333;}
.hp-field{position:absolute;left:-9999px;opacity:0;}
.autocomplete-list{position:absolute;z-index:1000;background:#fff;border:1px solid #ddd;border-radius:10px;max-height:200px;overflow-y:auto;width:100%;box-shadow:0 8px 20px rgba(0,0,0,.1);}
.autocomplete-list li{padding:8px 14px;cursor:pointer;font-size:13px;list-style:none;}
.autocomplete-list li:hover{background:#fff0f2;color:#d60023;}

/* ================================================
   05. ACTIVATION
   ================================================ */

body{background:linear-gradient(135deg,#fff9f1,#fff3f5);min-height:100vh;display:flex;align-items:center;font-family:'Segoe UI',sans-serif;}
.act-card{background:#fff;border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.1);padding:48px;max-width:480px;width:100%;}
.act-logo{font-size:28px;font-weight:800;color:#d60023;letter-spacing:-.5px;margin-bottom:32px;text-align:center;}
.act-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 24px;}
.act-icon.valid{background:#eaf3de;color:#27ae60;}
.act-icon.invalid{background:#fcebeb;color:#d60023;}
.act-icon.done{background:#eaf3de;color:#27ae60;}
.act-title{font-size:22px;font-weight:800;text-align:center;margin-bottom:8px;}
.act-sub{color:#888;font-size:14px;text-align:center;margin-bottom:28px;line-height:1.6;}
.pass-strength{height:4px;border-radius:30px;margin-top:6px;transition:all .3s;}
.req-item{font-size:12px;display:flex;align-items:center;gap:6px;margin-bottom:4px;color:#aaa;transition:.2s;}
.req-item.ok{color:#27ae60;}
.req-item i{font-size:10px;}

/* ================================================
   06. VÉRIFIER MAIL
   ================================================ */

body{background:radial-gradient(circle at 80% 20%,rgba(180,0,32,.1),transparent 32%),linear-gradient(180deg,#fff9f1,#ffffff);min-height:100vh;display:flex;align-items:center;font-family:'Segoe UI',sans-serif;}
.vm-card{background:#fff;border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.1);padding:48px;max-width:460px;width:100%;text-align:center;}
.vm-logo{font-size:26px;font-weight:800;color:#d60023;letter-spacing:-.5px;margin-bottom:32px;}
.vm-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 24px;}
.vm-icon.ok{background:#eaf3de;color:#27ae60;}
.vm-icon.ko{background:#fcebeb;color:#d60023;}
.vm-icon.info{background:#e3f2fd;color:#1565c0;}
.vm-title{font-size:22px;font-weight:800;margin-bottom:10px;}
.vm-sub{color:#888;font-size:14px;line-height:1.7;margin-bottom:28px;}

