/* =========================================
   FALOVIA - FEUILLE DE STYLE PRINCIPALE
   ========================================= */

:root{--rose:#D91E5B;--rose-h:#E8457A;--rose-s:#8C0F35;--rose-l:#F9B8CE;--rose-p:#FDE8F0;--dark:#0D0D14;--dark2:#1C1C2E;--dark3:#2E2E3E;--grey:#6B6B85;--grey-l:#C8C8D8;--white:#FFFFFF;--cream:#FAF8F5;--gold:#C9A84C;--gold-l:#F0D080;--green:#1A9E7A;--blue:#2563EB;--fd:'Cormorant Garamond',serif;--fs:'Dancing Script',cursive;--fb:'Montserrat',sans-serif;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--dark);color:var(--white);overflow-x:hidden;min-height:100vh;}

/* ── 2. BARRE DE NAVIGATION ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:60px;background:rgba(13,13,20,.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(217,30,91,.2);display:flex;align-items:center;padding:0 32px;}
.nav-brand{font-family:var(--fd);font-size:24px;font-weight:600;color:var(--white);text-decoration:none;margin-right:auto;display:flex;align-items:baseline;gap:2px;}
.nav-brand em{font-family:var(--fs);color:var(--rose-h);font-style:normal;font-size:30px;font-weight:700;}
.nav-links{display:flex;align-items:center;gap:8px;}
.nav-link{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);text-decoration:none;padding:8px 14px;transition:.2s;}
.nav-link:hover{color:var(--rose-l);}
.btn-nav-login{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-l);border:1px solid rgba(217,30,91,.5);padding:9px 20px;border-radius:2px;text-decoration:none;transition:.2s;}
.btn-nav-login:hover{background:rgba(217,30,91,.1);border-color:var(--rose);}
.btn-nav-register{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--white);background:var(--rose);padding:9px 20px;border-radius:2px;text-decoration:none;transition:.2s;border:1px solid var(--rose);}
.btn-nav-register:hover{background:var(--rose-h);}

/* ── 3. EN-TÊTE (HERO) ── */
.hero{padding:140px 64px 80px;position:relative;text-align:center;}
.hero::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(217,30,91,.12),transparent 60%);pointer-events:none;}
.hero-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:var(--rose);border:1px solid rgba(217,30,91,.3);padding:7px 18px;border-radius:2px;margin-bottom:28px;}
.hero h1{font-family:var(--fd);font-size:clamp(42px,6vw,80px);font-weight:300;line-height:1.05;color:var(--white);margin-bottom:16px;}
.hero h1 em{font-style:italic;color:var(--rose-h);font-family:var(--fs);}
.hero-sub{font-size:14px;font-weight:300;color:var(--grey-l);letter-spacing:.05em;max-width:500px;margin:0 auto 40px;line-height:1.7;}
.hero-cta{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--rose);color:var(--white);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:14px 32px;border-radius:2px;text-decoration:none;border:none;cursor:pointer;transition:.2s;}
.btn-primary:hover{background:var(--rose-h);transform:translateY(-1px);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--grey-l);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:14px 32px;border-radius:2px;text-decoration:none;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:.2s;}
.btn-secondary:hover{border-color:rgba(255,255,255,.35);color:var(--white);}
.hero-stats{display:flex;justify-content:center;gap:48px;margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.06);}
.stat-item{text-align:center;}
.stat-n{font-family:var(--fd);font-size:36px;font-weight:300;color:var(--white);line-height:1;}
.stat-n span{font-family:var(--fs);color:var(--rose-h);}
.stat-l{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);margin-top:6px;}

/* ── 4. FILTRES ── */
.filters-container{position:sticky;top:60px;z-index:100;background:var(--dark2);border-bottom:1px solid rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.05);}
.filters-bar{display:flex;align-items:center;gap:16px;padding:20px 64px;}
.filters-label{font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--grey);}
.filter-chip{display:inline-flex;align-items:center;font-size:11px;font-weight:500;color:var(--grey-l);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:7px 16px;border-radius:20px;cursor:pointer;transition:.2s;white-space:nowrap;}
.filter-chip:hover,.filter-chip.active{background:rgba(217,30,91,.12);border-color:rgba(217,30,91,.4);color:var(--rose-l);font-weight:700;}
.filter-sep{width:1px;height:24px;background:rgba(255,255,255,.07);flex-shrink:0;}
.filter-select{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--grey-l);font-family:var(--fb);font-size:11px;font-weight:500;padding:7px 16px;border-radius:20px;cursor:pointer;outline:none;-webkit-appearance:none;}
.filter-select option{background:var(--dark2);color:var(--white);}
.filters-count{margin-left:auto;font-size:11px;font-weight:500;color:var(--grey);white-space:nowrap;}
.filters-count strong{color:var(--rose-l);}
.scroll-hint{display:none;}

