:root{--bg-1:#241041;--bg-2:#6d28d9;--pink:#ff4fa3;--cyan:#41e5ff;--yellow:#ffe27a;--glass:rgba(255,255,255,.12);--glass-strong:rgba(255,255,255,.18);--stroke:rgba(255,255,255,.22);--text:#f8f7ff;--muted:rgba(248,247,255,.72);--dark-card:rgba(18,12,38,.72);--nav:rgba(16,10,34,.72);--field:rgba(255,255,255,.1);--field-text:#fff;--footer:rgba(12,7,26,.84)}html[data-theme=light]{--bg-1:#fff5fb;--bg-2:#e7ddff;--glass:rgba(255,255,255,.68);--glass-strong:rgba(255,255,255,.82);--stroke:rgba(102,70,140,.18);--text:#21142f;--muted:rgba(33,20,47,.65);--dark-card:rgba(255,255,255,.74);--nav:rgba(255,255,255,.78);--field:rgba(255,255,255,.75);--field-text:#251532;--footer:rgba(255,255,255,.82)}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% 5%,rgba(255,79,163,.42),transparent 30%),radial-gradient(circle at 85% 12%,rgba(65,229,255,.28),transparent 28%),radial-gradient(circle at 50% 105%,rgba(255,226,122,.18),transparent 30%),linear-gradient(135deg,var(--bg-1),#120a25 48%,var(--bg-2));background-attachment:fixed}html[data-theme=light] body{background:radial-gradient(circle at 15% 5%,rgba(255,79,163,.22),transparent 28%),radial-gradient(circle at 85% 12%,rgba(65,229,255,.18),transparent 30%),linear-gradient(135deg,#fff9fd,#f4efff 46%,#fff)}a{color:inherit;text-decoration:none}.fw-black{font-weight:950}.text-muted-soft{color:var(--muted)!important}.brand-gradient{background:linear-gradient(90deg,var(--pink),var(--yellow));-webkit-background-clip:text;background-clip:text;color:transparent}.logo-orb{width:38px;height:38px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#8b5cf6);color:#fff;box-shadow:0 12px 28px rgba(255,79,163,.28)}.glass{background:var(--glass);border:1px solid var(--stroke);box-shadow:0 20px 70px rgba(0,0,0,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:28px}.glass-dark{background:var(--dark-card);border:1px solid var(--stroke);box-shadow:0 18px 60px rgba(0,0,0,.22);backdrop-filter:blur(20px);border-radius:28px}.navbar-glass{background:var(--nav);border-bottom:1px solid var(--stroke);backdrop-filter:blur(24px)}.navbar .nav-link{color:var(--muted);font-weight:700}.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--text)}.btn-love{border:0;color:#fff;font-weight:850;background:linear-gradient(135deg,var(--pink),#8b5cf6);box-shadow:0 14px 30px rgba(255,79,163,.28)}.btn-love:hover{color:#fff;transform:translateY(-1px);box-shadow:0 18px 42px rgba(255,79,163,.36)}.btn-glass{color:var(--text);border:1px solid var(--stroke);background:var(--glass);font-weight:750}.btn-glass:hover{color:var(--text);background:var(--glass-strong)}.hero{padding:130px 0 80px}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.35)}.avatar-sm{width:38px;height:38px;border-radius:50%;object-fit:cover}.avatar-lg{width:112px;height:112px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.35)}.icon-btn{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;border:1px solid var(--stroke);background:var(--glass);position:relative;color:var(--text)}.notif-badge{position:absolute;top:-5px;right:-5px;min-width:21px;height:21px;border-radius:999px;background:var(--cyan);color:#111;font-size:.72rem;font-weight:900;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(65,229,255,.16)}.notif-badge.pink{background:var(--pink);color:#fff}.member-chip{border:1px solid var(--stroke);background:var(--glass);color:var(--text);border-radius:999px;padding:5px 10px 5px 5px;display:flex;align-items:center;gap:9px;font-weight:800}.smart-menu{width:340px;background:var(--glass-strong);border:1px solid var(--stroke);backdrop-filter:blur(24px);border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.26);overflow:hidden;color:var(--text)}.smart-menu-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--stroke)}.smart-menu-head a{color:var(--pink);font-weight:800;font-size:.85rem}.smart-item{display:flex;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--stroke)}.smart-item:hover,.member-menu a:hover{background:rgba(255,79,163,.12)}.smart-item i{font-size:1.35rem;color:var(--pink)}.smart-item small,.mega-link small{display:block;color:var(--muted);font-size:.78rem}.member-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;font-weight:750}.mega-menu{width:540px;background:var(--glass-strong);border:1px solid var(--stroke);backdrop-filter:blur(24px);border-radius:24px}.mega-link{display:flex;gap:12px;padding:15px;border-radius:18px;background:rgba(255,255,255,.06);font-weight:850}.mega-link i{font-size:1.5rem;color:var(--pink)}.hero-card{position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 120deg,transparent,rgba(255,79,163,.36),transparent,rgba(65,229,255,.32),transparent);animation:spin 10s linear infinite}.hero-card>*{position:relative}.hero-card .inner{background:rgba(13,8,30,.62);border-radius:24px;margin:1px;padding:32px}html[data-theme=light] .hero-card .inner{background:rgba(255,255,255,.72)}@keyframes spin{to{transform:rotate(360deg)}}.floating-badge{position:absolute;background:var(--glass-strong);border:1px solid var(--stroke);backdrop-filter:blur(16px);border-radius:999px;padding:10px 14px;font-weight:850;box-shadow:0 18px 36px rgba(0,0,0,.18)}.badge-1{top:24px;right:24px}.badge-2{bottom:28px;left:22px}.profile-card{overflow:hidden;transition:.24s ease}.profile-card:hover{transform:translateY(-6px);box-shadow:0 24px 65px rgba(0,0,0,.25)}.profile-photo{height:330px;object-fit:cover;width:100%;filter:none}.photo-blur{filter:blur(12px);transform:scale(1.04)}.premium-lock{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent,rgba(0,0,0,.56));text-align:center;color:#fff}.compatibility-ring{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pink) calc(var(--score)*1%),rgba(255,255,255,.18) 0);position:relative;font-weight:900}.compatibility-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--dark-card)}.compatibility-ring span{position:relative;z-index:1}.filter-sidebar{position:sticky;top:105px}.form-control,.form-select{background:var(--field);border:1px solid var(--stroke);color:var(--field-text);border-radius:16px}.form-control::placeholder{color:var(--muted)}.form-control:focus,.form-select:focus{background:var(--field);border-color:rgba(255,79,163,.55);color:var(--field-text);box-shadow:0 0 0 .25rem rgba(255,79,163,.14)}.form-select option{color:#111}.form-range::-webkit-slider-thumb{background:var(--pink)}.range-label{font-weight:900;color:var(--pink)}.dual-range{position:relative;height:42px}.dual-range input[type=range]{position:absolute;left:0;right:0;top:8px;width:100%;pointer-events:none;background:none}.dual-range input::-webkit-slider-thumb{pointer-events:auto}.range-track{position:absolute;left:0;right:0;top:23px;height:7px;border-radius:99px;background:rgba(255,255,255,.18)}.question-step{display:none}.question-step.active{display:block}.progress{background:rgba(255,255,255,.14);height:12px;border-radius:20px}.progress-bar{background:linear-gradient(90deg,var(--pink),var(--cyan));border-radius:20px}.desktop-footer{background:var(--footer);border-top:1px solid var(--stroke);backdrop-filter:blur(18px)}.desktop-footer a{display:block;color:var(--muted);margin:.45rem 0}.desktop-footer a:hover{color:var(--text)}.gallery-tile{height:145px;border-radius:20px;object-fit:cover;width:100%}.locked-gallery{position:relative;overflow:hidden;border-radius:20px}.locked-gallery img{filter:blur(10px);transform:scale(1.04)}.locked-gallery:after{content:"Galerie sur demande";position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.38);font-weight:900;color:#fff}.chat-panel{height:560px;display:flex;flex-direction:column}.chat-body{flex:1;overflow:auto}.bubble{max-width:78%;border-radius:22px;padding:12px 15px;margin-bottom:10px}.bubble.me{margin-left:auto;background:linear-gradient(135deg,var(--pink),#8b5cf6);color:#fff}.bubble.them{background:rgba(255,255,255,.12);border:1px solid var(--stroke)}.stat-card{min-height:126px}.mobile-header,.mobile-bottom-nav{display:none}@media(max-width:991.98px){body{padding-top:74px;padding-bottom:82px}.desktop-header,.desktop-footer{display:none!important}.mobile-header{display:flex}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:block;background:var(--nav);border-top:1px solid var(--stroke);backdrop-filter:blur(22px)}.mobile-bottom-nav a{font-size:.76rem;color:var(--muted)}.mobile-bottom-nav a.active{color:var(--text)}.hero{padding:34px 0}.profile-photo{height:390px}.filter-sidebar{position:static}.glass,.glass-dark{border-radius:22px}.hero-card .inner{padding:24px}.floating-badge{display:none}.smart-menu{width:92vw}}

/* V3 Coeurenstock: sous-menus 100% opaques et UX pro */
.dropdown-menu.smart-menu,.dropdown-menu.mega-menu,.member-menu{background:#1a102f!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
html[data-theme=light] .dropdown-menu.smart-menu,html[data-theme=light] .dropdown-menu.mega-menu,html[data-theme=light] .member-menu{background:#ffffff!important;color:#21142f!important;box-shadow:0 22px 70px rgba(81,49,115,.18)}
.dropdown-menu a{color:var(--text);text-decoration:none}.dropdown-menu{z-index:1080}.menu-section-title{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:900;padding:8px 12px 4px}.trust-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--stroke);background:var(--glass);border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800}.compat-card{border-left:4px solid var(--pink)}.question-card{background:rgba(255,255,255,.06);border:1px solid var(--stroke);border-radius:20px;padding:18px;height:100%}.question-card .form-check{padding:.35rem 0 .35rem 1.8rem}.city-suggest{position:relative}.insight-bar{height:9px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}.insight-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--cyan));border-radius:99px}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--stroke)}.timeline-item{position:relative;margin-bottom:18px}.timeline-item:before{content:"";position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 5px rgba(255,79,163,.16)}.feature-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,79,163,.28),rgba(65,229,255,.16));font-size:1.45rem;color:var(--text)}.mini-table{border-collapse:separate;border-spacing:0 10px}.mini-table tr{background:rgba(255,255,255,.06)}.mini-table td,.mini-table th{padding:14px;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}.mini-table td:first-child,.mini-table th:first-child{border-left:1px solid var(--stroke);border-radius:16px 0 0 16px}.mini-table td:last-child,.mini-table th:last-child{border-right:1px solid var(--stroke);border-radius:0 16px 16px 0}.badge-soft{background:rgba(255,79,163,.15);color:var(--pink);border:1px solid rgba(255,79,163,.25)}

