/*
Theme Name: Nocturne Profiles Stable V5.9
Author: Custom Build
Version: 1.9.0
Description: Thème stable + pages Contact/Inscription + capture email (sans crash).
*/

:root{
  --bg1:#f7f8ff;
  --bg2:#f2e9ff;
  --accent1:#ff2ea6;
  --accent2:#7b5cff;
  --dark:#0f1020;
  --card:#ffffff;
  --muted: rgba(15,16,32,.72);
}

*{box-sizing:border-box}
body{
  font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  margin:0;
  color:var(--dark);
  background:linear-gradient(135deg,var(--bg1),var(--bg2));
}

a{color:inherit;text-decoration:none}
.rm-container{max-width:1100px;margin:0 auto;padding:24px}
.rm-topbar{
  position:sticky;top:0;z-index:20;
  backdrop-filter:saturate(180%) blur(10px);
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.rm-nav{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.rm-brand{display:flex;align-items:center;gap:10px;font-weight:900}
.rm-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--accent1),var(--accent2));display:inline-block}
.rm-links{display:flex;gap:14px;flex-wrap:wrap;font-weight:700;color:rgba(15,16,32,.75)}
.rm-links a{padding:10px 10px;border-radius:999px}
.rm-links a:hover{background:rgba(15,16,32,.06)}
.rm-cta{
  padding:12px 16px;border-radius:999px;border:0;
  background:linear-gradient(135deg,var(--accent1),var(--accent2));
  color:white;font-weight:900;cursor:pointer;text-decoration:none;
  box-shadow:0 18px 40px rgba(123,92,255,.22);
}

.hero{padding:64px 0 30px;}
.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:24px;
  align-items:stretch;
}
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
  .rm-links{display:none}
  .rm-filter-card{position:static; top:auto}
}



/* Layout: filter in right column */
.hero-right { align-self: start; }

/* Sticky on desktop only */
@media (min-width: 901px){
  .rm-filter-card { position: sticky; top: 92px; }
}

/* Mobile: stack, reduce hero height, show profiles faster */
@media (max-width: 900px){
  .hero{padding:34px 0 18px;}
  .rm-card.hero-left h1{font-size:44px; line-height:1.02;}
  .rm-stats{gap:10px;}
  .rm-section{padding-top:18px;}
  .rm-filter-card{ position: static; top: auto; }
  .hero-right{ margin-top: 12px; }
}
@media (max-width: 520px){
  .rm-card.hero-left h1{font-size:38px;}
  .rm-socialproof, .rm-urgency{font-size:13px;}
  .rm-badges{gap:8px; flex-wrap:wrap;}
}

.rm-card{
  background:var(--card);
  border:1px solid rgba(0,0,0,.06);
  border-radius:24px;
  box-shadow:0 30px 80px rgba(0,0,0,.08);
  padding:28px;
}
.rm-kickers{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.rm-pill{
  font-size:12px;font-weight:900;
  padding:8px 10px;border-radius:999px;
  background:rgba(15,16,32,.05);
}
.hero h1{
  font-size:44px;line-height:1.05;margin:12px 0 12px;
  letter-spacing:-.02em;
}
.hero p{margin:0 0 18px;color:var(--muted);font-weight:650}
.rm-note{font-size:12px;color:rgba(15,16,32,.6);font-weight:750;margin-top:10px}

.rm-form input, .rm-form textarea{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  font-size:16px;
  outline:none;
}
.rm-form textarea{min-height:140px;resize:vertical}
.rm-form input:focus, .rm-form textarea:focus{
  border-color:rgba(123,92,255,.55);
  box-shadow:0 0 0 4px rgba(123,92,255,.12)
}
.rm-form .rm-button{
  width:100%;
  padding:14px 16px;
  border-radius:999px;
  border:0;
  background:linear-gradient(135deg,var(--accent1),var(--accent2));
  color:#fff;
  font-weight:950;
  font-size:16px;
  cursor:pointer;
}
.rm-mini{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  margin-top:14px;color:rgba(15,16,32,.7);font-weight:800;font-size:13px
}
.rm-badge{padding:6px 10px;border-radius:999px;background:rgba(255,46,166,.10);border:1px solid rgba(255,46,166,.18)}
.rm-success{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(60,179,113,.12);
  border:1px solid rgba(60,179,113,.22);
  font-weight:900;
}
.rm-warn{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,46,166,.10);
  border:1px solid rgba(255,46,166,.18);
  font-weight:900;
}