/* ── 5. GRILLE DES PROFILS & CARTES ── */
.grid-section{padding:48px 64px 80px;}
.grid-header{margin-bottom:36px;}
.grid-title{font-family:var(--fd);font-size:28px;font-weight:300;color:var(--white);}
.grid-title em{font-style:italic;color:var(--rose-h);font-family:var(--fs);}
.profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;}

/* Carte de Profil */
.profile-card{background:var(--dark2);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s;position:relative;}
.profile-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(217,30,91,.2);}
.card-photo{position:relative;height:320px;overflow:hidden;}
.card-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(13,13,20,.95)100%);}
.card-badges{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px;z-index:10;}
.badge{font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:4px 10px;border-radius:2px;box-shadow:0 2px 10px rgba(0,0,0,.3);}
.badge-verified{background:rgba(26,158,122,.9);color:#fff;}
.badge-vip{background:linear-gradient(135deg,var(--gold),var(--gold-l));color:var(--dark);}
.badge-online{background:rgba(26,200,100,.9);color:#fff;}
.card-actions{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;opacity:0;transition:.2s;z-index:11;}
.profile-card:hover .card-actions{opacity:1;}
.card-btn{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:.15s;}
.card-btn-like{background:var(--rose);color:#fff;}
.card-btn-like:hover{background:var(--rose-h);transform:scale(1.1);}
.card-btn-msg{background:rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(10px);}
.card-btn-msg:hover{background:rgba(255,255,255,.25);}
.card-info{padding:20px;position:absolute;bottom:0;left:0;right:0;z-index:10;}
.card-name{font-family:var(--fd);font-size:24px;font-weight:600;color:var(--white);margin-bottom:4px;text-shadow:0 2px 4px rgba(0,0,0,.5);}
.card-meta{font-size:12px;font-weight:500;color:var(--grey-l);display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.card-dot{width:4px;height:4px;border-radius:50%;background:var(--grey);}
.card-tags{display:flex;gap:6px;flex-wrap:wrap;}
.card-tag{font-size:10px;font-weight:500;color:var(--grey-l);background:rgba(255,255,255,.1);padding:4px 10px;border-radius:20px;backdrop-filter:blur(4px);}
.card-lock-overlay{position:absolute;inset:0;background:rgba(13,13,20,.85);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;transition:opacity .3s ease;z-index:20;text-align:center;padding:20px;}
.profile-card:hover .card-lock-overlay{opacity:1;}
.lock-icon{font-size:36px;filter:drop-shadow(0 2px 10px rgba(217,30,91,.4));margin-bottom:5px;}
.lock-text{font-size:13px;font-weight:400;color:var(--white);line-height:1.5;}
.lock-text span{color:var(--rose-l);font-weight:700;}
.lock-cta{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-family:var(--fb);color:var(--white);background:var(--rose);padding:12px 24px;border-radius:2px;border:none;cursor:pointer;transition:.2s;margin-top:10px;}
.lock-cta:hover{background:var(--rose-h);transform:translateY(-2px);box-shadow:0 4px 15px rgba(217,30,91,.3);}
.ph-1{background:linear-gradient(135deg,#1a3a4a,#2d6a8a);}.ph-2{background:linear-gradient(135deg,#3a1a2e,#8a2d5a);}.ph-3{background:linear-gradient(135deg,#1a2e1a,#2d8a4a);}.ph-4{background:linear-gradient(135deg,#2e2a1a,#8a7a2d);}.ph-5{background:linear-gradient(135deg,#1a1a3a,#3a3d8a);}.ph-6{background:linear-gradient(135deg,#3a1a1a,#8a2d2d);}.ph-7{background:linear-gradient(135deg,#1a2e2e,#2d7a8a);}.ph-8{background:linear-gradient(135deg,#2a1a3a,#6a2d8a);}.ph-9{background:linear-gradient(135deg,#1a3a2a,#2d8a6a);}.ph-10{background:linear-gradient(135deg,#3a2a1a,#8a5a2d);}.ph-11{background:linear-gradient(135deg,#1a1a2a,#2d2d7a);}.ph-12{background:linear-gradient(135deg,#2e1a2a,#7a2d5a);}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.card-anim{opacity:0;animation:fadeUp .6s ease forwards;}

/* ── 6. BANDEAU PAYWALL & FOOTER ── */
.paywall-banner{margin:0 64px 48px;padding:40px 48px;background:linear-gradient(135deg,var(--dark2)0%,rgba(217,30,91,.08)100%);border:1px solid rgba(217,30,91,.25);border-radius:8px;display:flex;align-items:center;gap:40px;position:relative;overflow:hidden;}
.paywall-icon{font-size:40px;}
.paywall-text{flex:1;}
.paywall-title{font-family:var(--fd);font-size:26px;color:var(--white);margin-bottom:6px;}
.paywall-title em{font-style:italic;color:var(--rose-h);font-family:var(--fs);}
.paywall-desc{font-size:13px;font-weight:300;color:var(--grey-l);line-height:1.6;}
.paywall-actions{display:flex;gap:12px;}
footer{border-top:1px solid rgba(255,255,255,.06);padding:32px 64px;display:flex;align-items:center;justify-content:space-between;}
.footer-brand{font-family:var(--fd);font-size:20px;font-weight:600;color:var(--grey);}
.footer-brand em{font-family:var(--fs);color:var(--rose-h);font-style:normal;}
.footer-copy{font-size:11px;font-weight:300;color:var(--grey);}
.footer-links{display:flex;gap:20px;}
.footer-link{font-size:11px;color:var(--grey);text-decoration:none;transition:.2s;}
.footer-link:hover{color:var(--rose-l);}

/* ── 7. FENÊTRE MODALE D'INSCRIPTION ── */
.modal-overlay{position:fixed;inset:0;background:rgba(13,13,20,.85);backdrop-filter:blur(12px);z-index:500;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:.3s ease;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--dark2);border:1px solid rgba(217,30,91,.2);border-radius:12px;width:100%;max-width:420px;overflow:hidden;transform:translateY(20px);transition:.3s;}
.modal-overlay.open .modal{transform:translateY(0);}
.modal-hero{background:var(--dark);padding:36px 36px 28px;text-align:center;position:relative;}
.modal-label{font-size:9px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin-bottom:14px;}
.modal-title{font-family:var(--fd);font-size:28px;font-weight:300;color:var(--white);line-height:1.1;}
.modal-title em{font-style:italic;color:var(--rose-h);font-family:var(--fs);}
.modal-sub{font-size:12px;font-weight:300;color:var(--grey-l);margin-top:8px;}
.modal-body{padding:28px 36px 36px;}
.modal-features{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.modal-feat{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:300;color:var(--grey-l);}
.modal-cta{width:100%;padding:16px;background:var(--rose);color:var(--white);font-family:var(--fb);font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;border:none;border-radius:4px;cursor:pointer;transition:.2s;margin-bottom:12px;}
.modal-cta:hover{background:var(--rose-h);}
.modal-login{text-align:center;font-size:12px;color:var(--grey);}
.modal-login a{color:var(--rose-l);text-decoration:none;font-weight:600;}
.modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;background:rgba(255,255,255,.06);border:none;border-radius:50%;color:var(--grey);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* ── 8. RESPONSIVE (TABLETTE & MOBILE) ── */
@media(max-width:900px){
 .hero{padding:100px 20px 40px;}
 .filters-bar{padding:16px 20px;}
 .grid-section{padding:32px 20px 60px;}
 .paywall-banner{margin:0 20px 40px;padding:24px;flex-direction:column;text-align:center;}
 .paywall-actions{justify-content:center;}
 footer{padding:24px 20px;flex-direction:column;gap:16px;text-align:center;}
 .nav-link{display:none;}
}
@media(max-width:600px){
 .hero h1{font-size:32px;}
 .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
 .filters-bar{flex-wrap:nowrap;overflow-x:auto;padding:16px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
 .filters-bar::-webkit-scrollbar{display:none;}
 .scroll-hint{display:block;text-align:right;font-size:10px;color:var(--rose-l);padding:10px 20px 0;font-weight:600;animation:pulseHint 2s infinite;}
 .profiles-grid{grid-template-columns:1fr;gap:20px;}
 .modal-body{padding:20px;}
 .nav-brand{font-size:20px;}
 .filters-count{display:none;}
 nav{padding:0 16px;}
 .paywall-actions{flex-direction:column;width:100%;gap:10px;}
 .paywall-actions .btn-primary,.paywall-actions .btn-secondary{width:100%;justify-content:center;}
}
@keyframes pulseHint{0%{opacity:.4;transform:translateX(0);}50%{opacity:1;transform:translateX(4px);}100%{opacity:.4;transform:translateX(0);}}

/* ========== MOBILE OPTIMISATIONS (480px et moins) ========== */
@media(max-width:480px){
 nav{padding:0 12px;}
 .nav-brand{font-size:20px;}
 .nav-brand em{font-size:24px;}
 .nav-links{gap:4px;}
 .btn-nav-login,.btn-nav-register{font-size:9px;padding:6px 12px;}
 .hero{padding:100px 16px 40px;}
 .hero-label{font-size:9px;padding:5px 12px;margin-bottom:20px;}
 .hero h1{font-size:28px;}
 .hero-sub{font-size:12px;padding:0 8px;}
 .hero-cta{flex-direction:column;align-items:center;gap:12px;}
 .btn-primary,.btn-secondary{width:100%;max-width:220px;justify-content:center;padding:12px 20px;font-size:10px;}
 .hero-stats{gap:16px;margin-top:32px;padding-top:24px;}
 .stat-n{font-size:28px;}
 .stat-l{font-size:9px;}
 .filters-bar{padding:12px 16px;gap:10px;}
 .filters-label{font-size:9px;}
 .filter-chip{font-size:10px;padding:5px 12px;}
 .filter-select{font-size:10px;padding:5px 12px;}
 .grid-section{padding:24px 16px 48px;}
 .grid-title{font-size:24px;}
 .profile-card{border-radius:12px;}
 .card-photo{height:280px;}
 .card-name{font-size:20px;}
 .card-meta{font-size:10px;}
 .card-tag{font-size:9px;padding:3px 8px;}
 .card-btn{width:30px;height:30px;font-size:14px;}
 .badge{font-size:8px;padding:3px 8px;}
 .paywall-banner{margin:0 16px 32px;padding:20px;gap:16px;}
 .paywall-icon{font-size:32px;}
 .paywall-title{font-size:20px;}
 .paywall-desc{font-size:12px;}
 .paywall-actions{flex-direction:column;width:100%;gap:10px;}
 .paywall-actions .btn-primary,.paywall-actions .btn-secondary{width:100%;text-align:center;}
 footer{padding:20px 16px;gap:12px;}
 .footer-brand{font-size:18px;}
 .footer-copy{font-size:9px;}
 .footer-link{font-size:9px;}
 .modal{max-width:340px;}
 .modal-hero{padding:24px 20px 20px;}
 .modal-title{font-size:24px;}
 .modal-body{padding:20px;}
 .modal-feat{font-size:12px;}
 .modal-cta{padding:12px;font-size:10px;}
}
@media(max-width:360px){
 .hero h1{font-size:24px;}
 .hero-stats{gap:12px;}
 .stat-n{font-size:24px;}
 .card-photo{height:240px;}
 .card-name{font-size:18px;}
 .card-meta{font-size:9px;}
 .filters-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;}
 .scroll-hint{display:block;font-size:9px;padding:6px 16px 0;}
}
@media(max-width:600px){
 .nav-link{display:none;}
 .nav-links{position:relative;}
 .btn-nav-login,.btn-nav-register{font-size:9px;padding:6px 10px;}
 .profile-card{box-shadow:0 4px 12px rgba(0,0,0,.3);}
 .card-info{padding:12px;}
 .card-meta{gap:6px;}
 .card-tags{gap:4px;}
}

/* =========================================
   CORRECTIF FINAL - CENTRAGE LOGO MOBILE
   ========================================= */
@media (max-width: 600px) {
    nav {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 16px !important;
    }
    .nav-brand {
        margin: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .nav-links {
        display: none !important;
    }
}

/* Centrage des boutons du bandeau paywall */
@media (max-width: 600px) {
    .paywall-actions {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        gap: 12px;
    }
    .paywall-actions .btn-primary,
    .paywall-actions .btn-secondary {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 260px;
        margin: 0 auto;
        text-align: center;
    }
}