/* V4 - inscription premium une question à la fois */
.register-v4 .register-step{display:none}.register-v4 .register-step.active{display:block;animation:fadeUp .28s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.onboarding-progress{border-radius:24px}.quiz-shell{border-radius:30px}.quiz-counter{min-width:96px;text-align:center;border-radius:999px;padding:12px 18px;background:linear-gradient(135deg,rgba(255,79,163,.22),rgba(65,229,255,.14));border:1px solid var(--stroke);font-size:1.15rem;font-weight:900}.question-focus-card{min-height:390px;display:flex;flex-direction:column;justify-content:center;padding:28px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border:1px solid var(--stroke);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.question-number{display:inline-flex;align-self:flex-start;margin-bottom:14px;border-radius:999px;padding:8px 13px;background:rgba(255,79,163,.18);color:var(--pink);font-weight:900}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.answer-option{display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:22px;border:1px solid var(--stroke);background:rgba(255,255,255,.075);cursor:pointer;transition:.18s ease;min-height:86px;font-weight:750}.answer-option i{font-size:1.25rem;color:var(--muted);transition:.18s ease}.answer-option:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}.btn-check:checked+.answer-option{border-color:rgba(255,79,163,.72);background:linear-gradient(135deg,rgba(255,79,163,.24),rgba(65,229,255,.10));box-shadow:0 18px 50px rgba(255,79,163,.12)}.btn-check:checked+.answer-option i{color:var(--pink)}.city-autocomplete{position:absolute;left:12px;right:12px;top:100%;z-index:1200;background:#1a102f;border:1px solid var(--stroke);border-radius:18px;margin-top:8px;overflow:hidden;display:none}.city-autocomplete button{display:block;width:100%;text-align:left;background:transparent;border:0;color:#fff;padding:12px 15px}.city-autocomplete button:hover{background:rgba(255,255,255,.1)}html[data-theme=light] .city-autocomplete{background:#fff}html[data-theme=light] .city-autocomplete button{color:#21142f}.smart-tip{background:rgba(255,226,122,.12);border:1px solid rgba(255,226,122,.25)}.score-pill{border-radius:18px;border:1px solid var(--stroke);background:rgba(255,255,255,.08);padding:15px;text-align:center;font-weight:900}.insight-card{border-radius:24px;border:1px solid var(--stroke);background:rgba(255,255,255,.07);padding:22px;height:100%}.kanban-col{border-radius:24px;border:1px solid var(--stroke);background:rgba(255,255,255,.06);padding:16px}.mini-member{display:flex;gap:12px;align-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--stroke);margin-bottom:10px}.mini-member img{width:46px;height:46px;border-radius:50%;object-fit:cover}.privacy-toggle{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border-radius:18px;border:1px solid var(--stroke);background:rgba(255,255,255,.06);margin-bottom:12px}@media(max-width:767.98px){.answer-grid{grid-template-columns:1fr}.question-focus-card{min-height:480px;padding:22px}.register-v4{padding-top:92px!important}}
/* V5 refinements */
.member-home .smart-mini{display:flex;gap:14px;align-items:center;padding:15px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid var(--stroke);font-weight:800;transition:.18s ease}.member-home .smart-mini:hover{transform:translateY(-2px);background:rgba(255,79,163,.12)}.member-home .smart-mini i{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,79,163,.24),rgba(65,229,255,.12));font-size:1.25rem;color:var(--pink)}
.edit-profile-page .form-text{font-size:.82rem}.questions-page .question-focus-card{min-height:440px}.toast-glass{background:#1a102f!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;box-shadow:0 20px 70px rgba(0,0,0,.28)}html[data-theme=light] .toast-glass{background:#fff!important;color:#21142f!important}.form-control:disabled{background:rgba(255,255,255,.08);color:var(--muted);border-color:var(--stroke)}


/* V6 fixes & pro modules */
.dropdown-menu,.smart-menu,.mega-menu{background:var(--menu-bg,#1d1235)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important}
html[data-theme=light] .dropdown-menu,html[data-theme=light] .smart-menu,html[data-theme=light] .mega-menu{--menu-bg:#fff;box-shadow:0 24px 70px rgba(40,20,70,.16)}
.dual-range{height:54px;position:relative;padding-top:10px;touch-action:none}.dual-range input[type=range]{position:absolute;left:0;right:0;top:14px;width:100%;height:34px;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;z-index:3}.dual-range input[data-min]{z-index:4}.dual-range input[data-max]{z-index:5}.dual-range input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--pink),#8b5cf6);border:3px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.28);pointer-events:auto;cursor:grab}.dual-range input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--pink),#8b5cf6);border:3px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.28);pointer-events:auto;cursor:grab}.range-track{position:absolute;left:0;right:0;top:28px;height:8px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}.range-fill{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--cyan))}.pill-choice{border:1px solid var(--stroke);background:var(--glass);padding:12px 14px;border-radius:18px;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:800}.btn-check:checked+.pill-choice,.btn-check:checked+.answer-option{border-color:rgba(255,79,163,.75);background:linear-gradient(135deg,rgba(255,79,163,.24),rgba(139,92,246,.2));box-shadow:0 14px 34px rgba(255,79,163,.14)}
.mobile-chat-layout .conversation-list{max-height:calc(100vh - 190px);overflow:auto}.conversation-card{display:flex;gap:12px;align-items:center;padding:14px;border-radius:20px;border:1px solid var(--stroke);background:var(--glass);margin-bottom:10px}.conversation-card.active{background:var(--dark-card);box-shadow:0 16px 40px rgba(0,0,0,.18)}.message-tools{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.message-tools .btn{white-space:nowrap}.chat-composer{position:sticky;bottom:0;background:var(--dark-card);padding-top:12px}.mobile-back-chat{display:none}@media(max-width:991.98px){.messages-page{padding-top:22px!important}.mobile-chat-layout{display:block}.mobile-chat-layout .chat-column{display:none}.mobile-chat-layout.chat-open .list-column{display:none}.mobile-chat-layout.chat-open .chat-column{display:block}.mobile-back-chat{display:inline-flex}.chat-panel{height:calc(100vh - 165px);border-radius:20px}.chat-body{padding-bottom:10px}.bubble{max-width:88%;font-size:.95rem}.message-tools{margin:8px 0 2px}.conversation-list{padding-bottom:10px}}
.dropzone{border:2px dashed rgba(255,255,255,.28);border-radius:28px;min-height:190px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,rgba(255,79,163,.12),rgba(65,229,255,.08));transition:.2s}.dropzone.dragover{border-color:var(--pink);transform:scale(1.01);background:linear-gradient(135deg,rgba(255,79,163,.22),rgba(65,229,255,.14))}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.photo-item{position:relative;border-radius:24px;overflow:hidden;background:var(--glass);border:1px solid var(--stroke);min-height:190px}.photo-item img{width:100%;height:190px;object-fit:cover;display:block}.photo-item .photo-actions{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:8px;justify-content:space-between}.photo-item .photo-badge{position:absolute;top:10px;left:10px}.gallery-tabs .nav-link{border-radius:999px;color:var(--muted);font-weight:850}.gallery-tabs .nav-link.active{background:linear-gradient(135deg,var(--pink),#8b5cf6);color:#fff}.mini-checklist li{margin-bottom:8px;color:var(--muted)}.quick-action-card{border:1px solid var(--stroke);background:var(--glass);border-radius:24px;padding:18px;height:100%}.quick-action-card i{font-size:1.7rem;color:var(--pink)}
/* V8 corrections: menus opaques + sliders visibles en mode clair */
.smart-menu,.mega-menu,.dropdown-menu.smart-menu{background:#1a102f!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}.smart-menu .text-muted-soft,.smart-menu small{color:rgba(255,255,255,.72)!important}.smart-menu a,.member-menu a{color:#fff!important}html[data-theme=light] .smart-menu,html[data-theme=light] .mega-menu,html[data-theme=light] .dropdown-menu.smart-menu{background:#fff!important;color:#21142f!important;border-color:rgba(102,70,140,.18)!important;box-shadow:0 24px 70px rgba(33,20,47,.18)!important}html[data-theme=light] .smart-menu a,html[data-theme=light] .member-menu a{color:#21142f!important}html[data-theme=light] .smart-menu .text-muted-soft,html[data-theme=light] .smart-menu small{color:rgba(33,20,47,.65)!important}.dual-range .range-track{background:rgba(255,255,255,.26)!important}html[data-theme=light] .dual-range .range-track{background:#d8c9ef!important;border:1px solid rgba(102,70,140,.18)}.dual-range .range-fill{display:block;position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--cyan));min-width:20px}html[data-theme=light] .dual-range input[type=range]::-webkit-slider-thumb{border-color:#fff;box-shadow:0 7px 18px rgba(80,45,120,.28)}html[data-theme=light] .dual-range input[type=range]::-moz-range-thumb{border-color:#fff;box-shadow:0 7px 18px rgba(80,45,120,.28)}
@media(max-width:991.98px){.messages-page .glass{border-radius:0}.conversation-card{min-height:74px}.chat-panel{height:calc(100vh - 150px)!important}.chat-composer{padding-bottom:8px}.messages-page{padding-left:0!important;padding-right:0!important}.mobile-chat-layout{border-radius:0!important}.list-column,.chat-column{padding-left:10px;padding-right:10px}}
.drop-zone{border:2px dashed rgba(255,79,163,.45);border-radius:24px;min-height:190px;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.07);cursor:pointer;transition:.18s ease}.drop-zone.dragover{background:rgba(255,79,163,.16);transform:scale(1.01)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.photo-tile,.photo-item{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--stroke);background:var(--glass)}.photo-tile img,.photo-item img{width:100%;height:160px;object-fit:cover;display:block}.remove-photo{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:999px;border:0;background:rgba(220,53,69,.95);color:#fff}.photo-actions{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:6px;justify-content:space-between}.photo-badge{position:absolute;top:8px;left:8px;z-index:2}
/* V9 refinements */
.avatar-lg{width:64px;height:64px;border-radius:22px;object-fit:cover}.avatar-xl{width:76px;height:76px;border-radius:26px;object-fit:cover}.like-row,.mini-profile{display:flex;align-items:center;gap:14px;border-radius:22px}.sticky-card{position:sticky;top:110px}.profile-showcase{overflow:hidden}.profile-carousel,.profile-photo-frame{border-radius:24px;overflow:hidden}.profile-photo-frame{height:590px;position:relative;background:rgba(0,0,0,.22)}.profile-photo-frame img{height:100%;object-fit:cover}.profile-carousel .carousel-control-prev,.profile-carousel .carousel-control-next{width:14%}.dashboard-summary{border-radius:28px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-card{background:rgba(255,255,255,.09);border:1px solid var(--stroke);border-radius:20px;padding:14px 10px;text-align:center;display:grid;gap:4px;min-height:96px}.summary-card i{font-size:1.35rem;color:var(--pink)}.summary-card b{font-size:1.45rem;line-height:1}.summary-card span{font-size:.8rem;color:var(--muted);font-weight:800}.action-line{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:18px;background:var(--glass);border:1px solid var(--stroke);font-weight:850}.action-line i{color:var(--pink);font-size:1.25rem}.ice-card{transition:.22s ease}.ice-card:hover{transform:translateY(-4px)}.alert.glass{color:var(--text)}
html[data-theme=light] .range-track,html[data-theme=light] .dual-range .range-track{background:#cdbce8!important;box-shadow:inset 0 0 0 1px rgba(84,54,120,.15)}html[data-theme=light] .range-fill{background:linear-gradient(90deg,#e91e80,#6d28d9)!important}.dual-range input[type=range]::-webkit-slider-thumb{touch-action:pan-x}.dual-range input[type=range]::-moz-range-thumb{touch-action:pan-x}
@media(max-width:991.98px){.summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-hero .display-5{font-size:2.15rem}.profile-photo-frame{height:72vh;min-height:430px;max-height:650px}.like-row{align-items:flex-start;flex-wrap:wrap}.like-row .avatar-lg{width:56px;height:56px}.sticky-card{position:static}.messages-page{padding-top:0!important}.mobile-chat-layout{padding:0!important;min-height:calc(100vh - 154px)}.mobile-chat-layout .row{--bs-gutter-x:0}.list-column{padding:12px!important}.chat-column{padding:0!important}.chat-panel{height:calc(100vh - 82px)!important;border-radius:0!important;border-left:0;border-right:0}.chat-body{padding:12px 12px 130px!important;scroll-behavior:smooth}.chat-composer{position:fixed;left:0;right:0;bottom:64px;z-index:1025;border-top:1px solid var(--stroke);padding:10px 12px 12px;background:#160d2c}html[data-theme=light] .chat-composer{background:#fff}.conversation-card{border-radius:18px}.conversation-card .avatar{width:52px;height:52px}.mobile-back-chat{display:inline-flex!important}.messages-page .container{max-width:100%}.message-tools{padding-bottom:8px}.bubble{max-width:86%;font-size:.96rem}.bubble.me{border-bottom-right-radius:8px}.bubble.them{border-bottom-left-radius:8px}}
/* V10 refinements */
.action-stack form{display:inline-flex}.profile-action-btn{min-width:44px}.icebreaker-box .btn{white-space:normal;text-align:left}.date-mini-card{transition:.2s ease}.date-mini-card:hover{transform:translateY(-3px)}
@media(max-width:991.98px){.icebreaker-box{margin-bottom:110px!important}.icebreaker-box .d-flex.flex-wrap{display:grid!important;grid-template-columns:1fr;gap:8px!important}.icebreaker-box form,.icebreaker-box .btn{width:100%}.chat-body{min-height:0}.chat-panel{overflow:hidden}.chat-composer input.form-control{min-height:46px}.message-tools form{flex:0 0 auto}.profile-action-btn{min-width:48px;height:44px}}
/* V11 AJAX + micro-interactions */
.toast-glass{background:#1a102f!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;box-shadow:0 18px 55px rgba(0,0,0,.28)}
html[data-theme=light] .toast-glass{background:#fff!important;color:#21142f!important;border-color:rgba(102,70,140,.18)!important}.toast-glass .toast-body{color:inherit}.btn.active,.profile-action-btn.active{box-shadow:0 0 0 .25rem rgba(255,79,163,.22),0 12px 30px rgba(255,79,163,.18)}.js-profile-action button:disabled{opacity:.75}.reaction-card{border:1px solid var(--stroke);background:var(--glass);border-radius:22px;padding:14px}.profile-card.removing{opacity:0;transform:scale(.96)}

/* V13 mobile header + footer premium */
.mobile-topbar{min-height:66px;box-shadow:0 12px 38px rgba(0,0,0,.22)}
.mobile-head-action{position:relative;width:42px;height:42px;border-radius:17px;background:linear-gradient(145deg,var(--glass-strong),rgba(255,255,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px rgba(0,0,0,.12)}
.mobile-head-action i{font-size:1.08rem}.mobile-avatar-link{display:grid;place-items:center;width:42px;height:42px;border-radius:17px;border:1px solid var(--stroke);background:var(--glass-strong)}
.mobile-smart-menu{width:min(92vw,360px)!important;border-radius:24px!important;overflow:hidden;margin-top:12px!important;background:rgba(21,12,42,.98)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 28px 80px rgba(0,0,0,.32)!important;backdrop-filter:none!important;color:#fff!important}
html[data-theme=light] .mobile-smart-menu{background:#fff!important;color:#21142f!important;border-color:rgba(102,70,140,.18)!important;box-shadow:0 28px 80px rgba(80,50,120,.18)!important}
.mobile-smart-menu .smart-menu-head{padding:14px 16px;background:linear-gradient(135deg,rgba(255,79,163,.18),rgba(139,92,246,.16));display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-smart-menu .smart-menu-head a{font-size:.78rem;font-weight:850;color:var(--pink)}
.mobile-smart-menu .smart-item{padding:13px 15px!important;border-bottom:1px solid rgba(255,255,255,.08)}html[data-theme=light] .mobile-smart-menu .smart-item{border-color:rgba(60,30,80,.08)}
.mobile-smart-menu .smart-item:last-child{border-bottom:0}.mobile-smart-menu .smart-item i{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--pink),#8b5cf6);color:#fff;flex:0 0 auto}.mobile-smart-menu .smart-item span{font-weight:850}.mobile-smart-menu .smart-item small{display:block;color:var(--muted);font-weight:650;margin-top:2px;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-card-nav{padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(18,10,36,.72),rgba(18,10,36,.96));border-top:1px solid rgba(255,255,255,.16);box-shadow:0 -18px 50px rgba(0,0,0,.32);backdrop-filter:blur(22px);z-index:1050}
html[data-theme=light] .mobile-card-nav{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.97));border-top:1px solid rgba(102,70,140,.16);box-shadow:0 -18px 50px rgba(74,44,105,.14)}
.mobile-nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:560px;margin:0 auto}.mobile-nav-card{position:relative;min-height:58px;border-radius:20px;border:1px solid var(--stroke);background:linear-gradient(145deg,var(--glass),rgba(255,255,255,.06));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-weight:850;font-size:.69rem;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.14);transition:.2s ease}.mobile-nav-card i{font-size:1.18rem;line-height:1}.mobile-nav-card.active,.mobile-nav-card:hover,.mobile-nav-button[aria-expanded=true]{color:#fff;background:linear-gradient(135deg,var(--pink),#8b5cf6);transform:translateY(-2px);box-shadow:0 14px 32px rgba(255,79,163,.25)}html[data-theme=light] .mobile-nav-card.active,html[data-theme=light] .mobile-nav-card:hover,html[data-theme=light] .mobile-nav-button[aria-expanded=true]{color:#fff}.mobile-nav-button{width:100%;border:0}.mobile-nav-drop{min-width:0}.mobile-nav-card em{position:absolute;right:8px;top:6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ffe27a;color:#21142f;font-style:normal;font-size:.68rem;display:grid;place-items:center;font-weight:950;box-shadow:0 6px 16px rgba(255,226,122,.28)}
.mobile-nav-card-flash{background:linear-gradient(135deg,#ff7b39,#ff4d8d 58%,#8b5cf6);color:#fff;border-color:rgba(255,255,255,.22);transform:translateY(-9px) scale(1.03);box-shadow:0 18px 38px rgba(255,79,163,.33),0 10px 24px rgba(255,123,57,.22)}
.mobile-nav-card-flash i{font-size:1.28rem}
.mobile-nav-card-flash span{font-size:.72rem}
.mobile-nav-card-flash.active,.mobile-nav-card-flash:hover{transform:translateY(-11px) scale(1.04);background:linear-gradient(135deg,#ff7b39,#ff4d8d 58%,#8b5cf6);box-shadow:0 22px 42px rgba(255,79,163,.38),0 10px 24px rgba(255,123,57,.26)}
.mobile-bottom-menu{width:min(92vw,340px);border-radius:24px;margin-bottom:12px!important;background:rgba(21,12,42,.98)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 -24px 70px rgba(0,0,0,.32)!important;backdrop-filter:none!important}.mobile-bottom-menu a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;color:#fff!important}.mobile-bottom-menu a:hover{background:rgba(255,255,255,.09)}.mobile-bottom-menu i{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#8b5cf6);color:#fff}.mobile-bottom-menu span{font-weight:900}.mobile-bottom-menu small{display:block;color:rgba(255,255,255,.62);font-weight:650}.mobile-bottom-menu:before{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%) rotate(45deg);width:16px;height:16px;background:inherit;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}html[data-theme=light] .mobile-bottom-menu{background:#fff!important;border-color:rgba(102,70,140,.18)!important;box-shadow:0 -24px 70px rgba(74,44,105,.18)!important}html[data-theme=light] .mobile-bottom-menu a{color:#21142f!important}html[data-theme=light] .mobile-bottom-menu a:hover{background:rgba(139,92,246,.08)}html[data-theme=light] .mobile-bottom-menu small{color:rgba(33,20,47,.58)}
@media(max-width:575.98px){body{padding-bottom:88px}.mobile-header .navbar-brand .brand-gradient{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header .logo-orb{width:34px;height:34px;border-radius:13px}.icon-btn{width:40px;height:40px}.mobile-nav-grid{gap:6px}.mobile-nav-card{border-radius:18px;min-height:56px;font-size:.65rem}.mobile-bottom-menu{left:50%!important;right:auto!important;transform:translateX(-50%)!important}}


/* V14 polish */
.profile-action-btn.active, .js-profile-action .btn.active{box-shadow:0 0 0 .22rem rgba(255,78,128,.22),0 14px 34px rgba(255,78,128,.25);transform:translateY(-1px)}
.btn-warning.active{box-shadow:0 0 0 .22rem rgba(255,193,7,.25),0 14px 34px rgba(255,193,7,.18)!important}
.cs-visible-range{accent-color:#ff4e80;min-height:28px}.cs-visible-range::-webkit-slider-thumb{box-shadow:0 0 0 5px rgba(255,78,128,.18)}
.selected-partner-card{display:flex;align-items:center;gap:.75rem;padding:.8rem;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16)}
.selected-partner-card img{width:42px;height:42px;border-radius:14px;object-fit:cover}.selected-partner-card small{display:block;color:var(--muted)}
.proposal-highlight{animation:proposalPulse 1.2s ease;border-color:rgba(255,78,128,.7)!important}@keyframes proposalPulse{0%,100%{transform:translateY(0)}35%{transform:translateY(-4px);box-shadow:0 30px 80px rgba(255,78,128,.22)}}
[data-fill-date].active{background:linear-gradient(135deg,#ff4e80,#ff8a00)!important;color:#fff!important;border-color:transparent!important}
html[data-theme="light"] .selected-partner-card{background:#fff;border-color:rgba(30,30,50,.10);box-shadow:0 12px 30px rgba(30,30,50,.08)}
html[data-theme="light"] .cs-visible-range{accent-color:#d6336c}

/* V15 - Découverte mobile-first */
.discover-shell{min-height:100vh;padding:118px 14px 112px;max-width:980px;margin:0 auto}.discover-hero{padding:18px;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.discover-hero h1{font-size:clamp(1.35rem,5vw,2.2rem)}.discover-filter-bar{position:sticky;top:74px;z-index:20;display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px;border-radius:24px;margin-bottom:16px}.discover-filter-bar>div{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:16px;background:rgba(255,255,255,.08);font-size:.82rem;white-space:nowrap}.discover-stage{position:relative;min-height:650px;max-width:460px;margin:0 auto}.discover-card{position:absolute;inset:0;border-radius:34px;overflow:hidden;display:flex;flex-direction:column;touch-action:pan-y;transition:transform .28s ease,opacity .28s ease;box-shadow:0 24px 70px rgba(0,0,0,.28);transform:translateY(calc(var(--stack) * -1px)) scale(calc(1 - (var(--stack) * .002)))}.discover-card[data-intent="love"]{box-shadow:0 24px 80px rgba(255,58,125,.35)}.discover-card[data-intent="pass"]{box-shadow:0 24px 80px rgba(40,40,55,.45)}.discover-card.is-gone{pointer-events:none;opacity:0}.discover-card.gone-love{transform:translateX(120%) rotate(16deg)!important}.discover-card.gone-pass{transform:translateX(-120%) rotate(-16deg)!important}.discover-photo-wrap{position:relative;min-height:390px;overflow:hidden}.discover-photo{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}.discover-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 36%,rgba(0,0,0,.88))}.discover-top-pills{position:absolute;left:16px;right:16px;top:16px;display:flex;gap:8px;flex-wrap:wrap}.pill-soft{display:inline-flex;gap:6px;align-items:center;padding:8px 11px;border-radius:999px;background:rgba(15,15,25,.72);backdrop-filter:blur(10px);color:#fff;font-size:.82rem}.discover-person{position:absolute;left:18px;right:18px;bottom:18px;color:#fff}.discover-person h2{font-size:2rem;font-weight:950;margin:0}.discover-person p{margin:4px 0 0;opacity:.9}.discover-body{padding:18px 18px 20px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));display:flex;flex-direction:column;gap:13px;flex:1}.discover-bio{font-size:.98rem;margin:0;color:var(--text)}.discover-insights{display:grid;grid-template-columns:1fr 1fr;gap:8px}.discover-insights span{border-radius:18px;background:rgba(255,255,255,.08);padding:10px;font-size:.82rem;color:var(--muted);display:flex;gap:6px;align-items:center}.discover-actions{display:grid;grid-template-columns:64px 64px 64px 1fr;gap:10px;align-items:center;margin-top:auto}.discover-actions form{margin:0}.discover-btn{width:100%;height:58px;border:0;border-radius:22px;display:grid;place-items:center;text-decoration:none;font-size:1.35rem;background:rgba(255,255,255,.12);color:var(--text);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:.2s}.discover-btn:hover,.discover-btn.active{transform:translateY(-2px)}.discover-btn.pass{color:#aab}.discover-btn.info{color:#74d4ff}.discover-btn.fav.active,.discover-btn.fav:hover{background:#ffd166;color:#241306}.discover-btn.love{border-radius:24px;background:linear-gradient(135deg,#ff3a7d,#ff7a59);color:white;font-size:1.55rem}.discover-counter{text-align:center;color:var(--muted);font-size:.82rem}.discover-mini-tools{max-width:460px;margin:18px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.discover-mini-tools a{border-radius:22px;padding:13px 8px;text-align:center;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:5px;align-items:center;font-size:.8rem}.discover-mini-tools i{font-size:1.25rem;color:#ff5b8d}.discover-empty{max-width:460px;margin:0 auto;padding:45px 24px;text-align:center;border-radius:34px}
@media (max-width:575px){.discover-shell{padding-top:92px}.discover-hero{padding:16px}.discover-filter-bar{overflow-x:auto;justify-content:flex-start;top:62px}.discover-stage{min-height:620px}.discover-photo-wrap,.discover-photo{min-height:360px}.discover-actions{grid-template-columns:58px 58px 58px 1fr}.discover-btn{height:54px;border-radius:20px}.discover-person h2{font-size:1.7rem}.desktop-header{display:none!important}}
html[data-theme="light"] .discover-filter-bar>div,html[data-theme="light"] .discover-insights span,html[data-theme="light"] .discover-btn{background:rgba(255,255,255,.88);box-shadow:inset 0 0 0 1px rgba(25,25,35,.08)}

/* V16 - correction menu + discover propre */
html,body{overflow-x:hidden}.desktop-header .navbar-nav{flex-wrap:wrap}.desktop-header .nav-link{border-radius:999px;padding:.55rem .85rem}.desktop-header .nav-link.active{background:rgba(255,79,163,.14)}
.discover-shell{width:100%;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.discover-stage{height:min(660px,calc(100dvh - 235px));min-height:560px}.discover-card{height:100%;background:var(--dark-card)}.discover-photo-wrap{height:58%;min-height:0;flex:0 0 58%}.discover-photo{height:100%;min-height:0}.discover-body{min-height:0}.discover-actions{grid-template-columns:repeat(4,1fr)}.discover-btn.love{border-radius:22px}.discover-filter-bar::-webkit-scrollbar{display:none}.discover-filter-bar{scrollbar-width:none}.discover-mini-tools{grid-template-columns:repeat(4,1fr)}.discover-mini-tools .profiles-shortcut i{color:#41e5ff}
@media(max-width:575.98px){.discover-shell{padding-top:82px;padding-bottom:112px}.discover-hero{display:none}.discover-filter-bar{top:58px;margin-bottom:10px;border-radius:20px}.discover-stage{height:calc(100dvh - 230px);min-height:500px;max-width:100%}.discover-card{border-radius:28px}.discover-photo-wrap{height:60%;flex-basis:60%}.discover-body{padding:14px;gap:10px}.discover-bio{font-size:.92rem}.discover-insights{grid-template-columns:1fr}.discover-actions{gap:8px}.discover-btn{height:52px;border-radius:18px}.discover-mini-tools{position:relative;z-index:2;margin-top:12px;gap:8px}.discover-mini-tools a{border-radius:18px;padding:10px 6px;font-size:.68rem}.discover-mini-tools i{font-size:1.05rem}.discover-person h2{font-size:1.55rem}.discover-person p{font-size:.86rem}.pill-soft{font-size:.74rem;padding:7px 9px}}
@media(min-width:768px){.discover-stage{height:650px}.discover-mini-tools{grid-template-columns:repeat(4,1fr)}}
html[data-theme="light"] .discover-card{background:#fff;box-shadow:0 22px 60px rgba(76,45,105,.18)}html[data-theme="light"] .discover-body{background:linear-gradient(180deg,#fff,#fff8fc)}

/* V17 - Discover responsive desktop premium */
@media (min-width: 768px){
  .discover-shell{
    max-width:1180px;
    padding-top:118px;
    padding-bottom:80px;
  }
  .discover-hero{
    padding:24px 26px;
    border-radius:34px;
    background:
      radial-gradient(circle at top left, rgba(255,58,125,.22), transparent 34%),
      radial-gradient(circle at top right, rgba(116,212,255,.16), transparent 32%),
      var(--glass-bg);
  }
  .discover-hero h1{font-size:2.55rem;letter-spacing:-.045em;}
  .discover-hero p{max-width:620px;font-size:1.02rem;}
  .discover-filter-bar{
    top:88px;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    padding:12px;
    border-radius:28px;
    justify-content:flex-start;
  }
  .discover-filter-bar>div{
    min-width:170px;
    justify-content:center;
    padding:12px 15px;
    font-weight:800;
  }
  .discover-filter-bar .btn{margin-left:auto;min-width:54px;}
  .discover-stage{
    max-width:1080px;
    height:660px;
    min-height:660px;
    margin:22px auto 0;
    perspective:1200px;
  }
  .discover-card{
    display:grid;
    grid-template-columns:minmax(420px, 52%) 1fr;
    border-radius:42px;
    overflow:hidden;
    background:
      linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.045)),
      var(--dark-card);
    box-shadow:0 35px 90px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.09);
  }
  .discover-photo-wrap{
    height:100%;
    min-height:0;
    flex-basis:auto;
  }
  .discover-photo{
    height:100%;
    min-height:0;
    transform:scale(1.01);
  }
  .discover-gradient{
    background:linear-gradient(180deg,rgba(0,0,0,.20),transparent 42%,rgba(0,0,0,.72));
  }
  .discover-person{left:28px;right:28px;bottom:28px;}
  .discover-person h2{font-size:3rem;letter-spacing:-.055em;}
  .discover-person p{font-size:1.04rem;}
  .discover-top-pills{left:24px;right:24px;top:24px;}
  .pill-soft{padding:10px 14px;font-size:.9rem;}
  .discover-body{
    padding:34px;
    gap:18px;
    justify-content:center;
    background:
      radial-gradient(circle at 100% 0%, rgba(255,58,125,.12), transparent 32%),
      linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  }
  .discover-body:before{
    content:'Découverte compatible';
    display:inline-flex;
    align-self:flex-start;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(255,58,125,.15);
    color:#ff8bae;
    font-size:.78rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .discover-bio{
    font-size:1.08rem;
    line-height:1.65;
    padding:18px;
    border-radius:24px;
    background:rgba(255,255,255,.07);
  }
  .discover-insights{
    grid-template-columns:1fr;
  }
  .discover-insights span{
    padding:15px;
    font-size:.95rem;
    border-radius:22px;
  }
  .discover-actions{
    grid-template-columns:repeat(4,1fr);
    gap:13px;
    margin-top:12px;
  }
  .discover-btn{
    height:70px;
    border-radius:26px;
    font-size:1.55rem;
  }
  .discover-btn.love{font-size:1.75rem;border-radius:28px;}
  .discover-counter{
    margin-top:4px;
    font-weight:800;
  }
  .discover-mini-tools{
    max-width:1080px;
    grid-template-columns:repeat(4,1fr);
    margin-top:22px;
  }
  .discover-mini-tools a{
    flex-direction:row;
    justify-content:center;
    padding:18px 16px;
    border-radius:26px;
    font-size:.95rem;
    font-weight:850;
  }
  .discover-mini-tools i{font-size:1.35rem;}
  html[data-theme="light"] .discover-card{
    background:#fff;
    box-shadow:0 30px 80px rgba(76,45,105,.20), inset 0 0 0 1px rgba(30,20,45,.06);
  }
  html[data-theme="light"] .discover-body{
    background:radial-gradient(circle at 100% 0%, rgba(255,58,125,.10), transparent 36%), linear-gradient(180deg,#fff,#fff8fc);
  }
  html[data-theme="light"] .discover-bio,
  html[data-theme="light"] .discover-insights span{
    background:#fff;
    box-shadow:inset 0 0 0 1px rgba(30,20,45,.08);
  }
}

/* V58 - messagerie mobile bord a bord type application */
@media(max-width:991.98px){
    body:has(.messages-page){
        padding-top:64px!important;
        padding-bottom:74px!important;
        height:100dvh!important;
        overflow:hidden!important;
    }
    main.container.messages-page{
        width:100%!important;
        max-width:100%!important;
        height:var(--cs-mobile-app-height, calc(100dvh - 64px - 74px))!important;
        min-height:var(--cs-mobile-app-height, calc(100dvh - 64px - 74px))!important;
        max-height:var(--cs-mobile-app-height, calc(100dvh - 64px - 74px))!important;
        margin:0!important;
        padding:0!important;
    }
    .messages-page > .mobile-chat-layout{
        height:100%!important;
        min-height:100%!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }
    .messages-page > .mobile-chat-layout > .row{
        height:100%!important;
        margin:0!important;
        --bs-gutter-x:0!important;
        --bs-gutter-y:0!important;
    }
    .messages-page .list-column,
    .messages-page .chat-column{
        height:100%!important;
        margin:0!important;
        padding:0!important;
    }
    .mobile-chat-layout.chat-open .chat-column{
        display:block!important;
    }
    .mobile-chat-layout.chat-open .chat-panel{
        height:100%!important;
        min-height:100%!important;
        max-height:100%!important;
    }
    .chat-panel{
        border:0!important;
        border-radius:0!important;
        margin:0!important;
        box-shadow:none!important;
    }
    .chat-thread-head{
        position:sticky!important;
        top:0!important;
        margin:0!important;
        padding:10px 12px!important;
        border-radius:0!important;
    }
    .chat-body{
        padding:10px 12px!important;
    }
    .chat-composer{
        position:sticky!important;
        left:auto!important;
        right:auto!important;
        bottom:0!important;
        margin:0!important;
        padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;
        border-radius:0!important;
        box-shadow:0 -8px 20px rgba(0,0,0,.12)!important;
    }
}

@media (min-width: 1200px){
  .discover-stage{max-width:1120px;height:700px;min-height:700px;}
  .discover-card{grid-template-columns:55% 45%;}
}

/* V18 - Rencontres Flash : page type cartes rapide, PC + mobile */
.flash-page{min-height:100vh}.flash-shell{max-width:1580px;margin:0 auto}.flash-side{position:sticky;top:105px}.flash-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.flash-mini-stats div{border:1px solid var(--stroke);background:rgba(255,255,255,.07);border-radius:18px;padding:13px;text-align:center}.flash-mini-stats b{display:block;font-size:1.1rem}.flash-mini-stats span{font-size:.75rem;color:var(--muted)}.flash-tip{display:flex;gap:12px;padding:14px;border-radius:18px;background:rgba(255,79,163,.12);border:1px solid rgba(255,79,163,.22)}.flash-tip i{font-size:1.3rem;color:var(--pink)}.flash-stage{position:relative;min-height:760px}.flash-card{position:absolute;inset:0;display:none;overflow:hidden;border-radius:34px;background:var(--dark-card);border:1px solid var(--stroke);box-shadow:0 30px 90px rgba(0,0,0,.28)}.flash-card.active{display:grid;grid-template-rows: minmax(360px, 1fr) auto;animation:flashIn .22s ease}.flash-photo-wrap{position:relative;min-height:420px;overflow:hidden}.flash-photo{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}.flash-photo-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.05) 40%,rgba(0,0,0,.75))}.flash-score{position:absolute;right:22px;top:22px;width:108px;height:108px;border-radius:35px;background:rgba(255,255,255,.92);color:#1c1028;display:grid;place-items:center;text-align:center;box-shadow:0 22px 55px rgba(0,0,0,.22);transform:rotate(2deg)}.flash-score span{display:block;font-size:1.8rem;font-weight:950;line-height:1}.flash-score small{display:block;font-size:.72rem;font-weight:850;text-transform:uppercase}.flash-content{padding:26px 28px 28px}.flash-bio{font-size:1rem;color:var(--muted);line-height:1.55}.flash-axis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.flash-axis-grid div{background:rgba(255,255,255,.08);border:1px solid var(--stroke);border-radius:18px;padding:12px}.flash-axis-grid span{display:block;font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flash-axis-grid b{font-size:1rem}.flash-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.flash-btn{width:100%;min-height:76px;border:0;border-radius:26px;font-weight:950;color:var(--text);background:var(--glass);border:1px solid var(--stroke);display:grid;place-items:center;transition:.18s ease}.flash-btn i{font-size:1.55rem}.flash-btn span{font-size:.8rem}.flash-btn:hover{transform:translateY(-2px)}.flash-btn.pass{background:rgba(255,255,255,.08)}.flash-btn.review.active,.flash-btn.review:hover{background:#ffe27a;color:#221600}.flash-btn.love.active,.flash-btn.love:hover{background:linear-gradient(135deg,var(--pink),#8b5cf6);color:#fff}.flash-option-list{display:grid;gap:11px}.flash-option-list a{display:flex;gap:12px;padding:14px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid var(--stroke)}.flash-option-list a:hover{background:rgba(255,79,163,.14)}.flash-option-list i{font-size:1.45rem;color:var(--pink)}.flash-option-list small{display:block;color:var(--muted);font-size:.75rem}.flash-keys{display:flex;flex-wrap:wrap;gap:8px}.flash-keys span{padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.78rem;color:var(--muted)}.flash-mobile-progress{text-align:center;color:var(--muted);font-weight:850}.flash-empty{min-height:540px;display:grid;place-items:center}@keyframes flashIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}html[data-theme=light] .flash-score{background:#fff;color:#21142f}html[data-theme=light] .flash-btn.pass,html[data-theme=light] .flash-axis-grid div,html[data-theme=light] .flash-option-list a,html[data-theme=light] .flash-mini-stats div{background:rgba(255,255,255,.72)}
@media(min-width:1200px){.flash-card.active{grid-template-rows: 1fr auto}.flash-stage{min-height:780px}.flash-photo-wrap{min-height:475px}.flash-photo{min-height:475px}.flash-content{background:linear-gradient(180deg,rgba(18,12,38,.86),rgba(18,12,38,.96))}html[data-theme=light] .flash-content{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.98))}}
@media(max-width:1199.98px){.flash-page{padding-bottom:92px}.flash-stage{min-height:calc(100vh - 160px)}.flash-card{border-radius:0;inset:0 0 auto 0;min-height:calc(100vh - 190px)}.flash-card.active{grid-template-rows:minmax(48vh,1fr) auto}.flash-photo-wrap,.flash-photo{min-height:48vh}.flash-content{padding:20px}.flash-side{position:static}.flash-axis-grid{grid-template-columns:repeat(2,1fr)}.flash-actions{gap:9px}.flash-btn{min-height:66px;border-radius:22px}.flash-shell{border-radius:0!important;border-left:0!important;border-right:0!important}.flash-hero{padding-left:0!important;padding-right:0!important}.flash-hero .row{--bs-gutter-x:0}.flash-hero aside{padding-left:12px;padding-right:12px}.flash-hero section{padding-left:0;padding-right:0}}
@media(max-width:575.98px){.flash-page{padding-top:0!important}.flash-stage{min-height:calc(100vh - 135px)}.flash-card{min-height:calc(100vh - 150px)}.flash-content h2{font-size:1.55rem}.flash-score{width:86px;height:86px;border-radius:28px;right:16px;top:16px}.flash-score span{font-size:1.35rem}.flash-actions{position:sticky;bottom:88px;z-index:3}.flash-axis-grid{display:none}.flash-bio{font-size:.94rem;max-height:72px;overflow:hidden}.flash-mini-stats{grid-template-columns:1fr 1fr 1fr}.flash-side{border-radius:24px!important}}

/* V19 profile premium + virtual gifts */
.profile-hero-pro{border-radius:34px}.profile-carousel-pro{min-height:540px}.profile-photo-pro{height:100%;min-height:540px;position:relative;overflow:hidden;background:#111}.profile-photo-pro img{width:100%;height:100%;object-fit:cover;display:block}.photo-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.70))}.profile-photo-caption{position:absolute;left:24px;right:24px;bottom:22px;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:16px}.profile-photo-caption b{font-size:clamp(1.7rem,3vw,3rem);font-weight:900}.profile-photo-caption span{background:rgba(255,255,255,.18);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.45rem .8rem}.compat-mini-card{display:flex;gap:16px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:16px}.compat-mini-card small{display:block;color:var(--muted)}.profile-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-action-grid .btn{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.profile-bio-text{font-size:1.08rem;line-height:1.8}.info-pill{height:100%;padding:18px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.info-pill small{display:block;color:var(--muted);margin-bottom:4px}.info-pill b{display:block}.likes-cloud{display:flex;flex-wrap:wrap;gap:10px}.likes-cloud span{border-radius:999px;padding:.65rem 1rem;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);font-weight:700}.gift-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.gift-feed>div{border-radius:22px;background:rgba(255,255,255,.09);padding:16px;display:grid;gap:2px}.gift-feed span{font-size:2rem}.gift-feed small{color:var(--muted)}.gift-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gift-mini{width:100%;border:0;border-radius:22px;padding:14px;background:rgba(255,255,255,.10);color:inherit;border:1px solid rgba(255,255,255,.14);text-align:left;transition:.2s}.gift-mini:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(0,0,0,.18)}.gift-mini span{font-size:1.9rem;display:block}.gift-mini b,.gift-mini small{display:block}.gift-card-pro{border:1px solid rgba(255,255,255,.12)}.gift-emoji{font-size:4rem;line-height:1;margin-bottom:14px}.credit-pack-featured{box-shadow:0 24px 70px rgba(255,69,132,.22);border:1px solid rgba(255,255,255,.28)}.avatar.xl{width:68px;height:68px}.table{--bs-table-bg:transparent;--bs-table-color:inherit}
[data-theme="light"] .compat-mini-card,[data-theme="light"] .info-pill,[data-theme="light"] .likes-cloud span,[data-theme="light"] .gift-feed>div,[data-theme="light"] .gift-mini{background:rgba(255,255,255,.92);border-color:rgba(20,20,40,.08)}
@media (max-width: 991px){.profile-carousel-pro,.profile-photo-pro{min-height:430px}.profile-action-grid{grid-template-columns:repeat(4,1fr)}.profile-action-grid .btn span{font-size:.72rem}.profile-action-grid .btn{min-height:58px;padding:.55rem}.profile-photo-caption{left:16px;right:16px}.gift-quick-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 575px){.profile-pro-page{padding-left:10px;padding-right:10px}.profile-carousel-pro,.profile-photo-pro{min-height:380px}.profile-action-grid{gap:8px}.profile-photo-caption{display:block}.profile-photo-caption b{display:block;margin-top:8px}.gift-quick-grid{grid-template-columns:1fr}.display-5{font-size:2rem}}


/* V20 cadeaux */
.gifts-page .gift-hero{overflow:hidden;position:relative}.gifts-page .gift-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,141,.32),transparent 70%);pointer-events:none}.credits-wallet{border-radius:28px;padding:26px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.16)}.gift-recipient-select{max-width:420px}.gift-card-pro{position:relative;transition:.25s ease;border:1px solid rgba(255,255,255,.10)}.gift-card-pro:hover{transform:translateY(-6px);border-color:rgba(255,77,141,.45);box-shadow:0 22px 70px rgba(255,77,141,.12)}.gift-card-pro.is-done{outline:2px solid rgba(54,211,153,.65)}.gift-emoji{font-size:48px;line-height:1;margin-bottom:12px}.gift-desc{min-height:54px}.gift-cost{font-weight:800;border-radius:999px;padding:6px 10px;background:rgba(255,77,141,.14);color:#ff4d8d}.gift-list-mini,.credit-timeline{display:grid;gap:10px}.gift-mini-row,.gift-history-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.gift-mini-row span,.gift-history-card span{font-size:30px}.gift-mini-row small,.gift-history-card small,.credit-line small{display:block;color:var(--muted)}.credit-line{padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border-left:4px solid rgba(255,77,141,.65)}.credit-line.plus{border-left-color:rgba(54,211,153,.9)}.selected-recipient{border-color:rgba(255,77,141,.26)}
@media(max-width:767px){.gifts-page{padding-top:92px!important;padding-bottom:110px}.gift-emoji{font-size:38px}.gift-desc{min-height:72px}.gift-recipient-select{width:100%;max-width:none}.gifts-page .display-5{font-size:2rem}.gift-card-pro{border-radius:24px}.gift-card-pro .btn{font-size:.88rem}}
html[data-theme="light"] .gift-cost{background:rgba(255,77,141,.10)}html[data-theme="light"] .gift-mini-row,html[data-theme="light"] .gift-history-card,html[data-theme="light"] .credit-line{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.08)}

/* V21 - profil, cadeaux et goûts */
.message-status-card{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);box-shadow:0 18px 45px rgba(0,0,0,.16)}
.message-status-card i{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;font-size:1.25rem;background:linear-gradient(135deg,#ff4d8d,#ffd166);color:#17121d}.message-status-card small{display:block;color:var(--muted,#aeb4c5)}.message-status-card.is-locked i{background:rgba(255,255,255,.12);color:#fff}.compat-axis-scroll{max-height:310px;overflow:auto;padding-right:8px}.compat-axis-scroll::-webkit-scrollbar{width:7px}.compat-axis-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:20px}.soft-sep{border-color:rgba(255,255,255,.10);margin:18px 0}.pro-tags span{background:linear-gradient(135deg,rgba(255,77,141,.18),rgba(255,209,102,.12));border:1px solid rgba(255,255,255,.12)}.dislike-tags span{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);opacity:.85}.gift-modal-content{border:1px solid rgba(255,255,255,.12);background:rgba(18,18,28,.98);color:#fff;border-radius:30px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.gift-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gift-choice-card{width:100%;height:100%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07);border-radius:24px;color:inherit;padding:16px;text-align:left;transition:.2s}.gift-choice-card:hover{transform:translateY(-3px);border-color:rgba(255,209,102,.55);background:rgba(255,255,255,.12)}.gift-choice-card span{font-size:2.1rem;display:block}.gift-choice-card b{display:block;margin-top:6px}.gift-choice-card small{display:block;color:rgba(255,255,255,.72);min-height:38px}.gift-choice-card em{display:inline-flex;margin-top:10px;font-style:normal;font-weight:800;color:#ffd166}.interest-search-wrap{position:relative;min-width:min(360px,100%)}.interest-results{display:none;position:absolute;z-index:20;left:0;right:0;top:calc(100% + 8px);background:rgba(19,18,28,.98);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px;box-shadow:0 20px 55px rgba(0,0,0,.35);max-height:270px;overflow:auto}.interest-results.is-open{display:block}.interest-results button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#fff;padding:10px 12px;border-radius:14px;text-align:left}.interest-results button:hover{background:rgba(255,255,255,.08)}.interest-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.interest-card{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:24px;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center;transition:.2s}.interest-card.is-like{border-color:rgba(47,214,126,.5);background:rgba(47,214,126,.10)}.interest-card.is-dislike{border-color:rgba(255,92,122,.5);background:rgba(255,92,122,.10)}.interest-main span{font-size:1.5rem;margin-right:8px}.interest-main b{display:inline}.interest-main small{display:block;color:var(--muted,#aeb4c5);margin-top:3px}.interest-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.edit-profile-page .glass-dark{border:1px solid rgba(255,255,255,.09)}
html[data-theme="light"] .gift-modal-content,html[data-theme="light"] .interest-results{background:rgba(255,255,255,.98);color:#1d1a24}html[data-theme="light"] .interest-results button{color:#1d1a24}html[data-theme="light"] .message-status-card{background:rgba(255,255,255,.92);border-color:rgba(22,22,35,.08)}html[data-theme="light"] .message-status-card.is-locked i{background:#f2f2f7;color:#333}html[data-theme="light"] .gift-choice-card{background:rgba(255,255,255,.88);border-color:rgba(22,22,35,.09)}html[data-theme="light"] .gift-choice-card small{color:#666}html[data-theme="light"] .compat-axis-scroll::-webkit-scrollbar-thumb{background:rgba(20,20,35,.25)}
@media(max-width:767px){.gift-modal-grid,.interest-badge-grid{grid-template-columns:1fr}.interest-card{align-items:flex-start;flex-direction:column}.interest-actions{width:100%;justify-content:flex-start}.compat-axis-scroll{max-height:230px}.gift-choice-card small{min-height:auto}.profile-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V22 - corrections mobile header/dashboard */
@media (max-width: 575.98px){
  body{padding-top:64px!important;}
  .mobile-topbar{min-height:64px;padding-left:10px!important;padding-right:10px!important;}
  .mobile-topbar .navbar-brand{min-width:0;max-width:44vw;gap:7px!important;}
  .mobile-topbar .brand-gradient{font-size:.94rem;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;display:inline-block;}
  .mobile-topbar .logo-orb{width:34px;height:34px;border-radius:13px;flex:0 0 34px;}
  .mobile-topbar .icon-btn{width:38px;height:38px;border-radius:14px;}
  .mobile-topbar .avatar{width:38px;height:38px;}
  .mobile-topbar .d-flex.align-items-center.gap-2{gap:6px!important;}
  main.container, main.container-fluid{padding-top:22px!important;}
  .dashboard-hero{margin-top:0!important;padding:22px!important;}
  .dashboard-hero .display-5{font-size:2rem;line-height:1.05;}
}
@media (min-width:576px) and (max-width:991.98px){
  body{padding-top:68px!important;}
  main.container, main.container-fluid{padding-top:32px!important;}
}

/* V23 - correctif mobile header logo + espace sous header */
@media (max-width: 575.98px){
  body{
    padding-top:58px!important;
  }
  .mobile-header.mobile-topbar,
  .mobile-topbar,
  header.mobile-header{
    height:58px!important;
    min-height:58px!important;
    padding:6px 8px!important;
  }
  .mobile-topbar .navbar-brand,
  .mobile-header .navbar-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    overflow:visible!important;
    gap:6px!important;
    margin-right:4px!important;
  }
  .mobile-topbar .brand-gradient,
  .mobile-header .brand-gradient{
    display:inline-block!important;
    max-width:none!important;
    width:auto!important;
    min-width:104px!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:-.06em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .mobile-topbar .logo-orb,
  .mobile-header .logo-orb{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    flex:0 0 30px!important;
    border-radius:11px!important;
    font-size:.88rem!important;
  }
  .mobile-topbar .d-flex.align-items-center.gap-2,
  .mobile-header .d-flex.align-items-center.gap-2{
    gap:4px!important;
    flex:0 0 auto!important;
    margin-left:2px!important;
  }
  .mobile-topbar .icon-btn,
  .mobile-header .icon-btn{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-radius:12px!important;
    font-size:.92rem!important;
  }
  .mobile-topbar .avatar,
  .mobile-header .avatar,
  .mobile-avatar-link .avatar{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
  }
  .mobile-topbar .notif-badge,
  .mobile-header .notif-badge{
    min-width:18px!important;
    height:18px!important;
    font-size:.62rem!important;
    top:-6px!important;
    right:-6px!important;
  }
  main.container,
  main.container-fluid,
  main[style],
  .container[style]{
    padding-top:8px!important;
    margin-top:0!important;
  }
  .dashboard-hero,
  .hero-shell.dashboard-hero{
    margin-top:0!important;
    padding:18px!important;
  }
  .dashboard-hero .display-5{
    font-size:1.78rem!important;
    line-height:1.05!important;
  }
  .mobile-smart-menu{
    width:min(340px,92vw)!important;
    border-radius:22px!important;
  }
}

@media (max-width: 390px){
  .mobile-topbar .brand-gradient,
  .mobile-header .brand-gradient{
    font-size:13px!important;
    min-width:96px!important;
  }
  .mobile-topbar .icon-btn,
  .mobile-header .icon-btn,
  .mobile-topbar .avatar,
  .mobile-header .avatar,
  .mobile-avatar-link .avatar{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
  }
  .mobile-topbar .logo-orb,
  .mobile-header .logo-orb{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
  }
}

/* V26 - Rencontres Flash mobile-first redesign */
.flash-lite{padding-top:92px;min-height:100vh}.flash-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.flash-counter-pill{min-width:86px;height:56px;border-radius:22px;background:linear-gradient(135deg,rgba(255,79,141,.22),rgba(139,92,246,.18));border:1px solid var(--stroke);display:flex;align-items:baseline;justify-content:center;gap:4px;font-weight:950}.flash-counter-pill span{font-size:1.35rem}.flash-counter-pill small{color:var(--muted);font-weight:800}.flash-name-overlay{position:absolute;left:24px;right:130px;bottom:22px;z-index:2;color:#fff}.flash-name-overlay h2{font-weight:950;font-size:2rem;margin:0;text-shadow:0 8px 25px rgba(0,0,0,.35)}.flash-name-overlay h2 i{color:#69e8ff;font-size:1.25rem}.flash-name-overlay p{margin:.3rem 0 0;color:rgba(255,255,255,.85);font-weight:700}.flash-mobile-summary p{margin:0 0 14px;color:var(--muted);line-height:1.45}.flash-lite .flash-card{isolation:isolate}.flash-lite .flash-photo-gradient{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.08) 42%,rgba(0,0,0,.86))}
@media(min-width:1200px){.flash-lite .flash-stage{min-height:760px}.flash-lite .flash-card.active{grid-template-rows:minmax(470px,1fr) auto}.flash-lite .flash-content{padding:24px 28px 28px}.flash-lite .flash-photo-wrap,.flash-lite .flash-photo{min-height:470px}.flash-lite .flash-actions{margin-top:20px!important}.flash-lite .flash-btn{min-height:72px}.flash-lite .flash-topbar{padding:2px 4px 0}}
@media(max-width:1199.98px){.flash-lite{padding-top:72px!important;padding-bottom:82px}.flash-lite .flash-hero{padding:0!important}.flash-lite .flash-shell{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.flash-lite .flash-topbar{position:fixed;top:68px;left:0;right:0;z-index:20;padding:8px 12px;background:linear-gradient(180deg,var(--bg),rgba(18,12,38,.82));backdrop-filter:blur(16px);border-bottom:1px solid var(--stroke)}html[data-theme=light] .flash-lite .flash-topbar{background:linear-gradient(180deg,#fff,rgba(255,255,255,.82))}.flash-lite .flash-topbar h1{font-size:1.05rem;margin:0}.flash-lite .flash-topbar .badge,.flash-lite .flash-topbar p{display:none!important}.flash-lite .flash-counter-pill{height:38px;min-width:66px;border-radius:16px}.flash-lite .flash-counter-pill span{font-size:1rem}.flash-lite .row{--bs-gutter-x:0!important}.flash-lite section.col-xl-6{padding:0!important}.flash-lite .flash-stage{min-height:calc(100dvh - 150px);height:calc(100dvh - 150px);margin-top:51px;overflow:hidden}.flash-lite .flash-card{position:absolute;inset:0;min-height:0;height:100%;border-radius:0;border:0;background:#0d0920;box-shadow:none}.flash-lite .flash-card.active{display:grid;grid-template-rows:1fr auto}.flash-lite .flash-photo-wrap{min-height:0;height:100%;border-radius:0}.flash-lite .flash-photo{min-height:0;height:100%;object-fit:cover}.flash-lite .flash-name-overlay{left:18px;right:100px;bottom:22px}.flash-lite .flash-name-overlay h2{font-size:1.75rem;line-height:1.05}.flash-lite .flash-name-overlay p{font-size:.88rem}.flash-lite .flash-score{width:78px;height:78px;border-radius:25px;right:14px;top:14px;background:rgba(255,255,255,.94)}.flash-lite .flash-score span{font-size:1.25rem}.flash-lite .flash-score small{font-size:.62rem}.flash-lite .flash-content{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:0 14px 14px;background:linear-gradient(180deg,transparent,rgba(8,6,18,.28) 0%,rgba(8,6,18,.88) 34%,rgba(8,6,18,.98));}.flash-lite .flash-mobile-summary{padding:0 2px 10px}.flash-lite .flash-mobile-summary p{color:rgba(255,255,255,.84);font-size:.92rem;max-height:42px;overflow:hidden;margin-bottom:10px}.flash-lite .flash-mobile-summary .btn{height:42px;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.18);color:#fff}.flash-lite .flash-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:0!important}.flash-lite .flash-btn{height:64px;min-height:64px;border-radius:22px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.25)}.flash-lite .flash-btn i{font-size:1.45rem}.flash-lite .flash-btn span{font-size:.72rem}.flash-lite .flash-btn.pass{background:rgba(255,255,255,.16)}.flash-lite .flash-btn.review{background:rgba(255,226,122,.14)}.flash-lite .flash-btn.review.active{background:#ffe27a;color:#211400}.flash-lite .flash-btn.love{background:linear-gradient(135deg,rgba(255,77,141,.92),rgba(139,92,246,.9))}.flash-lite .flash-btn.love.active{filter:saturate(1.15) brightness(1.06)}.flash-lite .flash-empty{min-height:calc(100dvh - 170px);border-radius:0!important}.app-mobile-footer,.mobile-bottom-nav{z-index:30}}
@media(max-width:575.98px){.flash-lite{padding-top:67px!important}.flash-lite .flash-topbar{top:64px}.flash-lite .flash-stage{height:calc(100dvh - 145px);min-height:calc(100dvh - 145px)}.flash-lite .flash-name-overlay{bottom:160px;right:88px}.flash-lite .flash-score{top:12px;right:12px;width:72px;height:72px}.flash-lite .flash-content{padding-bottom:12px}.flash-lite .flash-mobile-summary p{display:none}.flash-lite .flash-mobile-summary .btn{margin-bottom:10px}.flash-lite .flash-actions{gap:8px}.flash-lite .flash-btn{height:60px;min-height:60px;border-radius:20px}.flash-lite .flash-btn i{font-size:1.35rem}.flash-lite .flash-btn span{font-size:.68rem}.flash-lite .flash-name-overlay h2{font-size:1.55rem}.flash-lite .flash-name-overlay p{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* V28 - Rencontres Flash mobile polish */
.flash-profile-pill{position:absolute;left:14px;top:14px;z-index:5;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.92);color:#22142d!important;font-weight:900;text-decoration:none;box-shadow:0 12px 35px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.flash-profile-pill i{font-size:1rem}.flash-profile-pill span{font-size:.82rem}
@media(max-width:1199.98px){
  .flash-lite .flash-topbar>div:first-child{display:none!important}
  .flash-lite .flash-topbar{justify-content:center!important;padding:6px 12px!important;min-height:48px}
  .flash-lite .flash-stage{margin-top:48px!important;height:calc(100dvh - 145px)!important;min-height:calc(100dvh - 145px)!important}
  .flash-lite .flash-content{padding:0 14px 18px!important}
  .flash-lite .flash-mobile-summary{padding-bottom:8px!important}
  .flash-lite .flash-actions{position:relative!important;bottom:auto!important;z-index:6!important}
  .flash-lite .flash-btn.review.active,
  .flash-lite .flash-btn.review.btn-warning,
  .flash-lite .flash-btn.review.text-dark,
  .flash-lite .flash-btn.review.is-done{background:#ffe27a!important;color:#201300!important;border-color:rgba(255,226,122,.85)!important;box-shadow:0 16px 38px rgba(255,226,122,.28)!important}
  .flash-lite .flash-btn.review.active i,
  .flash-lite .flash-btn.review.btn-warning i{color:#201300!important}
  .flash-lite .flash-btn.love.active,
  .flash-lite .flash-btn.love.btn-love{background:linear-gradient(135deg,#ff3d83,#8b5cf6)!important;color:#fff!important;box-shadow:0 16px 42px rgba(255,61,131,.32)!important}
}
@media(max-width:575.98px){
  .flash-lite{padding-top:64px!important}
  .flash-lite .flash-topbar{top:64px!important}
  .flash-lite .flash-stage{height:calc(100dvh - 142px)!important;min-height:calc(100dvh - 142px)!important}
  .flash-lite .flash-name-overlay{bottom:126px!important;right:86px!important}
  .flash-profile-pill{top:12px;left:12px;padding:8px 11px}.flash-profile-pill span{font-size:.78rem}
  .flash-lite .flash-score{top:12px!important;right:12px!important}
  .flash-lite .flash-mobile-summary p{display:none!important}
  .flash-lite .flash-content{padding-bottom:14px!important}
  .flash-lite .flash-actions{gap:8px!important}
}

/* V30 - dashboard images, SEO polish, production-ready cards */
.dashboard-profile-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden}.dashboard-photo-wrap{position:relative;display:block;height:255px;width:100%;overflow:hidden;background:rgba(0,0,0,.15)}.dashboard-profile-card .profile-img,.profile-card .profile-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.compat-floating{position:absolute;right:12px;top:12px;min-width:58px;height:58px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#8b5cf6);color:#fff;font-weight:950;box-shadow:0 16px 36px rgba(0,0,0,.25);border:2px solid rgba(255,255,255,.4)}.dashboard-card-bio{min-height:42px}.criteria-pills{display:flex;gap:10px;flex-wrap:wrap}.criteria-pills span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid var(--stroke);font-weight:800;font-size:.88rem}.dashboard-criteria-box{background:linear-gradient(135deg,rgba(255,79,163,.12),rgba(65,229,255,.08)),var(--glass)}.profile-card img.profile-photo,.profile-photo{object-position:center}.profile-card .profile-photo{min-height:330px}.profile-card h5,.profile-card h3{line-height:1.15}@media(max-width:575.98px){.dashboard-photo-wrap{height:295px}.dashboard-profile-card{border-radius:26px}.criteria-pills{gap:7px}.criteria-pills span{font-size:.78rem;padding:8px 10px}main.container{padding-top:88px!important}.dashboard-hero{margin-top:0!important}.profile-card .profile-photo{height:360px;min-height:360px}}
html[data-theme=light] .criteria-pills span,html[data-theme=light] .dashboard-profile-card{background:rgba(255,255,255,.86)}html[data-theme=light] .dashboard-photo-wrap{background:#f3edf8}

/* V31 - Modération & blocages */
.safety-page .safety-tile{display:block;text-decoration:none;color:inherit;min-height:210px;transition:.22s ease;border:1px solid rgba(255,255,255,.08)}
.safety-page .safety-tile:hover{transform:translateY(-5px);border-color:rgba(255,77,141,.35)}
.safety-stats,.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.safety-stats>div,.admin-stats>a{padding:16px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);text-align:center;text-decoration:none;color:inherit}
.safety-stats b,.admin-stats b{display:block;font-size:26px;line-height:1;font-weight:900}.safety-stats small,.admin-stats small{color:var(--muted);font-size:12px}.avatar-lg{width:64px;height:64px;border-radius:22px;object-fit:cover}.block-card{transition:.2s}.block-card:hover{transform:translateY(-3px)}
.report-card{border:1px solid rgba(255,255,255,.08)}.report-card.priority-high{border-color:rgba(255,77,141,.45);box-shadow:0 0 0 1px rgba(255,77,141,.18) inset}.report-details{padding:14px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}.mini-admin-form{display:grid;grid-template-columns:1fr;gap:8px}.admin-timeline{display:grid;gap:12px}.admin-timeline>div{padding:12px;border-radius:16px;background:rgba(255,255,255,.07)}.admin-timeline b,.admin-timeline small,.admin-timeline em{display:block}.admin-timeline small{color:var(--muted)}.admin-timeline em{font-style:normal;font-size:12px;margin-top:4px;opacity:.85}.profile-action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:768px){.profile-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-action-grid .btn{min-height:50px}.safety-stats,.admin-stats{grid-template-columns:1fr 1fr 1fr}.admin-stats small{font-size:10px}.report-card .avatar-lg{width:52px;height:52px;border-radius:18px}}

/* V33 - Vérification vidéo et badges */
.verified-badge{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:3px 7px;border-radius:999px;background:linear-gradient(135deg,#22c55e,#14b8a6);color:#fff;font-size:.72rem;font-weight:800;vertical-align:middle;box-shadow:0 8px 24px rgba(20,184,166,.25)}
.verified-badge i{font-size:.9rem}.member-chip .verified-badge{padding:0;background:transparent;box-shadow:none;color:#22c55e;margin-left:2px}.member-chip .verified-badge i{font-size:1rem}.verification-status-card{min-width:160px;padding:16px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:grid;gap:6px;text-align:center}.verification-status-card i{font-size:28px}.verification-status-card.ok{background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(20,184,166,.12));border-color:rgba(34,197,94,.35)}.verification-status-card.pending{background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(255,255,255,.06));border-color:rgba(245,158,11,.35)}.phrase-box{padding:18px;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.phrase-box small{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;margin-bottom:6px}.phrase-box div{font-size:1.15rem;font-weight:900}.video-recorder{position:relative;border-radius:28px;overflow:hidden;min-height:320px;display:grid;place-items:center}.video-recorder video{width:100%;height:360px;object-fit:cover;border-radius:22px;background:#050511}.recorder-overlay{position:absolute;top:18px;left:18px;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.5);color:#fff;border-radius:999px;padding:8px 12px}.recorder-overlay span{width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.2);animation:pulse 1s infinite}.verify-checklist{display:grid;gap:12px}.verify-checklist div{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.06)}.verify-checklist i{width:36px;height:36px;border-radius:14px;display:grid;place-items:center;background:rgba(255,77,141,.15);color:#ff4d8d}.verification-history-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:18px;background:rgba(255,255,255,.06)}.verification-history-item small{display:block;color:var(--muted)}.status-dot{width:12px;height:12px;border-radius:50%;margin-top:5px;background:#94a3b8}.status-dot.pending{background:#f59e0b}.status-dot.approved{background:#22c55e}.status-dot.rejected{background:#ef4444}.admin-verification-video{width:100%;max-height:360px;object-fit:contain;border-radius:22px;background:#050511}.verification-admin-card textarea{resize:vertical}.verify-line{background:linear-gradient(135deg,rgba(34,197,94,.14),rgba(20,184,166,.08))!important;border-color:rgba(34,197,94,.25)!important}@media(max-width:768px){.verification-page{padding-top:92px!important}.video-recorder{min-height:250px}.video-recorder video{height:260px}.phrase-box div{font-size:1rem}.verified-badge{font-size:.65rem;padding:2px 5px}}

/* V35 - corrections production */
.dashboard-photo-wrap, .dashboard-profile-card .profile-img{height:255px!important;min-height:255px!important;object-fit:cover!important}.profile-card .profile-photo{width:100%;height:330px!important;object-fit:cover!important}.daily-match-page .progress,.visibility-page .progress{height:8px;border-radius:99px;overflow:hidden}
@media(max-width:575.98px){.dashboard-photo-wrap,.dashboard-profile-card .profile-img{height:295px!important;min-height:295px!important}.profile-card .profile-photo{height:360px!important;min-height:360px!important}}

/* V39 - menu regroupé + avatar par défaut */
.member-menu-compact{width:380px!important;max-height:78vh;overflow:auto;border-radius:26px!important;padding:12px!important}
.member-menu-user{display:flex;align-items:center;gap:12px;padding:10px 10px 14px;margin-bottom:8px;border-bottom:1px solid var(--stroke)}
.member-menu-user .avatar{width:46px;height:46px;border-radius:18px;object-fit:cover}.member-menu-user b{display:block;line-height:1.05}.member-menu-user small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.member-menu-section{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0}.member-menu-section>span{grid-column:1/-1;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;padding:2px 4px}.member-menu-section a,.member-menu-compact .logout-link{display:flex!important;align-items:center;gap:8px;padding:9px 10px!important;border-radius:15px!important;text-decoration:none;color:inherit;font-weight:800;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.055)}.member-menu-section a:hover,.member-menu-compact .logout-link:hover{background:rgba(255,77,141,.14);border-color:rgba(255,77,141,.24)}.member-menu-section i,.member-menu-compact .logout-link i{color:#ff4d8d}.member-menu-section.admin-zone a{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.20)}.member-menu-compact hr{margin:10px 0;border-color:var(--stroke)}
.mobile-bottom-menu-compact{max-height:70vh;overflow:auto;min-width:315px!important;border-radius:26px!important}.mobile-menu-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:950;padding:9px 10px 5px}.mobile-bottom-menu-compact a{border-radius:18px!important;margin-bottom:4px}.mobile-bottom-menu-compact a i{width:34px;height:34px;display:grid;place-items:center;border-radius:13px;background:rgba(255,77,141,.13);color:#ff4d8d}.avatar,img.avatar,.mobile-avatar-link img{object-fit:cover;background:url('../img/Default-avatar.jpg') center/cover no-repeat}
.mobile-nav-drop-wide{position:static}
.mobile-bottom-menu-wide{width:min(100vw - 16px,560px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;max-height:68vh;overflow:auto;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}
.mobile-bottom-menu-wide:before{left:auto;right:26px;transform:rotate(45deg)}
@media(max-width:575.98px){.member-menu-compact{width:calc(100vw - 24px)!important}.member-menu-section{grid-template-columns:1fr}.mobile-bottom-menu-compact{min-width:calc(100vw - 20px)!important}.mobile-bottom-menu-wide{width:calc(100vw - 14px)!important}.mobile-nav-card-flash{transform:translateY(-7px) scale(1.02)}.mobile-nav-card-flash.active,.mobile-nav-card-flash:hover{transform:translateY(-9px) scale(1.03)}}

/* V41 - Profil enrichi */
.profile-mini-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}
.profile-mini-badges span{display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .72rem;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:.86rem;font-weight:700;color:#fff}
[data-theme="light"] .profile-mini-badges span{background:#fff;border-color:rgba(20,20,40,.10);color:#25172f;box-shadow:0 8px 22px rgba(20,20,40,.06)}
.profile-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
@media(max-width:576px){.profile-detail-grid{grid-template-columns:1fr}.relation-help-card{font-size:.92rem}}
.relation-help-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:var(--text-soft,#d9d6ea)}
[data-theme="light"] .relation-help-card{background:#fff;border-color:rgba(20,20,40,.10);color:#5e5870}


/* V42 - Compatibilité astrologique profil */
.zodiac-compat-card{position:relative;overflow:hidden}
.zodiac-compat-card:before{content:"";position:absolute;inset:-80px -120px auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,193,7,.18),transparent 62%);pointer-events:none}
.zodiac-score-badge{min-width:64px;height:64px;border-radius:22px;display:grid;place-items:center;font-weight:900;font-size:20px;color:#171019;background:linear-gradient(135deg,#ffd166,#ff8fab);box-shadow:0 18px 45px rgba(255,77,141,.22)}
.zodiac-duo{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}
.zodiac-duo>div{border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:16px;text-align:center;background:rgba(255,255,255,.055)}
.zodiac-duo span{display:block;font-size:34px;line-height:1;margin-bottom:6px}.zodiac-duo b{display:block}.zodiac-duo small{color:var(--muted,#aeb0c8)}
.zodiac-duo>i{color:#ff4d8d;font-size:22px}.zodiac-analysis{border-radius:22px;padding:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055)}
.zodiac-analysis.great{background:linear-gradient(135deg,rgba(25,135,84,.18),rgba(255,255,255,.04))}.zodiac-analysis.warm{background:linear-gradient(135deg,rgba(255,193,7,.18),rgba(255,255,255,.04))}.zodiac-analysis.neutral{background:linear-gradient(135deg,rgba(13,202,240,.14),rgba(255,255,255,.04))}
body.light-mode .zodiac-duo>div,body.light-mode .zodiac-analysis{background:rgba(255,255,255,.78);border-color:rgba(40,30,70,.1)}
@media(max-width:576px){.zodiac-duo{gap:8px}.zodiac-duo>div{padding:12px;border-radius:18px}.zodiac-duo span{font-size:28px}.zodiac-score-badge{min-width:54px;height:54px;border-radius:18px;font-size:17px}}


/* V48 autocomplete ville SQL */
.city-autocomplete{position:absolute;left:0;right:0;top:100%;z-index:2500;display:none;margin-top:8px;padding:8px;border-radius:18px;background:rgba(18,18,34,.98);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 45px rgba(0,0,0,.28);max-height:280px;overflow:auto;backdrop-filter:blur(16px)}
.city-autocomplete button{width:100%;border:0;background:transparent;color:#fff;text-align:left;padding:10px 12px;border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.city-autocomplete button:hover{background:rgba(255,255,255,.10)}
.city-autocomplete small{color:rgba(255,255,255,.55);font-size:11px;white-space:nowrap}.city-no-result{padding:12px;color:rgba(255,255,255,.7)}
[data-theme="light"] .city-autocomplete{background:#fff;color:#151525;border-color:rgba(20,20,40,.12);box-shadow:0 18px 45px rgba(30,30,60,.16)}
[data-theme="light"] .city-autocomplete button{color:#151525}[data-theme="light"] .city-autocomplete button:hover{background:rgba(155,92,255,.08)}[data-theme="light"] .city-autocomplete small,[data-theme="light"] .city-no-result{color:rgba(20,20,35,.55)}

/* V52 - Mobile compte irréprochable + stats account compactes */
.mobile-avatar-button{border:0;padding:0;appearance:none;background:transparent;cursor:pointer}
.mobile-avatar-dropdown{position:relative}
.mobile-account-menu{
  width:calc(100vw - 20px)!important;
  max-width:430px!important;
  left:auto!important;
  right:0!important;
  margin-top:12px!important;
  border-radius:28px!important;
  overflow:hidden;
  background:rgba(20,12,38,.98)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.38)!important;
  color:#fff!important;
  backdrop-filter:none!important;
}
html[data-theme=light] .mobile-account-menu{background:#fff!important;color:#241730!important;border-color:rgba(100,55,130,.16)!important;box-shadow:0 30px 80px rgba(70,40,110,.18)!important}
.mobile-account-head{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(135deg,rgba(255,77,141,.18),rgba(139,92,246,.18));border-bottom:1px solid rgba(255,255,255,.1)}
.mobile-account-head .avatar{width:56px!important;height:56px!important;border-radius:20px!important;object-fit:cover!important;min-width:56px!important}.mobile-account-head b{display:block;font-size:1.05rem;line-height:1.1}.mobile-account-head small{display:block;color:var(--muted);font-weight:700;margin-top:3px}
.mobile-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.mobile-account-grid a{min-height:76px;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:14px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-weight:900}.mobile-account-grid a i{width:38px;height:38px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#ff4d8d,#8b5cf6);color:#fff;font-size:1.05rem}.mobile-account-grid a:active{transform:scale(.98)}
html[data-theme=light] .mobile-account-grid a{background:#f8f5ff;border-color:rgba(80,45,120,.08)}
.mobile-account-logout{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 14px 14px;padding:14px;border-radius:20px;text-decoration:none;background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.22);color:#ff7b7b!important;font-weight:950}.mobile-account-logout i{font-size:1.15rem}
@media(max-width:575.98px){
  .mobile-account-menu{position:fixed!important;top:64px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;transform:none!important}
  .mobile-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.mobile-account-grid a{min-height:72px;padding:12px;border-radius:18px}.mobile-account-grid a i{width:34px;height:34px;border-radius:13px}
}
@media(max-width:768px){
  .account-stats-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-left:0!important;margin-right:0!important}.account-stats-grid>[class*=col-]{width:auto!important;max-width:none!important;padding:0!important}.account-stats-grid .stat-card{min-height:106px!important;padding:14px!important;border-radius:22px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}.account-stats-grid .stat-card i{font-size:1.35rem!important}.account-stats-grid .stat-card h3{font-size:1.55rem!important;margin:.25rem 0 0!important}.account-stats-grid .stat-card p{font-size:.78rem!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.04em}.account-grid .mega-link{min-height:72px;border-radius:20px;padding:14px!important}.account-grid .mega-link span{font-size:.95rem}.account-grid .mega-link small{font-size:.74rem;line-height:1.2}.account-grid .mega-link i{width:40px;height:40px;min-width:40px;border-radius:15px}
}

/* V53 - Messagerie mobile type app : en-tête fixe, messages scrollables, composer au-dessus du footer */
@media (max-width: 991.98px){
  body:has(.messages-page){
    overflow:hidden;
    height:100dvh;
  }

  .messages-page{
    height:calc(100dvh - 74px - 82px) !important;
    min-height:calc(100dvh - 74px - 82px) !important;
    max-height:calc(100dvh - 74px - 82px) !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    overflow:hidden !important;
    max-width:100% !important;
  }

  .messages-page > .mobile-chat-layout{
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }

  .mobile-chat-layout > .row{
    height:100% !important;
    min-height:100% !important;
    --bs-gutter-x:0;
    --bs-gutter-y:0;
  }

  .mobile-chat-layout.chat-open .chat-column,
  .mobile-chat-layout.chat-open .chat-column > .chat-panel{
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
  }

  .mobile-chat-layout.chat-open .chat-column{
    padding:0 !important;
    overflow:hidden !important;
  }

  .mobile-chat-layout.chat-open .chat-panel{
    display:flex !important;
    flex-direction:column !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:var(--dark-card) !important;
    box-shadow:none !important;
  }

  .chat-thread-head{
    position:relative !important;
    z-index:20 !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:9px 12px !important;
    min-height:64px !important;
    background:linear-gradient(135deg, rgba(22,13,44,.98), rgba(40,20,73,.98)) !important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-radius:0 !important;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
  }

  html[data-theme=light] .chat-thread-head{
    background:rgba(255,255,255,.98) !important;
  }

  .chat-thread-head .avatar{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px;
  }

  .chat-thread-head b{
    display:block;
    line-height:1.1;
    max-width:calc(100vw - 170px);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .chat-thread-head .small{
    max-width:calc(100vw - 170px);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .chat-status-row{
    flex:0 0 auto !important;
    padding:7px 12px !important;
    margin:0 !important;
    background:rgba(255,255,255,.045);
    border-bottom:1px solid var(--stroke);
  }

  html[data-theme=light] .chat-status-row{
    background:rgba(255,255,255,.86);
  }

  .chat-panel > .alert{
    flex:0 0 auto;
    margin:8px 12px !important;
  }

  .chat-body{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:12px 12px 14px !important;
    margin:0 !important;
    scroll-behavior:smooth;
  }

  .chat-composer{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:25 !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:10px 12px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top:1px solid var(--stroke);
    background:linear-gradient(180deg, rgba(22,13,44,.96), rgba(18,12,38,1)) !important;
    box-shadow:0 -16px 35px rgba(0,0,0,.24);
  }

  html[data-theme=light] .chat-composer{
    background:rgba(255,255,255,.98) !important;
  }

  .chat-composer .d-flex.gap-2.mb-2{
    margin-bottom:7px !important;
  }

  .chat-composer .form-control{
    min-height:46px !important;
    border-radius:999px !important;
    padding-left:16px !important;
  }

  .chat-composer .btn-love{
    width:48px !important;
    min-width:48px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    display:grid;
    place-items:center;
  }

  .icebreaker-box{
    margin-bottom:12px !important;
  }
  .icebreaker-box .d-flex.flex-wrap{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding-bottom:4px !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .icebreaker-box .d-flex.flex-wrap::-webkit-scrollbar{
    display:none !important;
  }
  .icebreaker-box form,
  .icebreaker-box .btn{
    width:auto !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .bubble:last-child{
    margin-bottom:4px;
  }

  .mobile-chat-layout:not(.chat-open){
    overflow:auto !important;
  }

  .mobile-chat-layout:not(.chat-open) .list-column{
    height:100% !important;
    overflow:auto !important;
    padding:12px !important;
  }
}

/* V54 - Messagerie AJAX + menu conversation moderne */
.chat-action-menu{
  width:min(380px, calc(100vw - 24px))!important;
  border-radius:26px!important;
  padding:10px!important;
  background:#1a102f!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.38)!important;
  color:#fff!important;
  overflow:hidden;
}
html[data-theme=light] .chat-action-menu{
  background:#fff!important;
  color:#21142f!important;
  border-color:rgba(102,70,140,.16)!important;
  box-shadow:0 28px 90px rgba(70,45,100,.18)!important;
}
.chat-action-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  margin-bottom:8px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,79,163,.18),rgba(139,92,246,.16));
}
.chat-action-head b{display:block;line-height:1.05}.chat-action-head small{display:block;color:var(--muted);font-weight:750;margin-top:3px}
.chat-action-item{
  display:flex!important;
  align-items:center;
  gap:12px;
  padding:12px!important;
  border-radius:19px!important;
  color:inherit!important;
  text-decoration:none!important;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.065);
  margin:6px 0;
  transition:.18s ease;
}
html[data-theme=light] .chat-action-item{background:rgba(120,80,160,.055);border-color:rgba(120,80,160,.08)}
.chat-action-item:hover{transform:translateY(-1px);background:rgba(255,79,163,.15);border-color:rgba(255,79,163,.28)}
.chat-action-item i{
  width:42px;height:42px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;
  color:#fff;background:linear-gradient(135deg,var(--pink),#8b5cf6);font-size:1.12rem;
}
.chat-action-item.warning i{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.chat-action-item b{display:block;font-weight:950;line-height:1.05}.chat-action-item small{display:block;color:var(--muted);font-size:.78rem;font-weight:650;margin-top:3px}
.cs-toast-wrap{position:fixed;right:18px;bottom:96px;z-index:12000;display:grid;gap:10px;pointer-events:none}.cs-toast{display:flex;align-items:center;gap:10px;min-width:220px;max-width:min(360px,calc(100vw - 28px));padding:13px 15px;border-radius:18px;background:#17102b;color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 55px rgba(0,0,0,.34);opacity:0;transform:translateY(12px) scale(.98);transition:.22s ease;font-weight:850}.cs-toast.show{opacity:1;transform:translateY(0) scale(1)}.cs-toast.ok i{color:#22c55e}.cs-toast.error i{color:#f97316}html[data-theme=light] .cs-toast{background:#fff;color:#21142f;border-color:rgba(102,70,140,.16);box-shadow:0 20px 55px rgba(70,45,100,.18)}.bubble-new{animation:bubbleIn .22s ease both}@keyframes bubbleIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:991.98px){.chat-action-menu{position:fixed!important;left:10px!important;right:10px!important;top:78px!important;width:auto!important;max-width:none!important;transform:none!important}.cs-toast-wrap{left:12px;right:12px;bottom:88px}.cs-toast{width:100%;max-width:none}.chat-actions-toggle{width:42px;height:42px;display:grid;place-items:center}}

/* V55 - Messagerie mobile sans marge, envoi AJAX discret, blocage direct */
.chat-block-form{margin:6px 0 0!important;padding:0!important}
.chat-block-form .chat-action-item{border:0!important;font:inherit!important;cursor:pointer!important}
.chat-action-item.danger{background:rgba(239,68,68,.14)!important;border-color:rgba(239,68,68,.22)!important;color:#fff!important}
.chat-action-item.danger i{background:linear-gradient(135deg,#ef4444,#991b1b)!important}
.chat-action-item.danger:hover{background:rgba(239,68,68,.22)!important;border-color:rgba(239,68,68,.38)!important}
html[data-theme=light] .chat-action-item.danger{color:#7f1d1d!important;background:rgba(239,68,68,.10)!important}
@media(max-width:991.98px){
  body:has(.messages-page){padding-top:64px!important;padding-bottom:74px!important;overflow:hidden!important;height:100dvh!important}
  .messages-page{height:calc(100dvh - 64px - 74px)!important;min-height:calc(100dvh - 64px - 74px)!important;max-height:calc(100dvh - 64px - 74px)!important;margin-top:0!important;padding-top:0!important;}
  .chat-thread-head{padding-top:7px!important;padding-bottom:7px!important;min-height:60px!important;box-shadow:0 8px 18px rgba(0,0,0,.14)!important}
  .chat-status-row{padding-top:5px!important;padding-bottom:5px!important}
  .chat-composer{padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
  .chat-composer .d-flex.gap-2.mb-2{display:none!important}
  .chat-body{padding-top:10px!important;padding-bottom:10px!important}
}

/* V56 - notifications regroupées par conversation */
.notif-smart-item .notif-avatar,
.smart-item .notif-avatar{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:15px;
  object-fit:cover;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.notif-smart-item > i,
.smart-item > i.bi-bell-heart{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--love),#8a5cf6);
  color:#fff;
}

/* V62 - RGPD / cookies */
.cs-cookie-banner{position:fixed;left:0;right:0;bottom:18px;z-index:5000;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.cs-cookie-banner.hide{opacity:0;transform:translateY(12px);transition:.25s}.cs-cookie-card{pointer-events:auto;max-width:1120px;width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px;border-radius:28px;background:rgba(18,18,32,.98);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 80px rgba(0,0,0,.35);color:#fff}.cs-cookie-icon{width:54px;height:54px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff4d8d,#7c4dff);font-size:25px;box-shadow:0 12px 28px rgba(255,77,141,.28)}.cs-cookie-content b{font-size:1.05rem}.cs-cookie-content p{margin:.25rem 0 .7rem;color:rgba(255,255,255,.72);font-size:.92rem}.cs-cookie-options{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cs-cookie-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.85rem}.cs-cookie-switch{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);cursor:pointer;font-size:.85rem}.cs-cookie-switch input{display:none}.cs-cookie-switch span{width:40px;height:22px;border-radius:999px;background:rgba(255,255,255,.25);position:relative;transition:.2s}.cs-cookie-switch span:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}.cs-cookie-switch input:checked+span{background:linear-gradient(135deg,#ff4d8d,#7c4dff)}.cs-cookie-switch input:checked+span:before{transform:translateX(18px)}.cs-cookie-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.rgpd-card{border-radius:28px;padding:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}[data-theme="light"] .rgpd-card{background:rgba(255,255,255,.82);border-color:rgba(20,20,50,.08)}.danger-zone-card{border:1px solid rgba(255,77,109,.35)!important;background:linear-gradient(135deg,rgba(255,77,109,.12),rgba(255,255,255,.05))!important}@media(max-width:768px){.cs-cookie-banner{bottom:86px}.cs-cookie-card{grid-template-columns:1fr;padding:16px;border-radius:24px}.cs-cookie-icon{display:none}.cs-cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cs-cookie-actions .btn{width:100%;font-size:.86rem}.cs-cookie-content p{font-size:.86rem}}

/* V63 - footer Pulse Media + contact/tickets */
.pulse-credit{font-weight:800;color:var(--muted);font-size:.92rem}.heart-beat{display:inline-block;color:#ff4d8d;animation:heartBeatPulse 1.1s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,77,141,.45))}@keyframes heartBeatPulse{0%,100%{transform:scale(1)}20%{transform:scale(1.25)}38%{transform:scale(.96)}55%{transform:scale(1.18)}}
.support-big-icon{width:82px;height:82px;border-radius:28px;margin:0 auto 18px;display:grid;place-items:center;background:linear-gradient(135deg,#ff4d8d,#7c4dff);color:#fff;font-size:38px;box-shadow:0 18px 45px rgba(255,77,141,.26)}.ticket-number-pill{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;background:rgba(255,77,141,.12);border:1px solid rgba(255,77,141,.25);font-weight:950;font-size:1.25rem;letter-spacing:.06em}.support-help-list{display:grid;gap:10px;margin-top:18px}.support-help-list a,.support-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);padding:14px;transition:.2s}.support-help-list a{justify-content:flex-start}.support-help-list i{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#ff4d8d,#7c4dff);color:#fff}.support-ticket-row:hover,.support-ticket-row.active{transform:translateY(-1px);background:rgba(255,77,141,.13);border-color:rgba(255,77,141,.25)}.support-ticket-row small{display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.ticket-status{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:900;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10)}.ticket-status.open{background:rgba(255,77,141,.15);color:#ff8bb6}.ticket-status.answered{background:rgba(34,197,94,.16);color:#5ee28d}.ticket-status.waiting_user{background:rgba(245,158,11,.16);color:#fbbf24}.ticket-status.closed{background:rgba(148,163,184,.16);color:#cbd5e1}.support-thread{max-height:58vh;overflow:auto}.support-message{max-width:78%;padding:14px 16px;border-radius:22px;margin:10px 0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}.support-message.admin{margin-left:auto;background:linear-gradient(135deg,rgba(255,77,141,.25),rgba(124,77,255,.18));border-color:rgba(255,77,141,.18)}.support-message-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.86rem}.support-message-head small{color:var(--muted)}.support-admin-list{max-height:72vh;overflow:auto}.support-form-card textarea{resize:vertical}@media(max-width:768px){.support-message{max-width:94%}.support-thread{max-height:52vh}.ticket-status{font-size:.72rem;padding:7px 10px}.support-ticket-row{align-items:flex-start;flex-direction:column}.desktop-footer .d-flex.justify-content-between{justify-content:center!important;text-align:center}}
html[data-theme=light] .support-help-list a,html[data-theme=light] .support-ticket-row{background:rgba(255,255,255,.78);border-color:rgba(50,30,80,.08)}html[data-theme=light] .support-message{background:rgba(255,255,255,.85);border-color:rgba(50,30,80,.08)}html[data-theme=light] .support-message.admin{background:linear-gradient(135deg,rgba(255,77,141,.16),rgba(124,77,255,.10))}

/* V64 - Messagerie : emojis rapides */
.emoji-quickbar{
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  padding:0 2px 9px;
  scrollbar-width:none;
}
.emoji-quickbar::-webkit-scrollbar{display:none}
.emoji-chip{
  width:36px;
  height:36px;
  min-width:36px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  transition:.18s ease;
}
.emoji-chip:hover,.emoji-chip:focus{
  transform:translateY(-2px) scale(1.04);
  background:linear-gradient(135deg,rgba(255,77,141,.24),rgba(155,92,255,.22));
  border-color:rgba(255,255,255,.24);
  outline:none;
}
html[data-theme=light] .emoji-chip{
  background:#fff;
  color:#1c1430;
  border-color:rgba(23,15,45,.10);
  box-shadow:0 8px 20px rgba(20,10,40,.06);
}
@media(max-width:991.98px){
  .emoji-quickbar{
    padding-bottom:8px;
    gap:8px;
  }
  .emoji-chip{
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:15px;
    font-size:19px;
  }
}

/* V65 - Header desktop chic */
@media (min-width: 992px){
  body{padding-top:92px;}
  .desktop-header-pro{display:block!important;z-index:1040;background:transparent;border:0;padding:14px 0;}
  .desktop-header-pro .container-fluid{max-width:1540px;}
  .desktop-nav-shell{height:72px;display:grid;grid-template-columns:minmax(240px,300px) 1fr auto;align-items:center;gap:18px;padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(135deg,rgba(20,11,42,.82),rgba(37,20,70,.62));box-shadow:0 24px 80px rgba(0,0,0,.22);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);}
  html[data-theme=light] .desktop-nav-shell{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,247,253,.78));border-color:rgba(120,70,150,.18);box-shadow:0 20px 55px rgba(94,44,120,.12);}
  .desktop-brand-pro{display:flex;align-items:center;gap:12px;min-width:0;}
  .desktop-brand-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:19px;color:#fff;font-size:1.38rem;background:linear-gradient(135deg,var(--pink),#8b5cf6 62%,var(--cyan));box-shadow:0 18px 38px rgba(255,79,163,.28), inset 0 1px 0 rgba(255,255,255,.28);}
  .desktop-brand-copy{display:flex;flex-direction:column;line-height:1.05;}
  .desktop-brand-copy b{font-size:1.28rem;font-weight:950;letter-spacing:-.04em;background:linear-gradient(90deg,var(--pink),var(--yellow));-webkit-background-clip:text;background-clip:text;color:transparent;}
  .desktop-brand-copy small{margin-top:5px;color:var(--muted);font-weight:800;font-size:.76rem;letter-spacing:.02em;}
  .desktop-main-nav{justify-self:center;display:flex;align-items:center;gap:8px;padding:7px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);}
  html[data-theme=light] .desktop-main-nav{background:rgba(255,255,255,.72);border-color:rgba(111,68,150,.12);}
  .desktop-nav-pill{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;padding:0 17px;border-radius:999px;color:var(--muted);font-weight:900;font-size:.98rem;transition:all .2s ease;white-space:nowrap;}
  .desktop-nav-pill i{font-size:1.08rem;transition:transform .2s ease;color:currentColor;}
  .desktop-nav-pill:hover{color:var(--text);background:rgba(255,255,255,.09);transform:translateY(-1px);}
  .desktop-nav-pill:hover i{transform:scale(1.12) rotate(-4deg);}
  .desktop-nav-pill.active{color:#fff;background:linear-gradient(135deg,rgba(255,79,163,.95),rgba(139,92,246,.95));box-shadow:0 14px 30px rgba(255,79,163,.26);}
  html[data-theme=light] .desktop-nav-pill.active{color:#fff;}
  .desktop-nav-pill.active:after{content:"";position:absolute;left:50%;bottom:-12px;width:8px;height:8px;border-radius:50%;background:var(--pink);transform:translateX(-50%);box-shadow:0 0 0 6px rgba(255,79,163,.13);}
  .desktop-nav-pill em{position:absolute;top:-6px;right:-4px;min-width:21px;height:21px;border-radius:999px;background:var(--pink);color:#fff;display:grid;place-items:center;font-size:.72rem;font-style:normal;font-weight:950;box-shadow:0 0 0 4px rgba(255,79,163,.14);}
  .desktop-nav-pill.premium-pill{background:linear-gradient(135deg,rgba(255,226,122,.16),rgba(255,79,163,.12));border:1px solid rgba(255,226,122,.22);color:#ffeaa1;}
  html[data-theme=light] .desktop-nav-pill.premium-pill{color:#8a5a00;background:linear-gradient(135deg,rgba(255,226,122,.42),rgba(255,79,163,.10));}
  .desktop-nav-pill.premium-pill.active{color:#221400;background:linear-gradient(135deg,#ffe27a,#ffb84f);box-shadow:0 14px 34px rgba(255,184,79,.24);}
  .desktop-actions-pro{display:flex;align-items:center;gap:10px;justify-self:end;}
  .desktop-action-btn,.desktop-theme-btn{width:48px;height:48px;border-radius:18px;background:rgba(255,255,255,.08);}
  .desktop-member-card{height:52px;display:flex;align-items:center;gap:10px;border-radius:999px;border:1px solid var(--stroke);background:rgba(255,255,255,.08);color:var(--text);padding:5px 12px 5px 5px;transition:all .2s ease;}
  .desktop-member-card:hover{background:rgba(255,255,255,.13);transform:translateY(-1px);}
  .desktop-member-card .avatar{width:42px;height:42px;}
  .desktop-member-card span{display:flex;flex-direction:column;line-height:1.05;text-align:left;max-width:145px;}
  .desktop-member-card b{font-size:.92rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .desktop-member-card small{margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:800;}
}
@media (min-width: 992px) and (max-width: 1180px){
  .desktop-nav-shell{grid-template-columns:minmax(205px,240px) 1fr auto;gap:10px;}
  .desktop-brand-copy small{display:none;}
  .desktop-nav-pill{padding:0 12px;font-size:.9rem;}
  .desktop-nav-pill span{display:none;}
  .desktop-nav-pill i{font-size:1.25rem;}
  .desktop-member-card span{display:none;}
}


/* V67 - Desktop header alignment + reduced dashboard gap */
@media (min-width:992px){
  .desktop-header-pro{padding:8px 0 10px!important;}
  .desktop-nav-shell{min-height:84px!important;height:99px!important;align-items:center!important;padding:12px 16px!important;}
  .desktop-main-nav{padding:8px!important;align-items:center!important;}
  .desktop-nav-pill{min-height:52px!important;padding:0 18px!important;}
  .desktop-action-btn,.desktop-theme-btn{width:52px!important;height:52px!important;}
  .desktop-member-card{height:56px!important;}
  .desktop-member-card .avatar{width:46px!important;height:46px!important;}
  .desktop-tight-main{padding-top:96px!important;}
  .desktop-tight-main .dashboard-hero{margin-top:0!important;}
}


/* Desktop header critical moved from partials - V71 production */
@media (min-width: 992px){
body{padding-top:92px!important;}
.desktop-header-pro{display:block!important;position:fixed!important;top:0;left:0;right:0;z-index:1040!important;background:transparent!important;border:0!important;padding:8px 0 10px!important;}
.desktop-header-pro .container-fluid{max-width:1540px!important;}
.desktop-nav-shell{min-height:84px!important;height:99px!important;display:grid!important;grid-template-columns:minmax(240px,300px) 1fr auto!important;align-items:center!important;gap:18px!important;padding:12px 16px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(20,11,42,.88),rgba(37,20,70,.68))!important;box-shadow:0 24px 80px rgba(0,0,0,.24)!important;backdrop-filter:blur(26px)!important;-webkit-backdrop-filter:blur(26px)!important;}
html[data-theme=light] .desktop-nav-shell{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,247,253,.82))!important;border-color:rgba(120,70,150,.18)!important;box-shadow:0 20px 55px rgba(94,44,120,.12)!important;}
.desktop-brand-pro{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;text-decoration:none!important;}
.desktop-brand-icon{width:52px!important;height:52px!important;display:grid!important;place-items:center!important;border-radius:19px!important;color:#fff!important;font-size:1.38rem!important;background:linear-gradient(135deg,#ff4fa3,#8b5cf6 62%,#41e5ff)!important;box-shadow:0 18px 38px rgba(255,79,163,.28),inset 0 1px 0 rgba(255,255,255,.28)!important;}
.desktop-brand-copy{display:flex!important;flex-direction:column!important;line-height:1.05!important;}
.desktop-brand-copy b{font-size:1.28rem!important;font-weight:950!important;letter-spacing:-.04em!important;background:linear-gradient(90deg,#ff4fa3,#ffe27a)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}
.desktop-brand-copy small{margin-top:5px!important;color:var(--muted)!important;font-weight:800!important;font-size:.76rem!important;letter-spacing:.02em!important;}
.desktop-main-nav{justify-self:center!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.08)!important;}
html[data-theme=light] .desktop-main-nav{background:rgba(255,255,255,.72)!important;border-color:rgba(111,68,150,.12)!important;}
.desktop-nav-pill{position:relative!important;display:flex!important;align-items:center!important;gap:8px!important;min-height:52px!important;padding:0 18px!important;border-radius:999px!important;color:var(--muted)!important;font-weight:900!important;font-size:.98rem!important;transition:all .2s ease!important;white-space:nowrap!important;text-decoration:none!important;}
.desktop-nav-pill i{font-size:1.08rem!important;color:currentColor!important;}
.desktop-nav-pill:hover{color:var(--text)!important;background:rgba(255,255,255,.09)!important;transform:translateY(-1px)!important;}
.desktop-nav-pill.active{color:#fff!important;background:linear-gradient(135deg,rgba(255,79,163,.95),rgba(139,92,246,.95))!important;box-shadow:0 14px 30px rgba(255,79,163,.26)!important;}
.desktop-nav-pill.active:after{content:""!important;position:absolute!important;left:50%!important;bottom:-13px!important;width:8px!important;height:8px!important;border-radius:50%!important;background:#ff4fa3!important;transform:translateX(-50%)!important;box-shadow:0 0 0 6px rgba(255,79,163,.13)!important;}
.desktop-nav-pill em{position:absolute!important;top:-6px!important;right:-4px!important;min-width:21px!important;height:21px!important;border-radius:999px!important;background:#ff4fa3!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:.72rem!important;font-style:normal!important;font-weight:950!important;}
.desktop-nav-pill.premium-pill{background:linear-gradient(135deg,rgba(255,226,122,.16),rgba(255,79,163,.12))!important;border:1px solid rgba(255,226,122,.22)!important;color:#ffeaa1!important;}
html[data-theme=light] .desktop-nav-pill.premium-pill{color:#8a5a00!important;background:linear-gradient(135deg,rgba(255,226,122,.42),rgba(255,79,163,.10))!important;}
.desktop-actions-pro{display:flex!important;align-items:center!important;gap:10px!important;justify-self:end!important;}
.desktop-action-btn,.desktop-theme-btn{width:52px!important;height:52px!important;border-radius:18px!important;background:rgba(255,255,255,.08)!important;}
.desktop-member-card{height:56px!important;display:flex!important;align-items:center!important;gap:10px!important;border-radius:999px!important;border:1px solid var(--stroke)!important;background:rgba(255,255,255,.08)!important;color:var(--text)!important;padding:5px 12px 5px 5px!important;}
.desktop-member-card .avatar{width:46px!important;height:46px!important;}
.desktop-member-card span{display:flex!important;flex-direction:column!important;line-height:1.05!important;text-align:left!important;max-width:145px!important;}
.desktop-member-card b{font-size:.92rem!important;font-weight:950!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.desktop-member-card small{margin-top:4px!important;color:var(--muted)!important;font-size:.72rem!important;font-weight:800!important;}
}
@media (min-width: 992px) and (max-width:1180px){.desktop-nav-shell{grid-template-columns:minmax(205px,240px) 1fr auto!important;gap:10px!important}.desktop-brand-copy small{display:none!important}.desktop-nav-pill{padding:0 12px!important;font-size:.9rem!important}.desktop-nav-pill span{display:none!important}.desktop-nav-pill i{font-size:1.25rem!important}.desktop-member-card span{display:none!important}}

@media (min-width:992px){.desktop-tight-main{padding-top:96px!important}.desktop-tight-main .dashboard-hero{margin-top:0!important}}
@media (max-width:991.98px){.desktop-header-pro{display:none!important}}

/* V72 - Avatar status / verified badge integrated */
.verified-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;margin-left:6px;box-shadow:0 0 0 2px rgba(255,255,255,.88),0 4px 12px rgba(0,114,255,.28);vertical-align:middle;animation:pulseVerified 2.8s infinite;padding:0;border:0;font-size:.7rem;line-height:1}
.verified-badge i{font-size:.68rem}.member-chip .verified-badge{display:none!important}
.avatar-wrap{position:relative;display:inline-flex;line-height:0;flex:0 0 auto;vertical-align:middle}.avatar-wrap>img{display:block}.avatar-verified-badge{position:absolute;right:-3px;bottom:-3px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;border:2px solid #22c55e;box-shadow:0 4px 12px rgba(0,114,255,.32);z-index:2}.avatar-verified-badge i{font-size:.62rem}.avatar-online-dot{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:3px solid #fff;box-shadow:0 0 0 3px rgba(34,197,94,.18);z-index:3}.avatar-verified-badge+.avatar-online-dot{right:12px;bottom:-2px;width:11px;height:11px;border-width:2px}.last-seen-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--muted);font-size:.86rem;font-weight:700}.last-seen-pill.is-online{color:#22c55e;background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.22)}.profile-photo-status{position:absolute;right:18px;bottom:74px;z-index:6;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(10,10,24,.72);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.82rem;font-weight:800}.profile-photo-status .avatar-verified-badge,.profile-photo-status .avatar-online-dot{position:static;right:auto;bottom:auto}.profile-photo-status .avatar-online-dot{width:12px;height:12px;border:0}.profile-photo-status .avatar-verified-badge{width:22px;height:22px;border:2px solid #22c55e}
@keyframes pulseVerified{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:768px){.avatar-verified-badge{width:19px;height:19px}.avatar-online-dot{width:13px;height:13px}.profile-photo-status{bottom:66px;right:12px;padding:7px 10px;font-size:.76rem}}

/* V73 - Avatar verification badge: no online dot overlap, premium green ring */
.avatar-online-dot{display:none!important}
.avatar-wrap{position:relative;display:inline-flex;line-height:0;flex:0 0 auto;vertical-align:middle}
.avatar-wrap>img{display:block}
.avatar-verified-badge{position:absolute;right:-4px;bottom:-4px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;border:2px solid rgba(255,255,255,.92);box-shadow:0 5px 14px rgba(0,114,255,.28);z-index:4}
.avatar-verified-badge.is-premium{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.16),0 5px 14px rgba(0,114,255,.28)}
.avatar-verified-badge i{font-size:.64rem}
.desktop-member-card small,.mobile-account-head small{opacity:.72}
.profile-photo-status{gap:8px!important}
.profile-photo-status .avatar-verified-badge{position:static!important;right:auto!important;bottom:auto!important;width:22px!important;height:22px!important}
.profile-photo-status .avatar-online-dot{display:none!important}

/* V73 - action buttons keep clean active state after AJAX */
.credit-icon-btn.is-sent,.credit-icon-btn.active{box-shadow:0 10px 24px rgba(255,77,141,.22)}
.credit-icon-btn.btn-info.is-sent,.credit-icon-btn.btn-info.active{background:linear-gradient(135deg,#67e8f9,#38bdf8)!important;color:#06121f!important;border-color:transparent!important}
.credit-icon-btn.btn-love.is-sent,.credit-icon-btn.btn-love.active{background:linear-gradient(135deg,#ff4d8d,#8b5cf6)!important;color:#fff!important;border-color:transparent!important}
.credit-icon-btn.is-sent .mini-credit-badge,.credit-icon-btn.active .mini-credit-badge{background:#fff;color:#3b0764}

/* V74 - statut en ligne uniquement dans les conversations et la recherche profils */
.avatar-wrap .avatar-online-dot{
  display:block!important;
  position:absolute;
  top:-3px;
  right:-3px;
  bottom:auto!important;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#22c55e;
  border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(34,197,94,.18),0 4px 10px rgba(34,197,94,.35);
  z-index:5;
}
.avatar-wrap .avatar-verified-badge{
  right:-5px;
  bottom:-5px;
}
.conversation-card .avatar-wrap,
.chat-thread-head .avatar-wrap,
.chat-action-head .avatar-wrap{
  position:relative;
}
.profile-photo-shell{overflow:hidden;border-radius:28px 28px 0 0;}
.profile-search-online-dot{
  position:absolute;
  left:18px;
  bottom:18px;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#22c55e;
  border:3px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 5px rgba(34,197,94,.18),0 8px 20px rgba(34,197,94,.34);
  z-index:8;
}
.profile-search-online-dot::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:1px solid rgba(34,197,94,.28);
  animation:csOnlinePulse 2s infinite;
}
@keyframes csOnlinePulse{
  0%{transform:scale(.75);opacity:.7;}
  100%{transform:scale(1.45);opacity:0;}
}
@media(max-width:768px){
  .avatar-wrap .avatar-online-dot{width:12px;height:12px;border-width:2px;top:-2px;right:-2px;}
  .profile-search-online-dot{width:15px;height:15px;left:15px;bottom:15px;}
}

/* V75 - Support admin gratuit */
.support-pill{
    background:linear-gradient(135deg,rgba(0,198,255,.16),rgba(0,114,255,.14)) !important;
    border-color:rgba(0,198,255,.28) !important;
}
.support-pill i{color:#00c6ff !important;}
.admin-free-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:6px 10px;
    font-size:.78rem;
    font-weight:800;
    color:#06131f;
    background:linear-gradient(135deg,#8ee8ff,#d5f7ff);
    box-shadow:0 8px 20px rgba(0,198,255,.18);
}


/* V76 - Galerie privée plus claire */
.btn-gallery-request,
.gallery-chat-request{
    background:linear-gradient(135deg,#ff4d8d,#7c4dff)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(255,77,141,.22);
}
.btn-gallery-open{
    background:linear-gradient(135deg,#22c55e,#14b8a6)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(34,197,94,.2);
}
.btn-gallery-pending{
    background:rgba(255,193,7,.18)!important;
    color:#ffc857!important;
    border:1px solid rgba(255,193,7,.25)!important;
}
.private-gallery-teaser{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,77,141,.13),rgba(124,77,255,.12));
    border:1px solid rgba(255,255,255,.12);
}
.private-gallery-teaser b{display:block;color:var(--text-color,#fff)}
.private-gallery-teaser small{display:block;color:rgba(255,255,255,.68)}
.private-gallery-stack{
    position:relative;
    width:58px;
    height:46px;
    flex:0 0 58px;
}
.private-gallery-stack span{
    position:absolute;
    width:42px;
    height:42px;
    border-radius:16px;
    background:linear-gradient(135deg,#28154e,#ff4d8d);
    border:2px solid rgba(255,255,255,.4);
    box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.private-gallery-stack span:nth-child(1){left:0;top:4px;opacity:.55}
.private-gallery-stack span:nth-child(2){left:8px;top:2px;opacity:.75}
.private-gallery-stack span:nth-child(3){left:16px;top:0;display:grid;place-items:center}
.private-gallery-stack span:nth-child(3)::after{
    content:'\F47A';
    font-family:'bootstrap-icons';
    color:#fff;
    font-size:18px;
}
.gallery-chat-request{
    padding:.45rem .75rem;
    cursor:pointer;
    font-weight:700;
}
@media(max-width:768px){
    .private-gallery-teaser{align-items:flex-start;flex-wrap:wrap}
    .private-gallery-teaser .btn{width:100%}
}
[data-bs-theme="light"] .private-gallery-teaser small,
body.light-mode .private-gallery-teaser small{color:rgba(30,20,45,.65)}
[data-bs-theme="light"] .private-gallery-teaser b,
body.light-mode .private-gallery-teaser b{color:#241633}

/* V77 - galerie privée, statut en ligne et badge vérifié harmonisés */
.gallery-flash-zone{padding-top:102px}
.gallery-requests-page{min-height:calc(100vh - 220px);padding-top:112px;display:flex;flex-direction:column}
.gallery-hero{border-radius:30px}
.section-kicker{display:inline-flex;align-items:center;margin-bottom:10px;color:#ff7ab3;font-weight:900;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.gallery-stats-row{display:grid;grid-template-columns:repeat(3, minmax(86px, 1fr));gap:10px;min-width:min(100%,330px)}
.gallery-stats-row span{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:13px 14px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}
.gallery-stats-row b{font-size:1.35rem;font-weight:950;line-height:1}.gallery-stats-row small{color:var(--muted);font-weight:800;font-size:.75rem;margin-top:4px}
.gallery-filter-tabs{display:flex;gap:8px;overflow:auto;padding:6px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);width:max-content;max-width:100%}
.gallery-filter-tabs button{border:0;border-radius:999px;padding:10px 16px;background:transparent;color:var(--muted);font-weight:900;white-space:nowrap}.gallery-filter-tabs button.active{background:linear-gradient(135deg,#ff4d8d,#8b5cf6);color:#fff;box-shadow:0 10px 24px rgba(255,77,141,.25)}
.gallery-request-card{border-radius:26px;border:1px solid rgba(255,255,255,.1);transition:.2s}.gallery-request-card:hover{transform:translateY(-2px);border-color:rgba(255,77,141,.28)}
.gallery-request-avatar{width:62px!important;height:62px!important}.gallery-request-name{font-size:1.05rem}.gallery-status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:950}.gallery-status-pill.pending{background:rgba(251,191,36,.14);color:#fbbf24}.gallery-status-pill.accepted{background:rgba(34,197,94,.14);color:#22c55e}.gallery-status-pill.refused{background:rgba(239,68,68,.14);color:#ef4444}
.gallery-request-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gallery-help-chip{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-weight:800;font-size:.85rem}
.empty-gallery-state{flex:1;display:flex;align-items:center;justify-content:center;padding:18px 0 34px}.empty-gallery-card{width:min(760px,100%);border-radius:34px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.22)}.empty-gallery-icon{width:92px;height:92px;margin:0 auto 24px;border-radius:32px;display:grid;place-items:center;background:linear-gradient(135deg,#ff4d8d,#8b5cf6);color:#fff;font-size:2.4rem;box-shadow:0 18px 36px rgba(255,77,141,.28)}.gallery-tip{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:var(--muted);font-weight:800;font-size:.88rem}
.avatar-wrap{position:relative;display:inline-flex;line-height:0;flex:0 0 auto;vertical-align:middle}.avatar-wrap>img{display:block}.avatar-verified-badge{position:absolute;right:-5px!important;bottom:-5px!important;width:22px!important;height:22px!important;border-radius:50%;display:grid!important;place-items:center;background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;border:2px solid #22c55e!important;box-shadow:0 0 0 3px rgba(34,197,94,.15),0 6px 15px rgba(0,114,255,.3);z-index:4}.avatar-verified-badge i{font-size:.64rem}.avatar-wrap .avatar-online-dot{display:block!important;position:absolute;top:-3px!important;right:-3px!important;bottom:auto!important;width:13px!important;height:13px!important;border-radius:50%;background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 4px rgba(34,197,94,.18),0 4px 10px rgba(34,197,94,.35);z-index:5}.desktop-member-card .avatar-online-dot,.mobile-avatar-link .avatar-online-dot,.mobile-account-head .avatar-online-dot{display:none!important}.profile-search-online-dot{position:absolute;left:18px;bottom:18px;width:17px;height:17px;border-radius:50%;background:#22c55e;border:3px solid rgba(255,255,255,.95);box-shadow:0 0 0 5px rgba(34,197,94,.18),0 8px 20px rgba(34,197,94,.34);z-index:8}.profile-search-online-dot::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(34,197,94,.28);animation:csOnlinePulse 2s infinite}.online-mini-label{display:inline-flex;align-items:center;gap:6px;color:#22c55e;font-weight:900;font-size:.78rem}.online-mini-label::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.14)}
@keyframes csOnlinePulse{0%{transform:scale(.75);opacity:.7}100%{transform:scale(1.45);opacity:0}}
@media(max-width:991.98px){.gallery-flash-zone{padding-top:74px}.gallery-requests-page{padding-top:74px;min-height:calc(100vh - 154px)}.gallery-stats-row{grid-template-columns:repeat(3,1fr);width:100%}.empty-gallery-state{padding-top:6px}.empty-gallery-card{border-radius:28px;padding:30px 18px!important}.empty-gallery-icon{width:78px;height:78px;border-radius:26px;font-size:2rem}.gallery-request-actions .btn{flex:1 1 auto}.avatar-wrap .avatar-online-dot{width:12px!important;height:12px!important;top:-2px!important;right:-2px!important}.avatar-verified-badge{width:20px!important;height:20px!important}}

/* V78 - Pages légales / conseils */
.legal-page{padding-bottom:40px;}
.legal-hero{position:relative;overflow:hidden;}
.legal-hero:after{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,141,.22),transparent 70%);pointer-events:none;}
.legal-readable .legal-content{font-size:1.02rem;line-height:1.75;}
.legal-content h2{font-size:1.35rem;font-weight:900;margin-top:1.7rem;margin-bottom:.75rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content a{color:#ff6fa8;font-weight:800;text-decoration:none;}
.legal-sticky{position:sticky;top:120px;border-radius:28px;}
.legal-summary-list{display:grid;gap:14px;}
.legal-summary-list div{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:18px;background:rgba(255,255,255,.06);}
.legal-summary-list i{color:#64f1b6;font-size:1.15rem;}
.advice-card{border-radius:28px;transition:.25s ease;}
.advice-card:hover{transform:translateY(-4px);}
.advice-card>i{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(135deg,#ff4d8d,#7c4dff);color:white;font-size:1.35rem;margin-bottom:18px;box-shadow:0 12px 28px rgba(255,77,141,.22);}
.advice-card h2{font-size:1.15rem;font-weight:900;margin-bottom:10px;}
.advice-card p{color:rgba(255,255,255,.72);margin:0;line-height:1.6;}
.advice-line{height:100%;padding:18px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);}
.advice-line b{display:block;font-size:1rem;margin-bottom:6px;}
.advice-line span{color:rgba(255,255,255,.72);}
@media(max-width:991px){.legal-sticky{position:relative;top:auto}.legal-page{padding-top:94px!important}}

/* V80 - Footer desktop propre + activité fiable */
@media (min-width: 992px){
  .desktop-footer-clean{
    margin-top:56px!important;
    background:
      radial-gradient(circle at top left, rgba(255,79,163,.10), transparent 30%),
      radial-gradient(circle at top right, rgba(65,229,255,.08), transparent 28%),
      linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));
    border-top:1px solid rgba(255,255,255,.08);
  }
  .footer-clean-shell{
    display:grid;
    grid-template-columns:minmax(280px,420px) 1fr;
    gap:34px;
    align-items:start;
    padding:30px 30px 26px;
    border-radius:30px;
    background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 22px 70px rgba(0,0,0,.22);
    backdrop-filter:blur(20px);
  }
  .footer-brand-block p{max-width:520px;line-height:1.7;}
  .footer-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
  }
  .footer-badges span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 12px;
    border-radius:999px;
    color:rgba(255,255,255,.82);
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.02em;
  }
  .footer-links-compact{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:12px;
    align-content:flex-start;
  }
  .footer-links-compact a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:9px 15px;
    border-radius:999px;
    color:rgba(255,255,255,.78)!important;
    text-decoration:none!important;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
    transition:.2s ease;
    font-weight:750;
  }
  .footer-links-compact a:hover{
    color:#fff!important;
    transform:translateY(-2px);
    background:rgba(255,255,255,.11);
    border-color:rgba(255,79,163,.24);
  }
  .footer-clean-bottom{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:20px 8px 0;
    border-top:1px solid rgba(255,255,255,.07);
    margin-top:18px;
  }
  .pulse-credit .heart-beat{
    color:#ff82b4;
    display:inline-block;
    transform:translateY(-1px);
  }
}
@media (min-width: 992px) and (max-width: 1199px){
  .footer-clean-shell{
    grid-template-columns:1fr;
  }
  .footer-links-compact{
    justify-content:flex-start;
  }
}
@media (max-width: 991px){
  .desktop-footer-clean{display:none!important;}
}

/* V81 - Date planner + footer support cleanup */
.btn-date-plan{
  background:linear-gradient(135deg, rgba(255,193,7,.95), rgba(255,117,143,.95));
  color:#181018!important;
  font-weight:900;
  border:0!important;
  box-shadow:0 14px 28px rgba(255,117,143,.20);
}
.btn-date-plan:hover{transform:translateY(-2px);filter:brightness(1.04)}
.date-planner-page .date-planner-hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10)}
.date-planner-page .date-planner-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(255,77,141,.28),transparent 65%);pointer-events:none}
.date-partner-summary{display:flex;align-items:center;gap:14px;padding:16px;border-radius:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(16px)}
.date-partner-avatar{width:66px;height:66px;border-radius:22px;object-fit:cover;flex-shrink:0}
.date-partner-summary b{display:block;font-size:1.08rem}.date-partner-summary small{display:block;color:var(--muted-soft)}
.date-form-pro{position:sticky;top:112px;border:1px solid rgba(255,255,255,.10)}
.date-safety-checks{display:flex;flex-wrap:wrap;gap:8px}.date-safety-checks span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(25,135,84,.12);color:#80ffaa;font-weight:800;font-size:.82rem;border:1px solid rgba(25,135,84,.20)}
.date-ideas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.date-idea-card{padding:18px;border-radius:26px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);transition:.22s;box-shadow:0 18px 40px rgba(0,0,0,.14)}.date-idea-card:hover,.date-idea-card.active{transform:translateY(-3px);border-color:rgba(255,77,141,.40);background:rgba(255,255,255,.10)}
.date-plan-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}.date-plan-row:last-child{border-bottom:0}.date-empty-icon{width:78px;height:78px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(135deg,#ff4d8d,#7c4dff);color:#fff;font-size:34px}
@media(max-width:991px){.date-form-pro{position:static}.date-ideas-grid{grid-template-columns:1fr}.date-planner-page{padding-bottom:95px}.date-partner-summary{border-radius:22px}.date-partner-avatar{width:58px;height:58px;border-radius:20px}}

/* V82 - Rendez-vous détaillé dans la messagerie */
.chat-date-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  margin-top:.65rem;
  padding:.55rem .9rem;
  border-radius:999px;
  background:linear-gradient(135deg,#ff4d8d,#7c4dff);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  font-size:.88rem;
  box-shadow:0 10px 26px rgba(255,77,141,.25);
}
.chat-auto-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.date-detail-page{min-height:calc(100vh - 220px)}
.date-detail-hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10)}
.date-detail-hero:after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle,rgba(0,198,255,.20),transparent 65%);pointer-events:none}
.date-detail-card{border:1px solid rgba(255,255,255,.10)}
.date-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.date-detail-item{padding:16px;border-radius:22px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:5px;min-height:112px}
.date-detail-item i{font-size:1.25rem;color:#ff4d8d}.date-detail-item span{color:rgba(255,255,255,.62);font-size:.82rem}.date-detail-item b{font-size:1.02rem}.date-detail-note{padding:18px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
.date-detail-person{display:flex;align-items:center;gap:12px}.date-detail-avatar{width:58px;height:58px;border-radius:20px;object-fit:cover}.date-detail-person small{display:block;color:rgba(255,255,255,.62)}
.date-advice-list{padding-left:1.1rem;color:rgba(255,255,255,.78)}.date-advice-list li{margin:.45rem 0}
@media(max-width:767px){.date-detail-grid{grid-template-columns:1fr}.date-detail-page{padding-bottom:95px}.date-detail-actions .btn{width:100%;justify-content:center}.chat-date-link{width:100%;}}
[data-theme="light"] .date-detail-item,[data-theme="light"] .date-detail-note{background:rgba(255,255,255,.78);border-color:rgba(20,20,40,.08)}
[data-theme="light"] .date-detail-item span,[data-theme="light"] .date-advice-list,[data-theme="light"] .date-detail-person small{color:rgba(20,20,40,.62)}


/* V83 - Packs crédits uniquement + demande galerie payante */
.credit-inline-btn{display:inline-flex!important;align-items:center;gap:8px}.credit-inline-btn span{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.22);font-size:.72rem;font-weight:900}.btn-gallery-request.credit-action{position:relative}.gallery-chat-request{background:linear-gradient(135deg,#7c4dff,#ff4d8d)!important;color:#fff!important;padding:.45rem .7rem!important;font-weight:800!important;box-shadow:0 10px 24px rgba(124,77,255,.22)}

/* V89 - Messagerie plus claire */
.composer-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    align-items:center;
}
.composer-rdv-btn{
    font-weight:800;
    background:linear-gradient(135deg, rgba(255,77,141,.18), rgba(155,92,255,.18)) !important;
    border-color:rgba(255,255,255,.16) !important;
}
.quick-message-chip{
    font-size:.85rem;
    white-space:nowrap;
}
.chat-status-row .badge{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
}
@media(max-width: 991.98px){
    .composer-actions{
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:.15rem;
        scrollbar-width:none;
    }
    .composer-actions::-webkit-scrollbar{display:none;}
    .composer-actions .btn{
        flex:0 0 auto;
        font-size:.82rem;
        padding:.42rem .72rem;
    }
}


/* V90 login + register validation */
.register-step .is-invalid{border-color:#ff5b7f!important;box-shadow:0 0 0 .2rem rgba(255,91,127,.16)!important}
.register-step-error{font-weight:700}

/* V92 - cartes profils : actions mieux espacées */
.profile-card-body{
    display:flex;
    flex-direction:column;
    min-height:252px;
}
.profile-card-bio{
    min-height:42px;
}
.profile-card-actions{
    margin-top:auto;
    display:grid;
    gap:10px;
}
.profile-main-btn{
    width:100%;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    box-shadow:0 14px 30px rgba(255,77,141,.22);
}
.profile-quick-actions{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:8px;
    align-items:center;
}
.profile-quick-actions form{
    display:block;
    min-width:0;
}
.profile-quick-actions .profile-action-btn{
    width:100%;
    min-width:0;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding-left:12px;
    padding-right:12px;
    font-weight:800;
    white-space:nowrap;
}
.profile-quick-actions .js-hide-card .profile-action-btn{
    width:44px;
    min-width:44px;
    padding:0;
}
.profile-quick-actions .credit-icon-btn{
    overflow:visible;
}
.profile-quick-actions .mini-credit-badge{
    top:-7px;
    left:-5px;
}
@media(max-width:575.98px){
    .profile-card-body{min-height:230px;padding:18px!important;}
    .profile-main-btn{min-height:48px;}
    .profile-quick-actions{grid-template-columns:1fr 1fr 46px;gap:7px;}
    .profile-quick-actions .profile-action-btn{height:44px;padding-left:10px;padding-right:10px;}
    .profile-quick-actions .js-hide-card .profile-action-btn{width:46px;min-width:46px;}
}

/* V93 - Rendez-vous verrouillé si messagerie non débloquée */
.chat-action-item.is-disabled{
    opacity:.58;
    cursor:not-allowed;
    filter:grayscale(.25);
}
.chat-action-item.is-disabled i{
    background:rgba(255,255,255,.08);
}
.btn[disabled].composer-rdv-btn,
.btn[disabled][title="Messagerie requise"]{
    opacity:.55;
    cursor:not-allowed;
}

/* V94 - Photo manager production */
.photo-manager-page{padding-bottom:70px;}
.photo-manager-hero{overflow:hidden;position:relative;}
.photo-manager-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,141,.25),transparent 70%);pointer-events:none;}
.photo-stats-mini{display:flex;gap:12px;}
.photo-stats-mini div{min-width:108px;text-align:center;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);}
.photo-stats-mini b{display:block;font-size:1.8rem;line-height:1;font-weight:900;}
.photo-stats-mini span{font-size:.78rem;color:rgba(255,255,255,.68);}
.photo-drop-zone{min-height:190px;border:2px dashed rgba(255,255,255,.2);border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;background:rgba(255,255,255,.06);cursor:pointer;transition:.25s;}
.photo-drop-zone:hover,.photo-drop-zone.drag-over{transform:translateY(-2px);border-color:#ff4d8d;background:rgba(255,77,141,.12);box-shadow:0 18px 45px rgba(255,77,141,.16);}
.photo-drop-zone span{font-size:.9rem;color:rgba(255,255,255,.68);}
.photo-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.photo-preview-item{position:relative;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.08);min-height:92px;}
.photo-preview-item img{width:100%;height:92px;object-fit:cover;display:block;}
.photo-preview-item span{position:absolute;left:6px;right:6px;bottom:6px;padding:3px 6px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gallery-choice{display:grid;grid-template-columns:1fr;gap:10px;}
.gallery-choice-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:.2s;}
.gallery-choice-card input{display:none;}
.gallery-choice-card i{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:1.1rem;}
.gallery-choice-card span{display:flex;flex-direction:column;line-height:1.15;}
.gallery-choice-card small{color:rgba(255,255,255,.62);font-size:.76rem;margin-top:4px;}
.gallery-choice-card.active{border-color:#ff4d8d;background:linear-gradient(135deg,rgba(255,77,141,.2),rgba(124,77,255,.14));box-shadow:0 12px 28px rgba(255,77,141,.12);}
.photo-help{display:grid;gap:10px;color:rgba(255,255,255,.72);font-size:.88rem;}
.photo-help i{color:#8dffb5;margin-right:7px;}
.gallery-section{border-radius:28px;}
.pro-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.pro-photo-tile{height:230px;border-radius:24px;overflow:hidden;position:relative;background:#140f22;box-shadow:0 18px 45px rgba(0,0,0,.18);}
.pro-photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s;}
.pro-photo-tile:hover img{transform:scale(1.04);}
.photo-tile-overlay{position:absolute;left:12px;top:12px;z-index:2;}
.photo-actions-overlay{position:absolute;right:12px;bottom:12px;display:flex;gap:8px;z-index:4;opacity:0;transform:translateY(6px);transition:.2s;}
.pro-photo-tile:hover .photo-actions-overlay{opacity:1;transform:translateY(0);}
.private-photo-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.4));pointer-events:none;}
.private-lock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:22px;background:rgba(0,0,0,.52);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;font-size:1.6rem;z-index:3;border:1px solid rgba(255,255,255,.14);}
.empty-gallery-soft{min-height:230px;border-radius:24px;border:1px dashed rgba(255,255,255,.2);background:rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;color:rgba(255,255,255,.72);}
.empty-gallery-soft i{font-size:2.4rem;margin-bottom:12px;color:#ff8db5;}
.empty-gallery-soft b{color:#fff;font-size:1.15rem;margin-bottom:5px;}
.empty-gallery-soft.private i{color:#ffd166;}
@media(max-width:991px){.photo-manager-page{padding-top:86px!important}.photo-upload-panel{position:static!important}.pro-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pro-photo-tile{height:210px}.photo-actions-overlay{opacity:1;transform:none}.photo-stats-mini{width:100%;}.photo-stats-mini div{flex:1;}}
@media(max-width:560px){.pro-photo-grid{grid-template-columns:1fr 1fr;gap:10px}.pro-photo-tile{height:170px;border-radius:18px}.photo-preview-grid{grid-template-columns:repeat(2,1fr)}.photo-manager-hero{padding:24px!important}.photo-stats-mini div{min-width:0;padding:12px}.gallery-section{padding:18px!important}.photo-drop-zone{min-height:160px}}


/* V95 - Photo manager chic */
.photo-upload-panel{
    border-radius:30px;
    overflow:hidden;
}
.photo-drop-zone{
    position:relative;
    min-height:178px;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.16);
    background:
        radial-gradient(circle at 20% 10%,rgba(255,77,141,.18),transparent 32%),
        linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
}
.photo-drop-zone:before{
    content:"";
    position:absolute;
    inset:10px;
    border-radius:24px;
    border:1px dashed rgba(255,255,255,.25);
    pointer-events:none;
}
.photo-drop-zone i,
.photo-drop-zone b,
.photo-drop-zone span{position:relative;z-index:1;}
.photo-drop-zone b{font-size:1.05rem;}
.photo-preview-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    max-height:224px;
    overflow:auto;
    padding-right:2px;
}
.photo-preview-item{
    height:98px!important;
    min-height:98px!important;
    max-height:98px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.12);
    background:#15101f;
}
.photo-preview-item img{
    width:100%!important;
    height:98px!important;
    max-height:98px!important;
    object-fit:cover!important;
    display:block!important;
}
.photo-preview-item span{
    font-size:.65rem!important;
    background:rgba(10,8,16,.72)!important;
    backdrop-filter:blur(8px);
}
.gallery-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:6px;
    border-radius:26px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.09);
}
.gallery-switch-option{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:74px;
    padding:12px;
    border-radius:21px;
    cursor:pointer;
    border:1px solid transparent;
    transition:.22s ease;
    overflow:hidden;
}
.gallery-switch-option input{display:none;}
.gallery-switch-option:hover{background:rgba(255,255,255,.055);}
.gallery-switch-option.is-active{
    background:linear-gradient(135deg,rgba(255,77,141,.22),rgba(124,77,255,.16));
    border-color:rgba(255,255,255,.18);
    box-shadow:0 14px 32px rgba(255,77,141,.13);
}
.gallery-switch-option.is-active:after{
    content:"✓";
    position:absolute;
    top:8px;
    right:10px;
    width:20px;
    height:20px;
    border-radius:999px;
    display:grid;
    place-items:center;
    font-size:.72rem;
    font-weight:900;
    color:#fff;
    background:linear-gradient(135deg,#ff4d8d,#8a5cff);
}
.switch-icon{
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:15px;
    display:grid;
    place-items:center;
    color:#fff;
    box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.switch-icon.public{background:linear-gradient(135deg,#35d07f,#08a4ff);}
.switch-icon.private{background:linear-gradient(135deg,#ffd166,#ff8c42);}
.switch-text{display:flex;flex-direction:column;line-height:1.12;min-width:0;}
.switch-text b{font-size:.9rem;}
.switch-text small{font-size:.68rem;color:rgba(255,255,255,.65);margin-top:4px;}
.gallery-current-choice{
    display:flex;
    align-items:center;
    gap:8px;
    padding:11px 14px;
    border-radius:18px;
    background:rgba(53,208,127,.10);
    border:1px solid rgba(53,208,127,.20);
    color:rgba(255,255,255,.78);
    font-size:.82rem;
}
.gallery-current-choice.private{
    background:rgba(255,209,102,.11);
    border-color:rgba(255,209,102,.22);
}
.gallery-current-choice i{color:#8dffb5;}
.gallery-current-choice.private i{color:#ffd166;}
.gallery-section{
    position:relative;
    overflow:hidden;
}
.gallery-section:before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 95% 0%,rgba(255,77,141,.08),transparent 30%);
    pointer-events:none;
}
.gallery-section > *{position:relative;z-index:1;}
@media(max-width:560px){
    .gallery-switch{grid-template-columns:1fr;}
    .gallery-switch-option{min-height:68px;}
    .photo-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:214px;}
    .photo-preview-item,.photo-preview-item img{height:96px!important;max-height:96px!important;}
}

/* V96 - Photo principale depuis galerie publique */
.pro-photo-tile.is-main-photo{
    box-shadow:0 0 0 3px rgba(53,208,127,.38), 0 22px 55px rgba(53,208,127,.16), 0 18px 45px rgba(0,0,0,.18);
}
.main-photo-badge{
    background:linear-gradient(135deg,#35d07f,#08a4ff)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 8px 22px rgba(53,208,127,.25);
}
.photo-actions-overlay-wide{
    left:12px;
    right:12px;
    justify-content:space-between;
    align-items:center;
}
.photo-actions-overlay-wide .btn{
    box-shadow:0 8px 22px rgba(0,0,0,.22);
}
.photo-actions-overlay-wide form{margin:0;}
@media(max-width:560px){
    .photo-actions-overlay-wide{
        gap:6px;
        flex-wrap:wrap;
    }
    .photo-actions-overlay-wide .btn{
        font-size:.72rem;
        padding:.28rem .55rem;
    }
}

/* V97 - Gestion photos : choix galerie plus chic et suppression badge principal doublon */
.gallery-switch{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    border:0!important;
}
.gallery-switch-option{
    min-height:92px!important;
    padding:17px 16px!important;
    border-radius:24px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045))!important;
    border:1px solid rgba(255,255,255,.13)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.12)!important;
    gap:14px!important;
}
.gallery-switch-option:hover{
    transform:translateY(-2px);
    background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06))!important;
}
.gallery-switch-option.is-active{
    background:
        radial-gradient(circle at 20% 10%,rgba(255,77,141,.25),transparent 36%),
        linear-gradient(135deg,rgba(255,77,141,.20),rgba(124,77,255,.18))!important;
    border-color:rgba(255,255,255,.24)!important;
    box-shadow:0 16px 36px rgba(255,77,141,.16)!important;
}
.gallery-switch-option.is-active:after{
    top:12px!important;
    right:12px!important;
    width:24px!important;
    height:24px!important;
    font-size:.78rem!important;
    box-shadow:0 8px 18px rgba(255,77,141,.25);
}
.switch-icon{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:18px!important;
    font-size:1.15rem!important;
}
.switch-text{
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    line-height:1.25!important;
    min-width:0!important;
    white-space:normal!important;
}
.switch-text b{
    display:block!important;
    font-size:1rem!important;
    line-height:1.1!important;
    letter-spacing:.01em;
}
.switch-text small{
    display:block!important;
    font-size:.78rem!important;
    line-height:1.25!important;
    color:rgba(255,255,255,.72)!important;
    margin-top:0!important;
}
.pro-photo-tile.is-main-photo .photo-tile-overlay .main-photo-badge{display:none!important;}
.pro-photo-tile.is-main-photo{
    box-shadow:0 0 0 3px rgba(53,208,127,.40), 0 22px 55px rgba(53,208,127,.16), 0 18px 45px rgba(0,0,0,.18)!important;
}
@media(max-width:560px){
    .gallery-switch{grid-template-columns:1fr!important;gap:12px!important;}
    .gallery-switch-option{min-height:82px!important;padding:15px!important;}
}

/* V98 - Sélecteur galerie vraiment moderne et lisible */
.gallery-type-selector{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
    margin:2px 0 4px!important;
}
.gallery-type-card{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    min-height:96px!important;
    padding:18px 46px 18px 16px!important;
    border-radius:26px!important;
    cursor:pointer!important;
    overflow:hidden!important;
    background:linear-gradient(145deg,rgba(255,255,255,.115),rgba(255,255,255,.045))!important;
    border:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 16px 34px rgba(0,0,0,.14)!important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease!important;
}
.gallery-type-card input{display:none!important;}
.gallery-type-card:hover{
    transform:translateY(-2px)!important;
    background:linear-gradient(145deg,rgba(255,255,255,.155),rgba(255,255,255,.065))!important;
    border-color:rgba(255,255,255,.22)!important;
}
.gallery-type-card.is-active{
    background:
        radial-gradient(circle at 18% 15%,rgba(255,77,141,.26),transparent 34%),
        linear-gradient(135deg,rgba(255,77,141,.22),rgba(124,77,255,.18))!important;
    border-color:rgba(255,255,255,.30)!important;
    box-shadow:0 18px 40px rgba(255,77,141,.18), inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.gallery-type-icon{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:19px!important;
    display:grid!important;
    place-items:center!important;
    color:#fff!important;
    font-size:1.2rem!important;
    box-shadow:0 12px 26px rgba(0,0,0,.22)!important;
}
.gallery-type-icon.public{background:linear-gradient(135deg,#29d989,#08a4ff)!important;}
.gallery-type-icon.private{background:linear-gradient(135deg,#ffd166,#ff7a59)!important;}
.gallery-type-content{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    min-width:0!important;
}
.gallery-type-content strong{
    display:block!important;
    color:#fff!important;
    font-size:1.02rem!important;
    line-height:1.05!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
}
.gallery-type-content em{
    display:block!important;
    color:rgba(255,255,255,.70)!important;
    font-size:.78rem!important;
    line-height:1.28!important;
    font-style:normal!important;
    white-space:normal!important;
}
.gallery-type-check{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    width:25px!important;
    height:25px!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    color:#fff!important;
    background:rgba(255,255,255,.13)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    opacity:.45!important;
    transform:scale(.9)!important;
    transition:.18s ease!important;
}
.gallery-type-card.is-active .gallery-type-check{
    opacity:1!important;
    transform:scale(1)!important;
    background:linear-gradient(135deg,#ff4d8d,#8a5cff)!important;
    box-shadow:0 8px 18px rgba(255,77,141,.28)!important;
}
@media(max-width:560px){
    .gallery-type-selector{grid-template-columns:1fr!important;gap:12px!important;}
    .gallery-type-card{min-height:86px!important;padding:15px 44px 15px 15px!important;}
    .gallery-type-icon{width:44px!important;height:44px!important;min-width:44px!important;}
}
[data-theme="light"] .gallery-type-card{
    background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.72))!important;
    border-color:rgba(30,20,45,.10)!important;
    box-shadow:0 14px 32px rgba(35,20,60,.08)!important;
}
[data-theme="light"] .gallery-type-content strong{color:#20112f!important;}
[data-theme="light"] .gallery-type-content em{color:rgba(32,17,47,.62)!important;}

/* V57 - Messagerie plus immersive desktop/mobile, sans scroll de page */
body:has(.messages-page){
    overflow:hidden!important;
}
.messages-page{
    max-width:min(1480px,calc(100vw - 24px))!important;
    height:calc(100vh - 104px)!important;
    min-height:calc(100vh - 104px)!important;
    max-height:calc(100vh - 104px)!important;
    padding-bottom:8px!important;
    overflow:hidden!important;
}
.messages-page>.mobile-chat-layout,
.messages-page>.mobile-chat-layout>.row,
.list-column,
.chat-column{
    height:100%;
}
.conversation-list{
    min-height:0;
    max-height:calc(100% - 118px);
    overflow:auto;
    padding-right:4px;
}
#chatColumn.is-loading{
    opacity:.72;
}
.chat-panel{
    height:100%!important;
    min-height:0;
    padding:0!important;
    overflow:hidden;
}
.chat-thread-head{
    position:sticky;
    top:0;
    z-index:5;
    margin:0!important;
    padding:16px 20px!important;
    background:linear-gradient(180deg,rgba(18,12,38,.98),rgba(18,12,38,.92));
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}
html[data-theme=light] .chat-thread-head{
    background:rgba(255,255,255,.96);
}
.chat-status-row{
    flex:0 0 auto;
    margin:0!important;
    padding:10px 20px!important;
}
.chat-body{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:18px 20px!important;
    overflow:auto!important;
    overscroll-behavior:contain;
    background:
      radial-gradient(circle at top, rgba(255,255,255,.04), transparent 30%),
      linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.chat-composer{
    position:sticky!important;
    bottom:0!important;
    z-index:6;
    margin:0!important;
    padding:14px 20px 16px!important;
    background:linear-gradient(180deg,rgba(18,12,38,.90),rgba(18,12,38,.99))!important;
    border-top:1px solid var(--stroke);
    box-shadow:0 -12px 28px rgba(0,0,0,.18);
}
html[data-theme=light] .chat-composer{
    background:rgba(255,255,255,.98)!important;
}
.chat-composer .d-flex.gap-2{
    margin-bottom:0!important;
}
.chat-composer .form-control{
    min-height:52px;
}
.composer-toolbar{
    display:flex;
    gap:8px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
    scrollbar-width:thin;
    width:100%;
    white-space:nowrap;
    align-items:center;
    touch-action:pan-x;
}
.composer-toolbar .btn,
.composer-toolbar .emoji-chip{
    flex:0 0 auto;
    white-space:nowrap;
    max-width:none!important;
    pointer-events:auto!important;
    touch-action:manipulation;
    cursor:pointer;
}
.emoji-chip{
    min-width:42px;
    height:42px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid var(--stroke);
    background:var(--glass);
    color:var(--text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
}
.emoji-chip:hover{
    background:var(--glass-strong);
}
.bubble{
    box-shadow:0 12px 28px rgba(0,0,0,.12);
    backdrop-filter:blur(10px);
}
.chat-message-meta{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:6px;
    font-size:.78rem;
    opacity:.82;
}
.chat-message-meta.is-mine{
    justify-content:flex-end;
}
.chat-seen-indicator{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    border-radius:999px;
    color:rgba(255,255,255,.84);
    background:rgba(255,255,255,.10);
}
.chat-seen-indicator i{
    font-size:.84rem;
    line-height:1;
}
.chat-seen-indicator.is-read{
    color:#8ff3ff;
    background:rgba(143,243,255,.16);
    box-shadow:0 0 0 1px rgba(143,243,255,.18) inset;
}
html[data-theme=light] .chat-seen-indicator{
    color:#6b5a7f;
    background:rgba(62,38,92,.08);
}
html[data-theme=light] .chat-seen-indicator.is-read{
    color:#0ea5b7;
    background:rgba(14,165,183,.12);
}
.bubble.me{
    box-shadow:0 14px 34px rgba(255,79,163,.24);
}
.bubble.them{
    background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
}
@media(min-width:992px){
    .messages-page{
        padding-top:92px!important;
    }
    .mobile-chat-layout{
        padding:0!important;
    }
    .list-column{
        display:flex;
        flex-direction:column;
    }
}
@media(max-width:991.98px){
    .chat-thread-head.is-admin-chat .admin-free-chip,
    .chat-status-row.is-admin-chat{
        display:none!important;
    }
    .messages-page{
        max-width:100%!important;
        width:100%!important;
        height:calc(100dvh - 64px - 74px)!important;
        min-height:calc(100dvh - 64px - 74px)!important;
        max-height:calc(100dvh - 64px - 74px)!important;
        padding-top:0!important;
        padding-left:0!important;
        padding-right:0!important;
        padding-bottom:0!important;
    }
    .chat-column,
    .chat-panel{
        height:100%!important;
    }
    .chat-thread-head{
        padding:10px 12px!important;
    }
    .chat-body{
        padding:12px!important;
    }
    .chat-composer{
        padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
        display:grid!important;
        grid-template-rows:auto auto!important;
        gap:10px!important;
    }
    .composer-toolbar{
        display:grid!important;
        grid-auto-flow:column!important;
        grid-auto-columns:max-content!important;
        column-gap:8px!important;
        row-gap:0!important;
        padding:0 0 4px 0!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        width:100%!important;
        max-width:100%!important;
        white-space:nowrap!important;
        -webkit-overflow-scrolling:touch;
        align-items:center!important;
        justify-content:start!important;
        contain:layout inline-size!important;
        scrollbar-width:none!important;
        touch-action:pan-x!important;
    }
    .composer-toolbar::-webkit-scrollbar{display:none!important;}
    .composer-toolbar > *{
        width:auto!important;
        min-width:max-content!important;
        max-width:none!important;
        flex:none!important;
        display:inline-flex!important;
        white-space:nowrap!important;
        align-items:center!important;
        justify-content:center!important;
        pointer-events:auto!important;
        touch-action:manipulation!important;
        position:relative!important;
        z-index:2!important;
    }
    .composer-toolbar [data-emoji]{
        order:-3;
    }
    .composer-toolbar .composer-rdv-btn{
        order:1;
    }
    .composer-toolbar .quick-message-chip{
        order:2;
    }
    .composer-toolbar .btn{
        padding:.52rem .82rem!important;
        font-size:.82rem!important;
        border-radius:999px!important;
    }
    .emoji-chip{
        min-width:40px!important;
        width:40px!important;
        height:40px!important;
        padding:0!important;
        border-radius:14px!important;
        font-size:1.05rem!important;
        box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
    }
    .chat-composer .d-flex.gap-2{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 48px!important;
        gap:10px!important;
    }
}