.rm-page-title{font-size:34px;letter-spacing:-.02em;margin:0 0 10px}
.rm-sub{color:var(--muted);font-weight:650;margin:0 0 18px}


/* ===== Conversion widgets (V5) ===== */
.rm-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.rm-badge{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.06);backdrop-filter: blur(6px)}
.rm-badge strong{font-weight:700}
.rm-urgency{margin-top:10px;font-size:13px;opacity:.9}
.rm-socialproof{margin-top:10px;font-size:13px;opacity:.9}
.rm-pulse{display:inline-flex;align-items:center;gap:8px}
.rm-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation: rmPulse 1.8s infinite}
@keyframes rmPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 12px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.rm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.rm-stat{background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:12px;text-align:left}
.rm-stat .k{font-size:18px;font-weight:800}
.rm-stat .l{font-size:12px;opacity:.8;margin-top:2px}
@media (max-width:820px){.rm-stats{grid-template-columns:1fr}}


/* ===== Profiles grid ===== */
.rm-section{padding: 10px 0 40px}
.rm-section-title{font-size:26px;margin:0 0 16px}
.rm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:980px){.rm-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.rm-grid{grid-template-columns:1fr}}
.rm-profile{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.08);
  transition:transform .15s ease, box-shadow .15s ease;
}
.rm-profile:hover{transform:translateY(-2px);box-shadow:0 22px 65px rgba(0,0,0,.10)}
.rm-profile-img{aspect-ratio: 4/5; background:rgba(0,0,0,.06); position:relative}
.rm-profile-img img{width:100%;height:100%;object-fit:cover;display:block}
.rm-status{
  position:absolute;top:12px;left:12px;
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.06);
  font-size:12px;font-weight:700
}
.rm-status-dot{width:10px;height:10px;border-radius:999px}
.rm-status-online{background:#22c55e}
.rm-status-offline{background:#cbd5e1}
.rm-profile-body{padding:14px 14px 16px}
.rm-profile-title{margin:0;font-size:16px;font-weight:800}
.rm-profile-excerpt{margin:8px 0 0;font-size:13px;opacity:.8;line-height:1.35}

/* ===== Single profile ===== */
.rm-single{display:grid;grid-template-columns: 1.2fr .8fr; gap:18px}
@media (max-width:980px){.rm-single{grid-template-columns:1fr}}
.rm-single-media{border-radius:20px;overflow:hidden;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.7)}
.rm-single-media img{width:100%;height:auto;display:block}
.rm-single-card{background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:18px;box-shadow:0 18px 50px rgba(0,0,0,.08)}
.rm-single h1{margin:0 0 8px;font-size:28px}
.rm-single .rm-sub{margin:0 0 14px}


/* ===== Filter card ===== */
.rm-filter-card{display:flex;flex-direction:column;gap:10px}
.rm-filter-title{margin:0;font-size:34px;letter-spacing:-.02em}
.rm-filter-card .rm-sub{margin:0 0 6px;opacity:.85}
.rm-filter{margin-top:4px}
.rm-filter-row{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.rm-filter-row select,
.rm-filter-row input[type="text"]{width:100%;padding:14px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.92);font-weight:650}
.rm-filter-row label{padding-left:2px}
.rm-filter-row .rm-button{width:100%}

/* Reduce hero height a bit so profiles show sooner */
.hero{padding:34px 0 10px}

/* === V5.3.6 Mobile compact + proper filter styling === */

/* Ensure filter form uses themed styling even if markup changes */
.rm-filter select,
.rm-filter input[type="text"]{width:100%;padding:14px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.92);font-weight:650}
.rm-filter .rm-button{width:100%}

/* Desktop hero grid stays 2 columns until 980px (avoid big empty right area issues) */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .rm-links{display:none}
  .rm-filter-card{position:static; top:auto}
}
@media (min-width: 981px){
  .rm-filter-card{position:sticky; top:92px}
}

