:root{--bg:#12090e;--panel:#fffaf8;--ink:#26151d;--muted:#71545f;--line:#eadbdd;--accent:#b74f68;--accent2:#e0a36d;--soft:#f8eaec;--shadow:0 20px 55px rgba(22,6,13,.16);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fbf6f4;line-height:1.55;overflow-wrap:anywhere}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 36px));margin:0 auto}.site-header{position:sticky;top:0;z-index:40;background:rgba(18,9,14,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.09)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.35rem;font-weight:900;letter-spacing:.01em}.brand-heart{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 10px 30px rgba(183,79,104,.38)}.accent{color:#f7c7d0}.main-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.main-nav a{color:#fff;text-decoration:none;padding:10px 12px;border-radius:999px;font-weight:750;font-size:.95rem}.main-nav a:hover,.nav-cta{background:rgba(255,255,255,.14)}.switch-site{border:1px solid rgba(255,255,255,.2)}.main-nav b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;margin-left:6px;padding:0 6px;background:#ffdb6b;color:#32171d;font-size:.78rem}.nav-toggle{display:none;border:0;border-radius:999px;padding:10px 14px;font-weight:800;background:#fff;color:#28151c}.site-main{min-height:calc(100vh - 220px)}.flash-stack{padding-top:18px}.alert{padding:14px 16px;border-radius:18px;margin-bottom:12px;font-weight:700}.alert.success{background:#e7f8ec;color:#145a2b}.alert.danger{background:#ffe8eb;color:#8a2338}.alert.info{background:#e8f0ff;color:#244a8b}.hero{background:radial-gradient(circle at 10% 10%,rgba(224,163,109,.32),transparent 35%),radial-gradient(circle at 90% 25%,rgba(183,79,104,.4),transparent 34%),linear-gradient(135deg,#180b11,#3b1826 55%,#170b10);color:#fff;padding:72px 0 74px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:900;color:#ffd4d9}.hero h1{font-size:clamp(2.55rem,5vw,5.15rem);line-height:1.02;margin:.35rem 0 1rem;max-width:840px}.hero p{font-size:1.13rem;color:#f6e8ec;max-width:720px}.hero-actions,.inline-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 19px;text-decoration:none;font-weight:900;cursor:pointer;background:linear-gradient(135deg,var(--accent),#d0667d);color:#fff;box-shadow:0 15px 35px rgba(183,79,104,.24)}.btn.soft{background:#fff;color:#341821;box-shadow:none}.btn.outline{background:rgba(255,255,255,.96);color:var(--accent);border:1px solid var(--accent);box-shadow:none}.btn.small{padding:10px 14px;font-size:.92rem}.hero-card,.card,.auth-card,.profile-card,.admin-card{background:rgba(255,250,248,.96);color:var(--ink);border:1px solid rgba(255,255,255,.46);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:24px}.mini-match{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;padding:15px;border-radius:20px;background:#fff;margin:12px 0}.mini-avatar{width:72px;height:72px;border-radius:22px;object-fit:cover;background:#eee}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--soft);color:#7e3044;font-weight:850;font-size:.83rem}.section{padding:56px 0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}.section h2,.auth-card h1,.page-title{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.1;margin:.2rem 0}.muted{color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{padding:22px}.card h3{margin:.2rem 0 .45rem}.stat-number{font-size:2.2rem;font-weight:950;color:var(--accent)}.auth-section{padding:48px 0 74px}.auth-card{width:min(760px,100%);margin:0 auto;padding:28px}.form-grid,.two-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field,label{display:grid;gap:7px;font-weight:800;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #ddc6cc;background:#fff;border-radius:16px;padding:13px 14px;font:inherit;color:var(--ink)}textarea{min-height:120px;resize:vertical}.checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:700}.checkbox input{width:auto;margin-top:5px}.notice{padding:16px;border-radius:18px;background:#fff1e9;border:1px solid #f0d0b6}.panel-shell{padding:38px 0 72px}.dashboard-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start}.side-card{position:sticky;top:102px}.profile-top{overflow:hidden;padding:0}.cover{height:180px;object-fit:cover;width:100%}.avatar-lg{width:116px;height:116px;border-radius:32px;object-fit:cover;margin:-58px 0 0 22px;border:6px solid #fff;background:#eee}.profile-body{padding:10px 22px 22px}.profile-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.list{display:grid;gap:14px}.profile-tile{display:grid;grid-template-columns:104px 1fr auto;gap:16px;align-items:center;padding:16px;background:#fff;border:1px solid var(--line);border-radius:22px}.avatar-tile{width:104px;height:104px;border-radius:22px;object-fit:cover;background:#eee}.score{font-weight:950;color:var(--accent);white-space:nowrap}.split{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}.message-list,.bubble-list{display:grid;gap:12px}.conversation-row{display:flex;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none}.bubble{max-width:min(78%,680px);padding:14px 16px;border-radius:22px;background:#fff;border:1px solid var(--line)}.bubble.me{margin-left:auto;background:#ffeef2;border-color:#f3c9d2}.meta{font-size:.85rem;color:var(--muted)}.notification{display:grid;gap:4px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff}.notification.unread{border-color:#d27084;background:#fff7f8}.site-footer{margin-top:58px;padding:36px 0;background:#170b10;color:#f7e8ec}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.footer-links{display:grid;gap:8px;justify-content:end}.footer-links a{text-decoration:none}.pill-actions{display:flex;flex-wrap:wrap;gap:10px}.public-profile{padding:42px 0 72px}.facts{display:flex;flex-wrap:wrap;gap:8px}.empty{padding:28px;text-align:center;border:1px dashed #d8bcc4;border-radius:24px;color:var(--muted);background:#fff}.admin-shell{padding:38px 0 72px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}.admin-nav a{padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;font-weight:850}.table-wrap{overflow:auto;border-radius:22px;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#fff0f3}.small-form{display:inline}.kbd{padding:4px 8px;border-radius:8px;background:#f4e4e7;font-weight:900}.promo-bar{padding:14px;background:#fff0d8;border-bottom:1px solid #ead0a9;text-align:center;font-weight:850}.switch-card{padding:20px;border-radius:24px;background:linear-gradient(135deg,#fff4f1,#ffe6ec);border:1px solid #f0cfd8}.content-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px}.stack{display:grid;gap:18px}.center{text-align:center}.right{text-align:right}.word-safe{overflow-wrap:anywhere;word-break:break-word}@media(max-width:980px){.hero-grid,.dashboard-grid,.split,.footer-grid,.grid-3,.grid-2{grid-template-columns:1fr}.side-card{position:static}.profile-tile{grid-template-columns:82px 1fr}.profile-tile .score{grid-column:2}.avatar-tile{width:82px;height:82px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:18px;right:18px;top:74px;background:#251019;border:1px solid rgba(255,255,255,.14);padding:12px;border-radius:22px;box-shadow:var(--shadow)}.main-nav.open{display:grid}.main-nav a{display:block}.section,.hero{padding-top:42px;padding-bottom:44px}}@media(max-width:640px){.wrap{width:min(100% - 24px,1180px)}.form-grid,.two-cols{grid-template-columns:1fr}.hero h1{font-size:2.55rem}.auth-card,.card,.content-card{padding:18px}.profile-tile{grid-template-columns:1fr;text-align:left}.profile-tile .score{grid-column:auto}.bubble{max-width:92%}}
/* Lot 3 · enrichissement design et expérience Rencontre */
.rose{color:#b74f68}.tag.warm{background:#fff1dd;color:#8a5428}.btn.full{width:100%}.live-tag,.live-pill{background:#e6f8ee;color:#14643a}.home-hero{padding:74px 0 68px;background:radial-gradient(circle at 15% 10%,rgba(255,214,180,.32),transparent 32%),radial-gradient(circle at 82% 18%,rgba(226,115,142,.34),transparent 34%),linear-gradient(135deg,#190b12,#3d1928 52%,#170a10);color:#fff}.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:34px;align-items:center}.home-hero h1{font-size:clamp(2.8rem,5.3vw,5.45rem);line-height:.98;margin:.45rem 0 1rem;max-width:880px}.home-hero p{max-width:740px;font-size:1.16rem;color:#f7eaee}.hero-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.hero-trust-row>div{display:grid;gap:4px;padding:15px 16px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}.hero-trust-row strong{font-size:.98rem}.hero-trust-row span{font-size:.88rem;color:#f2dde3}.hero-preview-card{padding:22px;border-radius:30px;background:rgba(255,250,248,.95);color:var(--ink);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.46)}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.phrase-showcase{padding:18px;border-radius:24px;background:linear-gradient(135deg,#fff3ef,#ffe4ec);border:1px solid #f0d4db}.phrase-showcase span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:950;color:#9e4960}.phrase-showcase p{margin:.55rem 0 0;color:#3a1d27;font-size:1.05rem;font-weight:850}.preview-profiles{display:grid;gap:12px;margin-top:16px}.preview-profile{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:20px;background:#fff;text-decoration:none;border:1px solid var(--line)}.preview-profile img{width:58px;height:58px;border-radius:18px;object-fit:cover;background:#eee}.preview-profile strong,.preview-profile span{display:block}.preview-profile span{font-size:.88rem;color:var(--muted)}.soft-section{background:linear-gradient(180deg,#fff8f6,#fff)}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.journey-card,.feature-card{padding:22px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 46px rgba(48,15,27,.08)}.journey-card span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:950}.journey-card h3,.feature-card h3{margin:.9rem 0 .45rem}.journey-card p,.feature-card p{margin:0;color:var(--muted)}.mood-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:20px;align-items:start}.editorial-card{padding:30px}.editorial-card p{font-size:1.06rem}.quote-stack{display:grid;gap:12px;margin-top:20px}.quote-stack blockquote{margin:0;padding:16px 18px;border-radius:20px;background:#fff3f5;border:1px solid #f0d4db;font-weight:850;color:#562636}.feature-stack{display:grid;gap:16px}.dark-band{padding-top:28px}.dark-band-inner{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:34px;border-radius:32px;background:linear-gradient(135deg,#170b11,#41202d);color:#fff;box-shadow:var(--shadow)}.dark-band-inner h2{margin:.4rem 0 .75rem;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}.dark-band-inner p{margin:0;color:#f0dfe4;max-width:760px}.dark-band-actions{display:grid;gap:12px;min-width:260px}.discover-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start}.discover-filters{position:sticky;top:102px}.filter-stack{display:grid;gap:4px}.results-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.results-head p{margin:.35rem 0 0}.profile-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.discover-card{overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px rgba(40,12,23,.08)}.discover-media{display:block;position:relative;height:178px;background:#f1e6e9}.discover-media>img{width:100%;height:100%;object-fit:cover}.discover-avatar-wrap{position:absolute;left:18px;bottom:-34px;width:86px;height:86px;padding:4px;border-radius:28px;background:#fff;box-shadow:0 16px 30px rgba(30,8,17,.18)}.discover-avatar-wrap img{width:100%;height:100%;object-fit:cover;border-radius:24px}.live-pill{position:absolute;right:16px;top:16px;padding:8px 11px;border-radius:999px;font-size:.78rem;font-weight:950}.discover-body{padding:44px 18px 18px}.discover-body h2{font-size:1.38rem;line-height:1.12;margin:0 0 12px}.discover-body h2 a{text-decoration:none}.facts.compact{gap:7px}.score-tag{background:#fff0d8;color:#8a5428}.discover-phrase{min-height:70px;margin:14px 0;color:#4e3039}.chip-row,.interest-cloud{display:flex;flex-wrap:wrap;gap:8px}.chip-row span,.interest-cloud span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f8eaec;color:#7e3044;font-size:.84rem;font-weight:850}.discover-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.discover-actions form{margin:0}.results-empty{grid-column:1/-1}.profile-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.profile-main-stack,.profile-side-stack{display:grid;gap:18px}.profile-hero-card{overflow:hidden;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.profile-cover-wrap{height:270px;overflow:hidden}.profile-cover-wrap .cover{height:100%}.profile-identity-row{display:flex;align-items:flex-end;gap:18px;padding:0 26px;margin-top:-58px;position:relative}.profile-avatar-xl{width:126px;height:126px;border:6px solid #fff;border-radius:36px;object-fit:cover;background:#eee;box-shadow:0 18px 34px rgba(32,9,18,.18)}.profile-title-block{padding-bottom:10px}.profile-title-block h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;margin:.25rem 0}.profile-headline{margin:16px 26px 0;padding:15px 18px;border-radius:20px;background:#fff7f3;border:1px solid #efd8cf;font-weight:900;font-size:1.06rem}.moment-banner{margin:16px 26px 26px;padding:18px;border-radius:24px;background:linear-gradient(135deg,#fff0f4,#fff2de);border:1px solid #efd6dd;display:grid;gap:6px}.moment-banner span{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:950;color:#a04b61}.moment-banner strong{font-size:1.08rem;line-height:1.42}.profile-section-card{padding:26px}.section-mini-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.section-mini-head h2{margin:0;font-size:1.35rem}.profile-long-copy{font-size:1.04rem;color:#3f252e;margin:0}.contact-card,.profile-facts-card,.safety-card{padding:24px}.side-action-stack{display:grid;gap:12px}.compact-notice{padding:13px;font-size:.92rem}.profile-facts-card dl{display:grid;gap:14px;margin:16px 0 0}.profile-facts-card dl div{display:grid;gap:4px;padding-bottom:13px;border-bottom:1px solid var(--line)}.profile-facts-card dt{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:950}.profile-facts-card dd{margin:0;font-weight:900}.member-summary-card{display:grid;gap:14px}.member-avatar{width:92px;height:92px;border-radius:28px;object-fit:cover;background:#eee}.member-summary-card h2{margin:.2rem 0}.visibility-pill{display:inline-flex;align-items:center;width:max-content;padding:8px 11px;border-radius:999px;font-weight:950;font-size:.85rem}.visibility-pill.is-on{background:#e6f8ee;color:#14643a}.visibility-pill.is-off{background:#fff0d8;color:#8a5428}.member-quick-nav{display:grid;padding:14px}.member-quick-nav a{padding:12px 10px;text-decoration:none;border-bottom:1px solid var(--line);font-weight:900}.member-quick-nav a:last-child{border-bottom:0}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px}.dashboard-welcome p{margin-bottom:0}.stats-grid-four{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card{padding:20px}.large-notice{font-size:1.05rem}.completion-card,.current-moment-card,.action-card{padding:24px}.progress{height:12px;border-radius:999px;background:#f1e1e6;overflow:hidden;margin:12px 0 14px}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2))}.spotlight-copy{padding:16px;border-radius:20px;background:#fff5f7;border:1px solid #f0d7de;font-weight:850}.check-list{display:grid;gap:10px;padding:0;margin:16px 0 0;list-style:none}.check-list li{position:relative;padding-left:30px;font-weight:850}.check-list li::before{content:'○';position:absolute;left:0;top:-2px;color:#b98a99;font-size:1.25rem}.check-list li.done::before{content:'✓';color:#18834a}.check-list.neutral li{font-weight:760}.signal-list{display:grid;gap:12px}.signal-list>div{display:flex;align-items:center;gap:14px;padding:13px;border-radius:18px;background:#fff7f8;border:1px solid #f0d7de}.signal-list strong{font-size:1.45rem;color:var(--accent);min-width:34px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.editor-main{padding:28px}.editor-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.completion-badge{display:grid;gap:2px;min-width:150px;padding:16px;border-radius:22px;background:#fff3f5;border:1px solid #f0d7de;text-align:center}.completion-badge strong{font-size:2rem;color:var(--accent)}.completion-badge span{font-weight:850;font-size:.9rem}.profile-editor-form{display:grid;gap:18px}.form-section{padding:20px;border-radius:24px;background:#fffaf8;border:1px solid var(--line)}.form-section label:last-child{margin-bottom:0}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.setting-card{display:flex;gap:12px;margin:0;padding:15px;border-radius:20px;border:1px solid var(--line);background:#fff;font-weight:400}.setting-card input{width:auto;margin-top:5px}.setting-card strong,.setting-card em{display:block}.setting-card strong{font-style:normal;font-weight:950;color:var(--ink)}.setting-card em{font-style:normal;color:var(--muted);font-size:.92rem;margin-top:4px}.editor-actions{padding-top:4px}.profile-preview-card,.tips-card{padding:24px}.preview-avatar-large{width:100px;height:100px;border-radius:30px;object-fit:cover;background:#eee;margin:16px 0}.interest-cloud.compact{margin-top:10px}.mobile-dock{display:none}.site-footer{padding-bottom:36px}
@media(max-width:1120px){.home-hero-grid,.mood-grid,.discover-layout,.profile-page-layout,.editor-layout{grid-template-columns:1fr}.discover-filters{position:static}.dark-band-inner{display:grid}.dark-band-actions{min-width:0}.stats-grid-four{grid-template-columns:repeat(2,1fr)}.profile-card-grid{grid-template-columns:1fr}.profile-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-side-stack .safety-card{grid-column:1/-1}}
@media(max-width:980px){.home-hero{padding-top:44px}.hero-trust-row,.journey-grid{grid-template-columns:1fr 1fr}.dashboard-welcome,.editor-title-row{display:grid}.settings-grid{grid-template-columns:1fr}.profile-side-stack{grid-template-columns:1fr}.site-main{padding-bottom:92px}.mobile-dock{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px;border-radius:24px;background:rgba(25,11,17,.96);box-shadow:0 20px 55px rgba(20,5,12,.35);backdrop-filter:blur(18px)}.mobile-dock a{position:relative;display:grid;place-items:center;min-height:52px;padding:7px 4px;color:#fff;text-decoration:none;font-size:.75rem;font-weight:900;border-radius:18px;text-align:center}.mobile-dock a:hover{background:rgba(255,255,255,.12)}.mobile-dock b{position:absolute;top:1px;right:9px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ffdb6b;color:#32171d;font-size:.68rem}.site-footer{padding-bottom:110px}}
@media(max-width:720px){.home-hero h1{font-size:2.65rem}.hero-trust-row,.journey-grid,.stats-grid-four{grid-template-columns:1fr}.hero-preview-card,.editor-main,.profile-section-card,.contact-card,.profile-facts-card,.safety-card,.dashboard-welcome,.completion-card,.current-moment-card,.action-card{padding:18px}.preview-head,.results-head{display:grid}.profile-cover-wrap{height:210px}.profile-identity-row{display:grid;gap:10px;align-items:start;margin-top:-44px;padding:0 18px}.profile-avatar-xl{width:104px;height:104px;border-radius:30px}.profile-headline,.moment-banner{margin-left:18px;margin-right:18px}.dark-band-inner{padding:24px}.discover-media{height:160px}.discover-body{padding-top:42px}.editor-title-row{margin-bottom:16px}.completion-badge{min-width:0}.mobile-dock{left:8px;right:8px;bottom:8px;border-radius:20px}.mobile-dock a{font-size:.68rem}}

.photo-manager-card{padding:30px}.photo-manager-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.photo-counter{display:grid;place-items:center;min-width:132px;padding:18px;border-radius:26px;background:linear-gradient(135deg,#fff0f4,#fff2de);border:1px solid #efd6dd}.photo-counter strong{font-size:2rem;color:var(--accent);line-height:1}.photo-counter span{font-weight:850;font-size:.9rem;color:var(--muted)}.photo-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.photo-panel{padding:20px;border-radius:26px;background:#fffaf8;border:1px solid var(--line)}.main-photo-preview,.cover-photo-preview{overflow:hidden;border-radius:24px;background:#f0e5e8;margin:14px 0}.main-photo-preview{width:min(270px,100%);aspect-ratio:1/1}.main-photo-preview img{width:100%;height:100%;object-fit:cover}.cover-photo-preview{aspect-ratio:16/8}.cover-photo-preview img{width:100%;height:100%;object-fit:cover}.photo-upload-form{display:grid;gap:16px;padding:22px;border-radius:28px;background:#fff7f8;border:1px solid #f0d7de;margin:20px 0 24px}.three-photo-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-manager-section{margin-top:18px}.gallery-manager-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-photo-card{overflow:hidden;padding:12px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 34px rgba(40,12,23,.08)}.gallery-photo-card>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;background:#eee}.gallery-photo-actions{display:grid;gap:9px;margin-top:12px}.gallery-photo-actions form,.gallery-photo-actions .btn{width:100%}.profile-gallery-section{overflow:hidden}.public-photo-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.public-photo-item{display:block;overflow:hidden;border-radius:22px;background:#f0e5e8;border:1px solid var(--line);box-shadow:0 12px 28px rgba(40,12,23,.08)}.public-photo-item:first-child{grid-column:span 2;grid-row:span 2}.public-photo-item img{width:100%;height:100%;min-height:158px;aspect-ratio:4/5;object-fit:cover}.public-photo-item:first-child img{min-height:328px}.empty{padding:18px;border-radius:20px;background:#fff7f8;border:1px dashed #e4c8d0;color:var(--muted);font-weight:800}
@media(max-width:1120px){.gallery-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-photo-fields{grid-template-columns:1fr}.public-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.photo-manager-card{padding:18px}.photo-manager-intro,.photo-manager-grid{display:grid;grid-template-columns:1fr}.photo-counter{justify-self:start}.gallery-manager-grid,.public-photo-gallery{grid-template-columns:1fr 1fr}.public-photo-item:first-child{grid-column:1/-1;grid-row:auto}.public-photo-item:first-child img{min-height:270px}.public-photo-item img{min-height:180px}}

/* Lot 4b - galerie de profil mieux visible */
.gallery-manager-featured{margin-top:22px;padding:24px;border-radius:30px;background:linear-gradient(135deg,#fff4f7,#fff8ee);border:1px solid #efccd7;box-shadow:0 20px 46px rgba(40,12,23,.08)}
.gallery-featured-head{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px}.gallery-featured-head h2{margin:.25rem 0 .45rem;font-size:1.7rem}.gallery-featured-head p{margin:0;max-width:760px}.gallery-slots-badge{display:grid;place-items:center;min-width:126px;padding:16px;border-radius:24px;background:#fff;border:1px solid #ecd2d9}.gallery-slots-badge strong{font-size:1.9rem;line-height:1;color:var(--accent)}.gallery-slots-badge span{font-size:.88rem;font-weight:850;color:var(--muted)}
.gallery-add-form{display:grid;gap:14px;margin:18px 0;padding:18px;border-radius:24px;background:#fff;border:1px solid var(--line)}.gallery-drop-field{display:grid;gap:12px;padding:18px;border-radius:22px;border:2px dashed #deb8c4;background:#fffafc;cursor:pointer}.gallery-drop-field span{display:grid;gap:4px}.gallery-drop-field strong{font-size:1.08rem}.gallery-drop-field em{font-style:normal;color:var(--muted);font-weight:700}.gallery-drop-field input{margin-top:4px}.gallery-empty-state{margin-top:14px}.secondary-photo-form{margin-top:24px;background:#fff;border-color:var(--line)}.two-photo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-gallery-callout{padding:22px;background:linear-gradient(135deg,#fff0f4,#fff8ea);border:1px solid #efd0da}.profile-gallery-callout h2{margin:.45rem 0 .55rem;font-size:1.35rem}.profile-gallery-callout .btn{margin-top:8px;width:100%}
@media(max-width:900px){.gallery-featured-head{display:grid;grid-template-columns:1fr}.gallery-slots-badge{justify-self:start}.two-photo-fields{grid-template-columns:1fr}}

/* Lot 5 - carrousel photos du profil public */
.profile-photo-carousel{display:grid;gap:16px}.profile-carousel-stage{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(135deg,#241018,#45202d);aspect-ratio:16/11;box-shadow:0 24px 54px rgba(28,8,16,.18)}.profile-carousel-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.02);transition:opacity .32s ease,transform .45s ease,visibility .32s ease}.profile-carousel-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.profile-carousel-slide img{width:100%;height:100%;object-fit:cover}.profile-carousel-nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:54px;height:54px;border:0;border-radius:999px;transform:translateY(-50%);background:rgba(18,9,14,.78);color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.24)}.profile-carousel-nav:hover{background:rgba(18,9,14,.92)}.profile-carousel-nav.previous{left:18px}.profile-carousel-nav.next{right:18px}.profile-carousel-counter{position:absolute;right:18px;bottom:18px;z-index:2;display:flex;align-items:center;gap:5px;padding:10px 14px;border-radius:999px;background:rgba(18,9,14,.78);color:#fff;font-weight:900;backdrop-filter:blur(12px)}.profile-carousel-counter strong{font-size:1.08rem}.profile-carousel-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.profile-carousel-thumb{display:block;overflow:hidden;padding:0;border:3px solid transparent;border-radius:22px;background:#f1e5e8;cursor:pointer;aspect-ratio:4/5;box-shadow:0 12px 24px rgba(40,12,23,.08)}.profile-carousel-thumb.is-active{border-color:var(--accent);box-shadow:0 16px 34px rgba(183,79,104,.22)}.profile-carousel-thumb img{width:100%;height:100%;object-fit:cover}.carousel-help{margin:0;font-weight:800;text-align:center}.profile-carousel-stage:focus-within{outline:3px solid rgba(183,79,104,.34);outline-offset:3px}
@media(max-width:900px){.profile-carousel-thumbs{grid-template-columns:repeat(5,minmax(68px,1fr));overflow-x:auto;padding-bottom:4px}.profile-carousel-thumb{min-width:68px}}
@media(max-width:720px){.profile-carousel-stage{aspect-ratio:4/5;border-radius:26px}.profile-carousel-nav{width:46px;height:46px;font-size:1.9rem}.profile-carousel-nav.previous{left:12px}.profile-carousel-nav.next{right:12px}.profile-carousel-counter{right:12px;bottom:12px;padding:8px 12px}.carousel-help{font-size:.92rem}}


/* Lot 6 · refonte profil, carrousel plus élégant, accueil enrichi, import 5 photos */
.profile-page-layout{grid-template-columns:minmax(0,1fr) 336px;gap:26px}
.profile-main-stack,.profile-side-stack{gap:22px}
.profile-hero-v2{background:linear-gradient(180deg,#fff,#fffaf8);border-radius:36px}
.profile-hero-v2 .profile-cover-wrap{height:232px;background:#241018}
.profile-hero-v2 .profile-cover-wrap .cover{width:100%;height:100%;object-fit:cover}
.profile-intro-panel{position:relative;display:flex;align-items:center;gap:22px;margin:-42px 24px 0;padding:18px 22px;border-radius:32px;background:rgba(255,255,255,.97);border:1px solid rgba(234,219,221,.92);box-shadow:0 22px 48px rgba(31,9,18,.14);backdrop-filter:blur(12px)}
.profile-intro-panel .profile-avatar-xl{flex:0 0 auto;width:118px;height:118px;border-radius:34px;margin:0}
.profile-intro-panel .profile-title-block{padding:0}
.profile-intro-panel .profile-title-block h1{margin:.2rem 0 .5rem}
.profile-intro-panel .profile-meta{margin:0}
.profile-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 24px 26px}
.profile-highlight-grid .profile-headline,.profile-highlight-grid .moment-banner{margin:0;min-height:100%}
.profile-highlight-grid .profile-headline{display:flex;align-items:center;background:linear-gradient(135deg,#fff7f3,#fff2ee)}
.profile-highlight-grid .moment-banner{background:linear-gradient(135deg,#fff0f4,#fff4df)}
.profile-gallery-section{padding:28px 30px;background:linear-gradient(180deg,#fff,#fffaf8)}
.profile-gallery-section .section-mini-head{margin-bottom:18px}
.profile-photo-carousel{width:min(100%,700px);margin:0 auto;gap:14px}
.profile-carousel-stage{width:100%;height:clamp(330px,39vw,500px);aspect-ratio:auto;border-radius:28px;background:radial-gradient(circle at 50% 40%,#3d1928,#160a10 68%);box-shadow:0 22px 48px rgba(28,8,16,.16)}
.profile-carousel-slide img{width:100%;height:100%;object-fit:contain;background:transparent}
.profile-carousel-thumbs{gap:10px}
.profile-carousel-thumb{border-radius:18px;aspect-ratio:4/5}
.profile-carousel-nav{width:48px;height:48px;font-size:2rem}
.profile-carousel-nav.previous{left:14px}.profile-carousel-nav.next{right:14px}
.profile-carousel-counter{right:14px;bottom:14px;padding:8px 12px}
.profile-section-card{border-radius:30px}
.contact-card,.profile-facts-card,.safety-card{border-radius:30px}
.contact-card{background:linear-gradient(180deg,#fff,#fff7f8)}
.profile-facts-card{background:linear-gradient(180deg,#fff,#fffaf4)}
.safety-card{background:linear-gradient(180deg,#fff,#fff7f3)}
.bulk-photo-import{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.95fr);gap:22px;align-items:center;margin:22px 0;padding:24px;border-radius:32px;background:linear-gradient(135deg,#fff0f4,#fff8e9);border:1px solid #efd0d9;box-shadow:0 18px 44px rgba(40,12,23,.08)}
.bulk-photo-copy h2{margin:.3rem 0 .65rem;font-size:clamp(1.45rem,2vw,2rem);line-height:1.08}
.bulk-photo-copy p{margin:0;max-width:640px}
.bulk-photo-form{display:grid;gap:13px;padding:16px;border-radius:26px;background:#fff;border:1px solid var(--line)}
.bulk-drop-field{margin:0}
.bulk-checkbox{margin:0;padding:2px 2px 0;font-size:.96rem}
.home-featured-profiles{background:linear-gradient(180deg,#fff8f6,#fff)}
.home-profile-title{align-items:center}
.home-profile-title p{margin:.45rem 0 0}
.home-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-profile-card{position:relative;overflow:hidden;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px rgba(40,12,23,.08)}
.home-profile-cover{display:block;height:126px;background:#f1e6e9;overflow:hidden}
.home-profile-cover img{width:100%;height:100%;object-fit:cover}
.home-profile-card-body{position:relative;padding:54px 18px 18px}
.home-profile-avatar{position:absolute;left:18px;top:-42px;display:block;width:86px;height:86px;padding:4px;border-radius:28px;background:#fff;box-shadow:0 16px 30px rgba(30,8,17,.18)}
.home-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:24px}
.home-live-pill{top:12px;right:14px}
.home-profile-card h3{margin:0 0 10px;font-size:1.22rem;line-height:1.12}
.home-profile-card h3 a{text-decoration:none}
.home-profile-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.home-profile-phrase{min-height:70px;margin:0 0 15px;color:#4e3039;font-weight:760}
.soft-profile-link{background:#fff0f4;color:#7e3044;box-shadow:none}
.home-profile-empty{margin-top:8px}
@media(max-width:1120px){
  .profile-page-layout{grid-template-columns:1fr}
  .home-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bulk-photo-import{grid-template-columns:1fr}
}
@media(max-width:900px){
  .profile-highlight-grid{grid-template-columns:1fr}
  .profile-photo-carousel{width:100%}
  .profile-carousel-stage{height:clamp(300px,58vw,480px)}
}
@media(max-width:720px){
  .profile-hero-v2 .profile-cover-wrap{height:188px}
  .profile-intro-panel{display:grid;gap:12px;margin:-28px 16px 0;padding:16px;border-radius:26px}
  .profile-intro-panel .profile-avatar-xl{width:98px;height:98px;border-radius:28px}
  .profile-highlight-grid{padding:16px;gap:12px}
  .profile-gallery-section{padding:18px}
  .profile-carousel-stage{height:min(68vh,430px);border-radius:24px}
  .profile-carousel-nav{width:42px;height:42px;font-size:1.8rem}
  .home-profile-grid{grid-template-columns:1fr}
  .home-featured-profiles .section-title{display:grid;gap:14px}
  .bulk-photo-import{padding:18px;border-radius:26px}
  .bulk-photo-form{padding:14px;border-radius:22px}
}


/* Lot 7 : gestion des listes, conversations et découverte paginée */
.discover-shell .wrap{width:min(1380px,calc(100% - 36px))}
.discover-layout{grid-template-columns:290px minmax(0,1fr)}
.profile-card-grid.compact-discover-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.compact-discover-card .discover-media{height:132px}
.compact-discover-card .discover-avatar-wrap{left:14px;bottom:-28px;width:68px;height:68px;border-radius:22px}
.compact-discover-card .discover-avatar-wrap img{border-radius:18px}
.compact-discover-card .live-pill{top:12px;right:12px;padding:6px 9px;font-size:.72rem}
.compact-discover-card .discover-body{padding:36px 14px 14px}
.compact-discover-card .discover-body h2{font-size:1.08rem;margin-bottom:10px}
.compact-discover-card .tag{font-size:.74rem;padding:5px 8px}
.compact-discover-card .discover-phrase{min-height:54px;margin:10px 0;font-size:.92rem}
.compact-discover-card .chip-row span{font-size:.76rem;padding:5px 8px}
.compact-discover-card .discover-actions{gap:8px;margin-top:12px}
.compact-discover-card .btn.small{padding:8px 11px;font-size:.84rem}
.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;padding:18px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(40,12,23,.06)}
.pagination-btn,.pagination-page{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border-radius:999px;text-decoration:none;font-weight:950;border:1px solid #e5ccd3;background:#fff;color:var(--accent)}
.pagination-page{min-width:42px;padding-left:12px;padding-right:12px}
.pagination-page.is-active{background:linear-gradient(135deg,var(--accent),#d0667d);color:#fff;border-color:transparent;box-shadow:0 12px 26px rgba(183,79,104,.22)}
.pagination-dots{font-weight:950;color:var(--muted)}
.notification-page-head,.message-page-head{align-items:center}
.notification-toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.notification-toolbar form,.notification-delete-form,.conversation-delete-form{margin:0}
.notification{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.notification-copy{display:grid;gap:4px}
.danger-outline{color:#a12d46!important;border-color:#dca8b5!important;background:#fff9fa!important}
.danger-outline:hover{background:#fff0f4!important}
.conversation-row-manage{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0;overflow:hidden}
.conversation-main-link{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;text-decoration:none;min-width:0}
.conversation-meta-stack{display:grid;gap:8px;justify-items:end;text-align:right}
.conversation-delete-form{padding:16px;border-left:1px solid var(--line);background:#fff8fa;align-self:stretch;display:grid;place-items:center}
.unread-badge{background:#ffe3ea;color:#8d2740}
.conversation-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.conversation-title-row .page-title{margin:0}
.conversation-compose{margin-top:18px}

@media(max-width:1220px){
  .profile-card-grid.compact-discover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .discover-layout{grid-template-columns:1fr}
  .profile-card-grid.compact-discover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notification,.conversation-row-manage,.conversation-main-link,.conversation-title-row{display:grid;grid-template-columns:1fr}
  .conversation-meta-stack{justify-items:start;text-align:left}
  .conversation-delete-form{border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:640px){
  .discover-shell .wrap{width:min(100% - 24px,1380px)}
  .profile-card-grid.compact-discover-grid{grid-template-columns:1fr}
  .notification-toolbar{justify-content:flex-start}
  .pagination{gap:8px;padding:14px}
  .pagination-btn{width:100%}
}


/* Lot 8 : blocage fiable et conversations supprimées côté utilisateur uniquement */
.blocked-profile-wrap{display:grid;place-items:center;min-height:min(64vh,620px)}
.blocked-profile-card{width:min(760px,100%);padding:clamp(24px,4vw,42px);text-align:center;border-radius:34px;background:linear-gradient(180deg,#fff,#fff7f8)}
.blocked-profile-card .page-title{margin:.4rem 0 .8rem}
.blocked-profile-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:640px){.blocked-profile-actions .btn{width:100%}}


/* Lot 9 : administration Rencontre renforcée */
.admin-wrap{width:min(1340px,calc(100% - 36px))}.admin-body{background:linear-gradient(180deg,#fff7f8,#fbf6f4)}.admin-site-header{position:sticky}.admin-nav-rich{padding:12px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px rgba(40,12,23,.06)}.admin-nav-rich a.active{background:linear-gradient(135deg,var(--accent),#d0667d);color:#fff;border-color:transparent}.admin-hero-v2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:22px;align-items:stretch;margin-bottom:24px;padding:28px;border-radius:38px;background:radial-gradient(circle at 12% 8%,rgba(255,224,204,.3),transparent 36%),linear-gradient(135deg,#211019,#4a2030 58%,#1b0d14);color:#fff;box-shadow:0 24px 58px rgba(24,8,16,.18)}.admin-hero-v2 h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;margin:.45rem 0 .9rem}.admin-hero-v2 p{max-width:760px;color:#f7e8ec;font-size:1.08rem}.admin-focus-card{display:grid;align-content:start;gap:12px;padding:22px;border-radius:30px}.admin-focus-card strong{font-size:1.6rem;line-height:1.15}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.admin-stat-grid.compact{margin-top:18px}.admin-stat-card{display:grid;gap:4px;padding:20px}.admin-stat-card strong{font-size:2rem;line-height:1;color:var(--accent)}.admin-stat-card span{font-weight:850;color:var(--muted)}.admin-tool-section{margin:28px 0}.admin-section-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.admin-section-title h2{margin:.15rem 0;font-size:clamp(1.4rem,2.2vw,2.05rem)}.admin-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-tool-card{padding:20px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(40,12,23,.06)}.admin-tool-card.safe{background:linear-gradient(180deg,#fff,#f5fff8)}.admin-tool-card.pink{background:linear-gradient(180deg,#fff,#fff5f7)}.admin-tool-card.warn{background:linear-gradient(180deg,#fff,#fff8ee)}.tool-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#fff0f4;font-size:1.45rem}.admin-tool-card h3{margin:14px 0 6px;font-size:1.25rem}.admin-tool-card p{min-height:70px;color:var(--muted)}.admin-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.admin-panel-card{margin:20px 0}.section-title.compact{margin-bottom:16px}.admin-mini-list{display:grid;gap:10px}.admin-mini-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 15px;border-radius:20px;border:1px solid var(--line);background:#fff;text-decoration:none}.admin-mini-row span{display:grid;gap:3px;min-width:0}.admin-mini-row small{color:var(--muted);overflow-wrap:anywhere}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#f4e8eb;color:#7c3547;font-weight:950;font-size:.82rem;white-space:nowrap}.status-pill.active,.status-pill.sent,.status-pill.reviewed{background:#e8f8ef;color:#14643a}.status-pill.suspended,.status-pill.error,.status-pill.open{background:#ffe8ec;color:#9a2440}.status-pill.closed,.status-pill.skipped{background:#fff1dd;color:#86521d}.admin-page-head{margin:10px 0 20px}.crumb{display:inline-block;margin-bottom:12px;color:var(--accent);font-weight:900;text-decoration:none}.admin-filter-bar{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:18px}.admin-filter-bar label{min-width:min(320px,100%);margin:0}.admin-table-wrap{margin-top:16px}.admin-inline-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.checkbox.mini{font-size:.84rem;margin:0}.admin-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.65fr);gap:18px;align-items:start}.admin-profile-preview,.admin-report-profile{display:flex;align-items:center;gap:18px}.admin-avatar-preview{width:108px;height:108px;border-radius:30px;object-fit:cover;background:#eee}.admin-definition-list{display:grid;gap:12px;margin:20px 0}.admin-definition-list>div{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.admin-definition-list dt{font-weight:950;color:#7b4050}.admin-definition-list dd{margin:0;overflow-wrap:anywhere}.admin-actions-card{position:sticky;top:118px}.stack.tight{gap:10px}.top-gap{margin-top:16px}.danger-fill{background:linear-gradient(135deg,#a9324c,#cf4966)!important}.admin-four-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.admin-four-stats .card{display:grid;gap:4px}.admin-four-stats strong{font-size:2rem;color:var(--accent)}.admin-four-stats span{font-weight:850;color:var(--muted)}.admin-photo-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-photo-card{display:grid;gap:10px;padding:14px;border-radius:24px;background:#fff;border:1px solid var(--line)}.admin-photo-card img{width:100%;height:210px;object-fit:cover;border-radius:18px;background:#f4e9ec}.admin-photo-card small{color:var(--muted)}.admin-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.report-stat{display:grid;gap:4px;text-decoration:none}.report-stat strong{font-size:2rem;color:var(--accent)}.report-stat span{text-transform:capitalize;font-weight:900;color:var(--muted)}.admin-filter-links{margin:12px 0 18px}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.health-card{display:grid;gap:6px}.health-card.ok{border-color:#cfe8d7}.health-card.warn{border-color:#f0c7cf}.admin-soft-list{display:grid;gap:10px;margin-top:16px}.admin-soft-list span{padding:12px 14px;border-radius:18px;background:#fff7f8;border:1px solid var(--line)}
@media(max-width:1180px){.admin-stat-grid,.admin-four-stats,.admin-photo-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.admin-hero-v2,.admin-two-columns,.admin-detail-grid{grid-template-columns:1fr}.admin-actions-card{position:static}.admin-definition-list>div{grid-template-columns:1fr}.admin-profile-preview,.admin-report-profile{align-items:flex-start}.admin-top-links{display:none!important}}
@media(max-width:720px){.admin-wrap{width:min(100% - 24px,1340px)}.admin-stat-grid,.admin-four-stats,.admin-tool-grid,.admin-photo-review-grid,.admin-report-stats,.health-grid{grid-template-columns:1fr}.admin-hero-v2{padding:20px;border-radius:28px}.admin-profile-preview,.admin-report-profile,.admin-mini-row{display:grid}.admin-filter-bar label{min-width:100%}}


/* Lot 10 : abonnements, messages admin, liens équipe */
.admin-message-layout{align-items:start}.admin-message-form textarea{min-height:180px}.admin-radio-row{gap:14px;flex-wrap:wrap}.mini-admin-stats{margin:18px 0}.top-gap-large{margin-top:24px}.subscription-plan-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.subscription-plan-admin-card{display:grid;gap:12px}.two-mini-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-subscription-summary{display:grid;gap:8px}.admin-member-message-row{align-items:center}.admin-message-reader{display:grid;gap:12px}.message-long-body{padding:18px;border-radius:18px;background:rgba(255,255,255,.72);line-height:1.7}.narrow-wrap{max-width:900px}.status-pill.trial{background:rgba(255,199,89,.18)}.status-pill.paused{background:rgba(116,116,116,.14)}.status-pill.expired,.status-pill.cancelled{background:rgba(196,66,81,.14)}
@media (max-width:760px){.two-mini-cols{grid-template-columns:1fr}.admin-message-layout{grid-template-columns:1fr}}


/* Lot 11 : accueil vivant, aperçu défilant, fonds administrables */
body.has-page-background{
  background-image:
    linear-gradient(rgba(255,248,250,var(--page-bg-overlay, .72)),rgba(255,248,250,var(--page-bg-overlay, .72))),
    var(--page-bg-image);
  background-position:center top;
  background-repeat:no-repeat;
  background-size:cover;
  background-attachment:fixed;
}
body.has-page-background .site-main{position:relative}
body.has-page-background .site-main>.wrap.flash-stack{position:relative;z-index:2}
.home-preview-carousel-card{overflow:hidden}
.home-preview-carousel{position:relative;margin-top:16px}
.home-preview-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - ((var(--preview-visible,4) - 1) * 12px)) / var(--preview-visible,4));
  gap:12px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:2px 42px 8px;
}
.home-preview-track::-webkit-scrollbar{display:none}
.home-preview-slide{
  scroll-snap-align:start;
  min-width:0;
  min-height:86px;
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.80);
  border:1px solid rgba(147,67,89,.12);
  box-shadow:0 12px 34px rgba(74,29,44,.08);
}
.home-preview-slide img{width:58px;height:58px;border-radius:18px;object-fit:cover}
.home-preview-slide strong,.home-preview-slide span{display:block;overflow-wrap:anywhere}
.home-preview-slide span{font-size:.83rem;color:var(--muted);line-height:1.35}
.carousel-mini-arrow{
  position:absolute;top:50%;z-index:2;transform:translateY(-50%);
  width:36px;height:36px;border:0;border-radius:999px;
  background:#fff;color:var(--accent);font-size:1.8rem;font-weight:900;
  box-shadow:0 12px 30px rgba(74,29,44,.18);cursor:pointer;
}
.carousel-mini-arrow.left{left:0}.carousel-mini-arrow.right{right:0}
.admin-settings-card{margin-bottom:24px}
.admin-home-settings-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.admin-home-settings-form .full{grid-column:1/-1}
.admin-background-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-background-card{display:grid;gap:16px}
.admin-background-preview{
  min-height:150px;border-radius:24px;
  background:linear-gradient(135deg,#f6e8ed,#fff7f8);
  border:1px dashed rgba(125,57,77,.22);
  background-position:center;background-size:cover;
  display:flex;align-items:flex-end;padding:16px;overflow:hidden;position:relative;
}
.admin-background-preview::before{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(46,18,28,.42));
}
.admin-background-preview span{
  position:relative;z-index:1;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.88);
  font-weight:950;color:#74344a
}
@media(max-width:1100px){
  .home-preview-track{--preview-visible:2!important}
}
@media(max-width:760px){
  body.has-page-background{background-attachment:scroll}
  .home-preview-track{--preview-visible:1!important;padding-inline:40px}
  .admin-home-settings-form,.admin-background-grid{grid-template-columns:1fr}
}


/* Lot 12 : Découvrir mobile plus immédiat + dock mobile avec icônes */
.discover-filter-toggle{display:none}
@media(max-width:980px){
  .discover-layout{align-items:start}
  .discover-filters{
    padding:12px;
    border-radius:24px;
    margin-bottom:14px;
  }
  .discover-filter-toggle{
    width:100%;
    display:grid;
    grid-template-columns:42px 1fr auto;
    align-items:center;
    gap:12px;
    border:0;
    padding:12px;
    border-radius:18px;
    background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(250,239,246,.96));
    color:var(--ink);
    text-align:left;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(61,28,50,.08);
  }
  .filter-toggle-icon{
    width:42px;height:42px;border-radius:15px;
    display:grid;place-items:center;
    background:linear-gradient(135deg,var(--accent),#7c61ff);
    color:#fff;font-weight:1000;font-size:1.55rem;
  }
  .discover-filter-toggle strong,.discover-filter-toggle small{display:block}
  .discover-filter-toggle strong{font-size:.97rem;line-height:1.2}
  .discover-filter-toggle small{font-size:.78rem;color:var(--muted);margin-top:2px}
  .discover-filter-toggle b{
    padding:7px 10px;border-radius:999px;background:rgba(101,75,222,.12);
    color:var(--accent);font-size:.72rem;white-space:nowrap
  }
  .discover-filter-panel{display:none;padding:16px 6px 4px}
  .discover-filters.is-open .discover-filter-panel{display:block}
  .discover-filters.is-open .discover-filter-toggle{margin-bottom:4px}
  .discover-filters.is-open .discover-filter-toggle b{background:rgba(219,73,143,.14)}
  .discover-filters .page-title{font-size:2rem;margin-bottom:8px}
  .discover-filters .filter-stack{gap:10px}
  .discover-filters .filter-stack label{font-size:.92rem}
}
@media(min-width:981px){
  .discover-filter-panel{display:block!important}
}

/* dock mobile */
@media(max-width:980px){
  .mobile-dock{
    gap:6px;
    padding:9px;
    border-radius:28px;
    background:linear-gradient(135deg,rgba(31,20,55,.97),rgba(69,39,118,.96));
    border:1px solid rgba(255,255,255,.16);
  }
  .mobile-dock a{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-height:62px;
    padding:8px 4px 7px;
    color:rgba(255,255,255,.88);
    transition:transform .18s ease,background .18s ease,color .18s ease;
  }
  .mobile-dock a:hover,.mobile-dock a.is-active{
    background:rgba(255,255,255,.15);
    color:#fff;
    transform:translateY(-1px);
  }
  .dock-icon{
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
  }
  .dock-icon svg{
    width:24px;height:24px;
    fill:none;stroke:currentColor;stroke-width:2.1;
    stroke-linecap:round;stroke-linejoin:round;
  }
  .mobile-dock a:nth-child(3) .dock-icon svg{
    fill:currentColor;
    stroke-width:1.8;
  }
  .mobile-dock b{
    top:4px;
    right:calc(50% - 29px);
    background:#ffcc65;
    color:#35204f;
    border:2px solid rgba(39,22,68,.95);
  }
}
@media(max-width:720px){
  .mobile-dock a{font-size:.66rem;min-height:60px}
  .mobile-dock b{right:calc(50% - 27px)}
}


/* Lot 13 : Accueil plus direct, profils visibles immédiatement, mobile-first */
.home-hero-direct{
  padding:58px 0 60px;
  background:
    radial-gradient(circle at 11% 18%,rgba(255,207,223,.18),transparent 28%),
    radial-gradient(circle at 88% 22%,rgba(152,105,255,.20),transparent 26%),
    linear-gradient(135deg,rgba(33,16,28,.96),rgba(79,31,56,.94) 52%,rgba(24,13,25,.98));
}
.home-direct-grid{
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);
  gap:34px;
  align-items:center;
}
.home-direct-copy h1{
  font-size:clamp(2.85rem,5vw,5.2rem);
  line-height:.98;
  max-width:780px;
  margin:.5rem 0 1rem;
}
.home-direct-copy>p{
  max-width:680px;
  font-size:1.16rem;
  line-height:1.55;
  color:#f8e9ef;
}
.home-direct-actions{margin-top:24px}
.home-direct-signals{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.home-direct-signals span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-weight:900;
  font-size:.9rem;
  backdrop-filter:blur(12px);
}
.home-live-showcase{
  padding:22px;
  border-radius:34px;
  background:rgba(255,249,251,.96);
  color:var(--ink);
  box-shadow:0 30px 80px rgba(10,5,16,.33);
  border:1px solid rgba(255,255,255,.48);
  overflow:hidden;
}
.home-showcase-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.home-showcase-head>div{
  display:grid;
  gap:8px;
}
.home-showcase-head strong{
  font-size:1.18rem;
  line-height:1.2;
}
.home-showcase-head>a{
  color:var(--accent);
  font-weight:950;
  white-space:nowrap;
  text-decoration:none;
}
.home-people-carousel{
  position:relative;
}
.home-people-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - ((var(--preview-visible,4) - 1) * 14px)) / var(--preview-visible,4));
  gap:14px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:2px 42px 8px;
}
.home-people-track::-webkit-scrollbar{display:none}
.home-person-card{
  min-width:0;
  display:grid;
  grid-template-rows:auto 1fr;
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  color:var(--ink);
  background:#fff;
  border:1px solid rgba(143,71,100,.14);
  box-shadow:0 18px 40px rgba(77,30,49,.10);
  scroll-snap-align:start;
  transition:transform .18s ease,box-shadow .18s ease;
}
.home-person-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 52px rgba(77,30,49,.18);
}
.home-person-photo{
  position:relative;
  height:178px;
  background:linear-gradient(135deg,#ece4f4,#fff0f5);
}
.home-person-photo>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-person-photo .live-pill{
  position:absolute;
  left:10px;
  bottom:10px;
}
.home-person-body{
  display:grid;
  align-content:start;
  gap:5px;
  padding:13px 14px 15px;
}
.home-person-body h3{
  margin:0;
  font-size:1.02rem;
  line-height:1.2;
}
.home-person-body>span{
  color:var(--muted);
  font-size:.85rem;
}
.home-person-body p{
  margin:5px 0 0;
  color:#56384a;
  font-size:.88rem;
  line-height:1.42;
  min-height:50px;
}
.home-people-empty{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:16px;
  align-items:center;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
}
.home-people-empty img{
  width:78px;height:78px;border-radius:22px;object-fit:cover;
}
.home-people-empty strong,.home-people-empty p{display:block;margin:0}
.home-people-empty p{margin-top:5px;color:var(--muted)}
.home-featured-profiles{
  padding-top:54px;
}
.home-profile-title h2{
  margin-top:7px;
}
.home-profile-title p{
  max-width:520px;
}

/* Les explications passent après l'essentiel */
.home-hero-direct + .home-featured-profiles + .soft-section{
  padding-top:30px;
}

@media(max-width:1180px){
  .home-direct-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .home-live-showcase{
    width:min(100%,980px);
  }
  .home-people-track{
    --preview-visible:3!important;
  }
}
@media(max-width:980px){
  .home-hero-direct{
    padding:34px 0 38px;
  }
  .home-direct-grid{
    gap:20px;
  }
  .home-direct-copy h1{
    font-size:clamp(2.45rem,9vw,4rem);
    line-height:.98;
    margin:.45rem 0 .8rem;
  }
  .home-direct-copy>p{
    font-size:1.02rem;
    line-height:1.5;
    margin-bottom:0;
  }
  .home-direct-actions{
    margin-top:18px;
  }
  .home-direct-actions .btn{
    min-height:48px;
  }
  .home-live-showcase{
    padding:16px;
    border-radius:28px;
  }
  .home-showcase-head{
    align-items:flex-start;
    margin-bottom:14px;
  }
  .home-showcase-head strong{
    font-size:1.05rem;
  }
  .home-people-track{
    --preview-visible:1.22!important;
    grid-auto-columns:calc((100% - 14px) / 1.22);
    padding:2px 34px 8px;
  }
  .home-person-photo{
    height:228px;
  }
  .home-person-body h3{
    font-size:1.08rem;
  }
  .home-person-body p{
    min-height:0;
  }
  .home-direct-signals{
    order:3;
    margin-top:16px;
    gap:8px;
  }
  .home-direct-signals span{
    min-height:38px;
    padding:8px 12px;
    font-size:.82rem;
  }
  .home-featured-profiles{
    padding-top:38px;
  }
}
@media(max-width:720px){
  .home-hero-direct{
    padding:26px 0 32px;
  }
  .home-direct-copy h1{
    font-size:2.55rem;
  }
  .home-direct-copy>p{
    font-size:.98rem;
  }
  .home-direct-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .home-direct-actions .btn{
    width:100%;
    justify-content:center;
  }
  .home-showcase-head{
    display:flex;
    gap:10px;
  }
  .home-showcase-head>a{
    font-size:.88rem;
  }
  .home-people-track{
    --preview-visible:1.08!important;
    grid-auto-columns:calc((100% - 10px) / 1.08);
    gap:10px;
    padding:2px 28px 8px;
  }
  .home-person-photo{
    height:240px;
  }
  .carousel-mini-arrow{
    width:32px;
    height:32px;
    font-size:1.55rem;
  }
  .home-person-body{
    padding:12px 13px 14px;
  }
  .home-person-body p{
    font-size:.87rem;
  }
  .home-people-empty{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
  }
  .home-direct-signals{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* Lot 13b : accueil rééquilibré, cartes profils plus élégantes et photos mieux maîtrisées */
.home-hero-direct{
  padding:52px 0 58px;
}
.home-direct-grid{
  grid-template-columns:minmax(0,.84fr) minmax(620px,1.16fr);
  gap:42px;
}
.home-direct-copy h1{
  max-width:700px;
  font-size:clamp(2.85rem,4.55vw,4.85rem);
}
.home-direct-copy>p{
  max-width:620px;
}
.home-live-showcase{
  padding:24px;
  border-radius:38px;
  background:
    linear-gradient(135deg,rgba(255,252,253,.97),rgba(250,240,247,.95));
}
.home-showcase-head{
  margin-bottom:20px;
}
.home-showcase-head strong{
  font-size:1.25rem;
}

/* Le carrousel ne compresse plus 4 photos dans une largeur trop courte :
   il utilise de vraies cartes portraits, lisibles et régulières. */
.home-people-track{
  display:flex;
  gap:18px;
  overflow:auto;
  padding:4px 46px 10px;
  scroll-snap-type:x mandatory;
}
.home-person-card{
  flex:0 0 clamp(230px,23vw,285px);
  height:clamp(360px,31vw,430px);
  position:relative;
  display:block;
  border-radius:30px;
  background:#251525;
  overflow:hidden;
  scroll-snap-align:start;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 22px 58px rgba(30,9,28,.28);
}
.home-person-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(20,10,20,.04) 30%,rgba(20,10,20,.26) 57%,rgba(20,10,20,.92) 100%);
  pointer-events:none;
}
.home-person-photo{
  position:absolute;
  inset:0;
  height:auto;
  background:linear-gradient(135deg,#e9d7ea,#f5dce9);
}
.home-person-photo>img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.home-person-photo .live-pill{
  z-index:2;
  left:14px;
  top:14px;
  bottom:auto;
  color:#fff;
  background:rgba(98,196,122,.94);
  box-shadow:0 10px 24px rgba(0,0,0,.20);
}
.home-person-body{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:22px 18px 18px;
  display:grid;
  gap:6px;
  align-content:end;
  color:#fff;
}
.home-person-body h3{
  color:#fff;
  font-size:1.34rem;
  line-height:1.12;
  letter-spacing:-.02em;
  text-shadow:0 3px 14px rgba(0,0,0,.45);
}
.home-person-body>span{
  color:rgba(255,255,255,.88);
  font-size:.92rem;
  font-weight:800;
}
.home-person-body p{
  color:rgba(255,255,255,.94);
  font-size:.92rem;
  line-height:1.42;
  min-height:0;
  margin-top:5px;
  text-shadow:0 3px 14px rgba(0,0,0,.40);
}
.home-people-carousel .carousel-mini-arrow{
  width:42px;
  height:42px;
  top:50%;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 34px rgba(31,12,29,.24);
}
.home-people-carousel .carousel-mini-arrow.left{left:0}
.home-people-carousel .carousel-mini-arrow.right{right:0}

/* Les derniers profils en dessous deviennent plus sobres, moins "cartes empilées". */
.home-profile-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.home-profile-card{
  border-radius:30px;
}
.home-profile-cover{
  height:154px;
}
.home-profile-card-body{
  padding:50px 18px 20px;
}
.home-profile-avatar{
  width:82px;
  height:82px;
  top:-40px;
}
.home-profile-phrase{
  min-height:58px;
}

/* Responsive : le hero garde du charme et les photos ne s'écrasent plus. */
@media(max-width:1280px){
  .home-direct-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  .home-live-showcase{
    width:100%;
  }
  .home-person-card{
    flex-basis:clamp(228px,28vw,282px);
  }
}
@media(max-width:980px){
  .home-hero-direct{
    padding:30px 0 36px;
  }
  .home-direct-copy h1{
    max-width:100%;
    font-size:clamp(2.35rem,8.8vw,3.8rem);
  }
  .home-direct-copy>p{
    max-width:100%;
  }
  .home-live-showcase{
    padding:16px 14px 18px;
    border-radius:30px;
  }
  .home-showcase-head{
    margin-bottom:14px;
  }
  .home-showcase-head strong{
    font-size:1.08rem;
  }
  .home-people-track{
    gap:14px;
    padding:4px 32px 9px;
  }
  .home-person-card{
    flex:0 0 min(76vw,315px);
    height:min(103vw,430px);
    border-radius:28px;
  }
  .home-person-body{
    padding:20px 16px 16px;
  }
  .home-person-body h3{
    font-size:1.28rem;
  }
  .home-profile-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .home-hero-direct{
    padding:22px 0 30px;
  }
  .home-direct-copy h1{
    font-size:2.38rem;
    line-height:.99;
  }
  .home-direct-copy>p{
    font-size:.98rem;
  }
  .home-live-showcase{
    margin-top:2px;
    padding:14px 12px 16px;
    border-radius:26px;
  }
  .home-showcase-head{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:start;
    gap:10px;
  }
  .home-showcase-head>div{
    gap:6px;
  }
  .home-showcase-head strong{
    font-size:1rem;
  }
  .home-people-track{
    gap:12px;
    padding:4px 24px 8px;
  }
  .home-person-card{
    flex:0 0 min(84vw,318px);
    height:min(116vw,438px);
  }
  .home-person-body h3{
    font-size:1.25rem;
  }
  .home-person-body p{
    font-size:.9rem;
  }
  .home-people-carousel .carousel-mini-arrow{
    width:34px;
    height:34px;
    font-size:1.6rem;
  }
  .home-profile-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .home-profile-cover{
    height:180px;
  }
  .home-profile-phrase{
    min-height:0;
  }
}


/* Lot 13c : accueil épuré, badges retirés, carrousel mobile compact */
.home-direct-signals{display:none!important}

/* Le bandeau du haut respire mieux maintenant que les arguments courts ont été retirés. */
.home-direct-actions{
  margin-bottom:0;
}

/* Les derniers profils ne doivent plus chercher de place pour le badge Disponible retiré. */
.home-live-pill{display:none!important}

/* Version téléphone : carrousel réel, mais plus discret et mieux proportionné. */
@media(max-width:980px){
  .home-hero-direct{
    padding:26px 0 32px;
  }
  .home-direct-grid{
    gap:18px;
  }
  .home-direct-copy h1{
    font-size:clamp(2.24rem,8.5vw,3.55rem);
    line-height:.98;
    margin:.42rem 0 .72rem;
  }
  .home-direct-copy>p{
    font-size:1rem;
    line-height:1.48;
  }
  .home-direct-actions{
    margin-top:16px;
  }
  .home-live-showcase{
    padding:14px 12px 15px;
    border-radius:26px;
  }
  .home-showcase-head{
    margin-bottom:12px;
  }
  .home-showcase-head strong{
    font-size:1rem;
    line-height:1.2;
  }
  .home-people-track{
    display:flex;
    gap:12px;
    padding:3px 28px 8px;
    scroll-padding-left:28px;
  }
  .home-person-card{
    flex:0 0 min(70vw,270px);
    height:338px;
    border-radius:24px;
  }
  .home-person-body{
    padding:17px 14px 14px;
    gap:4px;
  }
  .home-person-body h3{
    font-size:1.17rem;
  }
  .home-person-body>span{
    font-size:.86rem;
  }
  .home-person-body p{
    font-size:.86rem;
    line-height:1.36;
    max-height:3.7em;
    overflow:hidden;
  }
  .home-people-carousel .carousel-mini-arrow{
    width:34px;
    height:34px;
    font-size:1.55rem;
  }
}

@media(max-width:720px){
  .home-hero-direct{
    padding:22px 0 28px;
  }
  .home-direct-copy h1{
    font-size:2.22rem;
  }
  .home-direct-copy>p{
    font-size:.96rem;
  }
  .home-direct-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .home-direct-actions .btn{
    width:auto;
    flex:1 1 160px;
    min-height:46px;
  }
  .home-live-showcase{
    padding:13px 11px 14px;
    border-radius:24px;
  }
  .home-showcase-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
  }
  .home-showcase-head .tag{
    width:max-content;
  }
  .home-showcase-head>a{
    font-size:.86rem;
    margin-top:3px;
  }
  .home-people-track{
    gap:11px;
    padding:3px 24px 8px;
    scroll-padding-left:24px;
  }
  .home-person-card{
    flex:0 0 min(72vw,258px);
    height:318px;
    border-radius:23px;
  }
  .home-person-body{
    padding:16px 13px 13px;
  }
  .home-person-body h3{
    font-size:1.12rem;
  }
  .home-person-body p{
    font-size:.84rem;
  }
}

/* La section explicative "phrase du moment / respect du rythme" a été retirée de l'accueil.
   Les styles restent disponibles ailleurs sans être sollicités ici. */


/* Lot 13d : vraie correction mobile de l'accueil et du carrousel */
@media(max-width:980px){
  .home-direct-grid{
    gap:26px !important;
  }
  .home-direct-actions{
    margin-bottom:0 !important;
  }
  .home-live-showcase{
    margin-top:0 !important;
    padding:16px !important;
    border-radius:28px !important;
    background:rgba(255,249,251,.98) !important;
    color:var(--ink) !important;
    border:1px solid rgba(255,255,255,.56) !important;
    box-shadow:0 24px 58px rgba(18,6,17,.22) !important;
  }
  .home-showcase-head{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:14px !important;
  }
  .home-showcase-head>div{
    gap:7px !important;
  }
  .home-showcase-head strong{
    color:var(--ink) !important;
    font-size:1.02rem !important;
    line-height:1.22 !important;
  }
  .home-showcase-head>a{
    margin-top:4px !important;
    color:var(--accent) !important;
    font-size:.9rem !important;
    font-weight:950 !important;
    text-decoration:none !important;
  }
  .home-people-track{
    display:flex !important;
    align-items:stretch !important;
    gap:12px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    scroll-padding-left:38px !important;
    padding:2px 38px 8px !important;
  }
  .home-person-card{
    flex:0 0 min(82vw,360px) !important;
    width:auto !important;
    height:164px !important;
    display:grid !important;
    grid-template-columns:132px minmax(0,1fr) !important;
    border-radius:24px !important;
    background:#fff !important;
    color:var(--ink) !important;
    border:1px solid rgba(143,71,100,.14) !important;
    box-shadow:0 16px 34px rgba(59,24,43,.14) !important;
    overflow:hidden !important;
    scroll-snap-align:start !important;
  }
  .home-person-card::before{
    display:none !important;
  }
  .home-person-photo{
    position:relative !important;
    inset:auto !important;
    width:132px !important;
    height:164px !important;
    min-width:132px !important;
    background:linear-gradient(135deg,#efe2f3,#f8e8ef) !important;
  }
  .home-person-photo>img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }
  .home-person-body{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    display:grid !important;
    align-content:center !important;
    gap:5px !important;
    min-width:0 !important;
    padding:13px 13px 13px 14px !important;
    color:var(--ink) !important;
  }
  .home-person-body h3{
    margin:0 !important;
    color:var(--ink) !important;
    font-size:1.08rem !important;
    line-height:1.15 !important;
    letter-spacing:-.01em !important;
    text-shadow:none !important;
  }
  .home-person-body>span{
    color:var(--muted) !important;
    font-size:.84rem !important;
    font-weight:850 !important;
  }
  .home-person-body p{
    margin:3px 0 0 !important;
    color:#56384a !important;
    font-size:.84rem !important;
    line-height:1.34 !important;
    min-height:0 !important;
    max-height:3.7em !important;
    overflow:hidden !important;
    text-shadow:none !important;
  }
  .home-people-carousel .carousel-mini-arrow{
    width:34px !important;
    height:34px !important;
    top:50% !important;
    font-size:1.55rem !important;
    z-index:4 !important;
  }
}

@media(max-width:720px){
  .home-direct-grid{
    gap:22px !important;
  }
  .home-direct-actions{
    gap:10px !important;
  }
  .home-live-showcase{
    padding:14px 12px 15px !important;
    border-radius:25px !important;
  }
  .home-showcase-head{
    margin-bottom:12px !important;
  }
  .home-showcase-head strong{
    font-size:.98rem !important;
  }
  .home-showcase-head>a{
    font-size:.84rem !important;
  }
  .home-people-track{
    gap:11px !important;
    padding:2px 30px 8px !important;
    scroll-padding-left:30px !important;
  }
  .home-person-card{
    flex-basis:min(86vw,340px) !important;
    height:154px !important;
    grid-template-columns:122px minmax(0,1fr) !important;
    border-radius:22px !important;
  }
  .home-person-photo{
    width:122px !important;
    min-width:122px !important;
    height:154px !important;
  }
  .home-person-body{
    padding:12px 12px 12px 13px !important;
  }
  .home-person-body h3{
    font-size:1.02rem !important;
  }
  .home-person-body>span{
    font-size:.81rem !important;
  }
  .home-person-body p{
    font-size:.81rem !important;
    line-height:1.32 !important;
  }
  .home-people-carousel .carousel-mini-arrow{
    width:30px !important;
    height:30px !important;
    font-size:1.42rem !important;
  }
}


/* Lot 14 : activation email, cloche notifications mobile, préférences de recherche */
.tag.safe{background:#e8f8ef;color:#14643a}
.mobile-notification-bell{display:none}
.activation-card{text-align:center}
.activation-icon{
  display:grid;place-items:center;
  width:74px;height:74px;margin:0 auto 18px;
  border-radius:28px;
  background:linear-gradient(135deg,#ffe6ee,#eee5ff);
  font-size:2rem;
}
.activation-email-target{
  display:inline-flex;
  margin:8px 0 18px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff0f4;
  color:var(--accent);
  font-weight:950;
  overflow-wrap:anywhere;
}
.preferences-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:20px;
  align-items:start;
}
.preferences-side-card{position:sticky;top:112px}
.preference-precision-note{
  margin-top:10px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,240,246,.72);
  border:1px solid var(--line);
}
.preferences-inline-note{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 16px;
}
.preferences-inline-note a{
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:#fff0f4;
  color:var(--accent);
  text-decoration:none;
  font-weight:900;
  font-size:.86rem;
}
.discover-age-row{gap:10px}
.admin-users-filter-rich label{min-width:min(230px,100%)}

@media(max-width:980px){
  .nav-wrap{
    justify-content:flex-start;
    gap:10px;
  }
  .mobile-notification-bell{
    position:relative;
    display:inline-grid;
    place-items:center;
    width:46px;
    height:46px;
    margin-left:auto;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    text-decoration:none;
  }
  .mobile-notification-bell svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-notification-bell b{
    position:absolute;
    top:-4px;
    right:-3px;
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    background:#ffcc65;
    color:#35204f;
    border:2px solid rgba(35,16,30,.98);
    font-size:.68rem;
    font-weight:1000;
  }
  .nav-toggle{margin-left:0}
  .preferences-layout{
    grid-template-columns:1fr;
  }
  .preferences-side-card{position:static}
}

@media(max-width:640px){
  .mobile-notification-bell{
    width:42px;
    height:42px;
  }
  .mobile-notification-bell svg{
    width:22px;
    height:22px;
  }
}


@media(max-width:720px){
  .match-celebration-modal{padding:14px}
  .match-celebration-card{
    padding:28px 18px 22px;
    border-radius:32px;
  }
  .match-close-btn{
    top:12px;
    right:12px;
    width:36px;
    height:36px;
  }
  .match-celebration-card h2{
    font-size:2.65rem;
    margin-top:2px;
  }
  .match-celebration-card>p{
    font-size:.98rem;
    margin-bottom:20px;
  }
  .match-duo-avatars{
    grid-template-columns:1fr 52px 1fr;
    gap:8px;
    margin-bottom:22px;
  }
  .match-duo-avatars img{
    width:104px;
    height:104px;
    border-radius:32px;
    padding:5px;
  }
  .match-duo-heart{
    width:52px;
    height:52px;
    font-size:1.6rem;
  }
  .match-duo-avatars figcaption{
    font-size:.86rem;
  }
  .match-celebration-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .match-celebration-actions .btn{
    width:100%;
  }
}










/* Lot 15f : lapin GIF, fond transparent et disparition auto en 3 secondes */
body.match-overlay-open{overflow:hidden}
.match-celebration-overlay{
  position:fixed;
  inset:0;
  z-index:180;
  display:grid;
  place-items:center;
  opacity:0;
  animation:matchOverlayFadeIn .28s ease forwards;
  pointer-events:none;
}
.match-celebration-overlay.is-hiding{
  animation:matchOverlayFadeOut .42s ease forwards;
}
.match-overlay-backdrop{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.96);
}
.match-celebration-stage{
  position:relative;
  z-index:2;
  width:min(94vw,680px);
  min-height:min(82vh,760px);
  display:grid;
  align-content:center;
  justify-items:center;
  padding:24px 20px 34px;
}
.match-birds-wrap{
  display:grid;
  place-items:center;
  width:min(76vw,390px);
  min-height:210px;
  padding:6px;
  animation:matchRabbitFloat 1.8s ease-in-out infinite;
}
.match-birds-gif{
  width:min(100%, 390px);
  height:auto;
  image-rendering:auto;
  filter:drop-shadow(0 16px 34px rgba(50,25,45,.14));
}
.match-celebration-copy{
  margin-top:2px;
  text-align:center;
  display:grid;
  gap:0;
}
.match-celebration-copy strong{
  display:inline-block;
  font-family:"Trebuchet MS","Arial Rounded MT Bold","Segoe UI",sans-serif;
  font-weight:1000;
  font-size:clamp(2.35rem,6.1vw,4.25rem);
  line-height:.94;
  letter-spacing:-.035em;
  color:#df223e;
  text-shadow:0 8px 24px rgba(189,30,56,.18), 0 2px 0 rgba(255,255,255,.30);
  animation:matchTextVibrate .18s linear infinite alternate;
}
.match-celebration-copy span{display:none;}
@keyframes matchRabbitFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.02)}
}
@keyframes matchTextVibrate{
  0%{transform:translate(0,0) rotate(-0.7deg) scale(1)}
  25%{transform:translate(-1px,0.5px) rotate(0.7deg) scale(1.01)}
  50%{transform:translate(1px,-0.5px) rotate(-0.5deg) scale(1)}
  75%{transform:translate(-0.5px,1px) rotate(0.5deg) scale(1.01)}
  100%{transform:translate(0.5px,-1px) rotate(-0.6deg) scale(1)}
}
@keyframes matchOverlayFadeIn{from{opacity:0}to{opacity:1}}
@keyframes matchOverlayFadeOut{from{opacity:1}to{opacity:0}}
@media(max-width:720px){
  .match-celebration-stage{
    width:min(96vw,430px);
    min-height:100vh;
    padding:18px 16px 26px;
  }
  .match-birds-wrap{
    width:min(78vw,285px);
    min-height:250px;
  }
  .match-birds-gif{
    width:min(100%,285px);
  }
  .match-celebration-copy strong{font-size:2.15rem}
  .match-celebration-copy span{font-size:.96rem}
}


/* Lot 15l : notifications plus visibles + photo cliquable dans les likes */
.notification{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}
.notification-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
}
.notification-open-btn{
  min-width:126px;
  min-height:48px;
  padding:13px 20px;
  font-size:1rem;
  font-weight:1000;
  box-shadow:0 16px 34px rgba(183,79,104,.26);
}
.notification-delete-form{margin:0}
.profile-tile-avatar-link{
  display:block;
  width:max-content;
  border-radius:22px;
  line-height:0;
  transition:transform .18s ease, box-shadow .18s ease;
}
.profile-tile-avatar-link:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 16px 30px rgba(67,28,47,.18);
}
.profile-tile-avatar-link:focus-visible{
  outline:3px solid rgba(183,79,104,.45);
  outline-offset:4px;
}
@media(max-width:720px){
  .notification{
    grid-template-columns:1fr;
    align-items:start;
  }
  .notification-actions{
    width:100%;
    justify-content:stretch;
  }
  .notification-open-btn{
    flex:1 1 100%;
    width:100%;
  }
  .notification-delete-form{
    width:100%;
  }
  .notification-delete-form .btn{
    width:100%;
  }
}


/* Lot 17 : sécurité des connexions */
.security-stat-grid{margin-bottom:22px}
.security-stat-grid .admin-stat-card strong{font-size:2rem}
@media(max-width:760px){
  .security-stat-grid{grid-template-columns:1fr}
}


/* Lot 18 : alertes "Ça pourrait matcher" */
.potential-match-alert,
.potential-match-explore{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  padding:24px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.17),transparent 24%),
    radial-gradient(circle at 18% 18%,rgba(255,188,205,.18),transparent 26%),
    linear-gradient(135deg,#b51f43,#e04663 48%,#84203e 118%);
  box-shadow:0 28px 70px rgba(155,35,64,.24);
  border:1px solid rgba(255,255,255,.22);
}
.potential-match-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.17);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}
.potential-match-grid{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:22px;
  align-items:center;
}
.potential-match-photo-link{
  display:block;
  width:190px;
  height:230px;
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.18);
  border:4px solid rgba(255,255,255,.28);
  box-shadow:0 20px 44px rgba(70,8,30,.22);
}
.potential-match-photo-link img,
.potential-mini-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.potential-match-copy h2{
  margin:0 0 7px;
  font-size:clamp(1.6rem,3vw,2.55rem);
  line-height:1.05;
  color:#fff;
}
.potential-match-intro{margin:0 0 8px;color:rgba(255,255,255,.92)}
.potential-match-phrase{
  margin:0 0 10px;
  padding:14px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  font-size:1.08rem;
  font-weight:850;
  line-height:1.42;
}
.potential-match-reason{
  margin:0 0 14px;
  color:rgba(255,255,255,.94);
}
.potential-match-btn{
  background:#fff;
  color:#a51d42;
  box-shadow:0 16px 34px rgba(78,10,30,.20);
}
.potential-match-btn:hover{color:#8b1635}
.potential-match-alert .btn.outline{
  color:#fff;
  border-color:rgba(255,255,255,.56);
  background:rgba(255,255,255,.10);
}
.potential-match-empty,
.potential-match-setup{
  border:1px solid #ffd6df;
  background:linear-gradient(135deg,#fff6f8,#fff);
}
.potential-match-empty strong,
.potential-match-setup strong{
  display:block;
  color:#a91d42;
  font-size:1.08rem;
  margin-bottom:5px;
}
.dashboard-potential-match{margin-bottom:0}
.potential-match-explore{
  margin-bottom:22px;
}
.potential-match-header h1{
  margin:0 0 7px;
  color:#fff;
  font-size:clamp(1.72rem,3.4vw,2.8rem);
  line-height:1.06;
}
.potential-match-header p{
  margin:0 0 18px;
  color:rgba(255,255,255,.92);
}
.potential-match-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.potential-mini-card{
  overflow:hidden;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:0;
  min-height:248px;
  border-radius:26px;
  background:rgba(255,255,255,.97);
  color:var(--ink);
  box-shadow:0 18px 40px rgba(80,12,32,.18);
}
.potential-mini-photo{
  display:block;
  width:118px;
  height:100%;
  min-height:248px;
  background:#f4dde5;
}
.potential-mini-body{
  display:grid;
  align-content:center;
  gap:7px;
  padding:15px 15px 15px 16px;
}
.potential-mini-body h2{
  margin:0;
  font-size:1.1rem;
  line-height:1.15;
}
.potential-mini-body h2 a{text-decoration:none}
.potential-mini-body blockquote{
  margin:0;
  color:#a51d42;
  font-weight:900;
  line-height:1.36;
  font-size:.92rem;
}
.potential-mini-body p{
  margin:0;
  color:var(--muted);
  line-height:1.35;
  font-size:.88rem;
}
.potential-mini-body .btn{
  width:max-content;
  margin-top:3px;
}
@media(max-width:1180px){
  .potential-match-cards{grid-template-columns:1fr}
  .potential-mini-card{min-height:0}
  .potential-mini-photo{min-height:190px}
}
@media(max-width:760px){
  .potential-match-alert,
  .potential-match-explore{
    padding:18px;
    border-radius:28px;
  }
  .potential-match-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .potential-match-photo-link{
    width:min(100%,240px);
    height:285px;
    margin:0 auto;
  }
  .potential-match-copy .inline-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .potential-match-copy .btn{
    width:100%;
    justify-content:center;
  }
  .potential-match-phrase{font-size:1rem}
  .potential-mini-card{
    grid-template-columns:104px minmax(0,1fr);
    border-radius:22px;
  }
  .potential-mini-photo{
    width:104px;
    min-height:200px;
  }
  .potential-mini-body{
    padding:13px;
  }
}


/* Lot 18b : carrousels "Ça pourrait matcher" */
.potential-carousel-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.potential-carousel-topline .potential-match-badge{margin-bottom:0}
.potential-carousel-controls{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.potential-carousel-arrow{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  background:rgba(255,255,255,.17);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(77,10,30,.18);
  transition:transform .18s ease, background .18s ease;
}
.potential-carousel-arrow:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.26);
}
.potential-carousel-count{
  min-width:58px;
  text-align:center;
  font-weight:1000;
  color:#fff;
}
.potential-carousel-count b{font-size:1.06rem}
.potential-carousel-viewport{
  overflow:hidden;
  width:100%;
}
.potential-carousel-track{
  display:flex;
  width:100%;
  transform:translateX(0);
  transition:transform .42s cubic-bezier(.16,1,.3,1);
}
.potential-carousel-slide{
  flex:0 0 100%;
  width:100%;
}
.potential-carousel-slide:not(.is-active){
  pointer-events:none;
}
.potential-carousel-dots{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.potential-carousel-dots button{
  width:11px;
  height:11px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.40);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, width .18s ease;
}
.potential-carousel-dots button.is-active{
  width:28px;
  background:#fff;
  transform:scale(1.02);
}

/* Mon espace : grand carousel avec une fiche complète à la fois */
.potential-dashboard-carousel .potential-match-grid{
  min-height:306px;
}

/* Découvrir : grand carousel horizontal au lieu de cartes empilées */
.potential-match-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.explore-carousel-controls{
  margin-top:6px;
}
.potential-explore-viewport{
  margin-top:4px;
}
.potential-explore-card{
  display:grid;
  grid-template-columns:minmax(200px,270px) minmax(0,1fr);
  gap:24px;
  align-items:center;
  min-height:340px;
  padding:8px 4px 4px;
}
.potential-explore-photo{
  display:block;
  width:min(100%,270px);
  height:330px;
  overflow:hidden;
  border-radius:30px;
  background:rgba(255,255,255,.18);
  border:4px solid rgba(255,255,255,.28);
  box-shadow:0 20px 44px rgba(70,8,30,.22);
}
.potential-explore-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.potential-explore-body{
  display:grid;
  align-content:center;
  min-width:0;
}
.potential-explore-body h2{
  margin:0 0 8px;
  font-size:clamp(1.65rem,3vw,2.65rem);
  line-height:1.05;
  color:#fff;
}
.potential-explore-body h2 a{
  color:#fff;
  text-decoration:none;
}
.explore-potential-phrase{
  font-size:1.12rem;
  max-width:720px;
}
.explore-potential-reason{
  max-width:720px;
}

@media(max-width:900px){
  .potential-carousel-topline,
  .potential-match-header{
    display:grid;
    grid-template-columns:1fr;
  }
  .explore-carousel-controls{
    margin-top:0;
    justify-content:flex-start;
  }
  .potential-explore-card{
    grid-template-columns:1fr;
    min-height:0;
    gap:16px;
    padding-top:0;
  }
  .potential-explore-photo{
    width:min(100%,300px);
    height:340px;
    margin:0 auto;
  }
  .potential-dashboard-carousel .potential-match-grid{
    min-height:0;
  }
}
@media(max-width:760px){
  .potential-carousel-controls{
    justify-content:flex-start;
  }
  .potential-carousel-arrow{
    width:40px;
    height:40px;
    font-size:1.8rem;
  }
  .potential-carousel-dots{
    margin-top:14px;
  }
  .potential-explore-photo{
    width:min(100%,250px);
    height:300px;
  }
  .potential-explore-body h2{
    font-size:1.65rem;
  }
  .explore-potential-phrase{
    font-size:1rem;
  }
}


/* Lot 19 : mode "Disponible maintenant" */
.available-now-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border-radius:30px;
  border:1px solid var(--line);
}
.available-now-panel.is-idle{
  background:linear-gradient(135deg,#fff7fa,#fff);
}
.available-now-panel.is-live{
  color:#fff;
  border-color:rgba(255,255,255,.26);
  background:
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.18),transparent 24%),
    linear-gradient(135deg,#c4234a,#ed536f 60%,#962245 118%);
  box-shadow:0 28px 64px rgba(166,35,66,.22);
}
.available-now-panel h2{
  margin:3px 0 6px;
  font-size:clamp(1.42rem,2.5vw,2.18rem);
  line-height:1.08;
}
.available-now-panel p{margin:0}
.available-now-panel.is-live .eyebrow,
.available-now-panel.is-live p{
  color:rgba(255,255,255,.95);
}
.available-now-panel.is-live h2{color:#fff}
.available-now-actions form{margin:0}
.available-start-btn{
  min-height:54px;
  padding-left:22px;
  padding-right:22px;
  box-shadow:0 18px 38px rgba(183,79,104,.24);
}
.available-now-panel.is-live .available-stop-btn{
  color:#fff;
  border-color:rgba(255,255,255,.52);
  background:rgba(255,255,255,.12);
}
.available-now-inline-badge{
  display:inline-flex;
  width:max-content;
  margin:0 0 8px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff0c9;
  color:#8d5b00;
  font-size:.78rem;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.live-pill{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.availability-profile-setting{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.setting-static-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:#fff0c9;
  color:#8d5b00;
  font-size:1.1rem;
}
@media(max-width:800px){
  .available-now-panel{
    display:grid;
    grid-template-columns:1fr;
    padding:18px;
  }
  .available-now-actions,
  .available-now-actions form,
  .available-now-actions .btn{
    width:100%;
  }
  .availability-profile-setting{
    grid-template-columns:42px minmax(0,1fr);
  }
  .availability-profile-setting .btn{
    grid-column:1 / -1;
    width:100%;
  }
}


/* Lot 20 : géolocalisation volontaire mobile */
.current-location-panel{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.22);
}
.available-now-panel.is-live .current-location-panel{
  background:rgba(255,255,255,.13);
}
.available-now-panel.is-idle .current-location-panel{
  background:#fff;
  border-color:var(--line);
}
.current-location-copy{
  min-width:0;
}
.current-location-copy strong{
  display:block;
  margin-bottom:4px;
  font-size:1.05rem;
}
.current-location-copy p{
  margin:0;
  font-size:.94rem;
}
.current-location-actions{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:10px;
}
.current-location-actions form{
  margin:0;
}
.location-status{
  display:block;
  margin-top:7px;
  max-width:260px;
  font-size:.84rem;
  font-weight:850;
  line-height:1.35;
}
.available-now-panel.is-live .location-status{
  color:rgba(255,255,255,.94);
}
.location-share-btn{
  min-height:50px;
}
.available-now-panel.is-live .location-share-btn{
  background:#fff;
  color:#a51d42;
}
.available-now-panel.is-live .location-clear-btn{
  color:#fff;
  border-color:rgba(255,255,255,.52);
  background:rgba(255,255,255,.12);
}
.proximity-inline-badge{
  display:inline-flex;
  width:max-content;
  margin:0 0 8px;
  padding:6px 10px;
  border-radius:999px;
  background:#e8f4ff;
  color:#235c8c;
  font-size:.78rem;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.proximity-tag{
  background:#e8f4ff;
  color:#235c8c;
}
@media(max-width:800px){
  .current-location-panel{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    padding:16px;
  }
  .current-location-actions,
  .current-location-actions form,
  .current-location-actions .btn{
    width:100%;
  }
  .location-status{
    max-width:none;
  }
}


/* Lot 20b : interface présence / proximité plus compacte */
.presence-compact{
  display:grid;
  gap:14px;
  padding:18px 20px;
  border-radius:26px;
  border:1px solid var(--line);
}
.presence-compact.is-idle{
  background:linear-gradient(135deg,#fff7fa,#fff);
}
.presence-compact.is-live{
  color:#fff;
  border-color:rgba(255,255,255,.24);
  background:
    radial-gradient(circle at 92% 10%,rgba(255,255,255,.18),transparent 24%),
    linear-gradient(135deg,#c4234a,#e64566 60%,#962245 118%);
  box-shadow:0 22px 48px rgba(166,35,66,.18);
}
.presence-compact-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.presence-compact h2{
  margin:2px 0 2px;
  font-size:clamp(1.25rem,2.1vw,1.8rem);
  line-height:1.08;
}
.presence-compact p{
  margin:0;
  font-size:.92rem;
}
.presence-compact.is-live .eyebrow,
.presence-compact.is-live p,
.presence-compact.is-live h2{
  color:#fff;
}
.presence-status-chips{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
}
.presence-status-chips span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}
.presence-status-chips .on{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);color:#fff}
.presence-status-chips .off{background:#fff0f4;color:#a51d42}
.presence-status-chips .geo-on{background:#e8f4ff;color:#235c8c}
.presence-status-chips .geo-off{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);color:#fff}
.presence-compact-actions{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:10px;
}
.presence-compact-actions form{margin:0}
.presence-compact .btn{
  min-height:42px;
  padding:10px 15px;
}
.presence-compact.is-live .available-stop-btn,
.presence-compact.is-live .location-clear-btn{
  color:#fff;
  border-color:rgba(255,255,255,.52);
  background:rgba(255,255,255,.11);
}
.presence-compact.is-live .location-share-btn{
  background:#fff;
  color:#a51d42;
}
.presence-compact .location-status{
  max-width:230px;
  margin-top:6px;
  font-size:.8rem;
}

/* Carrousels de matchs potentiels plus légers */
.compact-potential-carousel{
  padding:18px 20px;
  border-radius:28px;
}
.compact-potential-carousel .potential-carousel-topline,
.compact-potential-carousel .potential-match-header{
  margin-bottom:10px;
}
.compact-potential-carousel .potential-match-badge{
  margin-bottom:0;
  padding:7px 11px;
}
.compact-potential-carousel .potential-carousel-arrow{
  width:38px;
  height:38px;
  font-size:1.75rem;
}
.compact-potential-carousel .potential-carousel-count{
  min-width:52px;
  font-size:.92rem;
}
.compact-potential-carousel .potential-match-grid{
  grid-template-columns:126px minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-height:0;
}
.compact-potential-carousel .potential-match-photo-link{
  width:126px;
  height:154px;
  border-radius:22px;
}
.compact-potential-carousel .potential-match-copy h2{
  font-size:clamp(1.28rem,2.2vw,1.85rem);
  margin-bottom:6px;
}
.compact-potential-carousel .potential-match-phrase{
  margin:6px 0 11px;
  padding:11px 13px;
  border-radius:16px;
  font-size:.98rem;
  line-height:1.35;
}
.compact-potential-carousel .available-now-inline-badge,
.compact-potential-carousel .proximity-inline-badge{
  margin-bottom:5px;
  padding:5px 8px;
  font-size:.7rem;
}
.compact-potential-carousel .inline-actions .btn{
  min-height:40px;
  padding:9px 14px;
}
.compact-potential-carousel .potential-carousel-dots{
  margin-top:12px;
}
.compact-potential-carousel .potential-explore-card{
  grid-template-columns:148px minmax(0,1fr);
  gap:18px;
  min-height:0;
  padding:0;
}
.compact-potential-carousel .potential-explore-photo{
  width:148px;
  height:180px;
  border-radius:24px;
}
.compact-potential-carousel .potential-explore-body h2{
  font-size:clamp(1.35rem,2.3vw,1.95rem);
  margin-bottom:6px;
}
.compact-potential-carousel .explore-potential-phrase{
  max-width:none;
  font-size:1rem;
}
.potential-match-explore.compact-potential-carousel .potential-match-header h1{
  font-size:clamp(1.45rem,2.7vw,2.1rem);
  margin-bottom:0;
}

@media(max-width:800px){
  .presence-compact{
    padding:16px;
  }
  .presence-compact-head{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .presence-status-chips{
    justify-content:flex-start;
  }
  .presence-compact-actions,
  .presence-compact-actions form,
  .presence-compact-actions .btn{
    width:100%;
  }
  .presence-compact .location-status{
    max-width:none;
  }
  .compact-potential-carousel{
    padding:16px;
  }
  .compact-potential-carousel .potential-match-grid,
  .compact-potential-carousel .potential-explore-card{
    grid-template-columns:1fr;
    gap:12px;
  }
  .compact-potential-carousel .potential-match-photo-link,
  .compact-potential-carousel .potential-explore-photo{
    width:min(100%,190px);
    height:220px;
    margin:0 auto;
  }
  .compact-potential-carousel .potential-match-copy h2,
  .compact-potential-carousel .potential-explore-body h2{
    text-align:center;
  }
  .compact-potential-carousel .available-now-inline-badge,
  .compact-potential-carousel .proximity-inline-badge{
    margin-left:auto;
    margin-right:auto;
  }
  .compact-potential-carousel .inline-actions,
  .compact-potential-carousel .inline-actions .btn{
    width:100%;
  }
}


/* Lot 20c : bouton "Ne plus voir" dans les suggestions */
.potential-inline-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.potential-inline-actions form{margin:0}
.potential-dismiss-btn{
  min-height:40px;
  padding:9px 14px;
}
.compact-potential-carousel .potential-dismiss-btn{
  color:#fff;
  border-color:rgba(255,255,255,.54);
  background:rgba(255,255,255,.10);
}
.compact-potential-carousel .potential-dismiss-btn:hover{
  background:rgba(255,255,255,.18);
}
@media(max-width:800px){
  .potential-inline-actions,
  .potential-inline-actions form,
  .potential-inline-actions .btn{
    width:100%;
  }
}


/* ==========================================================================
   Lot — OnMatche.com : changement de mot de passe utilisateur
   Palette Rencontre : rose poudré, bordeaux, prune, textes très lisibles.
   ========================================================================== */
.rencontre-password-card{
    display:grid;
    gap:16px;
    margin-top:18px;
    padding:24px !important;
    border-radius:32px !important;
    color:#351421 !important;
    background:
        radial-gradient(circle at 94% 10%, rgba(213,91,135,.15), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(240,190,175,.18), transparent 30%),
        linear-gradient(145deg,#fffaf8 0%,#fff2f5 56%,#f8edf3 100%) !important;
    border:1px solid rgba(186,76,117,.18) !important;
    box-shadow:0 26px 62px rgba(91,36,61,.12) !important;
}

.rencontre-password-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.rencontre-password-head h2{
    margin:6px 0 6px;
    color:#351421 !important;
    font-size:clamp(1.55rem,2vw,2rem);
    line-height:1.14;
}

.rencontre-password-head p,
.rencontre-password-card .muted,
.rencontre-password-help{
    color:#7a5464 !important;
    opacity:1 !important;
    line-height:1.45;
}

.rencontre-password-head > span{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    flex:0 0 52px;
    border-radius:19px;
    color:#fff;
    background:linear-gradient(145deg,#d55b87,#b24a72);
    box-shadow:0 16px 30px rgba(181,64,110,.22);
    font-size:1.42rem;
}

.rencontre-password-card label,
.rencontre-password-card label > span{
    color:#351421 !important;
    font-weight:1000 !important;
    opacity:1 !important;
}

.rencontre-password-card input[type="password"]{
    color:#351421 !important;
    background:#ffffff !important;
    border:1px solid rgba(186,76,117,.24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.96),
        0 12px 26px rgba(91,36,61,.08) !important;
}

.rencontre-password-card input[type="password"]:focus{
    border-color:rgba(181,64,110,.58) !important;
    outline:3px solid rgba(213,91,135,.16) !important;
    background:#fff !important;
}

.rencontre-password-help{
    display:block;
    font-weight:850;
}

.rencontre-password-card .btn{
    width:max-content;
    color:#fff !important;
    background:linear-gradient(145deg,#d55b87,#b24a72) !important;
    box-shadow:0 18px 36px rgba(181,64,110,.22) !important;
}

/* Dans le thème foncé du site, le bloc reste volontairement clair pour la lisibilité. */
html[data-theme="dark"] .rencontre-password-card,
body.dark .rencontre-password-card{
    color:#351421 !important;
    background:
        radial-gradient(circle at 94% 10%, rgba(213,91,135,.15), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(240,190,175,.18), transparent 30%),
        linear-gradient(145deg,#fffaf8 0%,#fff2f5 56%,#f8edf3 100%) !important;
    border-color:rgba(186,76,117,.18) !important;
}

html[data-theme="dark"] .rencontre-password-card h2,
body.dark .rencontre-password-card h2,
html[data-theme="dark"] .rencontre-password-card label,
body.dark .rencontre-password-card label{
    color:#351421 !important;
}

html[data-theme="dark"] .rencontre-password-card p,
html[data-theme="dark"] .rencontre-password-card .muted,
html[data-theme="dark"] .rencontre-password-help,
body.dark .rencontre-password-card p,
body.dark .rencontre-password-card .muted,
body.dark .rencontre-password-help{
    color:#7a5464 !important;
}

@media(max-width:760px){
    .rencontre-password-card{
        padding:18px !important;
        border-radius:28px !important;
    }

    .rencontre-password-head{
        gap:12px;
    }

    .rencontre-password-head > span{
        width:44px;
        height:44px;
        flex-basis:44px;
        border-radius:16px;
    }

    .rencontre-password-grid{
        grid-template-columns:1fr !important;
    }

    .rencontre-password-card .btn{
        width:100%;
    }
}