/* Mobile: ultra compact hero to show profiles faster */
@media (max-width: 640px){
  .rm-container{padding:16px}
  .hero{padding:24px 0 10px}
  .rm-card{padding:18px;border-radius:20px}
  .hero h1{font-size:34px;line-height:1.02;margin:10px 0 10px}
  .hero p{margin-bottom:12px}
  .rm-badges, .rm-stats{display:none}
  .rm-urgency, .rm-socialproof{font-size:13px}
}

/* Profiles grid: 2 columns on mobile, 1 column on very small screens */
@media (max-width: 700px){
  .rm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Mobile: always 2 columns for profile grid */
@media (max-width: 900px){
  .rm-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .rm-profile{border-radius:18px;}
  .rm-profile-body{padding:12px!important;}
  .rm-profile-title{font-size:15px!important;line-height:1.15!important;}
  .rm-profile-excerpt{font-size:12px!important;line-height:1.25!important;}
  .rm-status{font-size:12px!important;}
}


/* ===== City search (V5.4) ===== */
.rm-filter{margin:0}
.rm-filter input[type="text"], .rm-filter select{
  padding: 12px 14px; border-radius: 14px; border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.85); font-size: 14px; outline:none;
}
.rm-filter input[type="text"]:focus{border-color: rgba(123,92,255,.55); box-shadow:0 0 0 4px rgba(123,92,255,.12)}
.rm-filter .rm-chiprow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.rm-chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:999px;
  background: rgba(255,255,255,.65); border:1px solid rgba(0,0,0,.06);
  font-size:12px; font-weight:700; text-decoration:none; color: inherit;
}
.rm-chip:hover{background: rgba(255,255,255,.85)}
.rm-sticky{position: sticky; top: 18px}

/* Mobile compact: show profiles faster */
@media (max-width: 820px){
  .rm-hero{padding:18px!important}
  .rm-hero h1{font-size:30px!important; line-height:1.05!important; margin:0 0 10px!important}
  .rm-hero p{margin:0 0 12px!important}
  .rm-stats, .rm-features{display:none!important}
}

/* City list page */
.rm-city-search{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
.rm-city-search input{flex:1;min-width:220px}
.rm-city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width: 980px){.rm-city-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width: 640px){.rm-city-grid{grid-template-columns:repeat(2,1fr)}}


/* ===== Near me page (V5.5) ===== */
.rm-nearme-top{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:10px 0 16px}
.rm-nearme-top .rm-sub{margin:0}
.rm-nearme-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rm-nearme-form select{padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.85);font-size:14px}
.rm-nearme-badge{position:absolute;bottom:12px;left:12px;padding:6px 10px;border-radius:999px;background:rgba(17,17,17,.75);color:#fff;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.15)}

/* Big proximity CTA */
.rm-proximity-wrap{margin-top:18px;text-align:center}
.rm-proximity-big{
display:inline-block !important;
padding:14px 22px;
font-size:16px;
font-weight:800;
border-radius:16px;
background:linear-gradient(135deg,#ff2d8d,#7a5cff);
color:#fff !important;
text-decoration:none !important;
box-shadow:0 8px 24px rgba(122,92,255,.35);
transition:.2s ease;
}
.rm-proximity-big:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 40px rgba(122,92,255,.45);
}

/* FORCE only proximity button visible */
.rm-chip,
.rm-chips,
.rm-city-chip,
.rm-cats,
.rm-filter-cats{
    display:none !important;
}

.rm-proximity-wrap{
    margin-top:20px;
    text-align:center;
}

.rm-proximity-big{
display:inline-block !important;
padding:14px 22px;
font-size:16px;
font-weight:800;
border-radius:16px;
background:linear-gradient(135deg,#ff2d8d,#7a5cff);
color:#fff !important;
text-decoration:none !important;
box-shadow:0 8px 24px rgba(122,92,255,.35);
transition:.2s ease;
}

/* Footer */
.rm-footer{
margin-top:60px;
padding:40px 20px;
background:#111;
color:#ccc;
text-align:center;
font-size:14px;
}
.rm-footer a{
color:#fff;
text-decoration:none;
margin:0 10px;
opacity:.8;
}
.rm-footer a:hover{opacity:1}
.rm-footer-links{margin-bottom:15px}
