:root {
    --bg: #f7f7fb;
    --surface: #ffffff;
    --text: #172033;
    --muted: #647084;
    --primary: #6157ff;
    --primary-dark: #463be4;
    --secondary: #10b981;
    --border: #e6e8ef;
    --danger: #dc2626;
    --shadow: 0 18px 45px rgba(23, 32, 51, .10);
    --radius: 22px;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--text);
    background: var(--bg);
    line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 20px; }
.logo { display: flex; align-items: center; gap: 12px; }
.logo-mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--primary); color: white; font-weight: 800; }
.logo small { display: block; color: var(--muted); font-size: 12px; margin-top: -3px; }
.main-nav { display: flex; align-items: center; gap: 18px; }
.main-nav a { color: var(--muted); font-weight: 700; }
.main-nav a.active, .main-nav a:hover { color: var(--primary); }
.nav-toggle { display: none; border: 0; background: var(--surface); font-size: 25px; }

.btn, button.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px;
    border-radius: 999px;
    background: var(--primary);
    color: white;
    border: 0;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(97,87,255,.18);
}
.btn:hover { background: var(--primary-dark); color: white; }
.btn-secondary { background: #eef2ff; color: var(--primary); box-shadow: none; }
.btn-secondary:hover { background: #e0e7ff; color: var(--primary); }
.btn-small { padding: 9px 14px; font-size: 14px; }
.full { width: 100%; }

.hero { padding: 72px 0 54px; background: radial-gradient(circle at top right, #dff7ef, transparent 35%), linear-gradient(135deg, #fff, #f3f2ff); }
.hero-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 40px; align-items: center; }
.eyebrow { color: var(--primary); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
h1 { font-size: clamp(36px, 6vw, 64px); line-height: 1.02; margin: 10px 0 18px; }
h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.15; margin: 8px 0 16px; }
h3 { margin: 0 0 10px; font-size: 21px; }
.lead { font-size: 20px; color: var(--muted); max-width: 720px; }
.search-box { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 10px; background: white; padding: 10px; border-radius: 999px; box-shadow: var(--shadow); margin: 28px 0; }
input, select, textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 13px 14px;
    font: inherit;
    background: white;
}
.search-box input { border: 0; background: #f7f7fb; }
.search-box button { border: 0; border-radius: 999px; padding: 0 22px; background: var(--primary); color: white; font-weight: 800; cursor: pointer; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-card { min-height: 340px; display: flex; align-items: center; justify-content: center; }
.moment-card { background: #172033; color: white; border-radius: var(--radius); padding: 32px; box-shadow: var(--shadow); transform: rotate(1.5deg); }
.moment-card.light { background: white; color: var(--text); transform: none; }
.badge { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #ecfdf5; color: #047857; font-size: 13px; font-weight: 900; }

.section { padding: 62px 0; }
.section.alt { background: #fff; }
.section-title { max-width: 760px; margin-bottom: 26px; }
.cards-grid { display: grid; gap: 18px; }
.cards-grid.four { grid-template-columns: repeat(4, 1fr); }
.card, .panel, .placeholder-listing, .auth-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 24px;
    box-shadow: 0 8px 28px rgba(23,32,51,.06);
}
.icon { font-size: 32px; display: block; margin-bottom: 12px; }
.card p, .muted { color: var(--muted); }
.split { display: grid; grid-template-columns: 1fr .75fr; gap: 28px; align-items: start; }
.steps { padding-left: 22px; }
.steps li { margin-bottom: 16px; }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { padding: 10px 0 10px 30px; position: relative; border-bottom: 1px solid var(--border); }
.check-list li:before { content: '✓'; position: absolute; left: 0; color: var(--secondary); font-weight: 900; }
.cta { text-align: center; background: linear-gradient(135deg, #172033, #312e81); color: white; border-radius: 30px; padding: 44px; }
.cta p { color: rgba(255,255,255,.78); }

.page-hero.compact { padding: 46px 0; background: linear-gradient(135deg, #eef2ff, #fff); }
.page-hero.compact h1 { font-size: clamp(32px, 4vw, 48px); }
.search-layout { display: grid; grid-template-columns: 310px 1fr; gap: 24px; align-items: start; }
.filters form, .auth-card form, .big-form { display: grid; gap: 15px; }
.filters label, .auth-card label, .big-form label { display: grid; gap: 7px; font-weight: 800; color: var(--text); }
.results { display: grid; gap: 16px; }
.placeholder-listing { border-left: 5px solid var(--primary); }

.listing-detail { display: grid; grid-template-columns: 1fr 1.2fr .7fr; gap: 24px; align-items: start; }
.photo-placeholder { min-height: 350px; border-radius: var(--radius); background: linear-gradient(135deg, #e0e7ff, #dcfce7); display: grid; place-items: center; font-weight: 900; color: var(--muted); }
.price { font-size: 28px; font-weight: 900; color: var(--primary); }
.actions-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.link-danger { color: var(--danger); border: 0; background: transparent; font-weight: 800; cursor: pointer; }
.owner-card blockquote { margin: 16px 0; padding-left: 14px; border-left: 4px solid var(--primary); color: var(--muted); }

.profile-grid { display: grid; grid-template-columns: 310px 1fr; gap: 24px; }
.profile-card { text-align: center; }
.avatar { width: 92px; height: 92px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: white; font-size: 38px; font-weight: 900; }
.auth-section { min-height: 70vh; display: grid; place-items: center; padding: 50px 16px; }
.auth-card { width: min(470px, 100%); }
.center { text-align: center; }
.form-container { max-width: 900px; }
.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.choice-grid label, .checkbox { border: 1px solid var(--border); border-radius: 14px; padding: 12px; background: #fafafa; font-weight: 700; }
.two-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.legal-content { max-width: 850px; }

.site-footer { background: #101827; color: white; padding-top: 42px; }
.footer-grid { display: grid; grid-template-columns: 1fr 220px 220px; gap: 30px; }
.footer-grid p { color: rgba(255,255,255,.7); }
.footer-grid a { display: block; color: rgba(255,255,255,.72); margin: 8px 0; }
.footer-bottom { text-align: center; border-top: 1px solid rgba(255,255,255,.12); padding: 18px; margin-top: 28px; color: rgba(255,255,255,.58); }

@media (max-width: 900px) {
    .nav-toggle { display: block; }
    .main-nav { display: none; position: absolute; top: 76px; left: 0; right: 0; background: white; padding: 18px; flex-direction: column; align-items: stretch; border-bottom: 1px solid var(--border); }
    .main-nav.open { display: flex; }
    .hero-grid, .split, .search-layout, .listing-detail, .profile-grid, .footer-grid { grid-template-columns: 1fr; }
    .cards-grid.four { grid-template-columns: repeat(2, 1fr); }
    .search-box { grid-template-columns: 1fr; border-radius: 24px; }
    .search-box button { padding: 14px 20px; }
    .choice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .cards-grid.four, .two-cols { grid-template-columns: 1fr; }
    .hero { padding-top: 42px; }
    .cta { padding: 28px; }
}

/* Lot 2 et Lot 3 */
.alert { padding: 13px 16px; border-radius: 14px; margin: 12px 0; font-weight: 700; }
.alert.success { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.alert.danger { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
code { background: #f1f5f9; padding: 2px 6px; border-radius: 7px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.stat-card { background: white; border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; box-shadow: 0 8px 25px rgba(23,32,51,.06); }
.stat-card strong { display: block; font-size: 32px; line-height: 1; color: var(--primary); }
.stat-card span { color: var(--muted); font-weight: 700; }
.db-status { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: #eef2ff; color: var(--primary); font-weight: 800; }
.listing-meta { display: flex; gap: 10px; flex-wrap: wrap; color: var(--muted); font-size: 14px; }
@media (max-width: 800px) { .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .stats-grid { grid-template-columns: 1fr; } }

/* Lot 3 */
.wide-card { width: min(720px, 100%); }
.dashboard-stats { margin-top: 18px; }
.checkbox input { width: auto; margin-right: 8px; }
.mini-nav { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
blockquote { font-size: 20px; margin: 16px 0; }

/* Lot 4 */
.listing-row { display: flex; gap: 18px; align-items: flex-start; }
.listing-row-main { flex: 1; }
.listing-thumb { width: 150px; height: 120px; object-fit: cover; border-radius: 18px; border: 1px solid var(--border); background: #f1f5f9; }
.inline-form { display: inline-flex; margin: 0; }
.image-stack { display: grid; gap: 12px; }
.image-stack img { width: 100%; border-radius: var(--radius); border: 1px solid var(--border); box-shadow: 0 8px 28px rgba(23,32,51,.06); }
.image-strip { display: flex; gap: 10px; flex-wrap: wrap; }
.image-strip img { width: 110px; height: 82px; object-fit: cover; border-radius: 14px; border: 1px solid var(--border); }
small.muted { font-weight: 400; }
@media (max-width: 650px) { .listing-row { flex-direction: column; } .listing-thumb { width: 100%; height: 180px; } }

/* Lot 5 */
.results-head, .row-between { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.checkbox-line { display:flex !important; flex-direction:row !important; align-items:center; gap:8px; font-weight:600; }
.checkbox-line input { width:auto; }
.badge.soft { background:#eef2ff; color:#3730a3; }
.moment-results { margin-bottom:18px; }
.mini-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.mini-card { display:block; padding:16px; border:1px solid var(--border); border-radius:18px; background:#fff; text-decoration:none; color:inherit; box-shadow:0 8px 20px rgba(15,23,42,.05); }
.mini-card strong, .mini-card span, .mini-card small { display:block; }
.mini-card span { color:var(--muted); margin:5px 0; }
.mini-card small { color:#334155; line-height:1.45; }
.mini-list { display:grid; gap:10px; margin-top:14px; }
.mini-list a { display:block; padding:12px 14px; border:1px solid var(--border); border-radius:14px; background:#fff; color:inherit; text-decoration:none; }
.mini-list a strong, .mini-list a span { display:block; }
.mini-list a span { color:var(--muted); font-size:.92rem; margin-top:3px; }
.matching-panel { margin:18px 0; }
.listing-card-small small { display:block; color:var(--muted); margin:8px 0; line-height:1.45; }
.card[href] { text-decoration:none; color:inherit; transition:transform .15s ease, box-shadow .15s ease; }
.card[href]:hover, .mini-card:hover, .mini-list a:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(15,23,42,.08); }
.moment-inline { background:#f8fafc; border-left:4px solid #6366f1; padding:10px 12px; border-radius:12px; }
@media (max-width: 900px) { .mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .mini-grid { grid-template-columns:1fr; } }

/* Lot 6 */
.actions-row form { margin: 0; }
.center { text-align:center; }
.photo-placeholder.small { display:flex; align-items:center; justify-content:center; color:var(--muted); font-weight:800; }
.profile-card .btn + .btn { margin-top:8px; }
.member-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.member-tools a { text-decoration:none; color:inherit; }
.empty-state { padding:28px; border:1px dashed var(--border); border-radius:var(--radius); background:#f8fafc; }
@media (max-width: 900px) { .member-tools { grid-template-columns:1fr; } }

/* Lot 8 — Messagerie */
.section-heading-inline { margin-bottom: 1.5rem; gap: 1rem; }
.conversation-list { display: grid; gap: 1rem; }
.conversation-item { display: block; padding: 1.1rem; border: 1px solid var(--border); border-radius: 18px; background: #fff; color: inherit; text-decoration: none; box-shadow: var(--shadow); transition: transform .15s ease, border-color .15s ease; }
.conversation-item:hover { transform: translateY(-2px); border-color: var(--primary); }
.conversation-item.unread { border-color: var(--primary); background: linear-gradient(135deg, #fff, #f7fbff); }
.conversation-item p { margin: .35rem 0 0; }
.conversation-layout { display: grid; grid-template-columns: minmax(240px, 320px) 1fr; gap: 1.5rem; align-items: start; }
.conversation-side { position: sticky; top: 1rem; }
.conversation-side form { margin-top: 1rem; }
.conversation-main { padding: 0; overflow: hidden; }
.messages-thread { padding: 1.2rem; display: grid; gap: .9rem; max-height: 540px; overflow-y: auto; background: #f8fafc; }
.message-bubble { max-width: 78%; border-radius: 18px; padding: .9rem 1rem; box-shadow: 0 8px 24px rgba(15, 23, 42, .07); }
.message-bubble.mine { justify-self: end; background: var(--primary); color: #fff; border-bottom-right-radius: 6px; }
.message-bubble.theirs { justify-self: start; background: #fff; color: var(--text); border-bottom-left-radius: 6px; }
.message-bubble p { margin: .4rem 0 0; }
.message-meta { display: flex; justify-content: space-between; gap: 1rem; font-size: .82rem; opacity: .82; }
.reply-box { border-top: 1px solid var(--border); padding: 1rem; display: grid; gap: .7rem; background: #fff; }
.reply-box textarea, .compact-form textarea { width: 100%; resize: vertical; }
.full { width: 100%; text-align: center; justify-content: center; }
.small { font-size: .9rem; }

@media (max-width: 820px) {
    .conversation-layout { grid-template-columns: 1fr; }
    .conversation-side { position: static; }
    .message-bubble { max-width: 92%; }
}

/* Lot 8 — Avis, signalements, modération */
.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #e8edf5;text-align:left;vertical-align:top}.admin-table th{font-size:.85rem;text-transform:uppercase;color:#667085}.tiny-link{font-size:.8rem;color:#7a8699;text-decoration:underline}.actions-row.vertical{flex-direction:column;align-items:stretch}.link-danger{display:inline-block;color:#b42318;background:none;border:0;cursor:pointer;text-decoration:underline;padding:8px 0}.inline-form select{min-width:120px}


.admin-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.admin-detail-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap:22px; align-items:start; }
.admin-side { position:sticky; top:96px; }
.admin-meta { display:grid; gap:10px; margin:14px 0; }
.admin-meta div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--border); }
.admin-meta span { color:var(--muted); }
.inline-form { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0; }
.inline-form select, .inline-form input { width:auto; min-width:150px; }
.mini-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.badge.danger { background:#fee2e2; color:#991b1b; }
.badge.success { background:#dcfce7; color:#166534; }
.badge.warning { background:#fef3c7; color:#92400e; }
.detail-content { white-space:pre-wrap; background:#f8fafc; border:1px solid var(--border); border-radius:16px; padding:16px; }
.admin-image-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:12px; margin-top:14px; }
.admin-image-grid img { width:100%; height:120px; object-fit:cover; border-radius:16px; border:1px solid var(--border); }
.table-actions { min-width:210px; }
@media (max-width: 860px) { .admin-detail-grid { grid-template-columns:1fr; } .admin-side { position:static; } .inline-form select, .inline-form input { width:100%; } }

/* Lot 11 - Matching avancé */
.score-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    border: 1px solid rgba(15, 23, 42, .08);
    background: #f8fafc;
    color: #334155;
    font-style: normal;
    white-space: nowrap;
}
.score-pill.match-strong { background: #dcfce7; color: #166534; }
.score-pill.match-good { background: #e0f2fe; color: #075985; }
.score-pill.match-soft { background: #fef3c7; color: #92400e; }
.score-pill.match-low { background: #f1f5f9; color: #475569; }
.match-card { display: flex; flex-direction: column; gap: 10px; }
.match-card em:not(.score-pill) { color: #64748b; font-size: .88rem; font-style: normal; }
.scored-list a { gap: 6px; }
.scored-list small, .match-reasons { color: #64748b; font-size: .86rem; }
.cards-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .cards-grid.three { grid-template-columns: 1fr; } }

/* Lot 11 - géolocalisation */
.geo-box { border: 1px solid var(--border); border-radius: 18px; padding: 14px; background: #fbfdff; margin: 10px 0 14px; }
.geo-box label { margin-top: 10px; }
.geo-box small { display: block; color: var(--muted); margin-top: 8px; line-height: 1.4; }
.map-box { border-radius: 22px; overflow: hidden; border: 1px solid var(--border); background: #eef5ff; min-height: 260px; }
.map-box iframe { display: block; width: 100%; height: 300px; border: 0; }
.map-note { margin-top: 8px; color: var(--muted); font-size: .92rem; }
.distance-pill { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 10px; background: #eef7ff; color: #0f4c81; font-weight: 700; }


/* Lot 12 — visibilité, formules et business */
.boost-badge{background:#101828;color:#fff;border-color:#101828}.business-note{background:#fff8e6;border:1px solid #f3d27a;border-radius:16px;padding:14px;margin:12px 0;color:#533f03}.danger-text{color:#b42318;font-weight:700}.plan-card.selected{outline:3px solid rgba(16,24,40,.12);box-shadow:0 18px 45px rgba(16,24,40,.12)}.plan-card ul{margin:12px 0 0 18px;color:#475467}.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media(max-width:780px){.three-cols{grid-template-columns:1fr}}


/* Lots 13-14 — paiements simulés, stabilisation et contrôles */
.payment-card .price-big{font-size:2.2rem;font-weight:900;margin:14px 0;color:#101828}.payment-provider-box{margin-top:18px;padding:14px;border-radius:16px;background:#f5f8ff;border:1px solid var(--border)}.invoice-card hr{border:0;border-top:1px solid var(--border);margin:18px 0}.option-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form select{min-width:150px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:#fff}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-table th{font-size:.86rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}@media(max-width:780px){.option-row{grid-template-columns:1fr}.inline-form{align-items:stretch}.inline-form .btn,.inline-form select{width:100%}}

/* Lot 15 — design complet, responsive et finition visuelle */
:root {
    --bg: #f4f7fb;
    --surface: #ffffff;
    --surface-soft: #f8fbff;
    --text: #111827;
    --muted: #64748b;
    --primary: #4f46e5;
    --primary-dark: #3730a3;
    --primary-soft: #eef2ff;
    --secondary: #14b8a6;
    --accent: #f97316;
    --border: #e2e8f0;
    --danger: #dc2626;
    --shadow: 0 22px 60px rgba(15, 23, 42, .10);
    --shadow-soft: 0 12px 35px rgba(15, 23, 42, .07);
    --radius: 24px;
}
html { scroll-behavior: smooth; }
body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    background:
        radial-gradient(circle at 12% 6%, rgba(79,70,229,.10), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(20,184,166,.12), transparent 30%),
        var(--bg);
}
.site-header { background: rgba(255,255,255,.86); box-shadow: 0 8px 30px rgba(15,23,42,.04); }
.logo-mark { background: linear-gradient(135deg, var(--primary), var(--secondary)); box-shadow: 0 12px 25px rgba(79,70,229,.24); }
.logo strong { letter-spacing: -.02em; }
.logo small { color: #7c8aa5; }
.main-nav a { padding: 9px 4px; border-radius: 999px; transition: .2s ease; }
.main-nav a:not(.btn):hover { background: var(--primary-soft); padding-left: 12px; padding-right: 12px; }
.btn, button.btn, .search-box button {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    box-shadow: 0 14px 28px rgba(79,70,229,.22);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover, button.btn:hover, .search-box button:hover { transform: translateY(-1px); box-shadow: 0 18px 34px rgba(79,70,229,.28); }
.btn-secondary { background: #fff; color: var(--primary); border: 1px solid #c7d2fe; box-shadow: 0 8px 18px rgba(79,70,229,.07); }
.hero {
    position: relative;
    overflow: hidden;
    padding: 86px 0 70px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,242,255,.88)),
        radial-gradient(circle at 75% 30%, rgba(20,184,166,.24), transparent 32%);
}
.hero:before, .hero:after { content:""; position:absolute; border-radius:999px; pointer-events:none; }
.hero:before { width:320px; height:320px; right:-110px; top:-90px; background:rgba(79,70,229,.13); }
.hero:after { width:220px; height:220px; left:-90px; bottom:-90px; background:rgba(249,115,22,.12); }
.hero-grid, .hero .container { position: relative; z-index: 1; }
h1, h2, h3 { letter-spacing: -.035em; }
.lead { color: #516178; }
.search-box { border: 1px solid rgba(226,232,240,.9); box-shadow: 0 24px 70px rgba(15,23,42,.12); }
.search-box input { background: #f8fafc; }
.hero-card { perspective: 1000px; }
.moment-card {
    position: relative;
    isolation: isolate;
    background: linear-gradient(145deg, #111827, #312e81 62%, #0f766e);
    box-shadow: 0 30px 70px rgba(15,23,42,.28);
    transform: rotate(1.25deg);
    overflow: hidden;
}
.moment-card:before { content:""; position:absolute; inset:-40%; background: radial-gradient(circle, rgba(255,255,255,.18), transparent 35%); transform: translate(28%, -20%); z-index:-1; }
.moment-card h2 { font-size: clamp(25px, 3vw, 36px); }
.badge { border: 1px solid rgba(4,120,87,.12); }
.badge.soft { background: var(--primary-soft); color: var(--primary-dark); border-color:#dbe4ff; }
.card, .panel, .placeholder-listing, .auth-card, .stat-card, .mini-card, .profile-card, .payment-card, .invoice-card {
    border-color: rgba(226,232,240,.95);
    box-shadow: var(--shadow-soft);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover, .placeholder-listing:hover, .mini-card:hover, .payment-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
    border-color: rgba(79,70,229,.22);
}
.cards-grid.four .card { min-height: 190px; }
.icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 18px; background: #f1f5f9; margin-bottom: 14px; }
.section.alt { background: rgba(255,255,255,.64); }
.section-title h2 { max-width: 780px; }
.listing-card-small { display:flex; flex-direction:column; gap:7px; }
.listing-card-small a:not(.btn) { color: var(--primary); font-weight: 900; }
.mini-card { background: white; border:1px solid var(--border); border-radius: 20px; padding: 18px; display:grid; gap:5px; }
.mini-card span, .mini-card small { color: var(--muted); }
.cta { box-shadow: 0 30px 75px rgba(15,23,42,.18); background: linear-gradient(135deg, #111827, #312e81 70%, #0f766e); }
.page-hero.compact {
    background: linear-gradient(135deg, rgba(238,242,255,.96), rgba(255,255,255,.94));
    border-bottom: 1px solid rgba(226,232,240,.8);
}
.search-layout { grid-template-columns: minmax(270px, 330px) minmax(0, 1fr); }
.filters.panel { position: sticky; top: 96px; }
.results-head { background: white; border:1px solid var(--border); border-radius:18px; padding:15px 18px; box-shadow: 0 8px 24px rgba(15,23,42,.05); }
.placeholder-listing { border-left: 0; }
.listing-row { align-items: stretch; }
.listing-thumb { width: 180px; height: 140px; border-radius: 20px; }
.listing-row-main h3 { font-size: 24px; margin-top: 10px; }
.listing-meta span { background:#f8fafc; border:1px solid #e8eef7; border-radius:999px; padding:5px 9px; color:#536277; }
.moment-inline { background:#fff7ed; border:1px solid #fed7aa; border-radius:14px; padding:10px 12px; color:#7c2d12; }
.match-reasons { background:#f8fafc; border-radius:14px; padding:10px 12px; }
.listing-detail { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr) minmax(280px, .72fr); }
.photo-placeholder { box-shadow: inset 0 0 0 1px rgba(255,255,255,.65); background: linear-gradient(135deg, #e0e7ff, #ccfbf1 60%, #ffedd5); }
.owner-card, .admin-side { position: sticky; top: 96px; }
.profile-grid { grid-template-columns: 330px minmax(0,1fr); }
.avatar { background: linear-gradient(135deg, var(--primary), var(--secondary)); box-shadow: 0 14px 30px rgba(79,70,229,.18); }
.auth-card { border-top: 5px solid var(--primary); }
.big-form, .filters form { gap: 16px; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(79,70,229,.14); border-color: rgba(79,70,229,.55); }
.admin-table th { background:#f8fafc; position:sticky; top:0; z-index:1; }
.admin-table tr:hover td { background:#fbfdff; }
.table-wrap { border:1px solid var(--border); border-radius:20px; background:white; box-shadow: var(--shadow-soft); }
.admin-table th:first-child, .admin-table td:first-child { padding-left:18px; }
.admin-table th:last-child, .admin-table td:last-child { padding-right:18px; }
.stats-grid .stat-card { background: linear-gradient(180deg, white, #fbfdff); }
.stat-card strong { background: linear-gradient(135deg, var(--primary), var(--secondary)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mini-nav a, .mini-nav .btn { margin-bottom: 4px; }
.site-footer { background: linear-gradient(135deg, #0f172a, #111827); }
.footer-grid { align-items:start; }
.footer-grid h3, .footer-grid h4 { color:white; }
.footer-bottom { background: rgba(255,255,255,.03); }
@media (max-width: 1100px) {
    .listing-detail { grid-template-columns: 1fr; }
    .owner-card, .admin-side, .filters.panel { position: static; }
}
@media (max-width: 900px) {
    .header-inner { min-height: 68px; }
    .main-nav { top: 68px; box-shadow: 0 20px 40px rgba(15,23,42,.10); }
    .main-nav a:not(.btn):hover { padding-left: 4px; padding-right: 4px; }
    .hero { padding: 54px 0 44px; }
    .hero-card { min-height: auto; }
    .moment-card { transform: none; }
    .cards-grid.three { grid-template-columns: 1fr; }
    .listing-row { flex-direction: column; }
    .listing-thumb { width: 100%; height: 220px; }
    .profile-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .container { width: min(100% - 22px, 1180px); }
    .section { padding: 42px 0; }
    .page-hero.compact { padding: 32px 0; }
    .btn, button.btn { width: 100%; }
    .hero-actions, .actions-row { flex-direction: column; }
    .row-between { align-items: flex-start; }
    .two-cols, .three-cols { grid-template-columns: 1fr; }
    .listing-row-main h3 { font-size: 21px; }
    .footer-grid { gap: 18px; }
}

/* Lot 18 — notifications internes */
.nav-notification-link{position:relative;display:inline-flex;align-items:center;gap:6px}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;font-weight:800;line-height:1}
.notification-filters{margin:18px 0 22px;display:flex;gap:10px;flex-wrap:wrap}
.notification-filters a{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);font-weight:700;font-size:14px}
.notification-filters a.active{background:var(--primary);border-color:var(--primary);color:#fff}
.notification-list{display:grid;gap:12px}
.notification-item{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}
.notification-item.unread{border-color:rgba(37,99,235,.35);background:linear-gradient(135deg,#fff,#eff6ff)}
.notification-icon{width:46px;height:46px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;font-size:22px}
.notification-body p{margin:8px 0;color:var(--muted)}
.notification-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.inline-form{display:inline;margin:0}
.inline-form button{background:none;border:0;padding:0;cursor:pointer;font:inherit}
@media (max-width:640px){.notification-item{grid-template-columns:1fr}.notification-icon{width:42px;height:42px}.notification-actions{gap:8px}}


/* Lot 21 - réservations */
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tabs a{padding:.55rem .85rem;border:1px solid var(--border);border-radius:999px;background:#fff}.tabs a.active{background:var(--dark);color:#fff}.inner-panel{margin:1.25rem 0;background:#fbfcff}.badge.success{background:#e8fff3;color:#087443}.badge.danger{background:#fff0f0;color:#b42318}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:.85rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}


/* Lot 21 - commandes produits */
.order-status.warning,.badge.warning{background:#fff5d6;color:#8a5a00;border-color:#ffe29a}.order-status.info,.badge.info{background:#e8f2ff;color:#1454a8;border-color:#bdd8ff}.order-status.success,.badge.success{background:#e8f8ef;color:#166534;border-color:#bce7cc}.order-status.danger,.badge.danger{background:#ffe9e9;color:#991b1b;border-color:#ffc7c7}.order-status.muted,.badge.muted{background:#f2f2f2;color:#666;border-color:#ddd}.order-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.order-summary .card{text-align:center}.timeline{display:grid;gap:.75rem}.timeline-item{border-left:3px solid var(--border);padding-left:1rem}.timeline-item strong{display:block}.compact-form{display:grid;gap:1rem}.status-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.product-order-box{border:1px solid var(--border);border-radius:18px;padding:1rem;background:var(--surface)}@media(max-width:800px){.order-summary{grid-template-columns:1fr 1fr}}

.qty-input{max-width:80px}.product-stock-box{padding:14px;border:1px dashed var(--border);border-radius:16px;margin:12px 0}.checkout-box{max-width:720px;margin-top:20px}


/* Lot 22 — produits, panier et boutique */
.btn-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.btn-danger:hover{background:#fecaca}.image-manager{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:12px 0}.image-manage-card{display:flex!important;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:16px;padding:8px;background:#fff}.image-manage-card img{width:100%;height:110px;object-fit:cover;border-radius:12px}.image-manage-card span{font-size:.88rem;color:var(--muted)}.card-thumb{width:100%;height:130px;object-fit:cover;border-radius:16px;margin-bottom:10px;background:#f3f4f6}.seller-shop-card blockquote{margin-top:14px}.checkout-box .row-between{gap:16px;align-items:flex-start}.qty-input{max-width:76px}.listing-card-small .badge{margin-bottom:8px;display:inline-block}
@media(max-width:760px){.checkout-box .row-between{display:block}.checkout-box .row-between form{margin:12px 0}.image-manager{grid-template-columns:repeat(2,1fr)}}

/* Lot 23 — tableaux vendeur */
.table-wrapper table small { color: var(--muted); }
.seller-shop-card blockquote { margin: 14px 0 0; padding: 14px; border-left: 4px solid var(--primary); background: var(--soft); border-radius: 14px; }

.badge.success{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}.security-note{border-left:4px solid var(--primary);padding-left:14px}


/* Lot 25 — cohérence visuelle */
.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
.action-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.badge.success{background:#e8f8ef;color:#126b39;border:1px solid #b9ebca}
.badge.warning{background:#fff7df;color:#7a4d00;border:1px solid #ffe1a0}
.badge.danger-soft{background:#fff0f0;color:#8a1f1f;border:1px solid #ffc9c9}
.badge.soft{background:#f4f6fb;color:#44516c;border:1px solid #e1e6f0}
.coherence-list{display:grid;gap:12px;margin-top:18px}
.coherence-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:#fff}
.coherence-item strong{display:block}.coherence-item small{color:var(--muted)}
.table-actions{display:flex;gap:7px;flex-wrap:wrap}.table-actions .btn{margin:0}
.help-text{color:var(--muted);font-size:.94rem;line-height:1.45}
.empty-state{padding:28px;border:1px dashed var(--border);border-radius:18px;text-align:center;background:#fff}
@media(max-width:720px){.coherence-item{align-items:flex-start;flex-direction:column}.page-actions,.action-bar{width:100%}.page-actions .btn,.action-bar .btn{flex:1;text-align:center}}

.notice-box{background:#f6f8ff;border:1px solid #dfe6ff;border-radius:14px;padding:12px 14px;color:#24304f}.notice-box span{color:#667085}.badge.warning{background:#fff4d6;color:#8a5a00}.badge.success{background:#e8fff1;color:#067647}.badge.danger{background:#ffe8e8;color:#a40000}


/* Lot 28 - interface plus friendly */
.hero { position: relative; overflow: hidden; }
.hero::after { content: ""; position: absolute; right: 3%; top: 110px; width: 220px; height: 220px; background: url('../img/friendly-hero.svg') center/contain no-repeat; opacity: .18; pointer-events: none; }
.friendly-visual { border-radius: 28px; overflow: hidden; box-shadow: 0 20px 55px rgba(45,106,79,.16); background: #fff; }
.friendly-visual img { display:block; width:100%; height:auto; }
.friendly-strip { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.friendly-chip { background:linear-gradient(135deg,#fff,#f7fff9); border:1px solid rgba(45,106,79,.12); border-radius:20px; padding:14px; display:flex; gap:10px; align-items:center; box-shadow:0 12px 30px rgba(27,67,50,.06); }
.friendly-chip span { font-size:1.5rem; }
.empty-friendly { text-align:center; padding:28px; }
.empty-friendly::before { content:""; display:block; width:170px; height:116px; margin:0 auto 12px; background:url('../img/empty-friendly.svg') center/contain no-repeat; }
.back-row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.back-link { color:#2d6a4f; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.back-link:hover { text-decoration:underline; }
.floating-back-btn { position:fixed; left:18px; bottom:18px; z-index:40; border:0; border-radius:999px; background:#fff; color:#1b4332; box-shadow:0 10px 30px rgba(0,0,0,.16); padding:11px 16px; font-weight:800; cursor:pointer; }
.floating-back-btn:hover { transform:translateY(-1px); }
.floating-back-btn.is-hidden { display:none; }
.danger-zone { border:1px solid rgba(211,47,47,.18); background:#fff7f7; border-radius:20px; padding:18px; }
.soft-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.check-row { display:flex; gap:10px; align-items:center; }
.admin-clean-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.admin-clean-card { border:1px solid rgba(45,106,79,.12); border-radius:22px; padding:18px; background:#fff; box-shadow:0 12px 30px rgba(27,67,50,.06); }
.admin-clean-card strong { font-size:2rem; display:block; }
@media (max-width: 760px) { .friendly-strip,.admin-clean-grid { grid-template-columns:1fr; } .floating-back-btn{left:12px; bottom:12px; padding:10px 13px;} .hero::after{display:none;} }

.conversation-item { display:flex; align-items:flex-start; gap:12px; }
.conversation-link { display:block; flex:1; color:inherit; text-decoration:none; }
.conversation-link:hover strong { text-decoration:underline; }
.mini-list form.inline-form { padding:0 14px 12px; }


/* Lot 28 — recherche plus compacte et publication friendly */
.friendly-results .results-head { margin-bottom: 16px; }
.friendly-results-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px; }
.friendly-listing-card { background:#fff; border:1px solid var(--border); border-radius:24px; overflow:hidden; box-shadow:var(--shadow-soft); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.friendly-listing-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:rgba(79,70,229,.22); }
.friendly-card-media { height:132px; display:grid; place-items:center; background:linear-gradient(135deg,#eef2ff,#ecfeff 55%,#fff7ed); position:relative; text-decoration:none; overflow:hidden; }
.friendly-card-media img { width:100%; height:100%; object-fit:cover; display:block; }
.friendly-card-media > span { font-size:48px; filter:drop-shadow(0 12px 22px rgba(15,23,42,.14)); }
.friendly-card-media .score-pill { position:absolute; top:10px; right:10px; box-shadow:0 8px 20px rgba(15,23,42,.12); }
.friendly-card-body { padding:14px; display:grid; gap:10px; }
.friendly-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:28px; }
.friendly-card-top small { color:var(--muted); font-weight:800; white-space:nowrap; }
.friendly-card-body h3 { font-size:17px; line-height:1.22; margin:0; min-height:42px; }
.friendly-card-body h3 a { color:var(--text); text-decoration:none; }
.friendly-card-body h3 a:hover { color:var(--primary); }
.friendly-card-line { margin:0; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.friendly-empty { text-align:center; padding:32px; }
.publish-helper { display:flex; align-items:center; justify-content:space-between; gap:18px; background:linear-gradient(135deg,#fff,#f8fafc); }
.publish-helper p { margin:6px 0 0; }
.publish-friendly-form { gap:22px; }
.publish-step { display:flex; align-items:flex-start; gap:14px; padding-top:4px; }
.publish-step > span { width:38px; height:38px; border-radius:14px; display:grid; place-items:center; flex:0 0 auto; background:linear-gradient(135deg,var(--primary),var(--secondary)); color:white; font-weight:900; box-shadow:0 12px 26px rgba(79,70,229,.18); }
.publish-step h2 { margin:0 0 5px; }
.publish-step p { margin:0; }
.publish-choice-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.publish-choice-grid label { cursor:pointer; min-height:76px; align-content:center; background:linear-gradient(180deg,#fff,#fbfdff); border-radius:20px; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.publish-choice-grid label:hover, .publish-choice-grid label.is-selected { border-color:rgba(79,70,229,.5); background:#eef2ff; transform:translateY(-2px); }
.publish-choice-grid input { margin-right:8px; }
.btn-publish { font-size:17px; padding:15px 22px; }
@media (max-width: 1120px) { .friendly-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .friendly-results-grid, .publish-choice-grid { grid-template-columns: 1fr; } .publish-helper { flex-direction:column; align-items:flex-start; } .friendly-card-media { height:180px; } }


/* Lot 29 — recherche simplifiée et panier désactivable */
.search-friendly-section .container { max-width: 1180px; }
.search-topbar { display:grid; gap:14px; margin-bottom:24px; background:linear-gradient(135deg,#fff,#f8fbff); }
.search-main-fields { display:grid; grid-template-columns: 1.4fr 1fr .8fr .65fr; gap:12px; align-items:end; }
.search-topbar label { display:grid; gap:7px; font-weight:850; }
.advanced-search { border-top:1px solid var(--border); padding-top:10px; }
.advanced-search summary { cursor:pointer; font-weight:900; color:var(--primary); }
.advanced-search-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px; margin-top:14px; }
.search-actions-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.search-actions-row small { color:var(--muted); }
.search-results-full { margin-top:0; }
.search-grid-with-geo { grid-template-columns: repeat(3, minmax(0,1fr)); }
.geo-search-card { border-style:dashed; background:linear-gradient(180deg,#fff,#f0f9ff); }
.geo-card-media { background:radial-gradient(circle at top,#dbeafe,#eef2ff 56%,#fff); }
.geo-card-media span { font-size:54px; }
.geo-search-card small { display:block; color:var(--muted); margin-top:8px; }
@media (max-width: 980px) { .search-main-fields { grid-template-columns: 1fr 1fr; } .advanced-search-grid, .search-grid-with-geo { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .search-main-fields, .advanced-search-grid, .search-grid-with-geo { grid-template-columns: 1fr; } .search-actions-row .btn { width:100%; } }


/* Lot 30 — Images de fond personnalisables */
body.has-page-background {
    background-image: linear-gradient(rgba(15, 23, 42, var(--page-bg-overlay, .55)), rgba(15, 23, 42, var(--page-bg-overlay, .55))), var(--page-bg-image);
    background-size: cover;
    background-position: var(--page-bg-position, center center);
    background-attachment: fixed;
}
body.has-page-background main > .page-hero,
body.has-page-background main > .section,
body.has-page-background .site-footer {
    backdrop-filter: blur(0px);
}
body.has-page-background .page-hero,
body.has-page-background .card,
body.has-page-background .search-panel,
body.has-page-background .friendly-search-top,
body.has-page-background .table-card,
body.has-page-background .form-card {
    box-shadow: 0 18px 45px rgba(15, 23, 42, .14);
}
.background-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 18px;
}
.background-admin-card h3 { margin-top: 14px; }
.background-preview {
    min-height: 140px;
    border-radius: 22px;
    background: linear-gradient(135deg, #f7dff0, #dff5ff);
    background-size: cover;
    background-position: center center;
    display: grid;
    place-items: center;
    color: #64748b;
    font-weight: 800;
    overflow: hidden;
}
.stacked-form { display: grid; gap: 10px; margin-top: 12px; }
.checkbox-line { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.actions-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }


/* Correctif Lot 30 — affichage réel des images de fond */
body.has-page-background {
    background-image: linear-gradient(rgba(15, 23, 42, var(--page-bg-overlay, .45)), rgba(15, 23, 42, var(--page-bg-overlay, .45))), var(--page-bg-image) !important;
    background-size: cover !important;
    background-position: var(--page-bg-position, center center) !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
}
body.has-page-background .hero,
body.has-page-background .page-hero.compact,
body.has-page-background .section,
body.has-page-background .section.alt {
    background: transparent !important;
}
body.has-page-background main {
    background: transparent !important;
}
body.has-page-background .hero-content,
body.has-page-background .section-title,
body.has-page-background .page-hero .container {
    text-shadow: 0 2px 18px rgba(15,23,42,.18);
}
body.has-page-background .hero-content h1,
body.has-page-background .hero-content .lead,
body.has-page-background .page-hero h1,
body.has-page-background .page-hero p,
body.has-page-background .section-title h2,
body.has-page-background .section-title p {
    color: #ffffff;
}
body.has-page-background .eyebrow {
    color: #dbeafe;
}
body.has-page-background .card,
body.has-page-background .panel,
body.has-page-background .auth-card,
body.has-page-background .search-panel,
body.has-page-background .friendly-search-top,
body.has-page-background .table-card,
body.has-page-background .form-card,
body.has-page-background .moment-card.light {
    background: rgba(255,255,255,.93);
    backdrop-filter: blur(8px);
}
body.has-page-background .site-footer {
    background: rgba(15,23,42,.86);
}

/* Correctif accueil : phrases du moment avec liens utiles */
.moment-mini-card { display:flex; flex-direction:column; gap:.45rem; }
.moment-mini-card small { color: var(--text); line-height:1.35; }
.mini-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.35rem; }
.mini-actions a { display:inline-flex; align-items:center; justify-content:center; padding:.42rem .68rem; border-radius:999px; background:#fff7ed; color:#9a3412; font-weight:800; font-size:.82rem; text-decoration:none; border:1px solid rgba(249,115,22,.18); }
.mini-actions a:first-child { background:#fff1f2; color:#be123c; border-color:rgba(244,63,94,.18); }
.friendly-panel p { color: var(--muted); margin-top:0; }


/* Correctif lisibilité accueil sur image de fond */
.home-readable-section {
    padding-top: 74px;
    padding-bottom: 74px;
}
.home-readable-grid {
    align-items: stretch;
}
.home-info-panel {
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 20px 55px rgba(15,23,42,.18);
    backdrop-filter: blur(10px);
}
.home-info-panel h2,
.home-info-panel h3,
.home-info-panel li,
.home-info-panel strong {
    color: var(--text);
    text-shadow: none;
}
.home-info-panel .eyebrow {
    color: var(--primary);
    text-shadow: none;
}
.home-info-panel p,
.home-info-panel .steps,
.home-info-panel .steps li {
    color: var(--muted);
    text-shadow: none;
}
.friendly-steps {
    margin: 18px 0 0;
    padding-left: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}
.friendly-steps li {
    position: relative;
    margin: 0;
    padding: 14px 14px 14px 48px;
    border-radius: 18px;
    background: rgba(248,250,252,.82);
    border: 1px solid rgba(226,232,240,.85);
}
.friendly-steps li::before {
    content: counter(list-item);
    position: absolute;
    left: 14px;
    top: 14px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #eef2ff;
    color: var(--primary);
    font-size: 13px;
    font-weight: 900;
}
.accent-panel {
    background: rgba(255,255,255,.96);
}
body.has-page-background .home-info-panel {
    background: rgba(255,255,255,.95) !important;
    color: var(--text);
}
body.has-page-background .home-info-panel h2,
body.has-page-background .home-info-panel h3,
body.has-page-background .home-info-panel p,
body.has-page-background .home-info-panel li,
body.has-page-background .home-info-panel strong {
    color: inherit;
    text-shadow: none;
}
body.has-page-background .home-info-panel p,
body.has-page-background .home-info-panel li {
    color: var(--muted);
}
body.has-page-background .home-info-panel .eyebrow {
    color: var(--primary);
}
body.has-page-background::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at center, rgba(15,23,42,.06), rgba(15,23,42,.16));
    z-index: -1;
}
@media (max-width: 780px) {
    .home-readable-section { padding-top: 42px; padding-bottom: 42px; }
    .home-info-panel { padding: 20px; }
}


/* Correctif profil friendly */
.profile-public-hero { padding: 34px 0 12px; background: linear-gradient(135deg, rgba(238,242,255,.85), rgba(255,255,255,.9)); }
.profile-cover-card { background: rgba(255,255,255,.9); border:1px solid var(--border); border-radius: 32px; overflow:hidden; box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.profile-cover-image { min-height: 240px; background: linear-gradient(135deg, #dff7ef, #eef2ff); background-size: cover; background-position: center; display:grid; place-items:center; }
.profile-cover-placeholder { font-size: 72px; opacity:.8; }
.profile-public-summary { display:grid; grid-template-columns: 130px 1fr auto; gap:22px; align-items:center; padding: 0 28px 28px; margin-top:-46px; }
.profile-avatar-large { width:118px; height:118px; border-radius: 34px; background: linear-gradient(135deg, var(--primary), var(--secondary)); color:white; display:grid; place-items:center; font-size:46px; font-weight:900; border:6px solid white; box-shadow:0 18px 32px rgba(15,23,42,.16); overflow:hidden; }
.profile-avatar-large img { width:100%; height:100%; object-fit:cover; }
.profile-summary-text h1 { margin:8px 0 4px; font-size: clamp(34px, 5vw, 56px); }
.profile-rating { color:#334155; font-weight:800; margin:6px 0 0; }
.profile-summary-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.profile-friendly-section { padding-top:34px; }
.profile-friendly-grid { display:grid; grid-template-columns: 340px minmax(0,1fr); gap:24px; align-items:start; }
.profile-sidebar-friendly { display:grid; gap:16px; }
.soft-panel { background:rgba(255,255,255,.92); }
.moment-profile-card { background: linear-gradient(135deg, #fff7ed, #eef2ff); }
.moment-profile-card h2 { font-size: 24px; }
.profile-safety-card { background:#fff; border-style:dashed; box-shadow:none; }
.profile-safety-card h3 { font-size: 18px; }
.profile-main-friendly .section-title { margin-bottom:18px; }
.profile-listing-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.profile-listing-card { background:#fff; border:1px solid var(--border); border-radius:24px; padding:12px; box-shadow:var(--shadow-soft, 0 8px 28px rgba(23,32,51,.06)); color:inherit; transition:transform .18s ease, box-shadow .18s ease; }
.profile-listing-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.profile-listing-card img, .profile-listing-placeholder { width:100%; height:138px; border-radius:18px; object-fit:cover; background:linear-gradient(135deg,#ecfdf5,#eef2ff); display:grid; place-items:center; font-size:34px; margin-bottom:12px; }
.profile-listing-card h3 { font-size:18px; margin:10px 0 6px; }
.profile-reviews-title { margin-top:34px; }
.profile-reviews-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.profile-review-card, .empty-friendly { background:#fff; border:1px solid var(--border); border-radius:24px; padding:20px; box-shadow:0 8px 28px rgba(23,32,51,.05); }
.empty-friendly { grid-column:1/-1; text-align:center; color:var(--muted); }
.empty-friendly div { font-size:42px; margin-bottom:8px; }
.small-link-danger { color:#b91c1c; font-size:.9rem; font-weight:800; }
.member-profile-layout { display:grid; grid-template-columns: 310px minmax(0,1fr); gap:24px; align-items:start; }
.member-profile-preview { text-align:center; position:sticky; top:96px; }
.member-cover-preview { height:126px; border-radius:22px; background:linear-gradient(135deg,#dff7ef,#eef2ff); background-size:cover; background-position:center; margin-bottom:-42px; }
.member-avatar-preview { width:92px; height:92px; margin:0 auto 12px; border-radius:28px; border:5px solid white; box-shadow:0 14px 24px rgba(15,23,42,.12); background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; display:grid; place-items:center; font-size:36px; font-weight:900; overflow:hidden; }
.member-avatar-preview img { width:100%; height:100%; object-fit:cover; }
.friendly-profile-form .panel { background:rgba(255,255,255,.96); }
@media (max-width: 980px) {
    .profile-public-summary { grid-template-columns: 1fr; text-align:center; justify-items:center; margin-top:-60px; }
    .profile-summary-actions { justify-content:center; }
    .profile-friendly-grid, .member-profile-layout { grid-template-columns: 1fr; }
    .member-profile-preview { position:static; }
    .profile-listing-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .profile-cover-image { min-height:180px; }
    .profile-public-summary { padding:0 18px 22px; }
    .profile-listing-grid, .profile-reviews-grid { grid-template-columns:1fr; }
}


/* Correctif admin friendly — interface plus douce et lisible */
.admin-friendly-bar {
    background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(244,247,255,.92));
    border-bottom: 1px solid rgba(226,232,240,.9);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
    position: sticky;
    top: 76px;
    z-index: 19;
    backdrop-filter: blur(14px);
}
.admin-friendly-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; }
.admin-friendly-title { display:flex; align-items:center; gap:10px; font-weight:900; color:#172033; white-space:nowrap; }
.admin-friendly-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:14px; background:linear-gradient(135deg,#6157ff,#10b981); color:#fff; box-shadow:0 12px 24px rgba(97,87,255,.18); }
.admin-friendly-links { display:flex; align-items:center; gap:8px; overflow-x:auto; padding-bottom:2px; }
.admin-friendly-links a { flex:0 0 auto; padding:8px 12px; border-radius:999px; background:#fff; border:1px solid rgba(226,232,240,.95); color:#536277; font-weight:800; font-size:13px; box-shadow:0 8px 18px rgba(15,23,42,.04); }
.admin-friendly-links a:hover { color:#4f46e5; border-color:rgba(99,102,241,.35); transform:translateY(-1px); }
.admin-hero-friendly { position:relative; overflow:hidden; background:linear-gradient(135deg,#fff7ed 0%, #eef2ff 45%, #ecfdf5 100%) !important; border-bottom:1px solid rgba(226,232,240,.85); }
.admin-hero-friendly .container { position:relative; z-index:1; }
.admin-hero-friendly:before { content:'⚙️'; position:absolute; right:8%; top:18px; font-size:120px; opacity:.09; transform:rotate(-10deg); }
.admin-hero-friendly:after { content:'✨'; position:absolute; right:22%; bottom:12px; font-size:64px; opacity:.13; }
.admin-dashboard-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:22px; align-items:stretch; margin-bottom:24px; }
.admin-welcome-card { background:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.75); border-radius:28px; padding:28px; box-shadow:0 22px 50px rgba(15,23,42,.08); backdrop-filter:blur(12px); }
.admin-welcome-card h2 { margin-top:0; }
.admin-welcome-card p { color:#647084; margin-bottom:18px; }
.admin-soft-list { display:grid; gap:10px; margin-top:14px; }
.admin-soft-list span { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:16px; background:rgba(255,255,255,.72); border:1px solid rgba(226,232,240,.8); color:#334155; }
.admin-illustration-card { background:linear-gradient(135deg,#172033,#312e81 65%,#0f766e); color:#fff; border-radius:28px; padding:28px; box-shadow:0 22px 50px rgba(15,23,42,.14); position:relative; overflow:hidden; min-height:260px; }
.admin-illustration-card:before { content:''; position:absolute; inset:auto -40px -80px auto; width:230px; height:230px; border-radius:50%; background:rgba(255,255,255,.12); }
.admin-illustration-card:after { content:''; position:absolute; inset:24px 24px auto auto; width:88px; height:88px; border-radius:28px; background:rgba(255,255,255,.12); transform:rotate(8deg); }
.admin-illustration-card h3, .admin-illustration-card p { position:relative; z-index:1; }
.admin-illustration-card p { color:rgba(255,255,255,.78); }
.admin-mascot { position:absolute; right:28px; bottom:20px; font-size:74px; filter:drop-shadow(0 10px 20px rgba(0,0,0,.12)); }
.admin-section-title { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:34px 0 16px; }
.admin-section-title h2 { margin:0; font-size:26px; }
.admin-section-title p { margin:0; color:var(--muted); }
.admin-group-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.admin-tool-card { display:flex; flex-direction:column; gap:10px; min-height:190px; background:rgba(255,255,255,.94); border:1px solid rgba(226,232,240,.9); border-radius:24px; padding:20px; box-shadow:0 14px 34px rgba(15,23,42,.06); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.admin-tool-card:hover { transform:translateY(-3px); box-shadow:0 22px 45px rgba(15,23,42,.10); border-color:rgba(99,102,241,.28); }
.admin-tool-card .tool-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:16px; background:#eef2ff; color:#4f46e5; font-size:22px; }
.admin-tool-card h3 { margin:0; font-size:19px; }
.admin-tool-card p { margin:0; color:#647084; flex:1; line-height:1.45; }
.admin-tool-card .btn { align-self:flex-start; box-shadow:none; }
.admin-tool-card.safe .tool-icon { background:#ecfdf5; color:#047857; }
.admin-tool-card.warn .tool-icon { background:#fff7ed; color:#c2410c; }
.admin-tool-card.pink .tool-icon { background:#fff1f2; color:#be123c; }
.admin-mini-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:20px 0 8px; }
.admin-mini-stat { background:rgba(255,255,255,.9); border:1px solid rgba(226,232,240,.9); border-radius:20px; padding:16px; box-shadow:0 10px 26px rgba(15,23,42,.05); }
.admin-mini-stat strong { display:block; font-size:28px; line-height:1; background:linear-gradient(135deg,#6157ff,#10b981); -webkit-background-clip:text; background-clip:text; color:transparent; }
.admin-mini-stat span { display:block; color:#647084; font-size:13px; font-weight:800; margin-top:7px; }
.admin-table { background:#fff; border-radius:20px; overflow:hidden; }
.admin-table th { background:linear-gradient(180deg,#fbfdff,#f7f9ff) !important; color:#5f6f87 !important; }
.admin-table td { background:#fff; }
.admin-table tr:hover td { background:#fffdf8 !important; }
.admin-detail-grid .panel, .admin-side.card, .admin-side.panel { border-radius:26px; box-shadow:0 16px 36px rgba(15,23,42,.06); }
.admin-actions .btn, .table-actions .btn { box-shadow:none; }
.admin-side:before { content:'🧭'; display:inline-grid; place-items:center; width:38px; height:38px; border-radius:14px; background:#eef2ff; margin-bottom:10px; }
.admin-friendly-empty { text-align:center; padding:34px; border:1px dashed rgba(99,102,241,.25); border-radius:24px; background:rgba(255,255,255,.8); }
@media (max-width:1100px) { .admin-mini-stats { grid-template-columns:repeat(3,1fr); } .admin-group-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px) { .admin-friendly-bar { top:68px; } .admin-friendly-inner { align-items:flex-start; flex-direction:column; } .admin-dashboard-intro { grid-template-columns:1fr; } }
@media (max-width:640px) { .admin-mini-stats, .admin-group-grid { grid-template-columns:1fr; } .admin-welcome-card, .admin-illustration-card { padding:20px; border-radius:22px; } .admin-mascot { font-size:52px; } }

/* Correctif admin — actions utilisateur conservées avec interface friendly */
.danger-zone{margin-top:1rem;border:1px solid rgba(220,38,38,.18);background:rgba(255,247,247,.92);}
.danger-zone h2{color:#991b1b;margin-bottom:.75rem;}
.stacked-action-form{display:grid;gap:.55rem;margin:.75rem 0;}
.btn-danger{background:#dc2626;color:#fff;border-color:#dc2626;}
.btn-danger:hover{filter:brightness(.95);}
.btn-warning{background:#f59e0b;color:#fff;border-color:#f59e0b;}
.compact-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin:1rem 0;}
.compact-stats .stat-card{padding:.85rem;border-radius:18px;}
.compact-stats .stat-card strong{display:block;font-size:1.4rem;}


/* Correctif — page admin secrète */
.admin-secret-section {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 16px;
    background: radial-gradient(circle at top left, rgba(255, 182, 193, 0.18), transparent 35%), radial-gradient(circle at bottom right, rgba(84, 160, 255, 0.12), transparent 40%);
}
.admin-secret-card {
    max-width: 520px;
    border: 1px solid rgba(48, 58, 88, 0.08);
    box-shadow: 0 24px 70px rgba(34, 42, 72, 0.16);
}
.admin-secret-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 236, 242, 0.95);
    color: #7b3550;
    font-weight: 700;
    margin-bottom: 12px;
}
.small-note {
    margin-top: 16px;
    font-size: 0.92rem;
}
.small-note code {
    background: rgba(255,255,255,.75);
    padding: 2px 6px;
    border-radius: 6px;
}


/* Lot 43 — Première interface mobile inspirée du prototype MatchProximité */
.mobile-app-nav,
.mobile-member-home { display: none; }

@media (max-width: 820px) {
    body { padding-bottom: 92px; }
    .site-footer { margin-bottom: 0; }
    .floating-back-btn { bottom: 96px; }

    .mobile-app-nav {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: 10px;
        z-index: 1200;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: end;
        gap: 2px;
        padding: 10px 8px 12px;
        border: 1px solid rgba(25, 35, 58, .1);
        border-radius: 28px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 18px 46px rgba(20, 30, 50, .18);
        backdrop-filter: blur(14px);
    }
    .mobile-app-nav-item {
        min-height: 52px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2px;
        color: #60708a;
        text-decoration: none;
        font-weight: 800;
        font-size: .72rem;
    }
    .mobile-app-nav-item span { font-size: 1.18rem; line-height: 1; }
    .mobile-app-nav-item small { font-size: .64rem; font-weight: 900; }
    .mobile-app-nav-publish span {
        width: 48px;
        height: 48px;
        margin-top: -28px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: linear-gradient(135deg, #6157ff, #10b981);
        color: #fff;
        font-size: 1.8rem;
        box-shadow: 0 12px 24px rgba(97,87,255,.28);
    }
    .mobile-app-nav-publish small { color: #4038cf; }

    .desktop-dashboard-flow { display: none; }
    .mobile-member-home { display: block; padding: 14px 0 26px; background: #fafaf8; }
    .mobile-app-container { display: grid; gap: 14px; width: min(100%, 620px); }
    .mobile-app-greeting {
        display: flex;
        justify-content: space-between;
        gap: 16px;
        align-items: start;
        padding: 20px;
        border-radius: 28px;
        background: linear-gradient(160deg, #fff 0%, #f1efff 100%);
        border: 1px solid rgba(97,87,255,.08);
        box-shadow: 0 14px 40px rgba(15,23,42,.08);
    }
    .mobile-app-kicker { margin: 0 0 5px; color: #6157ff; letter-spacing: .08em; font-size: .72rem; font-weight: 950; }
    .mobile-app-greeting h1 { margin: 0; font-size: 1.55rem; line-height: 1.15; color: #1a2744; }
    .mobile-app-greeting p:last-child { margin: 8px 0 0; color: #64748b; font-size: .94rem; }
    .mobile-app-avatar {
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: #6157ff;
        color: #fff;
        font-weight: 950;
        font-size: 1.1rem;
    }

    .mobile-geo-card {
        display: grid;
        gap: 8px;
        margin: 0;
        padding: 0;
        background: transparent;
    }
    .mobile-geo-button {
        width: 100%;
        padding: 14px 16px;
        display: grid;
        grid-template-columns: 34px 1fr;
        grid-template-rows: auto auto;
        gap: 2px 10px;
        align-items: center;
        border: 2px dashed #cbd5e1;
        border-radius: 20px;
        background: #fff;
        text-align: left;
        cursor: pointer;
        color: #334155;
    }
    .mobile-geo-button span { grid-row: span 2; font-size: 1.35rem; }
    .mobile-geo-button strong { font-size: .96rem; color: #334155; }
    .mobile-geo-button small { font-size: .8rem; color: #7c8798; }
    .mobile-geo-status { padding-left: 4px; color: #64748b; font-size: .78rem; }

    .mobile-moment-focus,
    .mobile-near-match,
    .mobile-nearby-section,
    .mobile-member-shortcuts {
        border-radius: 24px;
        padding: 18px;
        background: #fff;
        border: 1px solid rgba(15,23,42,.06);
        box-shadow: 0 12px 34px rgba(15,23,42,.06);
    }
    .mobile-card-head,
    .mobile-section-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }
    .mobile-card-head a,
    .mobile-section-title a { color: #6157ff; font-weight: 900; font-size: .85rem; }
    .mobile-moment-focus h2,
    .mobile-nearby-section h2,
    .mobile-member-shortcuts h2 { margin: 10px 0 8px; color: #1a2744; font-size: 1.1rem; }
    .mobile-moment-focus blockquote {
        margin: 10px 0;
        padding: 0;
        border: 0;
        font-size: 1.12rem;
        font-weight: 900;
        line-height: 1.35;
        color: #1a2744;
    }
    .mobile-moment-focus p { margin: 0; color: #64748b; font-weight: 700; }

    .mobile-near-match {
        color: #fff;
        background: linear-gradient(135deg, #6157ff, #2f7a84);
        border: 0;
    }
    .mobile-near-match p { margin: 0 0 6px; text-transform: uppercase; letter-spacing: .06em; font-size: .73rem; font-weight: 950; opacity: .88; }
    .mobile-near-match h2 { margin: 0 0 7px; font-size: 1.18rem; line-height: 1.25; color: #fff; }
    .mobile-near-match span { display: block; opacity: .95; font-size: .92rem; }
    .mobile-near-match-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
    .mobile-near-match .btn { background: #fff; color: #4b42dd; }
    .mobile-near-match .btn-secondary { background: rgba(255,255,255,.18); color: #fff; border-color: rgba(255,255,255,.24); }

    .mobile-quick-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .mobile-quick-actions a {
        min-height: 86px;
        padding: 13px 10px;
        display: grid;
        place-items: center;
        gap: 5px;
        text-decoration: none;
        text-align: center;
        border-radius: 22px;
        background: #fff;
        border: 1px solid rgba(15,23,42,.06);
        box-shadow: 0 10px 24px rgba(15,23,42,.05);
        color: #1a2744;
    }
    .mobile-quick-actions span { font-size: 1.35rem; }
    .mobile-quick-actions strong { font-size: .86rem; }

    .mobile-nearby-list { display: grid; gap: 10px; margin-top: 12px; }
    .mobile-nearby-item {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr) auto;
        gap: 12px;
        align-items: center;
        padding: 12px;
        border-radius: 18px;
        background: #fff;
        border: 1px solid #eef2f7;
        color: inherit;
        text-decoration: none;
    }
    .mobile-nearby-icon {
        width: 54px;
        height: 54px;
        display: grid;
        place-items: center;
        border-radius: 16px;
        background: #f3f2ff;
        font-size: 1.35rem;
    }
    .mobile-nearby-copy { min-width: 0; display: grid; gap: 4px; }
    .mobile-nearby-copy strong { color: #1a2744; font-size: .96rem; line-height: 1.25; }
    .mobile-nearby-copy small { color: #64748b; font-size: .79rem; }
    .mobile-nearby-item em {
        min-width: 48px;
        padding: 7px 8px;
        border-radius: 999px;
        background: #dcfce7;
        color: #15803d;
        font-size: .82rem;
        font-style: normal;
        font-weight: 950;
        text-align: center;
    }
    .mobile-empty-card { padding: 16px; border-radius: 16px; background: #f8fafc; color: #64748b; margin-top: 12px; }

    .mobile-member-shortcuts div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
    .mobile-member-shortcuts a {
        display: block;
        padding: 12px;
        border-radius: 16px;
        background: #f8fafc;
        color: #1a2744;
        text-decoration: none;
        font-weight: 900;
        font-size: .88rem;
    }
}

@media (max-width: 420px) {
    .mobile-member-shortcuts div { grid-template-columns: 1fr; }
    .mobile-app-container { padding-left: 12px; padding-right: 12px; }
}


/* Lot 44 — Extension de l'expérience mobile : recherche, publication, correspondances, profil, annonces et fiche */
@media (max-width: 820px) {
    .mobile-search-page,
    .mobile-publish-page,
    .mobile-matches-page,
    .mobile-profile-page,
    .mobile-my-listings-page,
    .mobile-listing-page {
        background: #fafaf8;
        padding-top: 14px;
    }

    .page-hero.compact {
        border-radius: 0 0 28px 28px;
        margin-bottom: 0;
        padding: 22px 0 18px;
    }
    .page-hero.compact .container { width: min(100%, 620px); }
    .page-hero.compact h1 { font-size: 1.65rem; line-height: 1.15; }
    .page-hero.compact p { font-size: .95rem; line-height: 1.45; }

    /* Recherche */
    .mobile-search-page .container { width: min(100%, 620px); }
    .mobile-search-page .search-topbar {
        padding: 16px;
        border-radius: 26px;
        box-shadow: 0 16px 40px rgba(15,23,42,.08);
    }
    .mobile-search-page .search-main-fields {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .mobile-search-page label { font-weight: 900; color: #334155; }
    .mobile-search-page input,
    .mobile-search-page select {
        min-height: 48px;
        border-radius: 16px;
        margin-top: 6px;
        font-size: .98rem;
    }
    .mobile-search-page .advanced-search {
        margin-top: 14px;
        border-radius: 18px;
        background: #f8fafc;
        padding: 12px;
    }
    .mobile-search-page .advanced-search summary {
        cursor: pointer;
        font-weight: 950;
        color: #1a2744;
    }
    .mobile-search-page .advanced-search-grid { grid-template-columns: 1fr; margin-top: 12px; }
    .mobile-search-page .search-actions-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 14px;
    }
    .mobile-search-page .search-actions-row .btn,
    .mobile-search-page .search-actions-row small { width: 100%; }
    .mobile-search-page .search-actions-row small { grid-column: 1 / -1; }
    .mobile-search-page .results-head {
        padding: 0 2px;
        display: grid;
        gap: 4px;
        align-items: start;
    }
    .mobile-search-page .friendly-results-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .mobile-search-page .friendly-listing-card {
        display: grid;
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 12px;
        align-items: stretch;
        border-radius: 22px;
        padding: 12px;
        background: #fff;
        border: 1px solid rgba(15,23,42,.06);
        box-shadow: 0 10px 28px rgba(15,23,42,.05);
    }
    .mobile-search-page .friendly-card-media {
        min-height: 82px;
        border-radius: 18px;
        align-self: start;
    }
    .mobile-search-page .friendly-card-media img { height: 82px; object-fit: cover; }
    .mobile-search-page .friendly-card-media span { font-size: 2rem; }
    .mobile-search-page .friendly-card-body h3 { margin: 6px 0 4px; font-size: 1rem; line-height: 1.25; }
    .mobile-search-page .friendly-card-body .btn { margin-top: 8px; }
    .mobile-search-page .moment-results {
        border-radius: 24px;
        padding: 16px;
    }
    .mobile-search-page .moment-results .mini-grid { grid-template-columns: 1fr; }

    /* Publication */
    .mobile-publish-page .container { width: min(100%, 620px); }
    .mobile-publish-page .publish-helper,
    .mobile-publish-page .publish-friendly-form {
        border-radius: 26px;
        box-shadow: 0 16px 40px rgba(15,23,42,.07);
    }
    .mobile-publish-page .publish-helper {
        display: grid;
        gap: 10px;
        padding: 16px;
    }
    .mobile-publish-page .publish-step {
        display: grid;
        grid-template-columns: 42px 1fr;
        gap: 12px;
        align-items: start;
        margin-top: 18px;
    }
    .mobile-publish-page .publish-step span {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: linear-gradient(135deg,#6157ff,#10b981);
        color: #fff;
        font-weight: 950;
    }
    .mobile-publish-page .publish-step h2 { margin: 2px 0 4px; font-size: 1.15rem; }
    .mobile-publish-page .publish-choice-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 12px;
    }
    .mobile-publish-page .publish-choice-grid label {
        min-height: 56px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px;
        border-radius: 18px;
        border: 1px solid rgba(97,87,255,.14);
        background: #fff;
        font-weight: 900;
    }
    .mobile-publish-page .two-cols { grid-template-columns: 1fr; }
    .mobile-publish-page input,
    .mobile-publish-page select,
    .mobile-publish-page textarea {
        border-radius: 16px;
        font-size: 1rem;
    }
    .mobile-publish-page .geo-box { border-radius: 22px; padding: 16px; }
    .mobile-publish-page .btn-publish { width: 100%; min-height: 54px; font-size: 1rem; }

    /* Matches */
    .mobile-matches-page .container { width: min(100%, 620px); }
    .mobile-matches-page .moment-card,
    .mobile-matches-page .panel {
        border-radius: 24px;
        box-shadow: 0 12px 34px rgba(15,23,42,.06);
    }
    .mobile-matches-page .cards-grid.three,
    .mobile-matches-page .cards-grid.four,
    .mobile-matches-page .mini-grid { grid-template-columns: 1fr; }
    .mobile-matches-page .match-card,
    .mobile-matches-page .listing-card-small,
    .mobile-matches-page .mini-card,
    .mobile-matches-page .scored-list a {
        border-radius: 20px;
    }
    .mobile-matches-page .section-title { margin-top: 24px; }
    .mobile-matches-page .section-title h2 { font-size: 1.18rem; }
    .mobile-matches-page .scored-list a { display: grid; gap: 4px; padding: 14px; }

    /* Profil */
    .mobile-profile-page .container { width: min(100%, 620px); }
    .mobile-profile-page .member-profile-layout { grid-template-columns: 1fr; gap: 14px; }
    .mobile-profile-page .member-profile-preview,
    .mobile-profile-page .friendly-profile-form .panel,
    .mobile-profile-page .geo-box,
    .mobile-profile-page .moment-edit-panel {
        border-radius: 24px;
        box-shadow: 0 12px 34px rgba(15,23,42,.06);
    }
    .mobile-profile-page .two-cols { grid-template-columns: 1fr; }
    .mobile-profile-page input,
    .mobile-profile-page textarea,
    .mobile-profile-page select { border-radius: 16px; }
    .mobile-profile-page .member-profile-preview .btn { margin-top: 10px; }

    /* Mes annonces */
    .mobile-my-listings-page .container { width: min(100%, 620px); }
    .mobile-my-listings-page .results { display: grid; gap: 12px; }
    .mobile-my-listings-page .listing-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 14px;
        border-radius: 24px;
        background: #fff;
        border: 1px solid rgba(15,23,42,.06);
        box-shadow: 0 12px 34px rgba(15,23,42,.05);
    }
    .mobile-my-listings-page .listing-thumb {
        width: 100%;
        height: 170px;
        object-fit: cover;
        border-radius: 18px;
    }
    .mobile-my-listings-page .listing-meta { display: flex; flex-wrap: wrap; gap: 7px; }
    .mobile-my-listings-page .listing-meta span {
        padding: 5px 8px;
        border-radius: 999px;
        background: #f8fafc;
        font-size: .78rem;
    }
    .mobile-my-listings-page .actions-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .mobile-my-listings-page .actions-row .btn,
    .mobile-my-listings-page .actions-row form,
    .mobile-my-listings-page .actions-row button { width: 100%; }
    .mobile-my-listings-page .link-danger { justify-self: start; }

    /* Fiche annonce */
    .mobile-listing-page .container { width: min(100%, 620px); }
    .mobile-listing-detail {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .mobile-listing-page .listing-gallery,
    .mobile-listing-page .listing-main,
    .mobile-listing-page .owner-card,
    .mobile-listing-page .panel {
        border-radius: 26px;
        overflow: hidden;
    }
    .mobile-listing-page .image-stack {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 88%;
        overflow-x: auto;
        gap: 10px;
        scroll-snap-type: x mandatory;
    }
    .mobile-listing-page .image-stack img {
        width: 100%;
        min-height: 220px;
        max-height: 280px;
        object-fit: cover;
        border-radius: 24px;
        scroll-snap-align: start;
    }
    .mobile-listing-page .photo-placeholder {
        min-height: 220px;
        border-radius: 24px;
        display: grid;
        place-items: center;
        font-size: 1.1rem;
    }
    .mobile-listing-page .listing-main { padding: 18px; }
    .mobile-listing-page .listing-main h1 { font-size: 1.45rem; line-height: 1.2; }
    .mobile-listing-page .price { font-size: 1.4rem; font-weight: 950; }
    .mobile-listing-page .actions-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .mobile-listing-page .actions-row .btn,
    .mobile-listing-page .actions-row form,
    .mobile-listing-page .actions-row button { width: 100%; }
    .mobile-listing-page .listing-meta { display: flex; flex-wrap: wrap; gap: 8px; }
    .mobile-listing-page .listing-meta span {
        padding: 6px 9px;
        border-radius: 999px;
        background: #f8fafc;
        font-size: .78rem;
    }
}

@media (max-width: 420px) {
    .mobile-search-page .search-actions-row,
    .mobile-my-listings-page .actions-row {
        grid-template-columns: 1fr;
    }
}


/* Lot 45 — Recherche mobile rétractable : annonces visibles immédiatement sur téléphone */
.mobile-search-collapsible {
    margin: 0 0 18px;
}

.mobile-search-collapsible > summary {
    list-style: none;
}

.mobile-search-collapsible > summary::-webkit-details-marker {
    display: none;
}

@media (min-width: 821px) {
    .mobile-search-collapsible {
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .mobile-search-collapsible > summary {
        display: none;
    }

    .mobile-search-collapsible:not([open]) > .search-topbar-inside {
        display: block !important;
    }
}

@media (max-width: 820px) {
    .mobile-search-collapsible {
        padding: 0;
        overflow: hidden;
        border-radius: 26px;
        background: #fff;
        border: 1px solid rgba(15,23,42,.08);
        box-shadow: 0 14px 34px rgba(15,23,42,.07);
    }

    .mobile-search-collapsible > summary {
        position: relative;
        display: grid;
        gap: 5px;
        padding: 16px 52px 16px 17px;
        cursor: pointer;
        background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
        color: #1a2744;
    }

    .mobile-search-collapsible > summary::after {
        content: '+';
        position: absolute;
        right: 17px;
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        display: grid;
        place-items: center;
        border-radius: 999px;
        background: #1a2744;
        color: #fff;
        font-weight: 950;
        font-size: 1.2rem;
        line-height: 1;
    }

    .mobile-search-collapsible[open] > summary::after {
        content: '−';
    }

    .mobile-search-collapsible > summary span {
        font-size: 1rem;
        font-weight: 950;
    }

    .mobile-search-collapsible > summary small {
        color: #64748b;
        font-size: .84rem;
        line-height: 1.35;
    }

    .mobile-search-collapsible.has-active-filters > summary {
        background: linear-gradient(135deg, #fff7ed 0%, #ffffff 100%);
    }

    .mobile-search-collapsible.has-active-filters > summary small {
        color: #9a3412;
        font-weight: 850;
    }

    .mobile-search-page .mobile-search-collapsible .search-topbar {
        margin: 0;
        border: 0;
        border-top: 1px solid rgba(15,23,42,.08);
        border-radius: 0;
        box-shadow: none;
        padding: 16px;
    }

    .mobile-search-page .results.search-results-full {
        margin-top: 10px;
    }
}


/* Lot 47 — Le logo connecté renvoie à l'espace membre ; le signal rouge concerne
   le match affiché sur l'accueil mobile, pas le bouton de navigation. */
@media (max-width: 820px) {
    .mobile-arrived-match {
        position: relative;
        overflow: hidden;
        background: linear-gradient(135deg, #dc2626, #ef4444 52%, #b91c1c);
        border: 2px solid rgba(255, 255, 255, .34);
        box-shadow: 0 20px 42px rgba(220, 38, 38, .35);
        animation: mobileArrivedMatchPulse 1.35s ease-in-out infinite;
    }
    .mobile-arrived-match::before {
        content: '';
        position: absolute;
        inset: -55% -20%;
        background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%);
        transform: translateX(-70%);
        animation: mobileArrivedMatchSweep 2.1s ease-in-out infinite;
        pointer-events: none;
    }
    .mobile-arrived-match > * {
        position: relative;
        z-index: 1;
    }
    .mobile-arrived-match p {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 10px;
        border-radius: 999px;
        background: rgba(255,255,255,.19);
        border: 1px solid rgba(255,255,255,.24);
    }
    .mobile-arrived-match h2,
    .mobile-arrived-match span {
        color: #fff;
    }
}
@keyframes mobileArrivedMatchPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 20px 42px rgba(220, 38, 38, .30); }
    50% { transform: scale(1.012); box-shadow: 0 24px 52px rgba(220, 38, 38, .54); }
}
@keyframes mobileArrivedMatchSweep {
    0%, 42% { transform: translateX(-78%); opacity: 0; }
    55% { opacity: 1; }
    78%, 100% { transform: translateX(78%); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .mobile-arrived-match,
    .mobile-arrived-match::before {
        animation: none !important;
    }
}

/* Lot 49 — Accueil mobile : phrase du moment en tête, ON/OFF géolocalisation, carrousels */
@media (max-width: 820px) {
    .mobile-greeting-with-moment {
        align-items: stretch;
    }
    .mobile-greeting-copy {
        min-width: 0;
        display: grid;
        gap: 8px;
    }
    .mobile-profile-letter {
        text-decoration: none;
        align-self: start;
        box-shadow: 0 12px 24px rgba(97,87,255,.22);
    }
    .mobile-inline-moment {
        display: grid;
        gap: 4px;
        padding: 12px 13px;
        border-radius: 18px;
        background: rgba(255,255,255,.82);
        border: 1px solid rgba(97,87,255,.12);
        text-decoration: none;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
    }
    .mobile-inline-moment-label {
        color: #6157ff;
        font-size: .72rem;
        font-weight: 950;
        letter-spacing: .05em;
        text-transform: uppercase;
    }
    .mobile-inline-moment strong {
        color: #1a2744;
        font-size: .98rem;
        line-height: 1.35;
        font-weight: 950;
    }
    .mobile-inline-moment small {
        color: #64748b;
        font-size: .76rem;
        font-weight: 800;
    }

    .mobile-geo-toggle-card {
        padding: 14px 16px;
        gap: 12px;
        border: 1px solid rgba(15,23,42,.07);
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 12px 34px rgba(15,23,42,.06);
    }
    .mobile-geo-toggle-title {
        display: flex;
        align-items: center;
        gap: 11px;
    }
    .mobile-geo-toggle-title > span {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        display: grid;
        place-items: center;
        border-radius: 16px;
        background: #eef2ff;
        font-size: 1.18rem;
    }
    .mobile-geo-toggle-title div {
        min-width: 0;
        display: grid;
        gap: 2px;
    }
    .mobile-geo-toggle-title strong {
        color: #1a2744;
        font-size: .98rem;
        font-weight: 950;
    }
    .mobile-geo-toggle-title small {
        color: #64748b;
        font-size: .8rem;
        line-height: 1.35;
    }
    .mobile-geo-toggle-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .mobile-geo-toggle-button {
        min-height: 46px;
        border-radius: 999px;
        border: 0;
        cursor: pointer;
        font-weight: 950;
        letter-spacing: .04em;
        transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
    }
    .mobile-geo-toggle-button:active {
        transform: scale(.98);
    }
    .mobile-geo-toggle-button.is-on {
        background: linear-gradient(135deg, #10b981, #059669);
        color: #fff;
        box-shadow: 0 12px 24px rgba(16,185,129,.22);
    }
    .mobile-geo-toggle-button.is-off {
        background: #f1f5f9;
        color: #475569;
        border: 1px solid rgba(71,85,105,.14);
    }
    .mobile-geo-toggle-card.is-geo-disabled .mobile-geo-toggle-button.is-off {
        background: linear-gradient(135deg, #475569, #334155);
        color: #fff;
        box-shadow: 0 12px 24px rgba(51,65,85,.18);
    }
    .mobile-geo-toggle-card.is-geo-disabled .mobile-geo-toggle-button.is-on {
        background: #dcfce7;
        color: #047857;
        box-shadow: none;
    }

    .mobile-match-carousel-wrap {
        display: grid;
        gap: 10px;
    }
    .mobile-carousel-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 0 2px;
    }
    .mobile-carousel-heading p {
        margin: 0 0 3px;
        color: #dc2626;
        font-size: .72rem;
        line-height: 1.2;
        font-weight: 950;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    .mobile-profile-moment-carousel .mobile-carousel-heading p {
        color: #6157ff;
    }
    .mobile-carousel-heading h2 {
        margin: 0;
        color: #1a2744;
        font-size: 1.08rem;
        line-height: 1.2;
    }
    .mobile-carousel-controls {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .mobile-carousel-controls button {
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(15,23,42,.10);
        border-radius: 50%;
        background: #fff;
        color: #1a2744;
        font-size: 1.2rem;
        font-weight: 950;
        box-shadow: 0 10px 22px rgba(15,23,42,.08);
        cursor: pointer;
    }
    .mobile-carousel-slides {
        position: relative;
    }
    .mobile-carousel-slide {
        display: none;
    }
    .mobile-carousel-slide.is-active {
        display: block;
    }
    .mobile-carousel-slide small {
        display: block;
        margin-top: 8px;
        color: rgba(255,255,255,.92);
        font-weight: 800;
        line-height: 1.35;
    }
    .mobile-profile-moment-slide {
        color: #fff;
        background: linear-gradient(135deg, #6157ff, #334fd1 55%, #155e75);
    }
    .mobile-profile-moment-slide blockquote {
        margin: 10px 0 8px;
        padding: 0;
        border: 0;
        color: #fff;
        font-size: 1.08rem;
        line-height: 1.4;
        font-weight: 950;
    }
    .mobile-profile-moment-slide h2,
    .mobile-profile-moment-slide span {
        color: #fff;
    }
}


/* Lot 50 — Accueil mobile allégé : cartes compactes, actions rondes, suppression du bouton retour flottant */
@media (max-width: 820px) {
    .mobile-compact-opportunity {
        min-height: 88px;
        padding: 14px 15px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .mobile-compact-opportunity h2 {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-size: 1rem;
        line-height: 1.28;
        font-weight: 950;
    }
    .mobile-arrived-match.mobile-compact-opportunity p,
    .mobile-arrived-match.mobile-compact-opportunity span,
    .mobile-arrived-match.mobile-compact-opportunity small,
    .mobile-profile-moment-slide.mobile-compact-opportunity blockquote,
    .mobile-profile-moment-slide.mobile-compact-opportunity span,
    .mobile-profile-moment-slide.mobile-compact-opportunity p {
        display: none;
    }
    .mobile-compact-see {
        flex: 0 0 auto;
        margin: 0;
        min-width: 68px;
        min-height: 42px;
        padding: 11px 15px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        font-size: .88rem;
        font-weight: 950;
        text-transform: uppercase;
        letter-spacing: .03em;
    }
    .mobile-empty-compact-opportunity {
        min-height: 88px;
    }

    .mobile-quick-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        gap: 12px;
        justify-items: center;
        margin: 2px 0 4px;
    }
    .mobile-quick-actions a {
        width: 92px;
        height: 92px;
        min-height: 92px;
        padding: 12px 8px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 4px;
        color: #fff;
        border: 0;
        box-shadow: 0 15px 30px rgba(15,23,42,.16);
    }
    .mobile-quick-actions a:nth-child(1) {
        background: linear-gradient(135deg, #6157ff, #4338ca);
    }
    .mobile-quick-actions a:nth-child(2) {
        background: linear-gradient(135deg, #0891b2, #0f766e);
    }
    .mobile-quick-actions a:nth-child(3) {
        background: linear-gradient(135deg, #f97316, #dc2626);
    }
    .mobile-quick-actions span {
        font-size: 1.35rem;
        line-height: 1;
    }
    .mobile-quick-actions strong {
        color: #fff;
        font-size: .76rem;
        line-height: 1.05;
        font-weight: 950;
    }
}


/* Lot 51 — Correction visuelle du bandeau compact match / phrase du moment */
@media (max-width: 820px) {
    .mobile-compact-opportunity {
        min-height: 70px !important;
        width: 100%;
        padding: 11px 12px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        border-radius: 20px;
    }
    .mobile-compact-copy {
        min-width: 0;
        width: 100%;
        display: flex;
        align-items: center;
    }
    .mobile-compact-opportunity h2 {
        width: 100%;
        margin: 0 !important;
        font-size: .97rem !important;
        line-height: 1.25 !important;
        font-weight: 950;
        white-space: normal;
        overflow-wrap: anywhere;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .mobile-compact-see {
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        min-width: 56px !important;
        width: auto !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: 0 12px !important;
        border-radius: 999px !important;
        font-size: .78rem !important;
        line-height: 1 !important;
        letter-spacing: .02em !important;
        white-space: nowrap;
        z-index: 2;
        box-shadow: 0 8px 18px rgba(15,23,42,.16);
    }
    .mobile-arrived-match.mobile-compact-opportunity .mobile-compact-see {
        color: #b91c1c !important;
    }
    .mobile-profile-moment-slide.mobile-compact-opportunity .mobile-compact-see {
        color: #4338ca !important;
    }
    .mobile-empty-compact-opportunity {
        min-height: 70px !important;
    }
}

/* Lot 52 — Accueil mobile : retrait des raccourcis doublons et mise en valeur simple des matches */
@media (max-width: 820px) {
    .mobile-quick-actions {
        display: none !important;
    }
    .mobile-match-heading-simple {
        align-items: center;
        padding: 2px 2px 4px;
    }
    .mobile-match-title-pop {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
        padding: 0 15px;
        border-radius: 999px;
        background: linear-gradient(135deg, #fff1f2, #ffffff);
        border: 1px solid rgba(220, 38, 38, .18);
        color: #dc2626;
        font-size: 1.08rem;
        line-height: 1;
        font-weight: 1000;
        letter-spacing: .01em;
        box-shadow: 0 10px 24px rgba(220, 38, 38, .12);
    }
    .mobile-arrived-match.mobile-compact-opportunity {
        position: relative;
        overflow: hidden;
        min-height: 76px !important;
        padding: 13px 13px !important;
        background: linear-gradient(135deg, #ef4444 0%, #dc2626 54%, #b91c1c 100%);
        border: 1px solid rgba(255,255,255,.22);
        box-shadow: 0 18px 36px rgba(185, 28, 28, .24);
    }
    .mobile-arrived-match.mobile-compact-opportunity::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.16) 42%, transparent 68%);
        transform: translateX(-130%);
        animation: mobile-match-sheen 3.2s ease-in-out infinite;
        pointer-events: none;
    }
    .mobile-arrived-match.mobile-compact-opportunity .mobile-compact-copy,
    .mobile-arrived-match.mobile-compact-opportunity .mobile-compact-see {
        position: relative;
        z-index: 1;
    }
    .mobile-arrived-match.mobile-compact-opportunity h2 {
        color: #fff !important;
        font-size: 1rem !important;
        line-height: 1.28 !important;
        text-shadow: 0 1px 0 rgba(127,29,29,.18);
    }
    .mobile-arrived-match.mobile-compact-opportunity .mobile-compact-see {
        min-width: 58px !important;
        height: 36px !important;
        color: #b91c1c !important;
        background: #fff !important;
        border: 0 !important;
        box-shadow: 0 10px 20px rgba(127, 29, 29, .22);
    }
    @keyframes mobile-match-sheen {
        0%, 60% { transform: translateX(-130%); }
        100% { transform: translateX(130%); }
    }
}

/* Lot 53 : différencier la destination du logo selon ordinateur / mobile */
.logo-mobile-home {
    display: none;
}

@media (max-width: 820px) {
    .logo-desktop-home {
        display: none !important;
    }

    .logo-mobile-home {
        display: inline-flex !important;
    }
}

/* Lot 54 — accueil mobile plus abouti, photo de profil, retour uniquement ordinateur */

/* Bouton retour visible uniquement sur ordinateur */
.desktop-smart-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
@media (max-width: 820px) {
    .desktop-smart-back {
        display: none !important;
    }
}

/* Photo de profil cliquable en haut de l'accueil mobile */
.mobile-app-avatar.mobile-profile-photo {
    overflow: hidden;
    text-decoration: none;
    border: 3px solid rgba(255,255,255,.92);
    box-shadow: 0 14px 28px rgba(44, 37, 112, .18);
    background: linear-gradient(135deg, #6157ff, #10b981);
}
.mobile-app-avatar.mobile-profile-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.mobile-app-avatar.mobile-profile-photo span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #fff;
    font-weight: 950;
}

/* Accueil mobile moins blanc, plus vivant */
@media (max-width: 820px) {
    .mobile-member-home {
        background:
            radial-gradient(circle at 8% 4%, rgba(97,87,255,.15), transparent 29%),
            radial-gradient(circle at 95% 12%, rgba(16,185,129,.13), transparent 24%),
            linear-gradient(180deg, #f7f5ff 0%, #f4fbf8 48%, #fff7f4 100%) !important;
        padding-top: 16px;
    }

    .mobile-app-container {
        display: grid;
        gap: 16px;
    }

    .mobile-app-greeting {
        background:
            radial-gradient(circle at 92% 15%, rgba(255,255,255,.58), transparent 30%),
            linear-gradient(145deg, rgba(255,255,255,.96), rgba(238,235,255,.96) 62%, rgba(234,252,246,.94)) !important;
        border-color: rgba(97,87,255,.14) !important;
        box-shadow: 0 18px 44px rgba(57,48,140,.12) !important;
    }

    .mobile-inline-moment {
        background: rgba(255,255,255,.70);
        border: 1px solid rgba(97,87,255,.14);
        border-radius: 18px;
        padding: 10px 12px;
        margin-top: 10px;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
    }

    .mobile-geo-card,
    .mobile-match-carousel-wrap,
    .mobile-nearby-section,
    .mobile-member-shortcuts {
        border-color: rgba(97,87,255,.10) !important;
        box-shadow: 0 16px 36px rgba(34,42,74,.08) !important;
    }

    .mobile-geo-card {
        background:
            radial-gradient(circle at 85% 20%, rgba(16,185,129,.15), transparent 30%),
            linear-gradient(145deg, rgba(255,255,255,.96), rgba(240,252,248,.96)) !important;
    }

    .mobile-match-carousel-wrap {
        background:
            radial-gradient(circle at 95% 10%, rgba(239,68,68,.10), transparent 25%),
            linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,246,246,.94)) !important;
        border-radius: 26px;
        padding: 16px;
    }

    .mobile-profile-moment-carousel {
        background:
            radial-gradient(circle at 95% 10%, rgba(99,102,241,.12), transparent 25%),
            linear-gradient(145deg, rgba(255,255,255,.96), rgba(244,245,255,.94)) !important;
    }

    .mobile-match-title-pop {
        background: linear-gradient(135deg, #fff, #fff1f2) !important;
        color: #b91c1c !important;
        font-size: 1rem !important;
        letter-spacing: 0 !important;
        box-shadow: 0 10px 22px rgba(185, 28, 28, .10) !important;
    }

    .mobile-nearby-section {
        background:
            radial-gradient(circle at 95% 6%, rgba(249,115,22,.12), transparent 24%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(255,249,241,.94)) !important;
        border-radius: 26px;
        padding: 18px;
    }

    .mobile-nearby-item {
        background: rgba(255,255,255,.88) !important;
        border-color: rgba(249,115,22,.12) !important;
        box-shadow: 0 10px 22px rgba(85,61,35,.05);
    }

    .mobile-member-shortcuts {
        background:
            radial-gradient(circle at 95% 15%, rgba(97,87,255,.12), transparent 24%),
            linear-gradient(145deg, rgba(255,255,255,.96), rgba(243,242,255,.94)) !important;
    }

    .mobile-member-shortcuts a {
        background: rgba(255,255,255,.80) !important;
        border: 1px solid rgba(97,87,255,.10);
        box-shadow: 0 10px 20px rgba(52,56,95,.05);
    }
}

/* Messages : affichage mobile horizontal et lisible */
@media (max-width: 820px) {
    .conversation-item {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start !important;
        gap: 12px !important;
        padding: 14px !important;
    }

    .conversation-item > input[type="checkbox"] {
        margin-top: 5px;
        width: 18px;
        height: 18px;
    }

    .conversation-link {
        min-width: 0;
        display: grid !important;
        gap: 8px;
    }

    .conversation-link > div {
        min-width: 0;
    }

    .conversation-link .row-between {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 10px;
    }

    .conversation-link strong,
    .conversation-link p,
    .conversation-link span,
    .conversation-item p {
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    .conversation-link .badge {
        justify-self: start;
        margin-top: 2px;
    }

    .section-heading-inline {
        align-items: flex-start;
        gap: 12px;
    }

    .section-heading-inline .btn {
        width: 100%;
    }
}

/* Lot 55 — photo de profil mobile plus grande et plus visible */
@media (max-width: 820px) {
    .mobile-app-avatar.mobile-profile-photo,
    .mobile-app-avatar.mobile-profile-letter {
        width: 72px !important;
        height: 72px !important;
        flex: 0 0 72px !important;
        border-radius: 50% !important;
    }

    .mobile-app-avatar.mobile-profile-photo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .mobile-app-avatar.mobile-profile-photo span,
    .mobile-app-avatar.mobile-profile-letter {
        font-size: 1.45rem !important;
    }

    .mobile-app-greeting {
        align-items: center !important;
        gap: 14px !important;
    }

    .mobile-greeting-copy {
        min-width: 0;
        flex: 1 1 auto;
    }
}

/* Lot 57 — curseur de distance dans le bloc Géolocalisation mobile */
@media (max-width: 820px) {
    .mobile-geo-distance {
        display: grid;
        gap: 8px;
        margin-top: 12px;
        padding: 12px 13px;
        border-radius: 18px;
        background: rgba(255,255,255,.76);
        border: 1px solid rgba(16,185,129,.16);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
    }

    .mobile-geo-distance label {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: #334155;
        font-weight: 850;
        font-size: .92rem;
    }

    .mobile-geo-distance label strong {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 58px;
        height: 30px;
        padding: 0 10px;
        border-radius: 999px;
        background: linear-gradient(135deg, #10b981, #0f766e);
        color: #fff;
        font-size: .88rem;
        box-shadow: 0 10px 20px rgba(15,118,110,.16);
    }

    .mobile-geo-distance input[type="range"] {
        width: 100%;
        margin: 0;
        accent-color: #10b981;
        cursor: pointer;
    }

    .mobile-geo-distance-scale {
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: #64748b;
        font-size: .78rem;
        font-weight: 750;
    }
}

/* =========================================================
   LOT 58 — Direction premium mobile MatchProximité
   Une interface plus classe, plus application, plus cohérente
   ========================================================= */

@media (max-width: 820px) {
    :root {
        --mp-premium-ink: #12192b;
        --mp-premium-ink-soft: #26324b;
        --mp-premium-muted: #66738d;
        --mp-premium-line: rgba(18, 25, 43, .10);
        --mp-premium-line-light: rgba(255,255,255,.44);
        --mp-premium-surface: rgba(255,255,255,.86);
        --mp-premium-surface-strong: rgba(255,255,255,.96);
        --mp-premium-violet: #5b50e6;
        --mp-premium-indigo: #322f81;
        --mp-premium-emerald: #0f9f7a;
        --mp-premium-teal: #0e7490;
        --mp-premium-gold: #d4a53d;
        --mp-premium-red: #d93845;
        --mp-premium-shadow: 0 22px 58px rgba(18, 25, 43, .13);
        --mp-premium-soft-shadow: 0 14px 34px rgba(18, 25, 43, .085);
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        background:
            radial-gradient(circle at 12% -3%, rgba(91,80,230,.18), transparent 28rem),
            radial-gradient(circle at 94% 12%, rgba(15,159,122,.14), transparent 22rem),
            radial-gradient(circle at 20% 88%, rgba(212,165,61,.08), transparent 20rem),
            linear-gradient(180deg, #f7f6fb 0%, #f4f8fb 50%, #f8f4ef 100%) !important;
        color: var(--mp-premium-ink);
    }

    /* En-tête plus premium */
    .site-header {
        top: 8px;
        margin: 0 10px;
        border: 1px solid rgba(255,255,255,.62) !important;
        border-radius: 26px;
        background: rgba(255,255,255,.78) !important;
        box-shadow: 0 18px 46px rgba(18,25,43,.12) !important;
        backdrop-filter: blur(22px) saturate(150%);
        -webkit-backdrop-filter: blur(22px) saturate(150%);
        overflow: hidden;
    }

    .header-inner {
        min-height: 70px;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .logo {
        gap: 10px !important;
        color: var(--mp-premium-ink);
        text-decoration: none;
    }

    .logo-mark {
        width: 48px !important;
        height: 48px !important;
        border-radius: 18px !important;
        background:
            radial-gradient(circle at 28% 24%, rgba(255,255,255,.35), transparent 30%),
            linear-gradient(145deg, #6a5cff 0%, #4036b8 58%, #16213f 100%) !important;
        color: #fff !important;
        font-size: 1rem;
        font-weight: 1000 !important;
        letter-spacing: -.02em;
        box-shadow:
            0 14px 28px rgba(64,54,184,.28),
            inset 0 1px 0 rgba(255,255,255,.38);
    }

    .logo strong {
        display: block;
        color: var(--mp-premium-ink);
        font-size: 1rem;
        letter-spacing: -.015em;
    }

    .logo small {
        color: var(--mp-premium-muted) !important;
        font-weight: 750;
        letter-spacing: .01em;
    }

    .nav-toggle {
        width: 46px;
        height: 46px;
        display: grid !important;
        place-items: center;
        border: 1px solid rgba(18,25,43,.08) !important;
        border-radius: 16px;
        background: rgba(255,255,255,.72) !important;
        color: var(--mp-premium-indigo);
        font-size: 1.28rem !important;
        box-shadow: 0 10px 22px rgba(18,25,43,.08);
    }

    .main-nav.open {
        margin-top: 10px;
        padding: 12px;
        border: 1px solid rgba(18,25,43,.08);
        border-radius: 22px;
        background: rgba(255,255,255,.92);
        box-shadow: 0 18px 42px rgba(18,25,43,.12);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .main-nav.open a {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 0 12px;
        border-radius: 14px;
        color: var(--mp-premium-ink-soft);
        font-weight: 850;
    }

    .main-nav.open a:hover,
    .main-nav.open a.active {
        background: rgba(91,80,230,.10);
        color: var(--mp-premium-indigo);
    }

    /* Pages mobiles */
    .mobile-member-home,
    .mobile-search-page,
    .mobile-publish-page,
    .mobile-matches-page,
    .mobile-profile-page,
    .mobile-my-listings-page,
    .mobile-listing-page {
        background: transparent !important;
        padding-top: 18px !important;
    }

    .mobile-app-container,
    .mobile-search-page .container,
    .mobile-publish-page .container,
    .mobile-matches-page .container,
    .mobile-profile-page .container,
    .mobile-my-listings-page .container,
    .mobile-listing-page .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Cartes générales */
    .mobile-app-greeting,
    .mobile-geo-card,
    .mobile-match-carousel-wrap,
    .mobile-nearby-section,
    .mobile-member-shortcuts,
    .mobile-search-page .search-topbar,
    .mobile-publish-page .panel,
    .mobile-matches-page .panel,
    .mobile-profile-page .panel,
    .mobile-my-listings-page .panel,
    .mobile-listing-page .panel,
    .form-card,
    .search-panel {
        border: 1px solid rgba(255,255,255,.65) !important;
        box-shadow: var(--mp-premium-soft-shadow) !important;
        backdrop-filter: blur(18px) saturate(120%);
        -webkit-backdrop-filter: blur(18px) saturate(120%);
    }

    /* Bloc bonjour */
    .mobile-app-greeting {
        position: relative;
        overflow: hidden;
        padding: 20px !important;
        border-radius: 30px !important;
        background:
            radial-gradient(circle at 88% 10%, rgba(212,165,61,.22), transparent 26%),
            radial-gradient(circle at 15% 8%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(145deg, #202846 0%, #333086 52%, #246a6a 100%) !important;
        box-shadow: 0 26px 64px rgba(28,35,72,.28) !important;
    }

    .mobile-app-greeting::after {
        content: "";
        position: absolute;
        right: -42px;
        bottom: -58px;
        width: 170px;
        height: 170px;
        border-radius: 50%;
        background: rgba(255,255,255,.08);
        pointer-events: none;
    }

    .mobile-app-kicker {
        color: rgba(255,255,255,.72) !important;
        font-size: .68rem !important;
        letter-spacing: .16em !important;
    }

    .mobile-app-greeting h1 {
        color: #fff !important;
        font-size: 1.62rem !important;
        letter-spacing: -.03em;
    }

    .mobile-inline-moment {
        position: relative;
        z-index: 1;
        margin-top: 12px !important;
        padding: 12px 13px !important;
        border: 1px solid rgba(255,255,255,.22) !important;
        border-radius: 20px !important;
        background: rgba(255,255,255,.14) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
    }

    .mobile-inline-moment-label {
        color: #f7d889 !important;
        letter-spacing: .10em !important;
    }

    .mobile-inline-moment strong {
        color: #fff !important;
        font-size: 1rem !important;
    }

    .mobile-inline-moment small {
        color: rgba(255,255,255,.76) !important;
        font-weight: 750;
    }

    .mobile-app-avatar.mobile-profile-photo,
    .mobile-app-avatar.mobile-profile-letter {
        position: relative;
        z-index: 1;
        width: 80px !important;
        height: 80px !important;
        flex: 0 0 80px !important;
        border: 3px solid rgba(255,255,255,.82) !important;
        background:
            radial-gradient(circle at 28% 24%, rgba(255,255,255,.32), transparent 28%),
            linear-gradient(145deg, #6a5cff, #0f9f7a) !important;
        box-shadow:
            0 18px 40px rgba(8,15,35,.30),
            inset 0 1px 0 rgba(255,255,255,.30) !important;
    }

    /* Géolocalisation */
    .mobile-geo-card {
        padding: 17px !important;
        border-radius: 28px !important;
        background:
            radial-gradient(circle at 88% 12%, rgba(15,159,122,.18), transparent 26%),
            linear-gradient(145deg, rgba(255,255,255,.96), rgba(239,250,247,.92)) !important;
    }

    .mobile-geo-toggle-title {
        gap: 12px !important;
    }

    .mobile-geo-toggle-title > span {
        width: 48px;
        height: 48px;
        display: grid;
        place-items: center;
        border-radius: 18px;
        background: linear-gradient(145deg, #15203a, #0f9f7a);
        box-shadow: 0 14px 28px rgba(15,159,122,.18);
        font-size: 1.35rem;
    }

    .mobile-geo-toggle-title strong {
        color: var(--mp-premium-ink) !important;
        font-size: 1.02rem;
        letter-spacing: -.01em;
    }

    .mobile-geo-toggle-title small {
        color: var(--mp-premium-muted) !important;
        line-height: 1.35;
    }

    .mobile-geo-distance {
        margin-top: 13px !important;
        padding: 13px !important;
        border-radius: 20px !important;
        border-color: rgba(15,159,122,.18) !important;
        background: rgba(255,255,255,.78) !important;
    }

    .mobile-geo-distance label span {
        color: var(--mp-premium-ink-soft);
    }

    .mobile-geo-distance label strong {
        min-width: 64px !important;
        background: linear-gradient(145deg, #0f9f7a, #0e7490) !important;
        box-shadow: 0 12px 22px rgba(15,159,122,.22) !important;
    }

    .mobile-geo-toggle-actions {
        gap: 10px !important;
        margin-top: 4px;
    }

    .mobile-geo-toggle-button {
        min-height: 46px !important;
        border-radius: 16px !important;
        font-weight: 1000 !important;
        letter-spacing: .03em;
    }

    .mobile-geo-toggle-button.is-on {
        background: linear-gradient(145deg, #0f9f7a, #0e7490) !important;
        box-shadow: 0 14px 28px rgba(15,159,122,.22) !important;
    }

    .mobile-geo-toggle-button.is-off {
        background: rgba(255,255,255,.82) !important;
        color: #65718a !important;
        border: 1px solid rgba(18,25,43,.10) !important;
    }

    .mobile-geo-status {
        color: var(--mp-premium-muted) !important;
        font-weight: 750;
    }

    /* Match / correspondance */
    .mobile-match-carousel-wrap {
        padding: 17px !important;
        border-radius: 28px !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(217,56,69,.13), transparent 28%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(255,245,246,.92)) !important;
    }

    .mobile-carousel-heading {
        align-items: center !important;
        margin-bottom: 12px !important;
    }

    .mobile-match-title-pop {
        min-height: 40px !important;
        padding: 0 16px !important;
        border: 1px solid rgba(217,56,69,.16) !important;
        background: linear-gradient(145deg, #fff, #fff0f1) !important;
        color: #b42335 !important;
        font-size: .98rem !important;
        font-weight: 1000 !important;
        letter-spacing: -.01em !important;
        box-shadow: 0 14px 28px rgba(217,56,69,.12) !important;
    }

    .mobile-carousel-controls button {
        width: 42px !important;
        height: 42px !important;
        border: 1px solid rgba(18,25,43,.08) !important;
        background: rgba(255,255,255,.90) !important;
        color: var(--mp-premium-indigo) !important;
        box-shadow: 0 12px 24px rgba(18,25,43,.10) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity {
        min-height: 78px !important;
        padding: 14px !important;
        border-radius: 22px !important;
        background:
            radial-gradient(circle at 18% 8%, rgba(255,255,255,.20), transparent 30%),
            linear-gradient(145deg, #e34857 0%, #cf3344 58%, #a91f32 100%) !important;
        box-shadow: 0 20px 38px rgba(169,31,50,.28) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity h2 {
        color: #fff !important;
        font-size: 1.01rem !important;
        letter-spacing: -.01em;
    }

    .mobile-arrived-match.mobile-compact-opportunity .mobile-compact-see {
        min-width: 64px !important;
        height: 38px !important;
        border-radius: 999px !important;
        color: #b42335 !important;
        background: #fff !important;
        font-size: .88rem !important;
        font-weight: 1000 !important;
        box-shadow: 0 12px 22px rgba(111,18,29,.22) !important;
    }

    .mobile-profile-moment-carousel {
        background:
            radial-gradient(circle at 92% 8%, rgba(91,80,230,.12), transparent 27%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(244,243,255,.92)) !important;
    }

    .mobile-profile-moment-slide.mobile-compact-opportunity {
        border: 1px solid rgba(91,80,230,.14) !important;
        background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(242,241,255,.92)) !important;
        box-shadow: 0 16px 32px rgba(50,47,129,.10) !important;
    }

    /* Autour de vous */
    .mobile-nearby-section {
        padding: 18px !important;
        border-radius: 28px !important;
        background:
            radial-gradient(circle at 92% 8%, rgba(212,165,61,.14), transparent 25%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(255,249,238,.92)) !important;
    }

    .mobile-section-title h2,
    .mobile-member-shortcuts h2 {
        color: var(--mp-premium-ink) !important;
        letter-spacing: -.02em;
    }

    .mobile-section-title a {
        color: var(--mp-premium-indigo) !important;
        font-weight: 950 !important;
    }

    .mobile-nearby-list {
        gap: 11px !important;
    }

    .mobile-nearby-item {
        padding: 13px !important;
        border-radius: 20px !important;
        border: 1px solid rgba(18,25,43,.08) !important;
        background: rgba(255,255,255,.88) !important;
        box-shadow: 0 14px 30px rgba(18,25,43,.07) !important;
    }

    .mobile-nearby-icon {
        width: 54px !important;
        height: 54px !important;
        border-radius: 18px !important;
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.34), transparent 28%),
            linear-gradient(145deg, #5b50e6, #322f81) !important;
        color: #fff !important;
        box-shadow: 0 14px 26px rgba(50,47,129,.20);
    }

    .mobile-nearby-copy strong {
        color: var(--mp-premium-ink) !important;
        font-weight: 950 !important;
    }

    .mobile-nearby-copy small {
        color: var(--mp-premium-muted) !important;
        font-weight: 720;
    }

    .mobile-nearby-item em {
        border: 1px solid rgba(15,159,122,.16);
        background: rgba(232,250,245,.96) !important;
        color: #08775e !important;
        box-shadow: 0 10px 18px rgba(15,159,122,.10);
    }

    /* Mon espace */
    .mobile-member-shortcuts {
        padding: 18px !important;
        border-radius: 28px !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(91,80,230,.13), transparent 26%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(245,244,255,.93)) !important;
    }

    .mobile-member-shortcuts a {
        min-height: 52px;
        display: flex !important;
        align-items: center;
        padding: 13px 14px !important;
        border-radius: 18px !important;
        border: 1px solid rgba(91,80,230,.10) !important;
        background: rgba(255,255,255,.88) !important;
        color: var(--mp-premium-ink-soft) !important;
        box-shadow: 0 12px 24px rgba(50,47,129,.07) !important;
        font-weight: 950 !important;
    }

    /* Barre de navigation mobile */
    .mobile-app-nav {
        left: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        padding: 10px 8px 12px !important;
        border: 1px solid rgba(255,255,255,.26) !important;
        border-radius: 30px !important;
        background:
            radial-gradient(circle at 50% 0%, rgba(255,255,255,.16), transparent 35%),
            linear-gradient(145deg, rgba(20,26,44,.96), rgba(30,35,70,.96)) !important;
        box-shadow: 0 26px 58px rgba(8,14,29,.34) !important;
        backdrop-filter: blur(22px) saturate(140%);
        -webkit-backdrop-filter: blur(22px) saturate(140%);
    }

    .mobile-app-nav-item {
        color: rgba(255,255,255,.72) !important;
        font-weight: 900 !important;
    }

    .mobile-app-nav-item span {
        font-size: 1.16rem;
    }

    .mobile-app-nav-item small {
        color: inherit !important;
        font-size: .70rem !important;
        letter-spacing: .01em;
    }

    .mobile-app-nav-publish {
        position: relative;
        transform: translateY(-9px);
        min-height: 62px !important;
        border-radius: 22px !important;
        background:
            radial-gradient(circle at 28% 20%, rgba(255,255,255,.28), transparent 30%),
            linear-gradient(145deg, #d4a53d, #b77a18) !important;
        color: #fff !important;
        box-shadow: 0 18px 34px rgba(183,122,24,.34) !important;
    }

    /* Boutons / formulaires mobiles */
    .btn,
    button.btn,
    a.btn {
        border-radius: 16px !important;
        font-weight: 950 !important;
        letter-spacing: -.01em;
    }

    .btn:not(.btn-secondary):not(.btn-danger):not(.mobile-compact-see) {
        background:
            radial-gradient(circle at 22% 18%, rgba(255,255,255,.22), transparent 28%),
            linear-gradient(145deg, #5b50e6, #322f81) !important;
        box-shadow: 0 16px 30px rgba(50,47,129,.20) !important;
    }

    .btn-secondary {
        border: 1px solid rgba(91,80,230,.14) !important;
        background: rgba(255,255,255,.90) !important;
        color: var(--mp-premium-indigo) !important;
        box-shadow: 0 12px 24px rgba(50,47,129,.08) !important;
    }

    input,
    textarea,
    select {
        min-height: 48px;
        border-radius: 16px !important;
        border-color: rgba(18,25,43,.12) !important;
        background: rgba(255,255,255,.92) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
    }

    textarea {
        min-height: 110px;
    }

    label {
        color: var(--mp-premium-ink-soft);
        font-weight: 850;
    }

    /* Recherche */
    .mobile-search-page .search-topbar,
    .friendly-search-top {
        border-radius: 28px !important;
        background:
            radial-gradient(circle at 92% 8%, rgba(91,80,230,.12), transparent 24%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(245,244,255,.94)) !important;
    }

    .mobile-search-page .friendly-listing-card {
        border-radius: 24px !important;
        border: 1px solid rgba(18,25,43,.08) !important;
        background: rgba(255,255,255,.92) !important;
        box-shadow: 0 16px 34px rgba(18,25,43,.08) !important;
    }

    /* Publication */
    .publish-helper,
    .publish-choice-grid label,
    .publish-step,
    .mobile-publish-page .form-card {
        border-radius: 24px !important;
    }

    .publish-helper {
        background:
            radial-gradient(circle at 90% 10%, rgba(212,165,61,.14), transparent 26%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(255,248,236,.94)) !important;
    }

    .publish-step > span {
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.25), transparent 28%),
            linear-gradient(145deg, #5b50e6, #322f81) !important;
        border-radius: 16px !important;
    }

    .publish-choice-grid label {
        border: 1px solid rgba(91,80,230,.10) !important;
        background: rgba(255,255,255,.88) !important;
        box-shadow: 0 14px 28px rgba(50,47,129,.07) !important;
    }

    .publish-choice-grid label.is-selected,
    .publish-choice-grid label:hover {
        border-color: rgba(91,80,230,.34) !important;
        background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,237,255,.96)) !important;
    }

    /* Profil */
    .member-cover-preview,
    .profile-cover-card {
        border-radius: 30px !important;
    }

    .member-avatar-preview {
        width: 104px !important;
        height: 104px !important;
        border-radius: 32px !important;
        border: 5px solid rgba(255,255,255,.95) !important;
        box-shadow: 0 20px 42px rgba(18,25,43,.20) !important;
    }

    .mobile-profile-page .panel {
        background:
            radial-gradient(circle at 92% 8%, rgba(15,159,122,.12), transparent 25%),
            linear-gradient(145deg, rgba(255,255,255,.97), rgba(241,251,248,.94)) !important;
    }

    /* Petites animations premium discrètes */
    .mobile-nearby-item,
    .mobile-member-shortcuts a,
    .mobile-app-nav-item,
    .btn,
    .mobile-carousel-controls button {
        transition:
            transform .18s ease,
            box-shadow .18s ease,
            border-color .18s ease,
            background .18s ease !important;
    }

    .mobile-nearby-item:active,
    .mobile-member-shortcuts a:active,
    .mobile-app-nav-item:active,
    .btn:active,
    .mobile-carousel-controls button:active {
        transform: scale(.985);
    }
}

/* =========================================================
   LOT 59 — Ajustements premium :
   publier moins orange, phrases lisibles, menu haut réparé
   ========================================================= */

@media (max-width: 820px) {
    /* Le menu déroulant était masqué par le header premium */
    .site-header {
        overflow: visible !important;
    }

    /* Bouton Publier du menu inférieur : plus élégant, moins orangé */
    .mobile-app-nav-publish {
        background:
            radial-gradient(circle at 28% 20%, rgba(255,255,255,.28), transparent 30%),
            linear-gradient(145deg, #6557f5 0%, #4338ca 46%, #0f9f7a 100%) !important;
        box-shadow: 0 18px 34px rgba(67,56,202,.32) !important;
    }

    /* Les titres des phrases du moment doivent rester lisibles sur fond clair */
    .mobile-profile-moment-slide.mobile-compact-opportunity h2,
    .mobile-empty-compact-opportunity h2 {
        color: #182238 !important;
        text-shadow: none !important;
    }

    .mobile-profile-moment-carousel .mobile-carousel-heading h2 {
        color: #182238 !important;
    }

    .mobile-profile-moment-carousel .mobile-carousel-heading p {
        color: #5b50e6 !important;
        font-weight: 900 !important;
    }

    .mobile-profile-moment-slide.mobile-compact-opportunity .mobile-compact-see,
    .mobile-empty-compact-opportunity .mobile-compact-see {
        color: #4338ca !important;
        background: #fff !important;
        border: 1px solid rgba(91,80,230,.14) !important;
    }
}

/* =========================================================
   LOT 60 — Direction mobile noir profond & jaune feutré
   + choix de distance par boutons 2 / 5 / 10 km
   ========================================================= */

@media (max-width: 820px) {
    :root {
        --mp-night: #0b0d12;
        --mp-night-2: #11141b;
        --mp-night-3: #181c25;
        --mp-night-panel: rgba(20, 23, 31, .88);
        --mp-night-panel-strong: rgba(24, 28, 38, .96);
        --mp-yellow: #d6b25a;
        --mp-yellow-soft: #ead08c;
        --mp-yellow-faint: rgba(214,178,90,.16);
        --mp-mint: #7ea891;
        --mp-blush: #b98b8e;
        --mp-blue-haze: #8395b6;
        --mp-cream: #f4efe5;
        --mp-text: #f4efe5;
        --mp-text-soft: rgba(244,239,229,.78);
        --mp-text-faint: rgba(244,239,229,.58);
        --mp-line: rgba(234,208,140,.14);
        --mp-line-strong: rgba(234,208,140,.28);
        --mp-shadow-deep: 0 28px 70px rgba(0,0,0,.48);
        --mp-shadow-card: 0 18px 48px rgba(0,0,0,.32);
    }

    body {
        color: var(--mp-text) !important;
        background:
            radial-gradient(circle at 14% -2%, rgba(214,178,90,.22), transparent 25rem),
            radial-gradient(circle at 100% 14%, rgba(126,168,145,.14), transparent 22rem),
            radial-gradient(circle at 20% 88%, rgba(185,139,142,.10), transparent 22rem),
            linear-gradient(180deg, #07080d 0%, #0b0d12 34%, #10131b 100%) !important;
    }

    body main {
        color: var(--mp-text);
    }

    /* Header premium noir */
    .site-header {
        background: rgba(12, 14, 20, .82) !important;
        border: 1px solid rgba(234,208,140,.16) !important;
        box-shadow: 0 24px 64px rgba(0,0,0,.42) !important;
        backdrop-filter: blur(24px) saturate(130%);
        -webkit-backdrop-filter: blur(24px) saturate(130%);
    }

    .logo strong {
        color: var(--mp-text) !important;
    }

    .logo small {
        color: var(--mp-text-faint) !important;
    }

    .logo-mark {
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.26), transparent 28%),
            linear-gradient(145deg, #e2c36f 0%, #b98d37 58%, #6f5220 100%) !important;
        color: #15120b !important;
        box-shadow:
            0 16px 34px rgba(214,178,90,.20),
            inset 0 1px 0 rgba(255,255,255,.32) !important;
    }

    .nav-toggle {
        border-color: rgba(234,208,140,.18) !important;
        background: rgba(234,208,140,.09) !important;
        color: var(--mp-yellow-soft) !important;
        box-shadow: 0 14px 30px rgba(0,0,0,.28) !important;
    }

    .main-nav.open {
        border-color: rgba(234,208,140,.16) !important;
        background: rgba(14,16,23,.96) !important;
        box-shadow: 0 24px 60px rgba(0,0,0,.48) !important;
    }

    .main-nav.open a {
        color: var(--mp-text-soft) !important;
    }

    .main-nav.open a:hover,
    .main-nav.open a.active {
        background: rgba(214,178,90,.12) !important;
        color: var(--mp-yellow-soft) !important;
    }

    /* Pages mobile */
    .mobile-member-home,
    .mobile-search-page,
    .mobile-publish-page,
    .mobile-matches-page,
    .mobile-profile-page,
    .mobile-my-listings-page,
    .mobile-listing-page {
        background: transparent !important;
    }

    /* Surfaces */
    .mobile-app-greeting,
    .mobile-geo-card,
    .mobile-match-carousel-wrap,
    .mobile-nearby-section,
    .mobile-member-shortcuts,
    .mobile-search-page .search-topbar,
    .mobile-publish-page .panel,
    .mobile-matches-page .panel,
    .mobile-profile-page .panel,
    .mobile-my-listings-page .panel,
    .mobile-listing-page .panel,
    .form-card,
    .search-panel,
    .friendly-search-top,
    .friendly-listing-card,
    .card,
    .panel {
        border: 1px solid var(--mp-line) !important;
        background: var(--mp-night-panel) !important;
        color: var(--mp-text) !important;
        box-shadow: var(--mp-shadow-card) !important;
        backdrop-filter: blur(20px) saturate(120%);
        -webkit-backdrop-filter: blur(20px) saturate(120%);
    }

    /* Bloc principal Bonjour */
    .mobile-app-greeting {
        background:
            radial-gradient(circle at 90% 12%, rgba(214,178,90,.22), transparent 28%),
            radial-gradient(circle at 12% 10%, rgba(255,255,255,.07), transparent 24%),
            linear-gradient(145deg, #141720 0%, #1a1f2b 55%, #10131b 100%) !important;
        border-color: rgba(234,208,140,.18) !important;
        box-shadow: var(--mp-shadow-deep) !important;
    }

    .mobile-app-kicker {
        color: var(--mp-yellow-soft) !important;
    }

    .mobile-app-greeting h1 {
        color: var(--mp-text) !important;
    }

    .mobile-inline-moment {
        border-color: rgba(234,208,140,.18) !important;
        background: rgba(214,178,90,.08) !important;
    }

    .mobile-inline-moment-label {
        color: var(--mp-yellow-soft) !important;
    }

    .mobile-inline-moment strong {
        color: var(--mp-text) !important;
    }

    .mobile-inline-moment small {
        color: var(--mp-text-faint) !important;
    }

    .mobile-app-avatar.mobile-profile-photo,
    .mobile-app-avatar.mobile-profile-letter {
        border-color: rgba(234,208,140,.55) !important;
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.20), transparent 28%),
            linear-gradient(145deg, #e2c36f, #8e6b27) !important;
        box-shadow:
            0 20px 46px rgba(0,0,0,.44),
            0 0 0 1px rgba(234,208,140,.18) !important;
    }

    .mobile-app-avatar.mobile-profile-photo span {
        color: #17130c !important;
    }

    /* Géolocalisation */
    .mobile-geo-card {
        background:
            radial-gradient(circle at 92% 10%, rgba(126,168,145,.16), transparent 28%),
            linear-gradient(145deg, rgba(19,22,30,.96), rgba(13,15,21,.96)) !important;
    }

    .mobile-geo-toggle-title > span {
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.18), transparent 28%),
            linear-gradient(145deg, #d6b25a, #8e6b27) !important;
        color: #17130c !important;
        box-shadow: 0 16px 34px rgba(214,178,90,.18) !important;
    }

    .mobile-geo-toggle-title strong {
        color: var(--mp-text) !important;
    }

    .mobile-geo-toggle-title small,
    .mobile-geo-status {
        color: var(--mp-text-faint) !important;
    }

    .mobile-geo-distance {
        background: rgba(255,255,255,.035) !important;
        border-color: rgba(234,208,140,.16) !important;
    }

    .mobile-geo-distance-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: var(--mp-text-soft);
        font-weight: 850;
        font-size: .92rem;
    }

    .mobile-geo-distance-head strong {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 64px;
        height: 30px;
        padding: 0 10px;
        border-radius: 999px;
        background:
            radial-gradient(circle at 22% 18%, rgba(255,255,255,.22), transparent 26%),
            linear-gradient(145deg, #e2c36f, #a77b28);
        color: #17130c;
        font-size: .88rem;
        font-weight: 1000;
        box-shadow: 0 12px 24px rgba(214,178,90,.18);
    }

    .mobile-geo-distance-buttons {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 9px;
        margin-top: 10px;
    }

    .mobile-geo-distance-button {
        min-height: 44px;
        border: 1px solid rgba(234,208,140,.18);
        border-radius: 16px;
        background: rgba(255,255,255,.035);
        color: var(--mp-text-soft);
        font-weight: 1000;
        font-size: .92rem;
        cursor: pointer;
        transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
    }

    .mobile-geo-distance-button.is-active {
        border-color: rgba(234,208,140,.44);
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.20), transparent 28%),
            linear-gradient(145deg, #e2c36f, #a77b28);
        color: #17130c;
        box-shadow: 0 14px 28px rgba(214,178,90,.20);
    }

    .mobile-geo-distance-button:active {
        transform: scale(.98);
    }

    .mobile-geo-toggle-button.is-on {
        background:
            radial-gradient(circle at 22% 18%, rgba(255,255,255,.20), transparent 28%),
            linear-gradient(145deg, #e2c36f, #a77b28) !important;
        color: #17130c !important;
        box-shadow: 0 14px 30px rgba(214,178,90,.20) !important;
    }

    .mobile-geo-toggle-button.is-off {
        border-color: rgba(234,208,140,.16) !important;
        background: rgba(255,255,255,.035) !important;
        color: var(--mp-text-soft) !important;
    }

    /* Matchs */
    .mobile-match-carousel-wrap {
        background:
            radial-gradient(circle at 92% 12%, rgba(185,139,142,.14), transparent 28%),
            linear-gradient(145deg, rgba(20,23,31,.96), rgba(14,16,23,.96)) !important;
    }

    .mobile-match-title-pop {
        border-color: rgba(234,208,140,.22) !important;
        background: rgba(214,178,90,.10) !important;
        color: var(--mp-yellow-soft) !important;
        box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
    }

    .mobile-carousel-controls button {
        border-color: rgba(234,208,140,.18) !important;
        background: rgba(255,255,255,.045) !important;
        color: var(--mp-yellow-soft) !important;
        box-shadow: 0 12px 24px rgba(0,0,0,.24) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity {
        border: 1px solid rgba(234,208,140,.24) !important;
        background:
            radial-gradient(circle at 20% 10%, rgba(255,255,255,.12), transparent 30%),
            linear-gradient(145deg, #2a2021 0%, #412a2e 55%, #24191b 100%) !important;
        box-shadow: 0 20px 42px rgba(0,0,0,.36) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity h2 {
        color: var(--mp-text) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity .mobile-compact-see,
    .mobile-profile-moment-slide.mobile-compact-opportunity .mobile-compact-see,
    .mobile-empty-compact-opportunity .mobile-compact-see {
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.22), transparent 28%),
            linear-gradient(145deg, #e2c36f, #a77b28) !important;
        color: #17130c !important;
        border: 0 !important;
        box-shadow: 0 14px 28px rgba(214,178,90,.18) !important;
    }

    .mobile-profile-moment-carousel {
        background:
            radial-gradient(circle at 92% 12%, rgba(131,149,182,.14), transparent 28%),
            linear-gradient(145deg, rgba(20,23,31,.96), rgba(14,16,23,.96)) !important;
    }

    .mobile-profile-moment-carousel .mobile-carousel-heading h2,
    .mobile-profile-moment-slide.mobile-compact-opportunity h2,
    .mobile-empty-compact-opportunity h2 {
        color: var(--mp-text) !important;
    }

    .mobile-profile-moment-carousel .mobile-carousel-heading p {
        color: var(--mp-blue-haze) !important;
    }

    .mobile-profile-moment-slide.mobile-compact-opportunity,
    .mobile-empty-compact-opportunity {
        border-color: rgba(131,149,182,.22) !important;
        background:
            radial-gradient(circle at 18% 10%, rgba(255,255,255,.08), transparent 30%),
            linear-gradient(145deg, #171b25, #11141b) !important;
    }

    /* Autour de vous */
    .mobile-nearby-section {
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.12), transparent 28%),
            linear-gradient(145deg, rgba(20,23,31,.96), rgba(14,16,23,.96)) !important;
    }

    .mobile-section-title h2,
    .mobile-member-shortcuts h2 {
        color: var(--mp-text) !important;
    }

    .mobile-section-title a {
        color: var(--mp-yellow-soft) !important;
    }

    .mobile-nearby-item {
        border-color: rgba(234,208,140,.12) !important;
        background: rgba(255,255,255,.035) !important;
        box-shadow: 0 14px 30px rgba(0,0,0,.24) !important;
    }

    .mobile-nearby-icon {
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.18), transparent 28%),
            linear-gradient(145deg, #7ea891, #486859) !important;
        color: #0e1411 !important;
        box-shadow: 0 14px 28px rgba(126,168,145,.16) !important;
    }

    .mobile-nearby-copy strong {
        color: var(--mp-text) !important;
    }

    .mobile-nearby-copy small {
        color: var(--mp-text-faint) !important;
    }

    .mobile-nearby-item em {
        border-color: rgba(126,168,145,.24) !important;
        background: rgba(126,168,145,.12) !important;
        color: #b9d9c7 !important;
    }

    /* Mon espace */
    .mobile-member-shortcuts {
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.11), transparent 28%),
            linear-gradient(145deg, rgba(20,23,31,.96), rgba(14,16,23,.96)) !important;
    }

    .mobile-member-shortcuts a {
        border-color: rgba(234,208,140,.12) !important;
        background: rgba(255,255,255,.035) !important;
        color: var(--mp-text-soft) !important;
        box-shadow: 0 12px 26px rgba(0,0,0,.22) !important;
    }

    /* Bottom nav */
    .mobile-app-nav {
        border-color: rgba(234,208,140,.16) !important;
        background:
            radial-gradient(circle at 50% 0%, rgba(214,178,90,.11), transparent 36%),
            linear-gradient(145deg, rgba(10,12,18,.96), rgba(18,21,29,.96)) !important;
        box-shadow: 0 28px 64px rgba(0,0,0,.54) !important;
    }

    .mobile-app-nav-item {
        color: var(--mp-text-faint) !important;
    }

    .mobile-app-nav-publish {
        background:
            radial-gradient(circle at 26% 18%, rgba(255,255,255,.22), transparent 30%),
            linear-gradient(145deg, #e2c36f 0%, #b98d37 60%, #7b5b21 100%) !important;
        color: #17130c !important;
        box-shadow: 0 18px 36px rgba(214,178,90,.22) !important;
    }

    /* Boutons */
    .btn:not(.btn-secondary):not(.btn-danger):not(.mobile-compact-see),
    button.btn:not(.btn-secondary):not(.btn-danger):not(.mobile-compact-see),
    a.btn:not(.btn-secondary):not(.btn-danger):not(.mobile-compact-see) {
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.22), transparent 28%),
            linear-gradient(145deg, #e2c36f, #a77b28) !important;
        color: #17130c !important;
        box-shadow: 0 16px 30px rgba(214,178,90,.18) !important;
    }

    .btn-secondary {
        border-color: rgba(234,208,140,.18) !important;
        background: rgba(255,255,255,.035) !important;
        color: var(--mp-yellow-soft) !important;
        box-shadow: 0 12px 24px rgba(0,0,0,.22) !important;
    }

    /* Inputs / forms */
    input,
    textarea,
    select {
        border-color: rgba(234,208,140,.14) !important;
        background: rgba(255,255,255,.045) !important;
        color: var(--mp-text) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
    }

    input::placeholder,
    textarea::placeholder {
        color: rgba(244,239,229,.42) !important;
    }

    select option {
        background: #11141b;
        color: var(--mp-text);
    }

    label {
        color: var(--mp-text-soft) !important;
    }

    .muted,
    p.muted,
    small.muted {
        color: var(--mp-text-faint) !important;
    }

    /* Recherche / cartes */
    .mobile-search-page .search-topbar,
    .friendly-search-top {
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.11), transparent 28%),
            linear-gradient(145deg, rgba(20,23,31,.96), rgba(14,16,23,.96)) !important;
    }

    .mobile-search-page .friendly-listing-card {
        border-color: rgba(234,208,140,.12) !important;
        background: rgba(255,255,255,.035) !important;
    }

    .friendly-listing-card strong,
    .friendly-listing-card h2,
    .friendly-listing-card h3 {
        color: var(--mp-text) !important;
    }

    /* Publication */
    .publish-helper {
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.12), transparent 28%),
            linear-gradient(145deg, rgba(20,23,31,.96), rgba(14,16,23,.96)) !important;
    }

    .publish-step > span {
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.22), transparent 28%),
            linear-gradient(145deg, #e2c36f, #a77b28) !important;
        color: #17130c !important;
    }

    .publish-choice-grid label {
        border-color: rgba(234,208,140,.12) !important;
        background: rgba(255,255,255,.035) !important;
    }

    .publish-choice-grid label:hover,
    .publish-choice-grid label.is-selected {
        border-color: rgba(234,208,140,.34) !important;
        background: rgba(214,178,90,.10) !important;
    }

    /* Profil */
    .mobile-profile-page .panel {
        background:
            radial-gradient(circle at 92% 10%, rgba(126,168,145,.11), transparent 28%),
            linear-gradient(145deg, rgba(20,23,31,.96), rgba(14,16,23,.96)) !important;
    }

    .member-avatar-preview {
        border-color: rgba(234,208,140,.45) !important;
        box-shadow: 0 20px 42px rgba(0,0,0,.42) !important;
    }
}

/* =========================================================
   LOT 61 — Finitions design noir / jaune :
   - distance simplifiée
   - contraste global renforcé
   - footer premium
   - matches plus rouges
   - carrousels fiables via JS
   ========================================================= */

@media (max-width: 820px) {
    /* Distance : plus de rappel chiffré, les boutons suffisent */
    .mobile-geo-distance-head {
        justify-content: flex-start !important;
        margin-bottom: 2px;
    }

    .mobile-geo-distance-head strong {
        display: none !important;
    }

    /* Distance choisie : accent vert sauge / menthe, distinct du jaune général */
    .mobile-geo-distance-button.is-active {
        border-color: rgba(140, 190, 166, .58) !important;
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.18), transparent 28%),
            linear-gradient(145deg, #99cdb7 0%, #6fa68e 58%, #46725f 100%) !important;
        color: #0b1511 !important;
        box-shadow:
            0 14px 30px rgba(111,166,142,.24),
            inset 0 1px 0 rgba(255,255,255,.24) !important;
    }

    /* Lisibilité générale sur pages mobiles sombres */
    main,
    main p,
    main li,
    main span,
    main div,
    main strong,
    main h1,
    main h2,
    main h3,
    main h4,
    .mobile-search-page,
    .mobile-publish-page,
    .mobile-matches-page,
    .mobile-profile-page,
    .mobile-my-listings-page,
    .mobile-listing-page {
        color: var(--mp-text);
    }

    main small,
    .small,
    .muted,
    p.muted,
    span.muted,
    small.muted,
    .listing-meta,
    .listing-meta span,
    .result-count,
    .friendly-card-content p,
    .search-hint,
    .field-help,
    .helper-text,
    .auth-note,
    .empty-state p {
        color: var(--mp-text-faint) !important;
    }

    .page-hero h1,
    .page-hero h2,
    .page-hero p,
    .section-title h1,
    .section-title h2,
    .section-title p,
    .publish-step h2,
    .friendly-listing-card h2,
    .friendly-listing-card h3,
    .friendly-listing-card strong,
    .listing-card h2,
    .listing-card h3,
    .profile-card h2,
    .moment-card h2,
    .results-head h1,
    .results-head h2,
    .search-topbar h1,
    .search-topbar h2 {
        color: var(--mp-text) !important;
    }

    a:not(.btn):not(.mobile-app-nav-item):not(.logo):not(.mobile-nearby-item):not(.mobile-member-shortcuts a) {
        color: var(--mp-yellow-soft);
    }

    .row-between a,
    .section-heading-inline a:not(.btn),
    .mobile-section-title a {
        color: var(--mp-yellow-soft) !important;
    }

    /* Badges, cartes, résultats */
    .badge,
    .score-pill,
    .match-score,
    .soft-badge {
        border-color: rgba(234,208,140,.18) !important;
        background: rgba(214,178,90,.10) !important;
        color: var(--mp-yellow-soft) !important;
    }

    .badge.success,
    .score-pill.high,
    .score-pill.success {
        border-color: rgba(140,190,166,.28) !important;
        background: rgba(126,168,145,.16) !important;
        color: #c8eadb !important;
    }

    .badge.warning,
    .score-pill.medium {
        border-color: rgba(234,208,140,.26) !important;
        background: rgba(214,178,90,.16) !important;
        color: var(--mp-yellow-soft) !important;
    }

    .badge.danger,
    .badge.danger-soft,
    .score-pill.low {
        border-color: rgba(245,104,114,.28) !important;
        background: rgba(232,72,86,.16) !important;
        color: #ffc6ca !important;
    }

    .empty-state,
    .mobile-empty-card,
    .notice-box,
    .notice-card,
    .alert,
    .results-head,
    .table-card,
    .search-panel,
    .auth-card,
    .moment-card.light,
    .listing-meta span,
    .mini-card {
        border-color: rgba(234,208,140,.14) !important;
        background: rgba(255,255,255,.035) !important;
        color: var(--mp-text) !important;
    }

    .alert.success {
        border-color: rgba(140,190,166,.34) !important;
        background: rgba(126,168,145,.14) !important;
        color: #d4f0e4 !important;
    }

    .alert.danger {
        border-color: rgba(245,104,114,.34) !important;
        background: rgba(232,72,86,.14) !important;
        color: #ffd2d6 !important;
    }

    /* Tables mobile / contenus admin-like dans espace membre */
    table,
    .table-wrap,
    .admin-table,
    .form-card,
    .conversation-item,
    .conversation-link,
    .notification-item {
        color: var(--mp-text) !important;
    }

    .admin-table th,
    .table-wrap th {
        color: var(--mp-yellow-soft) !important;
        background: rgba(214,178,90,.08) !important;
    }

    .admin-table td,
    .table-wrap td {
        color: var(--mp-text-soft) !important;
        background: rgba(255,255,255,.025) !important;
        border-color: rgba(234,208,140,.10) !important;
    }

    /* Messages / notifications */
    .conversation-item,
    .notification-item {
        border-color: rgba(234,208,140,.14) !important;
        background: rgba(255,255,255,.035) !important;
    }

    .conversation-item.unread,
    .notification-item.unread {
        border-color: rgba(214,178,90,.34) !important;
        background: rgba(214,178,90,.08) !important;
    }

    .conversation-link strong,
    .conversation-link p,
    .notification-item strong,
    .notification-item p {
        color: var(--mp-text) !important;
    }

    /* Matches : rouge plus affirmé, plus visible */
    .mobile-match-carousel-wrap {
        border-color: rgba(245,104,114,.24) !important;
        background:
            radial-gradient(circle at 92% 12%, rgba(255,91,103,.22), transparent 30%),
            linear-gradient(145deg, rgba(28,17,20,.98), rgba(14,16,23,.96)) !important;
    }

    .mobile-match-title-pop {
        border-color: rgba(255,113,124,.34) !important;
        background: rgba(232,72,86,.18) !important;
        color: #ffd1d5 !important;
        box-shadow:
            0 14px 34px rgba(232,72,86,.20),
            inset 0 1px 0 rgba(255,255,255,.10) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity {
        border: 1px solid rgba(255,124,134,.42) !important;
        background:
            radial-gradient(circle at 20% 10%, rgba(255,255,255,.14), transparent 32%),
            linear-gradient(145deg, #e94152 0%, #cf243a 52%, #8d1326 100%) !important;
        box-shadow:
            0 24px 50px rgba(207,36,58,.38),
            inset 0 1px 0 rgba(255,255,255,.16) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity h2 {
        color: #fff !important;
        text-shadow: 0 1px 2px rgba(0,0,0,.22);
    }

    .mobile-arrived-match.mobile-compact-opportunity .mobile-compact-see {
        background: #fff !important;
        color: #b10f27 !important;
        box-shadow: 0 16px 30px rgba(87,0,16,.28) !important;
    }

    .mobile-arrived-match.mobile-compact-opportunity::before {
        background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.25) 44%, transparent 70%) !important;
    }

    /* Footer premium noir / jaune */
    .site-footer {
        position: relative;
        overflow: hidden;
        margin-top: 34px;
        padding-top: 34px !important;
        background:
            radial-gradient(circle at 18% 0%, rgba(214,178,90,.18), transparent 30rem),
            radial-gradient(circle at 100% 85%, rgba(126,168,145,.10), transparent 22rem),
            linear-gradient(145deg, #090b10 0%, #11141b 100%) !important;
        border-top: 1px solid rgba(234,208,140,.16);
        color: var(--mp-text) !important;
    }

    .site-footer::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 28%);
    }

    .footer-grid {
        position: relative;
        z-index: 1;
        gap: 22px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .footer-grid > div {
        padding: 16px;
        border: 1px solid rgba(234,208,140,.12);
        border-radius: 22px;
        background: rgba(255,255,255,.03);
    }

    .footer-grid strong,
    .footer-grid h4 {
        color: var(--mp-yellow-soft) !important;
        letter-spacing: -.01em;
    }

    .footer-grid p {
        color: var(--mp-text-soft) !important;
        line-height: 1.55;
    }

    .footer-grid a {
        color: var(--mp-text-soft) !important;
        font-weight: 850;
    }

    .footer-grid a:hover {
        color: var(--mp-yellow-soft) !important;
    }

    .footer-bottom {
        position: relative;
        z-index: 1;
        margin-top: 22px !important;
        border-top: 1px solid rgba(234,208,140,.14) !important;
        background: rgba(0,0,0,.18) !important;
        color: var(--mp-text-faint) !important;
        line-height: 1.45;
        padding-bottom: 102px !important; /* laisser respirer au-dessus du menu mobile */
    }
}

/* =========================================================
   LOT 62 — Harmonisation complète des zones claires restantes
   + refonte visuelle de la page Explorer
   ========================================================= */

@media (max-width: 820px) {
    /* -------------------------------
       1. Éliminer les cases blanches restantes
       ------------------------------- */
    .section.alt,
    .inner-panel,
    .business-note,
    .payment-provider-box,
    .coherence-item,
    .empty-state,
    .notice-box,
    .danger-zone,
    .profile-safety-card,
    .profile-listing-card,
    .profile-review-card,
    .empty-friendly,
    .stat-card,
    .table-wrap,
    .reply-box,
    .message-bubble.theirs,
    .notification-filters a,
    .tabs a,
    .search-box,
    .moment-card.light,
    .detail-content,
    .photo-placeholder,
    .mini-card,
    .mini-list a,
    .soft-panel,
    .image-manage-card,
    .seller-shop-card,
    .booking-card,
    .order-card,
    .invoice-card,
    .payment-card,
    .profile-cover-card,
    .profile-public-hero,
    .listing-card,
    .listing-card-small,
    .filters.panel,
    .friendly-empty,
    .placeholder-listing {
        background:
            radial-gradient(circle at 92% 12%, rgba(214,178,90,.07), transparent 28%),
            linear-gradient(145deg, rgba(22,25,34,.96), rgba(13,15,21,.96)) !important;
        color: var(--mp-text) !important;
        border-color: rgba(234,208,140,.14) !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
    }

    .section.alt {
        border-top: 1px solid rgba(234,208,140,.08);
        border-bottom: 1px solid rgba(234,208,140,.08);
    }

    .photo-placeholder,
    .friendly-card-media,
    .profile-listing-placeholder {
        background:
            radial-gradient(circle at 28% 20%, rgba(234,208,140,.16), transparent 30%),
            linear-gradient(145deg, #191d27, #10131b) !important;
        color: var(--mp-yellow-soft) !important;
        border-color: rgba(234,208,140,.14) !important;
    }

    .detail-content,
    .reply-box {
        color: var(--mp-text-soft) !important;
    }

    .detail-content *,
    .mini-card *,
    .profile-review-card *,
    .profile-listing-card *,
    .empty-friendly *,
    .stat-card *,
    .coherence-item *,
    .inner-panel *,
    .payment-provider-box *,
    .business-note *,
    .notice-box *,
    .message-bubble.theirs *,
    .reply-box * {
        color: inherit;
    }

    .mini-card strong,
    .mini-list a strong,
    .profile-listing-card strong,
    .profile-review-card strong,
    .stat-card strong,
    .listing-card h2,
    .listing-card h3,
    .listing-card-small h2,
    .listing-card-small h3,
    .placeholder-listing h2,
    .placeholder-listing h3,
    .empty-friendly h2,
    .empty-friendly h3 {
        color: var(--mp-text) !important;
    }

    .mini-card span,
    .mini-card small,
    .mini-list a span,
    .mini-list a small,
    .profile-listing-card p,
    .profile-listing-card small,
    .profile-review-card p,
    .profile-review-card small,
    .stat-card p,
    .placeholder-listing p,
    .empty-friendly p {
        color: var(--mp-text-faint) !important;
    }

    .moment-inline,
    .business-note {
        border-color: rgba(214,178,90,.22) !important;
        background: rgba(214,178,90,.08) !important;
        color: var(--mp-yellow-soft) !important;
    }

    .tabs a {
        color: var(--mp-text-soft) !important;
    }

    .tabs a.active {
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.16), transparent 28%),
            linear-gradient(145deg, #e2c36f, #a77b28) !important;
        color: #17130c !important;
        border-color: rgba(234,208,140,.34) !important;
    }

    .notification-filters a {
        color: var(--mp-text-soft) !important;
    }

    .notification-filters a.active {
        background: rgba(214,178,90,.14) !important;
        border-color: rgba(214,178,90,.34) !important;
        color: var(--mp-yellow-soft) !important;
    }

    .message-bubble.theirs {
        color: var(--mp-text) !important;
        border: 1px solid rgba(234,208,140,.14) !important;
    }

    .reply-box textarea {
        color: var(--mp-text) !important;
    }

    .back-link,
    .floating-back-btn {
        color: var(--mp-yellow-soft) !important;
    }

    .floating-back-btn {
        background: rgba(17,20,27,.96) !important;
        border: 1px solid rgba(234,208,140,.18) !important;
    }

    /* -------------------------------
       2. Refonte Explorer
       ------------------------------- */
    .search-page-hero {
        margin: 16px 12px 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(234,208,140,.16) !important;
        border-radius: 30px !important;
        overflow: hidden;
        background:
            radial-gradient(circle at 92% 8%, rgba(214,178,90,.20), transparent 32%),
            radial-gradient(circle at 8% 100%, rgba(126,168,145,.10), transparent 30%),
            linear-gradient(145deg, #171a23 0%, #10131b 100%) !important;
        box-shadow: 0 26px 64px rgba(0,0,0,.40) !important;
    }

    .search-page-hero .container {
        width: 100% !important;
        padding: 24px 20px 22px !important;
    }

    .explorer-kicker {
        margin: 0 0 8px !important;
        color: var(--mp-yellow-soft) !important;
        font-size: .72rem !important;
        font-weight: 1000 !important;
        letter-spacing: .18em !important;
        text-transform: uppercase;
    }

    .search-page-hero h1 {
        margin: 0 0 10px !important;
        color: var(--mp-text) !important;
        font-size: 1.95rem !important;
        line-height: 1.08 !important;
        letter-spacing: -.045em !important;
    }

    .search-page-hero p:not(.explorer-kicker) {
        margin: 0 !important;
        color: var(--mp-text-soft) !important;
        font-size: .98rem !important;
        line-height: 1.5 !important;
    }

    .explorer-hero-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 16px;
    }

    .explorer-hero-chips span {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
        padding: 0 12px;
        border: 1px solid rgba(234,208,140,.18);
        border-radius: 999px;
        background: rgba(214,178,90,.08);
        color: var(--mp-yellow-soft) !important;
        font-size: .78rem;
        font-weight: 950;
        letter-spacing: .01em;
    }

    .mobile-search-page {
        padding-top: 14px !important;
    }

    .mobile-search-collapsible {
        margin-bottom: 16px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .mobile-search-collapsible > summary {
        display: grid !important;
        gap: 4px;
        list-style: none;
        cursor: pointer;
        padding: 16px !important;
        border: 1px solid rgba(234,208,140,.18) !important;
        border-radius: 24px !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.13), transparent 26%),
            linear-gradient(145deg, rgba(22,25,34,.96), rgba(13,15,21,.96)) !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
    }

    .mobile-search-collapsible > summary::-webkit-details-marker {
        display: none;
    }

    .mobile-search-collapsible > summary span {
        color: var(--mp-text) !important;
        font-size: 1rem;
        font-weight: 1000;
        letter-spacing: -.01em;
    }

    .mobile-search-collapsible > summary small {
        color: var(--mp-text-faint) !important;
        font-weight: 800;
    }

    .mobile-search-collapsible[open] > summary {
        border-color: rgba(214,178,90,.34) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.18), transparent 26%),
            linear-gradient(145deg, rgba(27,30,39,.98), rgba(16,18,25,.98)) !important;
    }

    .search-topbar-inside {
        margin-top: 12px !important;
        padding: 16px !important;
        border-radius: 26px !important;
        border: 1px solid rgba(234,208,140,.14) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(126,168,145,.08), transparent 28%),
            linear-gradient(145deg, rgba(22,25,34,.96), rgba(13,15,21,.96)) !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.26) !important;
    }

    .mobile-search-page label,
    .mobile-search-page .advanced-search summary {
        color: var(--mp-yellow-soft) !important;
    }

    .advanced-search {
        margin-top: 14px;
        padding-top: 14px !important;
        border-top-color: rgba(234,208,140,.14) !important;
    }

    .advanced-search summary {
        font-weight: 1000 !important;
    }

    .search-actions-row {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .search-actions-row .btn {
        min-height: 48px;
    }

    .search-actions-row small {
        display: block;
        padding: 10px 12px;
        border: 1px solid rgba(234,208,140,.12);
        border-radius: 16px;
        background: rgba(255,255,255,.03);
        color: var(--mp-text-faint) !important;
    }

    .explorer-results-head {
        display: grid !important;
        gap: 6px !important;
        padding: 16px !important;
        margin-bottom: 14px !important;
        border: 1px solid rgba(234,208,140,.14) !important;
        border-radius: 24px !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.10), transparent 28%),
            linear-gradient(145deg, rgba(22,25,34,.96), rgba(13,15,21,.96)) !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.24) !important;
    }

    .explorer-results-head div,
    .explorer-results-head strong {
        color: var(--mp-text) !important;
        font-size: 1rem;
    }

    .explorer-results-head > div strong {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 38px;
        height: 38px;
        margin-right: 8px;
        border-radius: 14px;
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.18), transparent 28%),
            linear-gradient(145deg, #e2c36f, #a77b28);
        color: #17130c !important;
        box-shadow: 0 12px 24px rgba(214,178,90,.16);
    }

    .explorer-results-head .muted {
        color: var(--mp-text-faint) !important;
        line-height: 1.45;
    }

    .moment-results {
        border-radius: 26px !important;
        padding: 16px !important;
        border-color: rgba(131,149,182,.18) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(131,149,182,.12), transparent 28%),
            linear-gradient(145deg, rgba(22,25,34,.96), rgba(13,15,21,.96)) !important;
    }

    .moment-results h2 {
        margin-top: 0 !important;
        color: var(--mp-text) !important;
        font-size: 1.1rem !important;
    }

    .moment-results .mini-card {
        border-color: rgba(131,149,182,.18) !important;
        background: rgba(255,255,255,.035) !important;
    }

    .explorer-listing-card {
        border: 1px solid rgba(234,208,140,.14) !important;
        border-radius: 26px !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.07), transparent 26%),
            linear-gradient(145deg, rgba(22,25,34,.96), rgba(13,15,21,.96)) !important;
        box-shadow: 0 20px 46px rgba(0,0,0,.30) !important;
    }

    .explorer-listing-card .friendly-card-media {
        border: 1px solid rgba(234,208,140,.10);
        border-radius: 20px !important;
        min-height: 110px !important;
        height: auto !important;
        background:
            radial-gradient(circle at 28% 20%, rgba(234,208,140,.15), transparent 30%),
            linear-gradient(145deg, #1b1f29, #11141b) !important;
    }

    .explorer-listing-card .friendly-card-media > span {
        filter: drop-shadow(0 12px 22px rgba(0,0,0,.32));
    }

    .explorer-listing-card .friendly-card-body {
        padding: 2px 2px 2px 0 !important;
    }

    .explorer-listing-card .friendly-card-top small {
        color: var(--mp-text-faint) !important;
    }

    .explorer-listing-card h3 {
        color: var(--mp-text) !important;
        font-size: 1.04rem !important;
        line-height: 1.28 !important;
        min-height: 0 !important;
    }

    .explorer-listing-card .friendly-card-line {
        color: var(--mp-text-faint) !important;
        white-space: normal !important;
        line-height: 1.35 !important;
    }

    .explorer-listing-card .btn {
        margin-top: 4px;
    }
}

/* =========================================================
   LOT 63 — Corrections ciblées :
   Explorer cartes plus noires, publier GPS lisible,
   hauts de pages Matches / Profil lisibles,
   checkbox phrase profil corrigée.
   ========================================================= */

@media (max-width: 820px) {
    /* -----------------------------------------------------
       1. Explorer : chaque annonce devient une vraie carte noire premium
       avec le dégradé sur toute la surface de l'annonce.
       ----------------------------------------------------- */
    .mobile-search-page .explorer-listing-card,
    .mobile-search-page .friendly-listing-card.explorer-listing-card {
        position: relative;
        overflow: hidden;
        border: 1px solid rgba(234,208,140,.18) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.12), transparent 28%),
            radial-gradient(circle at 8% 100%, rgba(126,168,145,.08), transparent 30%),
            linear-gradient(145deg, #171a23 0%, #10131b 58%, #090b10 100%) !important;
        box-shadow:
            0 22px 48px rgba(0,0,0,.38),
            inset 0 1px 0 rgba(255,255,255,.03) !important;
    }

    .mobile-search-page .explorer-listing-card::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(118deg, rgba(255,255,255,.035), transparent 38%, rgba(214,178,90,.045));
    }

    .mobile-search-page .explorer-listing-card > * {
        position: relative;
        z-index: 1;
    }

    .mobile-search-page .explorer-listing-card .friendly-card-body {
        background: transparent !important;
    }

    .mobile-search-page .explorer-listing-card .friendly-card-media {
        border: 1px solid rgba(234,208,140,.12) !important;
        background:
            radial-gradient(circle at 30% 22%, rgba(234,208,140,.14), transparent 32%),
            linear-gradient(145deg, rgba(27,31,41,.96), rgba(13,15,21,.96)) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    }

    .mobile-search-page .explorer-listing-card h3 {
        color: #f4efe5 !important;
    }

    .mobile-search-page .explorer-listing-card .friendly-card-line,
    .mobile-search-page .explorer-listing-card .friendly-card-top small {
        color: rgba(244,239,229,.62) !important;
    }

    /* -----------------------------------------------------
       2. Les hauts de pages compacts, hors grand hero Explorer,
       passent définitivement en sombre.
       Corrige Publier, Matches, Profil, etc.
       ----------------------------------------------------- */
    .page-hero.compact:not(.search-page-hero) {
        margin: 16px 12px 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(234,208,140,.16) !important;
        border-radius: 30px !important;
        overflow: hidden;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.17), transparent 32%),
            radial-gradient(circle at 8% 100%, rgba(126,168,145,.08), transparent 30%),
            linear-gradient(145deg, #171a23 0%, #10131b 100%) !important;
        box-shadow: 0 26px 64px rgba(0,0,0,.40) !important;
    }

    .page-hero.compact:not(.search-page-hero) .container {
        width: 100% !important;
        padding: 24px 20px 22px !important;
    }

    .page-hero.compact:not(.search-page-hero) h1 {
        margin: 0 0 10px !important;
        color: #f4efe5 !important;
        font-size: 1.88rem !important;
        line-height: 1.08 !important;
        letter-spacing: -.045em !important;
    }

    .page-hero.compact:not(.search-page-hero) p {
        margin: 0 !important;
        color: rgba(244,239,229,.76) !important;
        font-size: .98rem !important;
        line-height: 1.5 !important;
    }

    /* -----------------------------------------------------
       3. Publier : "Utiliser ma position", latitude, longitude
       corrigés en sombre / lisible.
       ----------------------------------------------------- */
    .mobile-publish-page .geo-box,
    .mobile-profile-page .geo-box {
        border: 1px solid rgba(126,168,145,.22) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(126,168,145,.12), transparent 30%),
            linear-gradient(145deg, rgba(22,25,34,.98), rgba(13,15,21,.98)) !important;
        box-shadow:
            0 20px 46px rgba(0,0,0,.30),
            inset 0 1px 0 rgba(255,255,255,.03) !important;
        color: #f4efe5 !important;
    }

    .mobile-publish-page .geo-box strong,
    .mobile-profile-page .geo-box strong {
        color: #f4efe5 !important;
    }

    .mobile-publish-page .geo-box p,
    .mobile-publish-page .geo-box small,
    .mobile-profile-page .geo-box p,
    .mobile-profile-page .geo-box small {
        color: rgba(244,239,229,.64) !important;
    }

    .mobile-publish-page .geo-box label,
    .mobile-profile-page .geo-box label {
        color: #ead08c !important;
    }

    .mobile-publish-page .geo-box input,
    .mobile-profile-page .geo-box input {
        border-color: rgba(126,168,145,.24) !important;
        background: rgba(255,255,255,.055) !important;
        color: #f4efe5 !important;
    }

    .mobile-publish-page .geo-box input::placeholder,
    .mobile-profile-page .geo-box input::placeholder {
        color: rgba(244,239,229,.38) !important;
    }

    .mobile-publish-page .geo-box .btn-secondary,
    .mobile-profile-page .geo-box .btn-secondary {
        border-color: rgba(126,168,145,.32) !important;
        background: rgba(126,168,145,.12) !important;
        color: #c8eadb !important;
        box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
    }

    /* -----------------------------------------------------
       4. Matches : phrase du moment au haut de la page
       + cartes / mini-list bien lisibles.
       ----------------------------------------------------- */
    .mobile-matches-page .moment-card.light {
        border: 1px solid rgba(232,72,86,.22) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(232,72,86,.16), transparent 30%),
            linear-gradient(145deg, rgba(28,18,21,.98), rgba(13,15,21,.98)) !important;
        color: #f4efe5 !important;
        box-shadow: 0 22px 52px rgba(0,0,0,.34) !important;
    }

    .mobile-matches-page .moment-card.light h2 {
        color: #f4efe5 !important;
    }

    .mobile-matches-page .moment-card.light p {
        color: rgba(244,239,229,.66) !important;
    }

    .mobile-matches-page .section-title h2,
    .mobile-matches-page .section-title .eyebrow {
        color: #f4efe5 !important;
    }

    .mobile-matches-page .section-title .eyebrow {
        color: #ead08c !important;
    }

    .mobile-matches-page .match-card,
    .mobile-matches-page .listing-card-small,
    .mobile-matches-page .scored-list a,
    .mobile-matches-page .mini-card {
        border: 1px solid rgba(234,208,140,.14) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.08), transparent 30%),
            linear-gradient(145deg, rgba(22,25,34,.98), rgba(13,15,21,.98)) !important;
        color: #f4efe5 !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
    }

    .mobile-matches-page .match-card h3,
    .mobile-matches-page .listing-card-small h3,
    .mobile-matches-page .scored-list a strong,
    .mobile-matches-page .mini-card strong {
        color: #f4efe5 !important;
    }

    .mobile-matches-page .match-card p,
    .mobile-matches-page .match-card small,
    .mobile-matches-page .match-card em:not(.score-pill),
    .mobile-matches-page .listing-card-small p,
    .mobile-matches-page .scored-list a span,
    .mobile-matches-page .scored-list a small,
    .mobile-matches-page .mini-card span,
    .mobile-matches-page .mini-card small {
        color: rgba(244,239,229,.64) !important;
    }

    /* -----------------------------------------------------
       5. Profil :
       - haut de page sombre via page-hero ci-dessus
       - checkbox "Visible sur mon profil..." lisible
       - panneaux du formulaire lisibles.
       ----------------------------------------------------- */
    .mobile-profile-page .friendly-profile-form .panel,
    .mobile-profile-page .member-profile-preview {
        border: 1px solid rgba(234,208,140,.14) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.08), transparent 30%),
            linear-gradient(145deg, rgba(22,25,34,.98), rgba(13,15,21,.98)) !important;
        color: #f4efe5 !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
    }

    .mobile-profile-page .friendly-profile-form .panel h2,
    .mobile-profile-page .member-profile-preview h2 {
        color: #f4efe5 !important;
    }

    .mobile-profile-page .friendly-profile-form .panel p,
    .mobile-profile-page .member-profile-preview p,
    .mobile-profile-page .friendly-profile-form .panel small {
        color: rgba(244,239,229,.64) !important;
    }

    .mobile-profile-page label.checkbox,
    .mobile-publish-page label.checkbox {
        border: 1px solid rgba(234,208,140,.22) !important;
        background: rgba(214,178,90,.08) !important;
        color: #f4efe5 !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
    }

    .mobile-profile-page label.checkbox input,
    .mobile-publish-page label.checkbox input {
        accent-color: #d6b25a;
    }

    .mobile-profile-page .checkbox-line,
    .mobile-publish-page .checkbox-line {
        color: #f4efe5 !important;
    }

    .mobile-profile-page .notice-box {
        border: 1px solid rgba(126,168,145,.22) !important;
        background: rgba(126,168,145,.10) !important;
        color: #f4efe5 !important;
    }

    .mobile-profile-page .notice-box strong {
        color: #c8eadb !important;
    }

    .mobile-profile-page .notice-box span {
        color: rgba(244,239,229,.70) !important;
    }

    .mobile-profile-page input,
    .mobile-profile-page textarea,
    .mobile-profile-page select,
    .mobile-publish-page input,
    .mobile-publish-page textarea,
    .mobile-publish-page select {
        color: #f4efe5 !important;
        background: rgba(255,255,255,.055) !important;
        border-color: rgba(234,208,140,.16) !important;
    }
}

/* Correction validée — Explorer : cartes d'annonces réellement plus opaques */
@media (max-width: 820px) {
    .mobile-search-page .friendly-listing-card {
        background:
            radial-gradient(circle at 92% 10%, rgba(214, 178, 90, 0.10), transparent 28%),
            linear-gradient(145deg, #171a23 0%, #10131b 58%, #090b10 100%) !important;
        background-color: #10131b !important;
        border: 1px solid rgba(234, 208, 140, 0.20) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        opacity: 1 !important;
        box-shadow:
            0 24px 52px rgba(0, 0, 0, 0.48),
            inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    }

    .mobile-search-page .friendly-listing-card .friendly-card-body {
        background: transparent !important;
        opacity: 1 !important;
    }

    .mobile-search-page .friendly-listing-card .friendly-card-media {
        background:
            radial-gradient(circle at 30% 22%, rgba(234, 208, 140, 0.14), transparent 32%),
            linear-gradient(145deg, #1b1f29 0%, #11141b 100%) !important;
        background-color: #151923 !important;
        border: 1px solid rgba(234, 208, 140, 0.12) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        opacity: 1 !important;
    }
}

/* =========================================================
   LOT 66 — Choix de thème Clair / Sombre sur mobile
   Le thème sombre reste celui actuellement validé.
   Le thème clair est une déclinaison premium douce.
   ========================================================= */

@media (min-width: 821px) {
    .theme-toggle {
        display: none !important;
    }
}

@media (max-width: 820px) {
    .theme-toggle {
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        padding: 0 14px;
        margin: 4px 0;
        border: 1px solid rgba(234,208,140,.20);
        border-radius: 16px;
        background: rgba(214,178,90,.10);
        color: #ead08c;
        font: inherit;
        font-weight: 950;
        cursor: pointer;
        box-shadow: 0 14px 28px rgba(0,0,0,.22);
    }

    .theme-toggle span:first-child {
        font-size: 1.05rem;
    }
}

/* -----------------------
   THÈME CLAIR MOBILE
   ----------------------- */
@media (max-width: 820px) {
    html[data-theme="light"] body {
        color: #172033 !important;
        background:
            radial-gradient(circle at 12% -2%, rgba(202,164,76,.18), transparent 25rem),
            radial-gradient(circle at 100% 14%, rgba(124,167,147,.16), transparent 22rem),
            radial-gradient(circle at 20% 88%, rgba(184,139,142,.10), transparent 22rem),
            linear-gradient(180deg, #f7f2e8 0%, #f3efe7 45%, #eef3f2 100%) !important;
    }

    html[data-theme="light"] body main,
    html[data-theme="light"] main p,
    html[data-theme="light"] main li,
    html[data-theme="light"] main div,
    html[data-theme="light"] main span,
    html[data-theme="light"] main strong,
    html[data-theme="light"] main h1,
    html[data-theme="light"] main h2,
    html[data-theme="light"] main h3,
    html[data-theme="light"] main h4 {
        color: #172033;
    }

    html[data-theme="light"] .site-header {
        background: rgba(255,250,241,.92) !important;
        border-color: rgba(150,118,50,.18) !important;
        box-shadow: 0 24px 60px rgba(71,55,27,.15) !important;
    }

    html[data-theme="light"] .logo strong {
        color: #182238 !important;
    }

    html[data-theme="light"] .logo small {
        color: rgba(24,34,56,.62) !important;
    }

    html[data-theme="light"] .logo-mark {
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.38), transparent 28%),
            linear-gradient(145deg, #e4c978 0%, #c79a3b 58%, #9b7226 100%) !important;
        color: #21190d !important;
    }

    html[data-theme="light"] .nav-toggle {
        border-color: rgba(150,118,50,.18) !important;
        background: rgba(202,164,76,.12) !important;
        color: #8d6723 !important;
    }

    html[data-theme="light"] .main-nav.open {
        background: rgba(255,250,241,.98) !important;
        border-color: rgba(150,118,50,.18) !important;
        box-shadow: 0 24px 60px rgba(71,55,27,.18) !important;
    }

    html[data-theme="light"] .main-nav.open a {
        color: #344155 !important;
    }

    html[data-theme="light"] .main-nav.open a:hover,
    html[data-theme="light"] .main-nav.open a.active {
        background: rgba(202,164,76,.14) !important;
        color: #8d6723 !important;
    }

    html[data-theme="light"] .theme-toggle {
        border-color: rgba(150,118,50,.20) !important;
        background: rgba(202,164,76,.12) !important;
        color: #8d6723 !important;
        box-shadow: 0 14px 28px rgba(71,55,27,.12) !important;
    }

    html[data-theme="light"] .mobile-app-greeting {
        background:
            radial-gradient(circle at 90% 12%, rgba(202,164,76,.22), transparent 28%),
            radial-gradient(circle at 10% 10%, rgba(255,255,255,.65), transparent 24%),
            linear-gradient(145deg, rgba(255,252,246,.98), rgba(247,238,220,.96) 55%, rgba(235,244,239,.94) 100%) !important;
        border-color: rgba(150,118,50,.18) !important;
        box-shadow: 0 26px 60px rgba(71,55,27,.16) !important;
    }

    html[data-theme="light"] .mobile-app-kicker {
        color: #9a762c !important;
    }

    html[data-theme="light"] .mobile-app-greeting h1 {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-inline-moment {
        border-color: rgba(150,118,50,.16) !important;
        background: rgba(255,255,255,.72) !important;
    }

    html[data-theme="light"] .mobile-inline-moment-label {
        color: #9a762c !important;
    }

    html[data-theme="light"] .mobile-inline-moment strong {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-inline-moment small {
        color: rgba(24,34,56,.62) !important;
    }

    html[data-theme="light"] .mobile-app-avatar.mobile-profile-photo,
    html[data-theme="light"] .mobile-app-avatar.mobile-profile-letter {
        border-color: rgba(202,164,76,.48) !important;
        box-shadow: 0 20px 42px rgba(71,55,27,.18) !important;
    }

    html[data-theme="light"] .mobile-geo-card,
    html[data-theme="light"] .mobile-nearby-section,
    html[data-theme="light"] .mobile-member-shortcuts,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel,
    html[data-theme="light"] .mobile-profile-page .member-profile-preview,
    html[data-theme="light"] .mobile-publish-page .geo-box,
    html[data-theme="light"] .mobile-profile-page .geo-box,
    html[data-theme="light"] .moment-results,
    html[data-theme="light"] .explorer-results-head,
    html[data-theme="light"] .search-topbar-inside,
    html[data-theme="light"] .mobile-search-collapsible > summary,
    html[data-theme="light"] .page-hero.compact:not(.search-page-hero),
    html[data-theme="light"] .search-page-hero {
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.12), transparent 28%),
            linear-gradient(145deg, rgba(255,252,246,.97), rgba(246,239,226,.95)) !important;
        color: #172033 !important;
        border-color: rgba(150,118,50,.18) !important;
        box-shadow: 0 20px 46px rgba(71,55,27,.14) !important;
    }

    html[data-theme="light"] .page-hero.compact:not(.search-page-hero) h1,
    html[data-theme="light"] .search-page-hero h1,
    html[data-theme="light"] .moment-results h2,
    html[data-theme="light"] .mobile-section-title h2,
    html[data-theme="light"] .mobile-member-shortcuts h2,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel h2,
    html[data-theme="light"] .mobile-profile-page .member-profile-preview h2 {
        color: #172033 !important;
    }

    html[data-theme="light"] .page-hero.compact:not(.search-page-hero) p,
    html[data-theme="light"] .search-page-hero p:not(.explorer-kicker),
    html[data-theme="light"] .mobile-geo-toggle-title small,
    html[data-theme="light"] .mobile-geo-status,
    html[data-theme="light"] .explorer-results-head .muted,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel p,
    html[data-theme="light"] .mobile-profile-page .member-profile-preview p,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel small {
        color: rgba(24,34,56,.64) !important;
    }

    html[data-theme="light"] .explorer-kicker,
    html[data-theme="light"] .mobile-section-title a,
    html[data-theme="light"] .mobile-publish-page .geo-box label,
    html[data-theme="light"] .mobile-profile-page .geo-box label,
    html[data-theme="light"] .mobile-search-page label,
    html[data-theme="light"] .mobile-search-page .advanced-search summary {
        color: #9a762c !important;
    }

    html[data-theme="light"] .explorer-hero-chips span,
    html[data-theme="light"] .mobile-match-title-pop {
        background: rgba(202,164,76,.12) !important;
        color: #8d6723 !important;
        border-color: rgba(150,118,50,.20) !important;
    }

    html[data-theme="light"] .mobile-geo-toggle-title > span,
    html[data-theme="light"] .publish-step > span,
    html[data-theme="light"] .btn:not(.btn-secondary):not(.btn-danger):not(.mobile-compact-see),
    html[data-theme="light"] button.btn:not(.btn-secondary):not(.btn-danger):not(.mobile-compact-see),
    html[data-theme="light"] a.btn:not(.btn-secondary):not(.btn-danger):not(.mobile-compact-see),
    html[data-theme="light"] .mobile-app-nav-publish {
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.28), transparent 28%),
            linear-gradient(145deg, #e4c978, #c79a3b) !important;
        color: #21190d !important;
        box-shadow: 0 16px 30px rgba(150,118,50,.18) !important;
    }

    html[data-theme="light"] .btn-secondary,
    html[data-theme="light"] .mobile-publish-page .geo-box .btn-secondary,
    html[data-theme="light"] .mobile-profile-page .geo-box .btn-secondary {
        background: rgba(255,255,255,.74) !important;
        border-color: rgba(150,118,50,.20) !important;
        color: #8d6723 !important;
        box-shadow: 0 14px 28px rgba(71,55,27,.10) !important;
    }

    html[data-theme="light"] .mobile-geo-distance,
    html[data-theme="light"] .mobile-profile-page label.checkbox,
    html[data-theme="light"] .mobile-publish-page label.checkbox,
    html[data-theme="light"] .mobile-profile-page .notice-box {
        background: rgba(255,255,255,.60) !important;
        color: #172033 !important;
        border-color: rgba(150,118,50,.18) !important;
    }

    html[data-theme="light"] .mobile-geo-distance-head,
    html[data-theme="light"] .mobile-profile-page .checkbox-line,
    html[data-theme="light"] .mobile-publish-page .checkbox-line {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-geo-distance-button {
        background: rgba(255,255,255,.72) !important;
        color: #344155 !important;
        border-color: rgba(150,118,50,.16) !important;
    }

    html[data-theme="light"] .mobile-geo-distance-button.is-active {
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.22), transparent 28%),
            linear-gradient(145deg, #9fd0bb, #75ab94) !important;
        color: #102018 !important;
        border-color: rgba(90,141,118,.34) !important;
    }

    html[data-theme="light"] .mobile-geo-toggle-button.is-off {
        background: rgba(255,255,255,.72) !important;
        color: #344155 !important;
        border-color: rgba(150,118,50,.16) !important;
    }

    html[data-theme="light"] .mobile-search-page .friendly-listing-card,
    html[data-theme="light"] .mobile-search-page .explorer-listing-card,
    html[data-theme="light"] .mobile-search-page .friendly-listing-card.explorer-listing-card {
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.11), transparent 28%),
            linear-gradient(145deg, #fffaf0 0%, #f4ead7 58%, #efe4d0 100%) !important;
        background-color: #f6eddc !important;
        color: #172033 !important;
        border-color: rgba(150,118,50,.18) !important;
        box-shadow: 0 20px 46px rgba(71,55,27,.15) !important;
    }

    html[data-theme="light"] .mobile-search-page .friendly-listing-card .friendly-card-media {
        background:
            radial-gradient(circle at 30% 22%, rgba(202,164,76,.14), transparent 32%),
            linear-gradient(145deg, #f8f0df 0%, #ead9b7 100%) !important;
        background-color: #f3e7ce !important;
        border-color: rgba(150,118,50,.18) !important;
    }

    html[data-theme="light"] .mobile-search-page .explorer-listing-card h3,
    html[data-theme="light"] .friendly-listing-card strong,
    html[data-theme="light"] .friendly-listing-card h2,
    html[data-theme="light"] .friendly-listing-card h3 {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-search-page .explorer-listing-card .friendly-card-line,
    html[data-theme="light"] .mobile-search-page .explorer-listing-card .friendly-card-top small,
    html[data-theme="light"] .friendly-listing-card p,
    html[data-theme="light"] .friendly-listing-card small {
        color: rgba(24,34,56,.62) !important;
    }

    html[data-theme="light"] .mobile-nearby-item,
    html[data-theme="light"] .mobile-member-shortcuts a,
    html[data-theme="light"] .mobile-matches-page .match-card,
    html[data-theme="light"] .mobile-matches-page .listing-card-small,
    html[data-theme="light"] .mobile-matches-page .scored-list a,
    html[data-theme="light"] .mobile-matches-page .mini-card {
        background: rgba(255,255,255,.66) !important;
        color: #172033 !important;
        border-color: rgba(150,118,50,.14) !important;
        box-shadow: 0 16px 34px rgba(71,55,27,.11) !important;
    }

    html[data-theme="light"] .mobile-nearby-copy strong,
    html[data-theme="light"] .mobile-member-shortcuts a,
    html[data-theme="light"] .mobile-matches-page .match-card h3,
    html[data-theme="light"] .mobile-matches-page .listing-card-small h3,
    html[data-theme="light"] .mobile-matches-page .scored-list a strong,
    html[data-theme="light"] .mobile-matches-page .mini-card strong {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-nearby-copy small,
    html[data-theme="light"] .mobile-matches-page .match-card p,
    html[data-theme="light"] .mobile-matches-page .match-card small,
    html[data-theme="light"] .mobile-matches-page .listing-card-small p,
    html[data-theme="light"] .mobile-matches-page .scored-list a span,
    html[data-theme="light"] .mobile-matches-page .scored-list a small,
    html[data-theme="light"] .mobile-matches-page .mini-card span,
    html[data-theme="light"] .mobile-matches-page .mini-card small {
        color: rgba(24,34,56,.62) !important;
    }

    html[data-theme="light"] .mobile-match-carousel-wrap,
    html[data-theme="light"] .mobile-matches-page .moment-card.light {
        background:
            radial-gradient(circle at 92% 12%, rgba(232,72,86,.14), transparent 30%),
            linear-gradient(145deg, #fff6f6 0%, #f4e6e8 100%) !important;
        border-color: rgba(200,74,88,.18) !important;
        box-shadow: 0 20px 46px rgba(120,35,45,.12) !important;
    }

    html[data-theme="light"] .mobile-arrived-match.mobile-compact-opportunity {
        background:
            radial-gradient(circle at 20% 10%, rgba(255,255,255,.18), transparent 32%),
            linear-gradient(145deg, #e95b68 0%, #cf3344 52%, #a91f32 100%) !important;
        color: #fff !important;
    }

    html[data-theme="light"] .mobile-arrived-match.mobile-compact-opportunity h2 {
        color: #fff !important;
    }

    html[data-theme="light"] input,
    html[data-theme="light"] textarea,
    html[data-theme="light"] select,
    html[data-theme="light"] .mobile-profile-page input,
    html[data-theme="light"] .mobile-profile-page textarea,
    html[data-theme="light"] .mobile-profile-page select,
    html[data-theme="light"] .mobile-publish-page input,
    html[data-theme="light"] .mobile-publish-page textarea,
    html[data-theme="light"] .mobile-publish-page select {
        background: rgba(255,255,255,.82) !important;
        color: #172033 !important;
        border-color: rgba(150,118,50,.18) !important;
    }

    html[data-theme="light"] input::placeholder,
    html[data-theme="light"] textarea::placeholder {
        color: rgba(24,34,56,.42) !important;
    }

    html[data-theme="light"] .mobile-app-nav {
        background:
            radial-gradient(circle at 50% 0%, rgba(202,164,76,.14), transparent 36%),
            linear-gradient(145deg, rgba(255,250,241,.96), rgba(244,236,220,.96)) !important;
        border-color: rgba(150,118,50,.18) !important;
        box-shadow: 0 28px 64px rgba(71,55,27,.18) !important;
    }

    html[data-theme="light"] .mobile-app-nav-item {
        color: rgba(24,34,56,.66) !important;
    }

    html[data-theme="light"] .site-footer {
        background:
            radial-gradient(circle at 18% 0%, rgba(202,164,76,.16), transparent 30rem),
            radial-gradient(circle at 100% 85%, rgba(124,167,147,.10), transparent 22rem),
            linear-gradient(145deg, #f6efdf 0%, #efe5d1 100%) !important;
        border-top-color: rgba(150,118,50,.18) !important;
        color: #172033 !important;
    }

    html[data-theme="light"] .footer-grid > div {
        background: rgba(255,255,255,.52) !important;
        border-color: rgba(150,118,50,.16) !important;
    }

    html[data-theme="light"] .footer-grid strong,
    html[data-theme="light"] .footer-grid h4 {
        color: #8d6723 !important;
    }

    html[data-theme="light"] .footer-grid p,
    html[data-theme="light"] .footer-grid a,
    html[data-theme="light"] .footer-bottom {
        color: rgba(24,34,56,.70) !important;
    }

    html[data-theme="light"] .footer-bottom {
        background: rgba(255,255,255,.34) !important;
        border-top-color: rgba(150,118,50,.16) !important;
    }
}

/* =========================================================
   LOT 67 — Mode clair : passe complète de lisibilité
   Explorer, annonces, GPS, Matches, Profil
   ========================================================= */

@media (max-width: 820px) {

    /* -----------------------------------------------------
       Références de couleurs du mode clair plus lisibles
       ----------------------------------------------------- */
    html[data-theme="light"] {
        --mp-light-ink: #172033;
        --mp-light-ink-2: #27344a;
        --mp-light-muted: #59657a;
        --mp-light-soft: #6b7689;
        --mp-light-gold: #8d6723;
        --mp-light-gold-2: #9a762c;
        --mp-light-line: rgba(150,118,50,.20);
        --mp-light-line-soft: rgba(150,118,50,.14);
        --mp-light-panel: #fbf6eb;
        --mp-light-panel-2: #f4ead8;
    }

    /* -----------------------------------------------------
       1. Explorer : résumé du bouton de recherche
       ----------------------------------------------------- */
    html[data-theme="light"] .mobile-search-collapsible > summary span {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-search-collapsible > summary small {
        color: var(--mp-light-muted) !important;
    }

    html[data-theme="light"] .mobile-search-collapsible.has-active-filters > summary small {
        color: var(--mp-light-gold) !important;
    }

    /* -----------------------------------------------------
       2. Explorer : textes d'annonces mieux visibles
       ----------------------------------------------------- */
    html[data-theme="light"] .mobile-search-page .friendly-listing-card,
    html[data-theme="light"] .mobile-search-page .explorer-listing-card,
    html[data-theme="light"] .mobile-search-page .friendly-listing-card.explorer-listing-card {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-search-page .friendly-listing-card .friendly-card-body,
    html[data-theme="light"] .mobile-search-page .explorer-listing-card .friendly-card-body {
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.08), transparent 28%),
            linear-gradient(145deg, rgba(255,250,240,.98), rgba(242,231,209,.96)) !important;
        background-color: #f8efdd !important;
        border-color: rgba(150,118,50,.16) !important;
    }

    html[data-theme="light"] .mobile-search-page .explorer-listing-card h3,
    html[data-theme="light"] .mobile-search-page .friendly-listing-card h3,
    html[data-theme="light"] .friendly-card-body h3 {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-search-page .explorer-listing-card .friendly-card-line,
    html[data-theme="light"] .mobile-search-page .friendly-listing-card .friendly-card-line,
    html[data-theme="light"] .mobile-search-page .friendly-listing-card p,
    html[data-theme="light"] .mobile-search-page .friendly-listing-card small,
    html[data-theme="light"] .friendly-card-top small {
        color: var(--mp-light-muted) !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .mobile-search-page .explorer-listing-card .badge,
    html[data-theme="light"] .mobile-search-page .friendly-listing-card .badge {
        color: var(--mp-light-gold) !important;
        background: rgba(202,164,76,.14) !important;
        border-color: rgba(150,118,50,.20) !important;
    }

    html[data-theme="light"] .mobile-search-page .score-pill,
    html[data-theme="light"] .mobile-nearby-item em {
        color: #25624f !important;
        background: rgba(126,168,145,.18) !important;
        border-color: rgba(90,141,118,.24) !important;
    }

    /* Résultats Explorer */
    html[data-theme="light"] .explorer-results-head > div,
    html[data-theme="light"] .explorer-results-head strong {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .explorer-results-head .muted {
        color: var(--mp-light-muted) !important;
    }

    html[data-theme="light"] .moment-results h2 {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .moment-results .mini-card strong {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .moment-results .mini-card span,
    html[data-theme="light"] .moment-results .mini-card small {
        color: var(--mp-light-muted) !important;
    }

    /* -----------------------------------------------------
       3. Publier / Profil : bloc GPS
       ----------------------------------------------------- */
    html[data-theme="light"] .mobile-publish-page .geo-box,
    html[data-theme="light"] .mobile-profile-page .geo-box {
        background:
            radial-gradient(circle at 92% 10%, rgba(126,168,145,.12), transparent 30%),
            linear-gradient(145deg, rgba(250,247,239,.98), rgba(232,242,237,.96)) !important;
        border-color: rgba(90,141,118,.22) !important;
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-publish-page .geo-box strong,
    html[data-theme="light"] .mobile-profile-page .geo-box strong {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-publish-page .geo-box p,
    html[data-theme="light"] .mobile-publish-page .geo-box small,
    html[data-theme="light"] .mobile-profile-page .geo-box p,
    html[data-theme="light"] .mobile-profile-page .geo-box small,
    html[data-theme="light"] .mobile-publish-page .geo-box [data-geo-status],
    html[data-theme="light"] .mobile-profile-page .geo-box [data-geo-status] {
        color: var(--mp-light-muted) !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .mobile-publish-page .geo-box label,
    html[data-theme="light"] .mobile-profile-page .geo-box label {
        color: #5f715f !important;
    }

    html[data-theme="light"] .mobile-publish-page .geo-box input,
    html[data-theme="light"] .mobile-profile-page .geo-box input {
        color: var(--mp-light-ink) !important;
        background: rgba(255,255,255,.88) !important;
        border-color: rgba(90,141,118,.22) !important;
    }

    html[data-theme="light"] .mobile-publish-page .geo-box .btn-secondary,
    html[data-theme="light"] .mobile-profile-page .geo-box .btn-secondary {
        color: #285f4e !important;
        background: rgba(126,168,145,.18) !important;
        border-color: rgba(90,141,118,.24) !important;
    }

    /* -----------------------------------------------------
       4. Matches : tout remettre lisible en clair
       ----------------------------------------------------- */
    html[data-theme="light"] .mobile-matches-page .moment-card.light {
        background:
            radial-gradient(circle at 92% 10%, rgba(232,72,86,.12), transparent 30%),
            linear-gradient(145deg, rgba(255,247,248,.98), rgba(245,228,231,.96)) !important;
        color: var(--mp-light-ink) !important;
        border-color: rgba(190,85,97,.18) !important;
    }

    html[data-theme="light"] .mobile-matches-page .moment-card.light h2,
    html[data-theme="light"] .mobile-matches-page .moment-card.light blockquote,
    html[data-theme="light"] .mobile-matches-page .moment-card.light strong {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-matches-page .moment-card.light p,
    html[data-theme="light"] .mobile-matches-page .moment-card.light .muted {
        color: var(--mp-light-muted) !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .mobile-matches-page .section-title h2 {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-matches-page .section-title .eyebrow {
        color: var(--mp-light-gold) !important;
    }

    html[data-theme="light"] .mobile-matches-page .panel,
    html[data-theme="light"] .mobile-matches-page .match-card,
    html[data-theme="light"] .mobile-matches-page .listing-card-small,
    html[data-theme="light"] .mobile-matches-page .scored-list a,
    html[data-theme="light"] .mobile-matches-page .mini-card {
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.08), transparent 30%),
            linear-gradient(145deg, rgba(255,250,241,.98), rgba(244,236,220,.96)) !important;
        color: var(--mp-light-ink) !important;
        border-color: rgba(150,118,50,.16) !important;
    }

    html[data-theme="light"] .mobile-matches-page .panel p,
    html[data-theme="light"] .mobile-matches-page .match-card p,
    html[data-theme="light"] .mobile-matches-page .match-card small,
    html[data-theme="light"] .mobile-matches-page .match-card em:not(.score-pill),
    html[data-theme="light"] .mobile-matches-page .listing-card-small p,
    html[data-theme="light"] .mobile-matches-page .scored-list a span,
    html[data-theme="light"] .mobile-matches-page .scored-list a small,
    html[data-theme="light"] .mobile-matches-page .mini-card span,
    html[data-theme="light"] .mobile-matches-page .mini-card small {
        color: var(--mp-light-muted) !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .mobile-matches-page .match-card h3,
    html[data-theme="light"] .mobile-matches-page .listing-card-small h3,
    html[data-theme="light"] .mobile-matches-page .scored-list a strong,
    html[data-theme="light"] .mobile-matches-page .mini-card strong {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-matches-page .badge,
    html[data-theme="light"] .mobile-matches-page .score-pill {
        color: var(--mp-light-gold) !important;
        background: rgba(202,164,76,.14) !important;
        border-color: rgba(150,118,50,.20) !important;
    }

    html[data-theme="light"] .mobile-matches-page .score-pill.high,
    html[data-theme="light"] .mobile-matches-page .score-pill.success {
        color: #25624f !important;
        background: rgba(126,168,145,.18) !important;
        border-color: rgba(90,141,118,.24) !important;
    }

    /* -----------------------------------------------------
       5. Profil : lisibilité complète
       ----------------------------------------------------- */
    html[data-theme="light"] .mobile-profile-page .member-profile-preview,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel {
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.08), transparent 30%),
            linear-gradient(145deg, rgba(255,250,241,.98), rgba(244,236,220,.96)) !important;
        color: var(--mp-light-ink) !important;
        border-color: rgba(150,118,50,.16) !important;
    }

    html[data-theme="light"] .mobile-profile-page .member-profile-preview h2,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel h2,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel h3,
    html[data-theme="light"] .mobile-profile-page label {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-profile-page .member-profile-preview p,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel p,
    html[data-theme="light"] .mobile-profile-page .friendly-profile-form .panel small,
    html[data-theme="light"] .mobile-profile-page .muted {
        color: var(--mp-light-muted) !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .mobile-profile-page .notice-box {
        background:
            radial-gradient(circle at 92% 10%, rgba(126,168,145,.10), transparent 30%),
            linear-gradient(145deg, rgba(247,250,246,.98), rgba(231,241,236,.96)) !important;
        color: var(--mp-light-ink) !important;
        border-color: rgba(90,141,118,.22) !important;
    }

    html[data-theme="light"] .mobile-profile-page .notice-box strong {
        color: #285f4e !important;
    }

    html[data-theme="light"] .mobile-profile-page .notice-box span {
        color: var(--mp-light-muted) !important;
    }

    html[data-theme="light"] .mobile-profile-page label.checkbox,
    html[data-theme="light"] .mobile-publish-page label.checkbox {
        background: rgba(202,164,76,.12) !important;
        color: var(--mp-light-ink) !important;
        border-color: rgba(150,118,50,.20) !important;
    }

    html[data-theme="light"] .mobile-profile-page .checkbox-line,
    html[data-theme="light"] .mobile-publish-page .checkbox-line {
        color: var(--mp-light-ink) !important;
    }

    html[data-theme="light"] .mobile-profile-page input,
    html[data-theme="light"] .mobile-profile-page textarea,
    html[data-theme="light"] .mobile-profile-page select,
    html[data-theme="light"] .mobile-publish-page input,
    html[data-theme="light"] .mobile-publish-page textarea,
    html[data-theme="light"] .mobile-publish-page select {
        color: var(--mp-light-ink) !important;
        background: rgba(255,255,255,.90) !important;
        border-color: rgba(150,118,50,.18) !important;
    }

    html[data-theme="light"] .mobile-profile-page input::placeholder,
    html[data-theme="light"] .mobile-profile-page textarea::placeholder,
    html[data-theme="light"] .mobile-publish-page input::placeholder,
    html[data-theme="light"] .mobile-publish-page textarea::placeholder {
        color: rgba(24,34,56,.42) !important;
    }

    /* -----------------------------------------------------
       6. Global clair : textes secondaires / badges / alertes
       ----------------------------------------------------- */
    html[data-theme="light"] .muted,
    html[data-theme="light"] p.muted,
    html[data-theme="light"] small.muted,
    html[data-theme="light"] span.muted {
        color: var(--mp-light-muted) !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .badge,
    html[data-theme="light"] .soft-badge {
        color: var(--mp-light-gold) !important;
        background: rgba(202,164,76,.14) !important;
        border-color: rgba(150,118,50,.20) !important;
    }

    html[data-theme="light"] .alert,
    html[data-theme="light"] .empty-state,
    html[data-theme="light"] .mobile-empty-card,
    html[data-theme="light"] .notice-card {
        color: var(--mp-light-ink) !important;
    }
}

/* =========================================================
   LOT 68 — Détail des annonces + accents bleus
   - petites corrections de lisibilité sur la fiche annonce
   - vert remplacé par bleu dans GPS et "Autour de vous"
   - corrections en mode sombre ET en mode clair
   ========================================================= */

@media (max-width: 820px) {

    /* -----------------------------------------------------
       1. Remplacer les accents verts par un bleu élégant
       dans la géolocalisation de l'accueil
       ----------------------------------------------------- */

    .mobile-geo-card {
        background:
            radial-gradient(circle at 92% 10%, rgba(103,152,224,.16), transparent 28%),
            linear-gradient(145deg, rgba(19,22,30,.96), rgba(13,15,21,.96)) !important;
    }

    .mobile-geo-distance-button.is-active {
        border-color: rgba(118,171,240,.58) !important;
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.20), transparent 28%),
            linear-gradient(145deg, #98c6ff 0%, #6fa7ef 56%, #3f73c8 100%) !important;
        color: #091321 !important;
        box-shadow:
            0 14px 30px rgba(92,145,216,.30),
            inset 0 1px 0 rgba(255,255,255,.26) !important;
    }

    /* -----------------------------------------------------
       2. Remplacer le vert par le bleu dans "Autour de vous"
       ----------------------------------------------------- */

    .mobile-nearby-icon {
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.22), transparent 28%),
            linear-gradient(145deg, #97c5ff 0%, #649ef0 58%, #3d70c7 100%) !important;
        color: #081321 !important;
        box-shadow: 0 14px 28px rgba(91,145,218,.26) !important;
    }

    .mobile-nearby-item em {
        border-color: rgba(118,171,240,.32) !important;
        background: rgba(103,152,224,.18) !important;
        color: #cce3ff !important;
        box-shadow: 0 10px 20px rgba(75,124,194,.14) !important;
    }

    /* -----------------------------------------------------
       3. Fiche annonce — mode sombre :
       rendre les textes, sous-blocs et données plus lisibles
       ----------------------------------------------------- */

    .mobile-listing-page .listing-gallery,
    .mobile-listing-page .listing-main,
    .mobile-listing-page .owner-card,
    .mobile-listing-page .panel {
        border-color: rgba(234,208,140,.15) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.08), transparent 28%),
            linear-gradient(145deg, rgba(22,25,34,.98), rgba(13,15,21,.98)) !important;
        color: #f4efe5 !important;
        box-shadow: 0 20px 48px rgba(0,0,0,.34) !important;
    }

    .mobile-listing-page .listing-main h1,
    .mobile-listing-page .listing-main h2,
    .mobile-listing-page .owner-card h2,
    .mobile-listing-page .panel h2,
    .mobile-listing-page .panel h3 {
        color: #f4efe5 !important;
    }

    .mobile-listing-page .listing-main p,
    .mobile-listing-page .owner-card p,
    .mobile-listing-page .panel p,
    .mobile-listing-page .panel li {
        color: rgba(244,239,229,.82) !important;
    }

    .mobile-listing-page .listing-main .muted,
    .mobile-listing-page .owner-card .muted,
    .mobile-listing-page .panel .muted,
    .mobile-listing-page .map-note {
        color: rgba(244,239,229,.64) !important;
        opacity: 1 !important;
    }

    .mobile-listing-page .price {
        color: #ead08c !important;
    }

    .mobile-listing-page .moment-card.light {
        border: 1px solid rgba(234,208,140,.20) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.12), transparent 30%),
            linear-gradient(145deg, rgba(29,26,20,.98), rgba(16,17,22,.98)) !important;
        color: #f4efe5 !important;
    }

    .mobile-listing-page .moment-card.light blockquote,
    .mobile-listing-page .moment-card.light p,
    .mobile-listing-page .moment-card.light strong {
        color: #f4efe5 !important;
    }

    .mobile-listing-page .inner-panel,
    .mobile-listing-page .mini-list a {
        border-color: rgba(234,208,140,.14) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(214,178,90,.06), transparent 28%),
            linear-gradient(145deg, rgba(19,22,30,.98), rgba(11,13,18,.98)) !important;
        color: #f4efe5 !important;
    }

    .mobile-listing-page .mini-list a strong {
        color: #f4efe5 !important;
    }

    .mobile-listing-page .mini-list a span,
    .mobile-listing-page .mini-list a small {
        color: rgba(244,239,229,.64) !important;
    }

    .mobile-listing-page .listing-meta span {
        border-color: rgba(234,208,140,.16) !important;
        background: rgba(214,178,90,.08) !important;
        color: #ead08c !important;
    }

    .mobile-listing-page .owner-card blockquote {
        border-left-color: #ead08c !important;
        color: rgba(244,239,229,.82) !important;
    }

    .mobile-listing-page .map-box {
        border-color: rgba(118,171,240,.24) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(103,152,224,.12), transparent 28%),
            linear-gradient(145deg, #171b25, #10131b) !important;
    }

    /* Sections après la fiche : correspondances scorées, annonces proches, etc. */
    .section.alt .section-title h2,
    .section.alt .panel h3,
    .section.alt .panel h2,
    .section .section-title h2 {
        color: #f4efe5 !important;
    }

    .section.alt .section-title .eyebrow,
    .section .section-title .eyebrow {
        color: #ead08c !important;
    }

    .section.alt .panel p,
    .section.alt .panel .muted,
    .section.alt .mini-list a span,
    .section.alt .mini-list a small {
        color: rgba(244,239,229,.64) !important;
        opacity: 1 !important;
    }

    .section.alt .mini-list a strong {
        color: #f4efe5 !important;
    }

    /* -----------------------------------------------------
       4. Mode clair — accents bleus dans GPS et Autour de vous
       ----------------------------------------------------- */

    html[data-theme="light"] .mobile-geo-card {
        background:
            radial-gradient(circle at 92% 10%, rgba(100,153,224,.16), transparent 28%),
            linear-gradient(145deg, rgba(255,252,246,.98), rgba(235,243,253,.96)) !important;
        border-color: rgba(80,132,204,.18) !important;
    }

    html[data-theme="light"] .mobile-geo-distance-button.is-active {
        border-color: rgba(73,130,210,.34) !important;
        background:
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.30), transparent 28%),
            linear-gradient(145deg, #a8d1ff 0%, #7eb7f7 58%, #5d92dc 100%) !important;
        color: #0d203a !important;
        box-shadow:
            0 14px 30px rgba(90,145,216,.22),
            inset 0 1px 0 rgba(255,255,255,.28) !important;
    }

    html[data-theme="light"] .mobile-nearby-icon {
        background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.30), transparent 28%),
            linear-gradient(145deg, #a8d1ff 0%, #7eb7f7 58%, #5d92dc 100%) !important;
        color: #0d203a !important;
        box-shadow: 0 14px 28px rgba(90,145,216,.20) !important;
    }

    html[data-theme="light"] .mobile-nearby-item em {
        border-color: rgba(73,130,210,.24) !important;
        background: rgba(100,153,224,.16) !important;
        color: #2b5f9f !important;
        box-shadow: 0 10px 20px rgba(90,145,216,.10) !important;
    }

    /* -----------------------------------------------------
       5. Mode clair — détail annonce plus lisible
       ----------------------------------------------------- */

    html[data-theme="light"] .mobile-listing-page .listing-gallery,
    html[data-theme="light"] .mobile-listing-page .listing-main,
    html[data-theme="light"] .mobile-listing-page .owner-card,
    html[data-theme="light"] .mobile-listing-page .panel {
        border-color: rgba(150,118,50,.16) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.08), transparent 28%),
            linear-gradient(145deg, rgba(255,250,241,.98), rgba(244,236,220,.96)) !important;
        color: #172033 !important;
        box-shadow: 0 18px 42px rgba(71,55,27,.14) !important;
    }

    html[data-theme="light"] .mobile-listing-page .listing-main h1,
    html[data-theme="light"] .mobile-listing-page .listing-main h2,
    html[data-theme="light"] .mobile-listing-page .owner-card h2,
    html[data-theme="light"] .mobile-listing-page .panel h2,
    html[data-theme="light"] .mobile-listing-page .panel h3 {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-listing-page .listing-main p,
    html[data-theme="light"] .mobile-listing-page .owner-card p,
    html[data-theme="light"] .mobile-listing-page .panel p,
    html[data-theme="light"] .mobile-listing-page .panel li {
        color: #344155 !important;
    }

    html[data-theme="light"] .mobile-listing-page .listing-main .muted,
    html[data-theme="light"] .mobile-listing-page .owner-card .muted,
    html[data-theme="light"] .mobile-listing-page .panel .muted,
    html[data-theme="light"] .mobile-listing-page .map-note {
        color: #59657a !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .mobile-listing-page .price {
        color: #8d6723 !important;
    }

    html[data-theme="light"] .mobile-listing-page .moment-card.light {
        border-color: rgba(150,118,50,.18) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.12), transparent 30%),
            linear-gradient(145deg, rgba(255,248,234,.98), rgba(244,236,220,.96)) !important;
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-listing-page .moment-card.light blockquote,
    html[data-theme="light"] .mobile-listing-page .moment-card.light p,
    html[data-theme="light"] .mobile-listing-page .moment-card.light strong {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-listing-page .inner-panel,
    html[data-theme="light"] .mobile-listing-page .mini-list a {
        border-color: rgba(150,118,50,.14) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(202,164,76,.06), transparent 28%),
            linear-gradient(145deg, rgba(255,252,246,.98), rgba(246,239,226,.96)) !important;
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-listing-page .mini-list a strong {
        color: #172033 !important;
    }

    html[data-theme="light"] .mobile-listing-page .mini-list a span,
    html[data-theme="light"] .mobile-listing-page .mini-list a small {
        color: #59657a !important;
    }

    html[data-theme="light"] .mobile-listing-page .listing-meta span {
        border-color: rgba(150,118,50,.18) !important;
        background: rgba(202,164,76,.12) !important;
        color: #8d6723 !important;
    }

    html[data-theme="light"] .mobile-listing-page .owner-card blockquote {
        border-left-color: #8d6723 !important;
        color: #344155 !important;
    }

    html[data-theme="light"] .mobile-listing-page .map-box {
        border-color: rgba(73,130,210,.20) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(100,153,224,.12), transparent 28%),
            linear-gradient(145deg, #f4f8ff, #e8f1fc) !important;
    }

    html[data-theme="light"] .section.alt .section-title h2,
    html[data-theme="light"] .section.alt .panel h3,
    html[data-theme="light"] .section.alt .panel h2,
    html[data-theme="light"] .section .section-title h2 {
        color: #172033 !important;
    }

    html[data-theme="light"] .section.alt .section-title .eyebrow,
    html[data-theme="light"] .section .section-title .eyebrow {
        color: #8d6723 !important;
    }

    html[data-theme="light"] .section.alt .panel p,
    html[data-theme="light"] .section.alt .panel .muted,
    html[data-theme="light"] .section.alt .mini-list a span,
    html[data-theme="light"] .section.alt .mini-list a small {
        color: #59657a !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .section.alt .mini-list a strong {
        color: #172033 !important;
    }
}

/* =========================================================
   LOT 69 — Mode clair : messages reçus plus visibles
   ========================================================= */

@media (max-width: 820px) {

    /* Bulle des messages reçus */
    html[data-theme="light"] .message-bubble.theirs {
        border: 1px solid rgba(73,130,210,.24) !important;
        background:
            radial-gradient(circle at 94% 10%, rgba(100,153,224,.12), transparent 30%),
            linear-gradient(145deg, rgba(246,250,255,.99), rgba(229,239,252,.98)) !important;
        background-color: #edf4fc !important;
        color: #172033 !important;
        box-shadow:
            0 16px 34px rgba(64,105,161,.16),
            inset 0 1px 0 rgba(255,255,255,.82) !important;
    }

    html[data-theme="light"] .message-bubble.theirs strong,
    html[data-theme="light"] .message-bubble.theirs p,
    html[data-theme="light"] .message-bubble.theirs span,
    html[data-theme="light"] .message-bubble.theirs small {
        color: #172033 !important;
        opacity: 1 !important;
    }

    /* Métadonnées de message reçu : heure / nom */
    html[data-theme="light"] .message-bubble.theirs .message-meta,
    html[data-theme="light"] .message-bubble.theirs .message-meta span,
    html[data-theme="light"] .message-bubble.theirs .message-meta small {
        color: #52637a !important;
        opacity: 1 !important;
    }

    /* Pour qu'un message reçu se distingue mieux du fond de conversation */
    html[data-theme="light"] .message-bubble.theirs p {
        line-height: 1.48 !important;
    }
}

/* CORRECTION MODE CLAIR — liste "Mes messages" plus lisible */
@media (max-width: 820px) {

    html[data-theme="light"] .conversation-item {
        background:
            radial-gradient(circle at 92% 10%, rgba(202, 164, 76, 0.10), transparent 30%),
            linear-gradient(145deg, #fffaf0 0%, #f4ead8 100%) !important;

        background-color: #f8efdf !important;
        border: 1px solid rgba(150, 118, 50, 0.20) !important;
        color: #172033 !important;

        box-shadow:
            0 18px 40px rgba(71, 55, 27, 0.16),
            inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;

        opacity: 1 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html[data-theme="light"] .conversation-link,
    html[data-theme="light"] .conversation-link strong,
    html[data-theme="light"] .conversation-link p,
    html[data-theme="light"] .conversation-link span,
    html[data-theme="light"] .conversation-item strong,
    html[data-theme="light"] .conversation-item p,
    html[data-theme="light"] .conversation-item span {
        color: #172033 !important;
        opacity: 1 !important;
    }

    html[data-theme="light"] .conversation-link .muted,
    html[data-theme="light"] .conversation-item .muted,
    html[data-theme="light"] .conversation-link .small {
        color: #59657a !important;
        opacity: 1 !important;
    }

    /* Date à droite */
    html[data-theme="light"] .conversation-link .row-between span {
        color: #59657a !important;
    }

    /* Si la conversation a des messages non lus */
    html[data-theme="light"] .conversation-item.unread {
        border-color: rgba(73, 130, 210, 0.34) !important;
        background:
            radial-gradient(circle at 92% 10%, rgba(100, 153, 224, 0.12), transparent 30%),
            linear-gradient(145deg, #f5faff 0%, #e7f1fc 100%) !important;
    }

    /* Case à cocher */
    html[data-theme="light"] .conversation-item > input[type="checkbox"] {
        accent-color: #d6b25a;
    }
}

/* CORRECTION CARROUSEL — afficher un seul match / une seule phrase à la fois */
@media (max-width: 820px) {

    /* Tous les éléments du carrousel sont masqués par défaut */
    .mobile-carousel-slide:not(.is-active) {
        display: none !important;
    }

    /* Seul l’élément actif est visible */
    .mobile-carousel-slide.is-active {
        display: grid !important;
    }
}


/* =========================================================
   CORRECTIF 13/05/2026 — Profil public & fiche annonce
   - empêche les cartes de déborder sur la colonne voisine
   - coupe proprement les textes sans espaces
   - stabilise la grille profil sur ordinateur
   ========================================================= */
@media (min-width: 981px) {
    .profile-friendly-grid {
        grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
        gap: 28px !important;
    }
}

.profile-friendly-grid,
.profile-sidebar-friendly,
.profile-main-friendly,
.profile-sidebar-friendly > *,
.profile-main-friendly > *,
.listing-detail,
.listing-gallery,
.listing-main,
.owner-card {
    min-width: 0;
}

/* Contenus rédigés par les membres : éviter tout débordement horizontal */
.profile-sidebar-friendly .panel,
.profile-sidebar-friendly .panel p,
.profile-sidebar-friendly .panel h2,
.profile-main-friendly,
.profile-main-friendly .section-title,
.profile-listing-card,
.profile-listing-card h3,
.listing-main,
.listing-main h1,
.listing-main h2,
.listing-main h3,
.listing-main p,
.listing-main blockquote,
.owner-card,
.owner-card p,
.owner-card blockquote,
.moment-card,
.moment-card blockquote,
.moment-profile-card h2,
.mini-list a,
.mini-list a span,
.mini-list a strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* La colonne de gauche du profil reste dans son espace */
.profile-sidebar-friendly .panel {
    width: 100%;
    max-width: 100%;
}

/* Les titres de section du profil ne passent plus sous la colonne gauche */
.profile-main-friendly {
    width: 100%;
    position: relative;
    z-index: 0;
}

/* Phrase longue dans la carte Annonceur */
.owner-card blockquote {
    max-width: 100%;
    white-space: normal;
}


/* Lot 67 — refonte présentation OnMatche.fr + passerelle Rencontre */
.nav-rencontre-switch{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    padding:9px 14px !important;
    border-radius:999px;
    color:#fff !important;
    background:linear-gradient(135deg,#b64262,#de637e);
    box-shadow:0 14px 28px rgba(182,66,98,.22);
}
.nav-rencontre-switch:hover{
    color:#fff !important;
    transform:translateY(-1px);
    box-shadow:0 18px 34px rgba(182,66,98,.30);
}
.footer-grid{
    grid-template-columns:minmax(260px,1fr) 190px 190px minmax(220px,.8fr);
}
.footer-universe-card p{
    margin:6px 0 12px;
    color:rgba(255,255,255,.72);
    line-height:1.45;
}
.footer-rencontre-link{
    display:inline-flex !important;
    width:max-content;
    padding:10px 14px;
    border-radius:999px;
    color:#fff !important;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    font-weight:900;
}
.footer-rencontre-link:hover{background:rgba(255,255,255,.22)}

.omfr-home-hero{
    position:relative;
    overflow:hidden;
    padding:74px 0 54px;
    background:
        radial-gradient(circle at 8% 14%, rgba(228,201,120,.22), transparent 28rem),
        radial-gradient(circle at 92% 16%, rgba(124,167,147,.20), transparent 26rem),
        linear-gradient(135deg, rgba(255,252,246,.98), rgba(243,238,226,.96) 56%, rgba(235,244,239,.94));
}
.omfr-home-hero:before,
.omfr-home-hero:after{
    content:"";
    position:absolute;
    border-radius:999px;
    pointer-events:none;
}
.omfr-home-hero:before{
    width:340px;height:340px;right:-120px;top:-120px;
    background:rgba(183,79,104,.12);
}
.omfr-home-hero:after{
    width:260px;height:260px;left:-110px;bottom:-140px;
    background:rgba(202,164,76,.16);
}
.omfr-home-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
    gap:34px;
    align-items:center;
}
.omfr-home-copy h1{
    max-width:850px;
    font-size:clamp(2.75rem,5.5vw,5.35rem);
    line-height:.98;
    letter-spacing:-.055em;
    margin:12px 0 18px;
}
.omfr-home-copy .lead{
    max-width:800px;
    font-size:1.16rem;
    color:#536174;
}
.omfr-home-search{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) auto;
    gap:12px;
    align-items:end;
    margin:28px 0 18px;
    padding:12px;
    border-radius:28px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(150,118,50,.14);
    box-shadow:0 28px 70px rgba(71,55,27,.14);
}
.omfr-home-search label{
    display:grid;
    gap:5px;
    margin:0;
}
.omfr-home-search label span{
    padding-left:4px;
    color:#8d6723;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:1000;
}
.omfr-home-search input{
    min-height:54px;
    border-color:rgba(150,118,50,.16);
    background:#fff;
}
.omfr-home-search .btn{
    min-height:54px;
    padding-left:22px;
    padding-right:22px;
}
.omfr-home-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.omfr-home-signals{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}
.omfr-home-signals span{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(150,118,50,.16);
    color:#36465d;
    font-weight:900;
    font-size:.9rem;
}
.omfr-home-showcase{
    display:grid;
    gap:14px;
    padding:20px;
    border-radius:34px;
    background:
        radial-gradient(circle at 90% 12%, rgba(255,255,255,.22), transparent 26%),
        linear-gradient(145deg,#1b2435,#2f3652 58%,#184f4a);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 34px 90px rgba(24,31,47,.28);
    color:#fff;
}
.omfr-showcase-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
.omfr-showcase-header strong{
    font-size:1.08rem;
}
.omfr-showcase-header span{
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.16);
    font-size:.76rem;
    font-weight:900;
}
.omfr-showcase-card{
    padding:18px;
    border-radius:24px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.16);
}
.omfr-showcase-label{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    background:#e4c978;
    color:#21190d;
    font-size:.74rem;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.omfr-showcase-label.soft{
    background:rgba(255,255,255,.18);
    color:#fff;
}
.omfr-showcase-card h2,
.omfr-showcase-card h3{
    margin:12px 0 6px;
    color:#fff;
    line-height:1.18;
}
.omfr-showcase-card h2{
    font-size:clamp(1.35rem,2.5vw,2.15rem);
}
.omfr-showcase-card h3{
    font-size:1.22rem;
}
.omfr-showcase-card p{
    margin:0 0 8px;
    color:rgba(255,255,255,.82);
}
.omfr-showcase-card a{
    color:#fff;
    font-weight:1000;
    text-decoration:underline;
    text-underline-offset:4px;
}
.omfr-cross-universe{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border-radius:24px;
    background:linear-gradient(135deg,rgba(183,79,104,.92),rgba(225,99,126,.92));
    color:#fff;
    box-shadow:0 18px 40px rgba(182,66,98,.22);
}
.omfr-cross-universe span{
    display:grid;
    place-items:center;
    flex:0 0 46px;
    height:46px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    font-size:1.35rem;
}
.omfr-cross-universe strong,
.omfr-cross-universe small{
    display:block;
}
.omfr-cross-universe strong{
    font-size:1.03rem;
}
.omfr-cross-universe small{
    color:rgba(255,255,255,.84);
}
.omfr-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}
.omfr-category-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.omfr-category-card{
    min-height:220px;
    padding:22px;
    border-radius:28px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(150,118,50,.12);
    box-shadow:0 22px 54px rgba(71,55,27,.09);
    transition:transform .18s ease,box-shadow .18s ease;
}
.omfr-category-card:hover{
    transform:translateY(-3px);
    box-shadow:0 28px 66px rgba(71,55,27,.15);
}
.omfr-category-card > span{
    display:grid;
    place-items:center;
    width:56px;
    height:56px;
    border-radius:20px;
    background:linear-gradient(145deg,#fff8e4,#f0dfad);
    font-size:1.55rem;
    margin-bottom:16px;
}
.omfr-category-card h3{
    font-size:1.22rem;
    margin-bottom:8px;
}
.omfr-category-card p{
    color:#617086;
    margin:0;
}
.omfr-carousel-section{
    overflow:hidden;
}
.omfr-carousel-controls{
    display:flex;
    gap:10px;
    flex:0 0 auto;
}
.omfr-carousel-controls button{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid rgba(150,118,50,.18);
    background:#fff;
    color:#8d6723;
    font-size:2rem;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(71,55,27,.10);
}
.omfr-carousel-track{
    display:flex;
    align-items:stretch;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:4px 2px 16px;
}
.omfr-carousel-track::-webkit-scrollbar{display:none}
.omfr-listing-slide,
.omfr-moment-slide{
    flex:0 0 min(760px,calc(100vw - 68px));
    scroll-snap-align:start;
    border-radius:32px;
    border:1px solid rgba(150,118,50,.14);
    background:rgba(255,255,255,.96);
    box-shadow:0 26px 64px rgba(71,55,27,.12);
}
.omfr-listing-slide{
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:18px;
    padding:24px;
}
.omfr-slide-main h3{
    font-size:clamp(1.35rem,2.4vw,2rem);
    line-height:1.12;
    margin:12px 0 7px;
}
.omfr-slide-main p{
    margin:0 0 10px;
    color:#617086;
}
.omfr-slide-main blockquote,
.omfr-moment-slide blockquote{
    margin:12px 0 16px;
    padding:14px 16px;
    border-radius:20px;
    background:linear-gradient(135deg,#fff8e8,#f6efe0);
    color:#6f5324;
    font-weight:900;
    line-height:1.42;
}
.omfr-slide-side{
    display:grid;
    place-items:center;
    align-content:center;
    gap:8px;
    min-height:190px;
    border-radius:26px;
    background:
        radial-gradient(circle at 32% 20%,rgba(255,255,255,.34),transparent 25%),
        linear-gradient(145deg,#2b3247,#184f4a);
    color:#fff;
}
.omfr-slide-side span{
    font-size:3.2rem;
    line-height:1;
}
.omfr-slide-side small{
    text-align:center;
    padding:0 16px;
    font-weight:900;
    color:rgba(255,255,255,.84);
}
.omfr-moment-slide{
    display:grid;
    align-content:center;
    padding:24px;
}
.omfr-moment-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.omfr-moment-top strong{
    font-size:1.26rem;
}
.omfr-moment-top span{
    color:#617086;
    font-weight:800;
}
.omfr-moment-slide blockquote{
    font-size:clamp(1.25rem,2.4vw,1.9rem);
    color:#8d6723;
}
.omfr-moment-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.omfr-steps-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.omfr-steps-grid article{
    padding:22px;
    border-radius:28px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(150,118,50,.12);
    box-shadow:0 20px 50px rgba(71,55,27,.08);
}
.omfr-steps-grid article > span{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:999px;
    margin-bottom:14px;
    background:linear-gradient(145deg,#e4c978,#c79a3b);
    color:#21190d;
    font-weight:1000;
}
.omfr-steps-grid h3{
    font-size:1.16rem;
}
.omfr-steps-grid p{
    margin:0;
    color:#617086;
}
.omfr-dual-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
    padding:34px;
    border-radius:36px;
    color:#fff;
    background:
        radial-gradient(circle at 92% 12%, rgba(255,255,255,.16), transparent 24%),
        linear-gradient(135deg,#20293d,#303752 50%,#b64262 125%);
    box-shadow:0 34px 90px rgba(24,31,47,.25);
}
.omfr-dual-card h2{
    max-width:900px;
    color:#fff;
    font-size:clamp(1.8rem,3.5vw,3rem);
}
.omfr-dual-card p{
    color:rgba(255,255,255,.82);
    max-width:820px;
}
.omfr-dual-card .eyebrow{
    color:#f0dfad;
}
.omfr-dual-actions{
    display:grid;
    gap:12px;
}
.omfr-dual-actions .btn-secondary{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.14);
    color:#fff;
}
.omfr-dual-actions .btn-secondary:hover{
    background:rgba(255,255,255,.22);
    color:#fff;
}

/* Harmonisation douce des pages fortes du .fr */
.page-hero.compact{
    position:relative;
    overflow:hidden;
    padding-top:58px;
    padding-bottom:46px;
    background:
        radial-gradient(circle at 88% 12%, rgba(124,167,147,.18), transparent 24rem),
        radial-gradient(circle at 12% 20%, rgba(228,201,120,.18), transparent 22rem),
        linear-gradient(135deg,#fffaf1,#f4efe3 56%,#eef5f1);
}
.page-hero.compact h1{
    font-size:clamp(2.15rem,4vw,3.8rem);
    letter-spacing:-.045em;
}
.page-hero.compact p{
    max-width:760px;
    color:#617086;
    font-size:1.05rem;
}
.friendly-listing-card,
.profile-cover-card,
.profile-sidebar-friendly .panel,
.profile-main-friendly .profile-listing-card,
.listing-main.panel,
.owner-card,
.search-topbar,
.moment-results,
.results-head,
.publish-helper.panel,
.big-form.panel{
    border-radius:28px !important;
    box-shadow:0 22px 56px rgba(71,55,27,.10) !important;
}
.profile-public-hero{
    background:
        radial-gradient(circle at 88% 10%, rgba(183,79,104,.15), transparent 22rem),
        linear-gradient(135deg,#fffaf1,#f4efe3 60%,#eef5f1) !important;
}
.profile-cover-card{
    border:1px solid rgba(150,118,50,.16) !important;
}
.listing-detail .listing-gallery,
.profile-cover-image,
.profile-listing-placeholder{
    border-radius:28px !important;
}
.search-friendly-section .friendly-card-body h3{
    line-height:1.18;
}
.mobile-app-nav-publish{
    background:linear-gradient(135deg,#c79a3b,#b64262) !important;
}

@media (max-width:1100px){
    .omfr-category-grid,
    .omfr-steps-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .omfr-home-hero-grid,
    .omfr-dual-card{
        grid-template-columns:1fr;
    }
    .omfr-dual-actions{
        display:flex;
        flex-wrap:wrap;
    }
    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media (max-width:900px){
    .nav-rencontre-switch{
        justify-content:center;
        width:100%;
    }
}
@media (max-width:760px){
    .omfr-home-hero{
        padding:38px 0 34px;
    }
    .omfr-home-copy h1{
        font-size:clamp(2.25rem,10vw,3.45rem);
    }
    .omfr-home-copy .lead{
        font-size:1rem;
    }
    .omfr-home-search{
        grid-template-columns:1fr;
        padding:12px;
        border-radius:24px;
    }
    .omfr-home-actions,
    .omfr-home-actions .btn{
        width:100%;
    }
    .omfr-home-signals{
        display:grid;
        grid-template-columns:1fr;
    }
    .omfr-home-showcase{
        padding:16px;
        border-radius:28px;
    }
    .omfr-section-head{
        display:grid;
        grid-template-columns:1fr;
        align-items:start;
    }
    .omfr-category-grid,
    .omfr-steps-grid{
        grid-template-columns:1fr;
    }
    .omfr-category-card{
        min-height:0;
    }
    .omfr-listing-slide,
    .omfr-moment-slide{
        flex-basis:calc(100vw - 44px);
        border-radius:26px;
    }
    .omfr-listing-slide{
        grid-template-columns:1fr;
        padding:18px;
    }
    .omfr-slide-side{
        min-height:120px;
    }
    .omfr-moment-slide{
        padding:18px;
    }
    .omfr-moment-top{
        display:grid;
        grid-template-columns:1fr;
        gap:4px;
    }
    .omfr-moment-actions,
    .omfr-moment-actions .btn{
        width:100%;
    }
    .omfr-dual-card{
        padding:22px;
        border-radius:28px;
    }
    .omfr-dual-actions,
    .omfr-dual-actions .btn{
        width:100%;
    }
    .footer-grid{
        grid-template-columns:1fr;
    }
}

/* Respect du mode sombre existant : les nouveaux blocs restent élégants et lisibles. */
html[data-theme="dark"] .omfr-home-hero{
    background:
        radial-gradient(circle at 8% 14%, rgba(228,201,120,.10), transparent 28rem),
        radial-gradient(circle at 92% 16%, rgba(124,167,147,.11), transparent 26rem),
        linear-gradient(135deg,#131824,#181e2c 58%,#172522);
}
html[data-theme="dark"] .omfr-home-copy .lead,
html[data-theme="dark"] .omfr-category-card p,
html[data-theme="dark"] .omfr-steps-grid p,
html[data-theme="dark"] .omfr-slide-main p,
html[data-theme="dark"] .omfr-moment-top span{
    color:rgba(255,255,255,.72);
}
html[data-theme="dark"] .omfr-home-search,
html[data-theme="dark"] .omfr-category-card,
html[data-theme="dark"] .omfr-listing-slide,
html[data-theme="dark"] .omfr-moment-slide,
html[data-theme="dark"] .omfr-steps-grid article{
    background:rgba(25,31,45,.94);
    border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .omfr-home-search input{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.12);
    color:#fff;
}
html[data-theme="dark"] .omfr-home-search input::placeholder{
    color:rgba(255,255,255,.55);
}
html[data-theme="dark"] .omfr-home-signals span{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.12);
    color:#fff;
}
html[data-theme="dark"] .omfr-category-card h3,
html[data-theme="dark"] .omfr-slide-main h3,
html[data-theme="dark"] .omfr-moment-top strong,
html[data-theme="dark"] .omfr-steps-grid h3{
    color:#fff;
}
html[data-theme="dark"] .omfr-slide-main blockquote,
html[data-theme="dark"] .omfr-moment-slide blockquote{
    background:rgba(228,201,120,.12);
    color:#f0dfad;
}


/* Lot 68 — harmonisation OnMatche.fr avec l'esprit OnMatche.com + accueil plus compact */

/* Accueil : même identité, moins d'empilement vertical */
.omfr-home-hero-v2{
    padding-top:58px;
    padding-bottom:38px;
}
.omfr-home-hero-v2 .omfr-home-hero-grid{
    gap:28px;
}
.omfr-home-hero-v2 .omfr-home-copy h1{
    font-size:clamp(2.55rem,5.1vw,4.9rem);
    margin-bottom:14px;
}
.omfr-home-hero-v2 .omfr-home-copy .lead{
    font-size:1.08rem;
    max-width:760px;
}
.omfr-home-hero-v2 .omfr-home-search{
    margin-top:20px;
    margin-bottom:14px;
}
.omfr-home-signals-compact{
    margin-top:14px;
}
.omfr-home-signals-compact span{
    min-height:34px;
    padding:7px 11px;
    font-size:.82rem;
}
.omfr-home-showcase-v2{
    gap:10px;
    padding:16px;
    border-radius:30px;
}
.omfr-home-showcase-v2 .omfr-showcase-card{
    padding:14px 15px;
    border-radius:20px;
}
.omfr-home-showcase-v2 .omfr-showcase-card h2{
    font-size:clamp(1.18rem,2.1vw,1.72rem);
    margin-top:9px;
}
.omfr-home-showcase-v2 .omfr-showcase-card h3{
    font-size:1.08rem;
    margin-top:9px;
}
.omfr-home-showcase-v2 .omfr-cross-universe{
    padding:13px 15px;
    border-radius:20px;
}
.omfr-home-showcase-v2 .omfr-cross-universe span{
    flex-basis:40px;
    height:40px;
}

/* Entrées principales compactes */
.omfr-quick-entry-section{
    padding-top:20px;
    padding-bottom:18px;
}
.omfr-quick-entry-shell{
    display:grid;
    gap:14px;
    padding:16px 18px;
    border-radius:28px;
    border:1px solid rgba(150,118,50,.14);
    background:rgba(255,255,255,.90);
    box-shadow:0 18px 44px rgba(71,55,27,.08);
}
.omfr-quick-entry-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.omfr-quick-entry-head > div{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.omfr-quick-entry-head .eyebrow{
    margin:0;
}
.omfr-quick-entry-head strong{
    font-size:1.15rem;
    line-height:1.2;
}
.omfr-quick-entry-head a{
    color:#8d6723;
    font-weight:1000;
    white-space:nowrap;
}
.omfr-quick-entry-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.omfr-quick-entry-grid a{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:10px;
    align-items:center;
    min-height:80px;
    padding:12px;
    border-radius:20px;
    border:1px solid rgba(150,118,50,.12);
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(248,242,229,.92));
    box-shadow:0 12px 28px rgba(71,55,27,.06);
    transition:transform .18s ease, box-shadow .18s ease;
}
.omfr-quick-entry-grid a:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 36px rgba(71,55,27,.11);
}
.omfr-quick-entry-grid span{
    grid-row:1 / span 2;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:15px;
    background:linear-gradient(145deg,#fff8e4,#f0dfad);
    font-size:1.22rem;
}
.omfr-quick-entry-grid strong{
    font-size:.98rem;
    line-height:1.15;
}
.omfr-quick-entry-grid small{
    color:#617086;
    line-height:1.25;
    font-weight:800;
}

/* Accueil : annonces + phrases dans une seule section plus dense */
.omfr-live-compact-section{
    padding-top:28px;
    padding-bottom:28px;
}
.omfr-live-title{
    margin-bottom:16px;
}
.omfr-live-title h2{
    margin-bottom:0;
    font-size:clamp(1.55rem,3vw,2.3rem);
}
.omfr-live-columns{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.omfr-live-panel{
    min-width:0;
    padding:16px;
    border-radius:28px;
    border:1px solid rgba(150,118,50,.14);
    background:rgba(255,255,255,.95);
    box-shadow:0 20px 50px rgba(71,55,27,.09);
}
.omfr-live-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.omfr-live-panel-head strong{
    font-size:1.08rem;
}
.omfr-carousel-controls.compact{
    gap:7px;
}
.omfr-carousel-controls.compact button{
    width:36px;
    height:36px;
    font-size:1.65rem;
}
.omfr-carousel-compact .omfr-mini-track{
    gap:12px;
    padding-bottom:4px;
}
.omfr-mini-listing-slide,
.omfr-mini-moment-slide{
    flex:0 0 min(360px,calc(100vw - 84px));
    min-height:240px;
    display:grid;
    align-content:start;
    gap:8px;
    padding:15px;
    border-radius:22px;
    border:1px solid rgba(150,118,50,.12);
    background:linear-gradient(145deg,#fff,#fbf6ec);
    box-shadow:0 14px 34px rgba(71,55,27,.07);
    scroll-snap-align:start;
}
.omfr-mini-slide-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.omfr-mini-slide-top span{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:14px;
    background:linear-gradient(145deg,#fff8e4,#f0dfad);
    font-size:1.18rem;
}
.omfr-mini-slide-top small{
    color:#8d6723;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-size:.68rem;
}
.omfr-mini-listing-slide h3{
    margin:2px 0 0;
    font-size:1.12rem;
    line-height:1.22;
}
.omfr-mini-listing-slide p{
    margin:0;
    color:#617086;
    font-size:.92rem;
}
.omfr-mini-listing-slide blockquote,
.omfr-mini-moment-slide blockquote{
    margin:2px 0 2px;
    padding:10px 11px;
    border-radius:16px;
    background:rgba(228,201,120,.18);
    color:#765725;
    font-weight:900;
    line-height:1.35;
    font-size:.92rem;
}
.omfr-mini-listing-slide .btn{
    width:max-content;
    margin-top:auto;
}
.omfr-mini-profile-head{
    display:grid;
    gap:2px;
}
.omfr-mini-profile-head strong{
    font-size:1.05rem;
}
.omfr-mini-profile-head small{
    color:#617086;
    font-weight:800;
}
.omfr-mini-moment-slide blockquote{
    font-size:1.03rem;
    min-height:76px;
}
.omfr-mini-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:auto;
}

/* Comment ça marche : moins haut, plus explicite */
.omfr-how-compact-section{
    padding-top:22px;
    padding-bottom:22px;
}
.omfr-how-compact-card{
    display:grid;
    grid-template-columns:minmax(240px,.68fr) minmax(0,1.32fr);
    gap:22px;
    align-items:center;
    padding:22px;
    border-radius:30px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(150,118,50,.14);
    box-shadow:0 20px 48px rgba(71,55,27,.08);
}
.omfr-how-title h2{
    margin-bottom:0;
    font-size:clamp(1.55rem,2.8vw,2.25rem);
    line-height:1.08;
}
.omfr-how-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.omfr-how-steps article{
    display:grid;
    gap:5px;
    align-content:start;
    min-height:120px;
    padding:12px;
    border-radius:20px;
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,242,229,.92));
    border:1px solid rgba(150,118,50,.12);
}
.omfr-how-steps span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:999px;
    background:linear-gradient(145deg,#e4c978,#c79a3b);
    color:#21190d;
    font-weight:1000;
    font-size:.84rem;
}
.omfr-how-steps strong{
    font-size:.94rem;
    line-height:1.18;
}
.omfr-how-steps small{
    color:#617086;
    line-height:1.3;
    font-weight:800;
}
.omfr-dual-section-compact{
    padding-top:26px;
}
.omfr-dual-section-compact .omfr-dual-card{
    padding:25px 28px;
    border-radius:30px;
}
.omfr-dual-section-compact .omfr-dual-card h2{
    font-size:clamp(1.55rem,3vw,2.45rem);
    margin-bottom:8px;
}
.omfr-dual-section-compact .omfr-dual-card p{
    margin-bottom:0;
}

/* Cohérence générale des pages fortes avec OnMatche.com */
.page-hero.compact{
    padding-top:42px !important;
    padding-bottom:32px !important;
}
.page-hero.compact h1{
    font-size:clamp(1.95rem,3.7vw,3.25rem) !important;
    margin-bottom:8px;
}
.page-hero.compact p{
    font-size:1rem !important;
}
.profile-public-hero{
    padding-top:26px !important;
}
.profile-cover-card{
    border-radius:30px !important;
}
.profile-cover-image{
    min-height:220px !important;
}
.profile-public-summary{
    padding-bottom:22px !important;
}
.profile-summary-text h1{
    font-size:clamp(2rem,4.2vw,3.7rem) !important;
}
.profile-friendly-section{
    padding-top:26px !important;
}
.profile-friendly-grid{
    gap:20px !important;
}
.profile-sidebar-friendly,
.profile-main-friendly{
    display:grid;
    gap:16px;
}
.profile-sidebar-friendly .panel,
.profile-main-friendly .profile-listing-card,
.profile-reviews-grid .review-card,
.member-profile-preview,
.friendly-profile-form .panel,
.publish-helper.panel,
.publish-friendly-form,
.search-topbar,
.moment-results,
.listing-main.panel,
.owner-card,
.matching-panel,
.desktop-dashboard-flow .profile-card,
.desktop-dashboard-flow .moment-card,
.desktop-dashboard-flow .business-note,
.desktop-dashboard-flow .dashboard-stats .card{
    border-radius:26px !important;
    border:1px solid rgba(150,118,50,.14) !important;
    box-shadow:0 18px 44px rgba(71,55,27,.08) !important;
}
.profile-sidebar-friendly .panel,
.friendly-profile-form .panel,
.publish-friendly-form,
.listing-main.panel{
    padding:20px !important;
}
.profile-sidebar-friendly .moment-profile-card h2{
    font-size:1.22rem;
    line-height:1.28;
}
.profile-main-friendly .section-title{
    margin-bottom:14px;
}
.profile-main-friendly .section-title h2{
    font-size:clamp(1.5rem,2.6vw,2.2rem);
}
.member-profile-layout{
    grid-template-columns:290px minmax(0,1fr) !important;
    gap:20px !important;
}
.member-profile-preview{
    top:88px !important;
    padding:18px !important;
}
.member-cover-preview{
    height:112px !important;
}
.member-avatar-preview{
    width:84px !important;
    height:84px !important;
    margin-bottom:10px !important;
}
.friendly-profile-form{
    gap:14px !important;
}
.friendly-profile-form .panel{
    display:grid;
    gap:12px;
}
.friendly-profile-form .panel h2{
    font-size:1.35rem;
    margin-bottom:0;
}
.friendly-profile-form textarea{
    min-height:120px;
}
.moment-edit-panel{
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,242,229,.92)) !important;
}
.moment-edit-panel h2{
    color:#8d6723;
}
.publish-helper.panel{
    padding:15px 18px !important;
}
.publish-friendly-form{
    gap:16px !important;
    padding:20px !important;
}
.publish-step{
    gap:12px !important;
    margin-top:5px !important;
}
.publish-step h2{
    font-size:1.32rem !important;
    margin-bottom:2px !important;
}
.publish-choice-grid label{
    min-height:64px !important;
}
.geo-box{
    border-radius:22px !important;
    padding:16px !important;
}
.search-friendly-section{
    padding-top:26px !important;
}
.search-topbar{
    margin-bottom:16px !important;
    padding:18px !important;
}
.results-head{
    min-height:0 !important;
    padding:14px 18px !important;
    border-radius:22px !important;
}
.moment-results{
    padding:18px !important;
}
.listing-detail{
    gap:18px !important;
}
.mobile-listing-page{
    padding-top:24px !important;
}
.listing-main.panel h1{
    font-size:clamp(1.9rem,3.4vw,3rem);
    line-height:1.08;
}
.listing-main.panel > p{
    line-height:1.55;
}
.owner-card{
    padding:18px !important;
}
.desktop-dashboard-flow .page-hero.compact{
    margin-bottom:0;
}
.desktop-dashboard-flow .section{
    padding-top:24px !important;
}
.desktop-dashboard-flow .profile-grid{
    gap:20px !important;
}
.desktop-dashboard-flow .profile-card{
    padding:18px !important;
}
.desktop-dashboard-flow .profile-card .btn{
    min-height:42px;
}
.desktop-dashboard-flow .moment-card{
    padding:20px !important;
}
.desktop-dashboard-flow .moment-card h2{
    font-size:1.4rem;
}
.desktop-dashboard-flow .matching-panel{
    padding:20px !important;
}
.desktop-dashboard-flow .matching-panel h2{
    font-size:1.35rem;
}
.desktop-dashboard-flow .dashboard-stats{
    gap:14px !important;
}
.desktop-dashboard-flow .dashboard-stats .card{
    min-height:132px;
    padding:16px !important;
}

/* Mode sombre */
html[data-theme="dark"] .omfr-quick-entry-shell,
html[data-theme="dark"] .omfr-live-panel,
html[data-theme="dark"] .omfr-how-compact-card,
html[data-theme="dark"] .omfr-quick-entry-grid a,
html[data-theme="dark"] .omfr-mini-listing-slide,
html[data-theme="dark"] .omfr-mini-moment-slide,
html[data-theme="dark"] .omfr-how-steps article{
    background:rgba(25,31,45,.94);
    border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .omfr-quick-entry-head strong,
html[data-theme="dark"] .omfr-quick-entry-grid strong,
html[data-theme="dark"] .omfr-live-panel-head strong,
html[data-theme="dark"] .omfr-mini-listing-slide h3,
html[data-theme="dark"] .omfr-mini-profile-head strong,
html[data-theme="dark"] .omfr-how-title h2,
html[data-theme="dark"] .omfr-how-steps strong{
    color:#fff;
}
html[data-theme="dark"] .omfr-quick-entry-grid small,
html[data-theme="dark"] .omfr-mini-listing-slide p,
html[data-theme="dark"] .omfr-mini-profile-head small,
html[data-theme="dark"] .omfr-how-steps small{
    color:rgba(255,255,255,.72);
}
html[data-theme="dark"] .omfr-mini-listing-slide blockquote,
html[data-theme="dark"] .omfr-mini-moment-slide blockquote{
    background:rgba(228,201,120,.12);
    color:#f0dfad;
}

@media (max-width:1100px){
    .omfr-live-columns{
        grid-template-columns:1fr;
    }
    .omfr-how-compact-card{
        grid-template-columns:1fr;
    }
    .omfr-how-steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .member-profile-layout{
        grid-template-columns:1fr !important;
    }
    .member-profile-preview{
        position:static !important;
    }
}
@media (max-width:860px){
    .omfr-quick-entry-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:760px){
    .omfr-home-hero-v2{
        padding-top:34px;
        padding-bottom:26px;
    }
    .omfr-home-hero-v2 .omfr-home-copy h1{
        font-size:clamp(2.08rem,9.3vw,3.25rem);
    }
    .omfr-home-hero-v2 .omfr-home-search{
        margin-top:16px;
    }
    .omfr-quick-entry-section{
        padding-top:14px;
        padding-bottom:12px;
    }
    .omfr-quick-entry-shell{
        padding:14px;
        border-radius:24px;
    }
    .omfr-quick-entry-head{
        display:grid;
        justify-items:start;
    }
    .omfr-quick-entry-grid{
        grid-template-columns:1fr;
    }
    .omfr-quick-entry-grid a{
        min-height:68px;
    }
    .omfr-live-compact-section{
        padding-top:20px;
        padding-bottom:20px;
    }
    .omfr-live-panel{
        padding:14px;
        border-radius:24px;
    }
    .omfr-mini-listing-slide,
    .omfr-mini-moment-slide{
        flex-basis:calc(100vw - 68px);
        min-height:220px;
    }
    .omfr-how-compact-section{
        padding-top:16px;
        padding-bottom:16px;
    }
    .omfr-how-compact-card{
        padding:16px;
        border-radius:24px;
        gap:16px;
    }
    .omfr-how-steps{
        grid-template-columns:1fr 1fr;
    }
    .omfr-how-steps article{
        min-height:102px;
    }
    .omfr-dual-section-compact .omfr-dual-card{
        padding:20px;
    }
    .page-hero.compact{
        padding-top:22px !important;
        padding-bottom:18px !important;
    }
    .profile-public-hero{
        padding-top:18px !important;
    }
    .profile-cover-image{
        min-height:176px !important;
    }
    .profile-public-summary{
        padding-bottom:18px !important;
    }
    .profile-sidebar-friendly .panel,
    .friendly-profile-form .panel,
    .publish-friendly-form,
    .listing-main.panel{
        padding:16px !important;
    }
    .publish-helper.panel{
        padding:14px !important;
    }
}


/* ==========================================================================
   LOT 69 — OnMatche.fr plus lumineux + profils / annonces harmonisés avec .com
   ========================================================================== */

/* ACCUEIL : hero plus vivant et plus lisible, y compris si le thème sombre est actif */
.omfr-home-hero.omfr-home-hero-v2{
    padding-top:64px;
    padding-bottom:46px;
    background:
        radial-gradient(circle at 12% 12%, rgba(255,214,128,.44), transparent 26rem),
        radial-gradient(circle at 86% 18%, rgba(210,115,160,.26), transparent 24rem),
        radial-gradient(circle at 72% 80%, rgba(79,202,191,.18), transparent 22rem),
        linear-gradient(135deg, rgba(255,250,241,.98), rgba(250,238,230,.96) 48%, rgba(240,238,255,.97) 100%);
}
.omfr-home-hero.omfr-home-hero-v2:before{
    background:rgba(220,93,141,.20);
}
.omfr-home-hero.omfr-home-hero-v2:after{
    background:rgba(255,196,95,.24);
}
.omfr-home-hero-v2 .omfr-home-copy h1{
    color:#281827;
    text-shadow:none;
}
.omfr-home-hero-v2 .omfr-home-copy .lead{
    color:#5c4e62;
    font-size:1.12rem;
}
.omfr-home-hero-v2 .eyebrow{
    color:#b54272;
}
.omfr-home-hero-v2 .omfr-home-search{
    background:rgba(255,255,255,.93);
    border-color:rgba(181,66,114,.15);
    box-shadow:0 24px 58px rgba(92,46,66,.15);
}
.omfr-home-hero-v2 .omfr-home-search label span{
    color:#a74970;
}
.omfr-home-hero-v2 .omfr-home-signals span{
    background:rgba(255,255,255,.86);
    border-color:rgba(181,66,114,.15);
    color:#463847;
}
.omfr-home-showcase-v2{
    background:
        radial-gradient(circle at 88% 10%, rgba(255,255,255,.22), transparent 24%),
        radial-gradient(circle at 18% 88%, rgba(255,204,112,.18), transparent 28%),
        linear-gradient(145deg,#392033,#68375b 52%,#395d63 112%);
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 34px 84px rgba(71,32,55,.28);
}
.omfr-home-showcase-v2 .omfr-showcase-card{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.20);
}
.omfr-home-showcase-v2 .omfr-showcase-label{
    background:#f5dc93;
}
.omfr-home-showcase-v2 .omfr-cross-universe{
    background:linear-gradient(135deg,#d35a83,#ed7e9e);
}

/* Si le site est en thème sombre, l’accueil doit rester élégant mais jamais illisible */
html[data-theme="dark"] .omfr-home-hero.omfr-home-hero-v2{
    background:
        radial-gradient(circle at 12% 12%, rgba(249,192,97,.30), transparent 26rem),
        radial-gradient(circle at 86% 18%, rgba(226,94,151,.32), transparent 24rem),
        radial-gradient(circle at 72% 80%, rgba(75,201,190,.18), transparent 22rem),
        linear-gradient(135deg,#311d2c,#3b2435 48%,#25293c 100%);
}
html[data-theme="dark"] .omfr-home-hero-v2 .omfr-home-copy h1{
    color:#fffafc;
    text-shadow:0 10px 32px rgba(0,0,0,.25);
}
html[data-theme="dark"] .omfr-home-hero-v2 .omfr-home-copy .lead{
    color:rgba(255,255,255,.84);
}
html[data-theme="dark"] .omfr-home-hero-v2 .eyebrow{
    color:#ffd67a;
}
html[data-theme="dark"] .omfr-home-hero-v2 .omfr-home-search{
    background:rgba(255,255,255,.95);
    border-color:rgba(255,255,255,.20);
}
html[data-theme="dark"] .omfr-home-hero-v2 .omfr-home-search input{
    background:#fff;
    color:#281827;
}
html[data-theme="dark"] .omfr-home-hero-v2 .omfr-home-search input::placeholder{
    color:#8d7d8a;
}
html[data-theme="dark"] .omfr-home-hero-v2 .omfr-home-signals span{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.20);
    color:#fff;
}

/* "Comment ça marche" garde son utilité mais prend moins de place */
.omfr-how-compact-section{
    padding-top:26px;
    padding-bottom:28px;
}
.omfr-how-compact-card{
    padding:18px 20px;
    border-radius:28px;
}
.omfr-how-title h2{
    font-size:clamp(1.45rem,2.8vw,2.15rem);
    margin-bottom:12px;
}
.omfr-how-steps article{
    min-height:88px;
    padding:14px;
}

/* PROFIL PUBLIC : présentation plus proche de OnMatche.com */
.omfr-profile-renewed-hero{
    padding:36px 0 24px;
}
.omfr-profile-renewed-hero .profile-cover-card{
    overflow:hidden;
    border-radius:36px;
    background:
        radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 24%),
        linear-gradient(145deg,rgba(255,255,255,.98),rgba(251,244,247,.95));
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 30px 80px rgba(68,32,55,.14);
}
.omfr-profile-renewed-hero .profile-cover-image{
    min-height:270px;
    background:
        radial-gradient(circle at 20% 20%, rgba(247,197,102,.24), transparent 28%),
        linear-gradient(135deg,#ead9ee,#f8e6ed 50%,#e0f2ef);
}
.omfr-profile-renewed-hero .profile-public-summary{
    position:relative;
    z-index:2;
    grid-template-columns:132px minmax(0,1fr) auto;
    padding:0 28px 20px;
}
.omfr-profile-renewed-hero .profile-avatar-large{
    border-radius:34px;
    box-shadow:0 20px 48px rgba(67,32,54,.20);
}
.omfr-profile-renewed-hero .profile-summary-text h1{
    color:#281827;
    letter-spacing:-.04em;
}
.omfr-profile-renewed-hero .profile-rating{
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    gap:4px;
    min-height:34px;
    padding:7px 12px;
    border-radius:999px;
    background:#fff2f6;
    border:1px solid rgba(181,66,114,.12);
    color:#6b3a52;
}
.omfr-profile-moment-hero{
    margin:0 28px 26px;
    padding:18px 20px;
    border-radius:24px;
    background:linear-gradient(135deg,#fff2d9,#fff1f5 58%,#f2eeff);
    border:1px solid rgba(181,66,114,.14);
    box-shadow:0 18px 42px rgba(98,57,73,.08);
}
.omfr-profile-moment-hero span{
    display:inline-flex;
    margin-bottom:8px;
    padding:6px 10px;
    border-radius:999px;
    background:#d85b86;
    color:#fff;
    font-size:.76rem;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.omfr-profile-moment-hero strong{
    display:block;
    color:#3a2030;
    font-size:clamp(1.2rem,2.35vw,1.95rem);
    line-height:1.28;
    letter-spacing:-.02em;
}
.omfr-profile-moment-hero small{
    display:block;
    margin-top:8px;
    color:#7b5969;
    font-weight:850;
}
.omfr-profile-renewed-section{
    padding-top:18px;
}
.omfr-profile-renewed-section .profile-friendly-grid{
    grid-template-columns:minmax(0,1.45fr) 340px;
    gap:22px;
}
.omfr-profile-renewed-section .profile-main-friendly{
    order:1;
}
.omfr-profile-renewed-section .profile-sidebar-friendly{
    order:2;
}
.omfr-profile-renewed-section .profile-sidebar-friendly .panel{
    border-radius:28px;
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 42px rgba(38,24,38,.07);
}
.omfr-profile-renewed-section .soft-panel h2{
    font-size:1.35rem;
}
.omfr-profile-renewed-section .profile-listing-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.omfr-profile-renewed-section .profile-listing-card{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:14px;
    align-items:center;
    min-height:178px;
    padding:14px;
    border-radius:28px;
}
.omfr-profile-renewed-section .profile-listing-card img,
.omfr-profile-renewed-section .profile-listing-placeholder{
    height:150px;
    margin:0;
    border-radius:22px;
}
.omfr-profile-renewed-section .profile-listing-card h3{
    font-size:1.08rem;
    line-height:1.22;
}
.omfr-profile-renewed-section .profile-reviews-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
html[data-theme="dark"] .omfr-profile-renewed-hero .profile-cover-card,
html[data-theme="dark"] .omfr-profile-renewed-section .profile-sidebar-friendly .panel{
    background:rgba(27,31,45,.96);
}
html[data-theme="dark"] .omfr-profile-renewed-hero .profile-summary-text h1{
    color:#fff;
}
html[data-theme="dark"] .omfr-profile-renewed-hero .profile-rating{
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.14);
    color:#fff;
}
html[data-theme="dark"] .omfr-profile-moment-hero{
    background:linear-gradient(135deg,rgba(249,192,97,.20),rgba(223,73,111,.16),rgba(126,100,205,.18));
    border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .omfr-profile-moment-hero strong{
    color:#fff;
}
html[data-theme="dark"] .omfr-profile-moment-hero small{
    color:rgba(255,255,255,.76);
}

/* PROFIL MEMBRE : cartes plus harmonisées */
.omfr-member-profile-hero-v2,
.omfr-publish-hero-v2,
.omfr-search-hero-v2{
    background:
        radial-gradient(circle at 12% 18%,rgba(255,207,126,.28),transparent 24rem),
        radial-gradient(circle at 88% 20%,rgba(221,98,145,.18),transparent 22rem),
        linear-gradient(135deg,#fff8f0,#fff 48%,#f3efff);
}
.omfr-member-profile-page-v2 .member-profile-preview{
    border-radius:30px;
    background:rgba(255,255,255,.97);
    box-shadow:0 24px 54px rgba(57,31,49,.10);
}
.omfr-member-profile-page-v2 .friendly-profile-form .panel,
.omfr-publish-page-v2 .publish-friendly-form,
.omfr-publish-page-v2 .publish-helper{
    border-radius:30px;
    border-color:rgba(181,66,114,.12);
    box-shadow:0 20px 48px rgba(57,31,49,.08);
}
.omfr-member-profile-page-v2 .moment-edit-panel{
    background:linear-gradient(135deg,#fff2d9,#fff5f7,#f5f0ff);
}
html[data-theme="dark"] .omfr-member-profile-hero-v2,
html[data-theme="dark"] .omfr-publish-hero-v2,
html[data-theme="dark"] .omfr-search-hero-v2{
    background:
        radial-gradient(circle at 12% 18%,rgba(255,207,126,.20),transparent 24rem),
        radial-gradient(circle at 88% 20%,rgba(221,98,145,.24),transparent 22rem),
        linear-gradient(135deg,#2e1f2a,#312231 48%,#24283b);
}
html[data-theme="dark"] .omfr-member-profile-page-v2 .member-profile-preview,
html[data-theme="dark"] .omfr-member-profile-page-v2 .friendly-profile-form .panel,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-friendly-form,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-helper{
    background:rgba(27,31,45,.96);
}

/* RECHERCHE ET CARTES ANNONCES */
.omfr-search-page-v2 .mobile-search-collapsible{
    border-radius:30px;
    border-color:rgba(181,66,114,.12);
    background:rgba(255,255,255,.96);
    box-shadow:0 22px 54px rgba(57,31,49,.08);
}
.omfr-search-page-v2 .results-head{
    padding:14px 18px;
    border-radius:22px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(181,66,114,.10);
}
.omfr-search-page-v2 .friendly-results-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.omfr-search-page-v2 .friendly-listing-card{
    border-radius:30px;
    border-color:rgba(181,66,114,.12);
    box-shadow:0 22px 52px rgba(57,31,49,.08);
}
.omfr-search-page-v2 .friendly-card-media{
    height:178px;
    background:
        radial-gradient(circle at 80% 20%,rgba(255,255,255,.32),transparent 20%),
        linear-gradient(135deg,#fff0d8,#f9e5ee 55%,#e9f1ff);
}
.omfr-search-page-v2 .friendly-card-body{
    padding:16px;
    gap:11px;
}
.omfr-search-page-v2 .friendly-card-body h3{
    font-size:1.08rem;
    min-height:auto;
}
html[data-theme="dark"] .omfr-search-page-v2 .mobile-search-collapsible,
html[data-theme="dark"] .omfr-search-page-v2 .results-head,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-listing-card{
    background:rgba(27,31,45,.96);
}

/* FICHE ANNONCE : présentation plus premium */
.omfr-listing-page-v2{
    padding-top:34px;
}
.omfr-listing-detail-v2{
    grid-template-columns:minmax(260px,.78fr) minmax(0,1.24fr) 320px;
    gap:22px;
}
.omfr-listing-detail-v2 .listing-gallery,
.omfr-listing-detail-v2 .omfr-listing-main-v2,
.omfr-listing-detail-v2 .omfr-owner-card-v2{
    border-radius:32px;
}
.omfr-listing-detail-v2 .image-stack img,
.omfr-listing-detail-v2 .photo-placeholder{
    border-radius:30px;
    box-shadow:0 24px 54px rgba(48,28,42,.12);
}
.omfr-listing-main-v2{
    padding:24px;
    border-color:rgba(181,66,114,.12);
    background:rgba(255,255,255,.97);
    box-shadow:0 28px 66px rgba(57,31,49,.10);
}
.omfr-listing-main-v2 h1{
    font-size:clamp(2rem,3.8vw,3.35rem);
    letter-spacing:-.045em;
    line-height:1.04;
    margin:16px 0 10px;
}
.omfr-listing-main-v2 .price{
    display:inline-flex;
    align-items:center;
    min-height:46px;
    padding:9px 16px;
    border-radius:999px;
    background:#fff2f6;
    color:#b54272;
    font-size:1.35rem;
    border:1px solid rgba(181,66,114,.12);
}
.omfr-listing-main-v2 .moment-card.light{
    margin:20px 0;
    padding:18px;
    border-radius:24px;
    background:linear-gradient(135deg,#fff1d9,#fff3f6,#f3efff);
    border:1px solid rgba(181,66,114,.12);
}
.omfr-owner-card-v2{
    position:sticky;
    top:98px;
    background:
        radial-gradient(circle at 90% 10%,rgba(255,255,255,.20),transparent 24%),
        linear-gradient(145deg,#372131,#6b3c59 55%,#3c5d62);
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 28px 68px rgba(49,29,43,.20);
}
.omfr-owner-card-v2 h2,
.omfr-owner-card-v2 p,
.omfr-owner-card-v2 blockquote{
    color:#fff;
}
.omfr-owner-card-v2 .muted{
    color:rgba(255,255,255,.78);
}
.omfr-owner-card-v2 blockquote{
    padding:14px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.12);
}
.omfr-related-title h2{
    font-size:clamp(1.6rem,3vw,2.5rem);
}
.omfr-listing-page-v2 + .section.alt .panel,
.omfr-listing-page-v2 ~ .section .listing-card-small{
    border-radius:28px;
    border-color:rgba(181,66,114,.10);
    box-shadow:0 18px 44px rgba(57,31,49,.07);
}
html[data-theme="dark"] .omfr-listing-main-v2{
    background:rgba(27,31,45,.96);
}
html[data-theme="dark"] .omfr-listing-main-v2 .price{
    background:rgba(255,255,255,.10);
    color:#ffd8e5;
    border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .omfr-listing-main-v2 .moment-card.light{
    background:linear-gradient(135deg,rgba(249,192,97,.18),rgba(223,73,111,.14),rgba(126,100,205,.16));
    border-color:rgba(255,255,255,.10);
}

/* Responsive */
@media(max-width:1180px){
    .omfr-profile-renewed-section .profile-friendly-grid,
    .omfr-listing-detail-v2{
        grid-template-columns:1fr;
    }
    .omfr-profile-renewed-section .profile-sidebar-friendly{
        order:1;
    }
    .omfr-profile-renewed-section .profile-main-friendly{
        order:2;
    }
    .omfr-owner-card-v2{
        position:static;
    }
}
@media(max-width:980px){
    .omfr-search-page-v2 .friendly-results-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .omfr-profile-renewed-section .profile-listing-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:760px){
    .omfr-home-hero.omfr-home-hero-v2{
        padding-top:38px;
        padding-bottom:34px;
    }
    .omfr-home-hero-v2 .omfr-home-copy h1{
        font-size:clamp(2.2rem,10vw,3.35rem);
    }
    .omfr-profile-renewed-hero .profile-public-summary{
        grid-template-columns:1fr;
        justify-items:center;
        text-align:center;
        padding-left:18px;
        padding-right:18px;
    }
    .omfr-profile-moment-hero{
        margin-left:18px;
        margin-right:18px;
        padding:16px;
    }
    .omfr-profile-renewed-section .profile-listing-card{
        grid-template-columns:1fr;
    }
    .omfr-profile-renewed-section .profile-listing-card img,
    .omfr-profile-renewed-section .profile-listing-placeholder{
        width:100%;
        height:180px;
    }
    .omfr-search-page-v2 .friendly-results-grid{
        grid-template-columns:1fr;
    }
    .omfr-listing-main-v2{
        padding:18px;
    }
}


/* ==========================================================================
   LOT 69b — Correctif profil public : largeur, cartes annonces, sidebar
   ========================================================================== */

.omfr-profile-renewed-hero .container,
.omfr-profile-renewed-section .container{
    width:min(1200px, calc(100% - 40px));
    max-width:1200px;
}

.omfr-profile-renewed-hero{
    padding-top:34px;
    padding-bottom:24px;
}

.omfr-profile-renewed-hero .profile-cover-card{
    width:100%;
}

.omfr-profile-renewed-hero .profile-cover-image{
    min-height:250px;
}

.omfr-profile-renewed-hero .profile-public-summary{
    grid-template-columns:132px minmax(0,1fr) auto;
    gap:24px;
    align-items:center;
    margin-top:-52px;
}

.omfr-profile-renewed-hero .profile-summary-text{
    min-width:0;
}

.omfr-profile-renewed-hero .profile-summary-text h1{
    margin-top:8px;
    font-size:clamp(2.2rem,4vw,4rem);
    line-height:1;
}

.omfr-profile-renewed-hero .profile-summary-actions{
    min-width:190px;
}

.omfr-profile-moment-hero{
    margin-top:4px;
}

.omfr-profile-renewed-section{
    padding-top:20px;
}

.omfr-profile-renewed-section .profile-friendly-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:24px;
    align-items:start;
}

.omfr-profile-renewed-section .profile-main-friendly{
    min-width:0;
    order:1;
}

.omfr-profile-renewed-section .profile-sidebar-friendly{
    min-width:0;
    order:2;
    display:grid;
    gap:16px;
}

.omfr-profile-renewed-section .profile-main-friendly .section-title{
    margin-bottom:18px;
}

.omfr-profile-renewed-section .profile-main-friendly .section-title h2{
    font-size:clamp(1.8rem,3vw,2.7rem);
    line-height:1.08;
}

.omfr-profile-renewed-section .profile-main-friendly .section-title p{
    max-width:720px;
}

.omfr-profile-renewed-section .profile-listing-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    width:100%;
}

.omfr-profile-renewed-section .profile-listing-card{
    display:grid !important;
    grid-template-columns:170px minmax(0,1fr) !important;
    align-items:center;
    gap:16px;
    width:100%;
    min-width:0;
    min-height:198px;
    padding:14px;
    overflow:hidden;
    text-decoration:none;
}

.omfr-profile-renewed-section .profile-listing-card > div{
    min-width:0;
}

.omfr-profile-renewed-section .profile-listing-card img,
.omfr-profile-renewed-section .profile-listing-placeholder{
    display:block;
    width:170px;
    height:170px;
    min-width:170px;
    margin:0;
    object-fit:cover;
}

.omfr-profile-renewed-section .profile-listing-placeholder{
    display:grid;
    place-items:center;
}

.omfr-profile-renewed-section .profile-listing-card .badge{
    display:inline-flex;
    width:max-content;
    max-width:100%;
}

.omfr-profile-renewed-section .profile-listing-card h3{
    display:block;
    width:100%;
    margin:10px 0 8px;
    font-size:1.15rem;
    line-height:1.24;
    word-break:normal;
    overflow-wrap:break-word;
    white-space:normal;
}

.omfr-profile-renewed-section .profile-listing-card p,
.omfr-profile-renewed-section .profile-listing-card strong{
    display:block;
    width:100%;
    word-break:normal;
    overflow-wrap:break-word;
    white-space:normal;
}

.omfr-profile-renewed-section .profile-listing-card strong{
    margin-top:8px;
    color:#b54272;
}

.omfr-profile-renewed-section .soft-panel,
.omfr-profile-renewed-section .profile-safety-card{
    color:#281827;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(181,66,114,.11);
}

.omfr-profile-renewed-section .soft-panel h2,
.omfr-profile-renewed-section .profile-safety-card h3{
    color:#281827;
}

.omfr-profile-renewed-section .soft-panel p,
.omfr-profile-renewed-section .profile-safety-card p{
    color:#665867;
}

.omfr-profile-renewed-section .profile-safety-card .link-danger{
    color:#c63249;
}

.omfr-profile-renewed-section .profile-reviews-grid{
    width:100%;
}

html[data-theme="dark"] .omfr-profile-renewed-section .soft-panel,
html[data-theme="dark"] .omfr-profile-renewed-section .profile-safety-card{
    color:#fff;
    background:rgba(28,32,46,.97);
    border-color:rgba(255,255,255,.12);
}

html[data-theme="dark"] .omfr-profile-renewed-section .soft-panel h2,
html[data-theme="dark"] .omfr-profile-renewed-section .profile-safety-card h3{
    color:#fff;
}

html[data-theme="dark"] .omfr-profile-renewed-section .soft-panel p,
html[data-theme="dark"] .omfr-profile-renewed-section .profile-safety-card p{
    color:rgba(255,255,255,.78);
}

@media(max-width:1180px){
    .omfr-profile-renewed-section .profile-friendly-grid{
        grid-template-columns:1fr;
    }
    .omfr-profile-renewed-section .profile-sidebar-friendly{
        order:2;
    }
    .omfr-profile-renewed-section .profile-main-friendly{
        order:1;
    }
}

@media(max-width:980px){
    .omfr-profile-renewed-hero .profile-public-summary{
        grid-template-columns:1fr;
        justify-items:center;
        text-align:center;
        margin-top:-58px;
    }
    .omfr-profile-renewed-hero .profile-summary-actions{
        min-width:0;
        justify-content:center;
    }
    .omfr-profile-renewed-section .profile-listing-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .omfr-profile-renewed-hero .container,
    .omfr-profile-renewed-section .container{
        width:min(100% - 28px, 1200px);
    }
    .omfr-profile-renewed-section .profile-listing-card{
        grid-template-columns:1fr !important;
        min-height:0;
    }
    .omfr-profile-renewed-section .profile-listing-card img,
    .omfr-profile-renewed-section .profile-listing-placeholder{
        width:100%;
        min-width:0;
        height:210px;
    }
}


/* ==========================================================================
   LOT 69c — Reconstruction stable du profil public
   ========================================================================== */

.omfr-profile-final-section{
    padding-top:28px;
    padding-bottom:52px;
}

.omfr-profile-final-container{
    width:min(1200px, calc(100% - 40px));
    max-width:1200px;
}

.omfr-profile-final-top{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:24px;
    align-items:start;
}

.omfr-profile-final-listings{
    min-width:0;
}

.omfr-profile-final-title{
    margin-bottom:18px;
}

.omfr-profile-final-title h2{
    font-size:clamp(2rem,3.2vw,3.05rem);
    line-height:1.04;
    margin-bottom:10px;
}

.omfr-profile-final-title p{
    max-width:760px;
}

.omfr-profile-final-listing-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    width:100%;
}

.omfr-profile-final-listing-card{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:16px;
    align-items:center;
    min-width:0;
    min-height:220px;
    padding:14px;
    overflow:hidden;
    border-radius:30px;
    color:inherit;
    text-decoration:none;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 22px 52px rgba(57,31,49,.08);
    transition:transform .18s ease, box-shadow .18s ease;
}

.omfr-profile-final-listing-card:hover{
    transform:translateY(-3px);
    box-shadow:0 30px 70px rgba(57,31,49,.13);
}

.omfr-profile-final-listing-media{
    width:190px;
    height:190px;
    min-width:190px;
    overflow:hidden;
    border-radius:24px;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 80% 18%, rgba(255,255,255,.36), transparent 22%),
        linear-gradient(135deg,#fff0d8,#f9e5ee 55%,#e9f1ff);
}

.omfr-profile-final-listing-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.omfr-profile-final-listing-media span{
    font-size:2.5rem;
}

.omfr-profile-final-listing-copy{
    min-width:0;
}

.omfr-profile-final-listing-copy .badge{
    display:inline-flex;
    width:max-content;
    max-width:100%;
}

.omfr-profile-final-listing-copy h3{
    width:100%;
    margin:10px 0 9px;
    font-size:1.2rem;
    line-height:1.22;
    word-break:normal;
    overflow-wrap:break-word;
    white-space:normal;
}

.omfr-profile-final-listing-copy p,
.omfr-profile-final-listing-copy strong{
    display:block;
    width:100%;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}

.omfr-profile-final-listing-copy strong{
    margin-top:9px;
    color:#b54272;
    font-size:1.05rem;
}

.omfr-profile-final-sidebar{
    display:grid;
    gap:16px;
}

.omfr-profile-final-about,
.omfr-profile-final-safety{
    border-radius:30px;
    padding:22px;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 22px 52px rgba(57,31,49,.08);
    color:#281827;
}

.omfr-profile-final-about h2,
.omfr-profile-final-safety h3{
    margin-top:0;
    color:#281827;
}

.omfr-profile-final-about p,
.omfr-profile-final-safety p{
    color:#665867;
}

.omfr-profile-final-safety .link-danger{
    color:#c63249;
}

.omfr-profile-final-reviews{
    margin-top:36px;
}

.omfr-profile-final-reviews-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.omfr-profile-final-reviews-grid .profile-review-card,
.omfr-profile-empty-card{
    border-radius:28px;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 20px 48px rgba(57,31,49,.07);
}

.omfr-profile-review-action{
    margin-top:18px;
    border-radius:28px;
    background:linear-gradient(135deg,#fff2d9,#fff5f7,#f5f0ff);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 20px 48px rgba(57,31,49,.07);
}

html[data-theme="dark"] .omfr-profile-final-listing-card,
html[data-theme="dark"] .omfr-profile-final-about,
html[data-theme="dark"] .omfr-profile-final-safety,
html[data-theme="dark"] .omfr-profile-final-reviews-grid .profile-review-card,
html[data-theme="dark"] .omfr-profile-empty-card{
    background:rgba(28,32,46,.97);
    border-color:rgba(255,255,255,.12);
}

html[data-theme="dark"] .omfr-profile-final-about,
html[data-theme="dark"] .omfr-profile-final-safety{
    color:#fff;
}

html[data-theme="dark"] .omfr-profile-final-about h2,
html[data-theme="dark"] .omfr-profile-final-safety h3{
    color:#fff;
}

html[data-theme="dark"] .omfr-profile-final-about p,
html[data-theme="dark"] .omfr-profile-final-safety p{
    color:rgba(255,255,255,.78);
}

@media(max-width:1180px){
    .omfr-profile-final-top{
        grid-template-columns:1fr;
    }
}

@media(max-width:980px){
    .omfr-profile-final-listing-grid,
    .omfr-profile-final-reviews-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .omfr-profile-final-container{
        width:min(100% - 28px, 1200px);
    }
    .omfr-profile-final-listing-card{
        grid-template-columns:1fr;
        min-height:0;
    }
    .omfr-profile-final-listing-media{
        width:100%;
        min-width:0;
        height:220px;
    }
}


/* ==========================================================================
   LOT 70 — Profil + annonces unifiés & alerte rouge "Ça pourrait matcher !"
   ========================================================================== */

/* Profil public tout-en-un */
.omfr-profile-unified-section{
    padding-top:26px;
    padding-bottom:54px;
}
.omfr-profile-unified-container{
    width:min(1240px, calc(100% - 40px));
    max-width:1240px;
}
.omfr-profile-unified-shell{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:22px;
    align-items:start;
    padding:22px;
    border-radius:38px;
    background:
        radial-gradient(circle at 92% 10%, rgba(255,221,154,.20), transparent 22rem),
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(253,244,248,.96));
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 30px 78px rgba(57,31,49,.10);
}
.omfr-profile-unified-member{
    display:grid;
    gap:16px;
    position:sticky;
    top:96px;
}
.omfr-profile-unified-block{
    padding:18px;
    border-radius:28px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 18px 44px rgba(57,31,49,.07);
}
.omfr-profile-unified-about h2{
    margin:6px 0 7px;
    font-size:2rem;
    line-height:1.02;
    color:#281827;
}
.omfr-profile-unified-location{
    margin:0 0 12px;
    color:#7b5f70;
    font-weight:850;
}
.omfr-profile-unified-bio{
    margin:0;
    color:#594b59;
    line-height:1.58;
}
.omfr-profile-unified-moment{
    background:linear-gradient(135deg,#fff0d7,#fff2f6 56%,#f3efff);
}
.omfr-profile-unified-moment blockquote{
    margin:10px 0 8px;
    color:#3b2132;
    font-weight:1000;
    font-size:1.25rem;
    line-height:1.35;
}
.omfr-profile-unified-moment small{
    color:#7f6171;
    font-weight:900;
}
.omfr-profile-unified-trust strong{
    display:block;
    margin:8px 0 4px;
    color:#b54272;
    font-size:1.7rem;
    line-height:1;
}
.omfr-profile-unified-trust p{
    margin:0 0 12px;
    color:#6f5968;
    font-weight:850;
}
.omfr-profile-unified-safety h3{
    margin:8px 0;
    color:#281827;
}
.omfr-profile-unified-content{
    min-width:0;
}
.omfr-profile-unified-listings-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.omfr-profile-unified-listings-head h2{
    margin:8px 0 8px;
    font-size:clamp(2rem,3.2vw,3.15rem);
    line-height:1.04;
    letter-spacing:-.04em;
}
.omfr-profile-unified-listings-head p{
    max-width:760px;
    margin:0;
}
.omfr-profile-unified-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:118px;
    min-height:44px;
    padding:10px 15px;
    border-radius:999px;
    color:#a83b67;
    background:#fff1f6;
    border:1px solid rgba(181,66,114,.14);
    font-weight:1000;
    white-space:nowrap;
}
.omfr-profile-unified-listing-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.omfr-profile-unified-listing-card{
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:16px;
    align-items:center;
    min-width:0;
    min-height:214px;
    padding:14px;
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    border-radius:30px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 20px 48px rgba(57,31,49,.08);
    transition:transform .18s ease, box-shadow .18s ease;
}
.omfr-profile-unified-listing-card:hover{
    transform:translateY(-3px);
    box-shadow:0 30px 68px rgba(57,31,49,.13);
}
.omfr-profile-unified-listing-media{
    width:180px;
    height:180px;
    min-width:180px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:24px;
    background:
        radial-gradient(circle at 80% 18%, rgba(255,255,255,.34), transparent 24%),
        linear-gradient(135deg,#fff0d7,#f9e6ef 54%,#eaf2ff);
}
.omfr-profile-unified-listing-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.omfr-profile-unified-listing-media span{
    font-size:2.55rem;
}
.omfr-profile-unified-listing-copy{
    min-width:0;
}
.omfr-profile-unified-listing-copy .badge{
    display:inline-flex;
    width:max-content;
    max-width:100%;
}
.omfr-profile-unified-listing-copy h3{
    margin:10px 0 8px;
    font-size:1.17rem;
    line-height:1.22;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}
.omfr-profile-unified-listing-copy p,
.omfr-profile-unified-listing-copy strong{
    display:block;
    width:100%;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}
.omfr-profile-unified-listing-copy strong{
    margin-top:8px;
    color:#b54272;
}
.omfr-profile-unified-reviews{
    margin-top:34px;
}
.omfr-profile-unified-reviews-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.omfr-profile-unified-reviews-grid .profile-review-card,
.omfr-profile-unified-content .omfr-profile-empty-card{
    border-radius:28px;
    border:1px solid rgba(181,66,114,.12);
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 44px rgba(57,31,49,.07);
}

/* Alerte rouge — Dashboard et Explorer */
.omfr-dashboard-match-alert,
.omfr-match-alert-explore{
    position:relative;
    overflow:hidden;
    margin:18px 0 22px;
    padding:20px;
    border-radius:32px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 12%,rgba(255,255,255,.18),transparent 22%),
        radial-gradient(circle at 12% 88%,rgba(255,203,150,.20),transparent 28%),
        linear-gradient(135deg,#b61738,#e44867 55%,#8f1d3d 118%);
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 28px 72px rgba(149,31,63,.24);
}
.omfr-match-alert-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:14px;
}
.omfr-match-alert-head span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.24);
    color:#fff;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:.78rem;
}
.omfr-match-alert-head h2{
    margin:10px 0 0;
    color:#fff;
    font-size:clamp(1.55rem,2.8vw,2.45rem);
    line-height:1.08;
}
.omfr-match-alert-controls{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
}
.omfr-match-alert-controls button{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:999px;
    background:rgba(255,255,255,.16);
    color:#fff;
    cursor:pointer;
    font-size:1.9rem;
    line-height:1;
}
.omfr-match-alert-controls strong{
    min-width:56px;
    text-align:center;
    color:#fff;
}
.omfr-match-alert-track-wrap{
    overflow:hidden;
}
.omfr-match-alert-track{
    display:flex;
    width:100%;
    transition:transform .42s cubic-bezier(.16,1,.3,1);
}
.omfr-match-alert-slide{
    flex:0 0 100%;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:174px;
    padding:18px;
    border-radius:26px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.20);
}
.omfr-match-alert-slide:not(.is-active){
    pointer-events:none;
}
.omfr-match-alert-slide small{
    display:inline-flex;
    margin-bottom:7px;
    padding:6px 10px;
    border-radius:999px;
    background:#fff;
    color:#a61e43;
    font-weight:1000;
}
.omfr-match-alert-slide h3{
    margin:0 0 7px;
    color:#fff;
    font-size:clamp(1.35rem,2.4vw,2.05rem);
    line-height:1.1;
}
.omfr-match-alert-slide p{
    margin:0 0 8px;
    color:rgba(255,255,255,.93);
    font-weight:850;
}
.omfr-match-alert-slide em{
    display:block;
    color:rgba(255,255,255,.88);
    font-style:normal;
}
.omfr-match-alert-btn{
    flex:0 0 auto;
    color:#a61e43;
    background:#fff;
    box-shadow:0 16px 34px rgba(91,11,34,.18);
}
.omfr-match-alert-btn:hover{
    color:#861536;
    background:#fff;
}
.omfr-match-alert-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:16px;
}
.omfr-match-alert-dots button{
    width:11px;
    height:11px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.42);
    cursor:pointer;
    transition:width .18s ease, background .18s ease;
}
.omfr-match-alert-dots button.is-active{
    width:28px;
    background:#fff;
}
.omfr-mobile-red-match-alert{
    background:
        radial-gradient(circle at 88% 12%,rgba(255,255,255,.16),transparent 24%),
        linear-gradient(135deg,#b61738,#e44867 62%,#8f1d3d 118%);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 24px 54px rgba(149,31,63,.22);
}
.omfr-mobile-red-match-alert .mobile-match-title-pop{
    color:#fff;
}
.omfr-mobile-red-match-alert .mobile-carousel-controls button{
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.26);
    color:#fff;
}
.omfr-mobile-red-match-alert .mobile-near-match{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.20);
}
.omfr-mobile-red-match-alert .mobile-near-match h2{
    color:#fff;
}

/* Dark mode */
html[data-theme="dark"] .omfr-profile-unified-shell{
    background:
        radial-gradient(circle at 92% 10%,rgba(255,221,154,.12),transparent 22rem),
        linear-gradient(145deg,rgba(28,32,46,.98),rgba(34,30,43,.98));
    border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .omfr-profile-unified-block,
html[data-theme="dark"] .omfr-profile-unified-listing-card,
html[data-theme="dark"] .omfr-profile-unified-reviews-grid .profile-review-card,
html[data-theme="dark"] .omfr-profile-unified-content .omfr-profile-empty-card{
    background:rgba(29,33,47,.98);
    border-color:rgba(255,255,255,.11);
}
html[data-theme="dark"] .omfr-profile-unified-about h2,
html[data-theme="dark"] .omfr-profile-unified-safety h3,
html[data-theme="dark"] .omfr-profile-unified-moment blockquote{
    color:#fff;
}
html[data-theme="dark"] .omfr-profile-unified-location,
html[data-theme="dark"] .omfr-profile-unified-bio,
html[data-theme="dark"] .omfr-profile-unified-trust p,
html[data-theme="dark"] .omfr-profile-unified-safety p,
html[data-theme="dark"] .omfr-profile-unified-moment small{
    color:rgba(255,255,255,.78);
}

/* Responsive */
@media(max-width:1180px){
    .omfr-profile-unified-shell{
        grid-template-columns:1fr;
    }
    .omfr-profile-unified-member{
        position:static;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:980px){
    .omfr-profile-unified-listing-grid,
    .omfr-profile-unified-reviews-grid{
        grid-template-columns:1fr;
    }
    .omfr-match-alert-head,
    .omfr-match-alert-slide{
        display:grid;
        grid-template-columns:1fr;
    }
    .omfr-match-alert-controls{
        justify-content:flex-start;
    }
}
@media(max-width:760px){
    .omfr-profile-unified-container{
        width:min(100% - 28px,1240px);
    }
    .omfr-profile-unified-shell{
        padding:16px;
        border-radius:30px;
    }
    .omfr-profile-unified-member{
        grid-template-columns:1fr;
    }
    .omfr-profile-unified-listings-head{
        display:grid;
        grid-template-columns:1fr;
    }
    .omfr-profile-unified-listing-card{
        grid-template-columns:1fr;
        min-height:0;
    }
    .omfr-profile-unified-listing-media{
        width:100%;
        min-width:0;
        height:220px;
    }
    .omfr-dashboard-match-alert,
    .omfr-match-alert-explore{
        padding:16px;
        border-radius:28px;
    }
    .omfr-match-alert-slide{
        padding:15px;
    }
    .omfr-match-alert-btn{
        width:100%;
    }
}


/* ==========================================================================
   LOT 71 — Profil et annonces réellement fusionnés + contrastes corrigés
   ========================================================================== */

/* Lisibilité renforcée sur les pages concernées, notamment avec fond de page */
body.has-page-background .omfr-profile-story-section,
body.has-page-background .omfr-profile-story-section .section-title,
body.has-page-background .omfr-profile-story-section .omfr-profile-story-feed-head,
body.has-page-background .omfr-profile-story-section .profile-reviews-title{
    color:#fff;
}
body.has-page-background .omfr-profile-story-section .omfr-profile-story-feed-head h2,
body.has-page-background .omfr-profile-story-section .profile-reviews-title h2,
body.has-page-background .omfr-profile-story-section .omfr-profile-story-feed-head p,
body.has-page-background .omfr-profile-story-section .profile-reviews-title p,
body.has-page-background .omfr-profile-story-section .eyebrow{
    color:#fff;
}
body.has-page-background .omfr-profile-story-section .muted{
    color:rgba(255,255,255,.86);
}

/* Structure générale */
.omfr-profile-story-section{
    padding-top:28px;
    padding-bottom:56px;
}
.omfr-profile-story-container{
    width:min(1240px, calc(100% - 40px));
    max-width:1240px;
    display:grid;
    gap:28px;
}

/* Grand bloc de présentation du profil */
.omfr-profile-story-about{
    padding:24px;
    border-radius:38px;
    background:
        radial-gradient(circle at 92% 12%,rgba(255,221,154,.22),transparent 22rem),
        linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,244,248,.97));
    border:1px solid rgba(181,66,114,.14);
    box-shadow:0 30px 74px rgba(57,31,49,.11);
}
.omfr-profile-story-about-head h2{
    margin:8px 0 18px;
    max-width:900px;
    font-size:clamp(2rem,3.3vw,3.25rem);
    line-height:1.04;
    letter-spacing:-.045em;
    color:#281827;
}
.omfr-profile-story-about-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr) 260px;
    gap:18px;
    align-items:stretch;
}
.omfr-profile-story-about-copy,
.omfr-profile-story-about-moment,
.omfr-profile-story-about-trust{
    padding:18px;
    border-radius:28px;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 18px 44px rgba(57,31,49,.07);
}
.omfr-profile-story-about-copy h3{
    margin:0 0 9px;
    color:#281827;
    font-size:1.35rem;
}
.omfr-profile-story-about-copy p{
    margin:0;
    color:#554753;
    font-size:1.02rem;
    line-height:1.62;
}
.omfr-profile-story-about-moment{
    background:linear-gradient(135deg,#fff0d7,#fff2f6 58%,#f3efff);
}
.omfr-profile-story-about-moment > span,
.omfr-profile-story-about-trust > span{
    display:inline-flex;
    margin-bottom:10px;
    padding:6px 10px;
    border-radius:999px;
    background:#d85b86;
    color:#fff;
    font-size:.74rem;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.omfr-profile-story-about-moment blockquote{
    margin:0 0 9px;
    color:#3b2132;
    font-size:1.25rem;
    line-height:1.38;
    font-weight:1000;
}
.omfr-profile-story-about-moment small{
    color:#7c6070;
    font-weight:900;
}
.omfr-profile-story-about-trust strong{
    display:block;
    margin:0 0 6px;
    color:#b54272;
    font-size:2rem;
    line-height:1;
}
.omfr-profile-story-about-trust p{
    margin:0 0 14px;
    color:#705b69;
    font-weight:850;
    line-height:1.45;
}

/* Zone de flux des annonces */
.omfr-profile-story-feed{
    display:grid;
    gap:18px;
}
.omfr-profile-story-feed-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}
.omfr-profile-story-feed-head h2{
    margin:8px 0 9px;
    font-size:clamp(2rem,3.2vw,3.1rem);
    line-height:1.04;
    letter-spacing:-.045em;
    color:#281827;
}
.omfr-profile-story-feed-head p{
    margin:0;
    max-width:820px;
    color:#62515f;
}
.omfr-profile-story-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:120px;
    min-height:46px;
    padding:10px 16px;
    border-radius:999px;
    background:#fff1f6;
    border:1px solid rgba(181,66,114,.14);
    color:#a83b67;
    font-weight:1000;
    white-space:nowrap;
}
.omfr-profile-story-entries{
    display:grid;
    gap:20px;
}

/* Chaque annonce devient une vraie "publication" de profil */
.omfr-profile-story-entry{
    overflow:hidden;
    padding:20px;
    border-radius:36px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(181,66,114,.13);
    box-shadow:0 26px 64px rgba(57,31,49,.10);
}
.omfr-profile-story-entry-author{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:18px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(181,66,114,.12);
}
.omfr-profile-story-entry-avatar{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    flex:0 0 58px;
    overflow:hidden;
    border-radius:20px;
    color:#fff;
    font-size:1.55rem;
    font-weight:1000;
    background:linear-gradient(135deg,#6157ff,#d85b86);
    box-shadow:0 14px 28px rgba(97,87,255,.18);
}
.omfr-profile-story-entry-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.omfr-profile-story-entry-author strong{
    display:block;
    color:#281827;
    font-size:1.16rem;
    line-height:1.1;
}
.omfr-profile-story-entry-author small{
    display:block;
    margin-top:4px;
    color:#7a6674;
    font-weight:850;
}
.omfr-profile-story-entry-type{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:7px 12px;
    border-radius:999px;
    color:#a83b67;
    background:#fff1f6;
    border:1px solid rgba(181,66,114,.14);
    font-weight:1000;
    white-space:nowrap;
}
.omfr-profile-story-entry-grid{
    display:grid;
    grid-template-columns:340px minmax(0,1fr);
    gap:22px;
    align-items:start;
}
.omfr-profile-story-entry-media{
    display:grid;
    place-items:center;
    width:100%;
    height:320px;
    overflow:hidden;
    border-radius:30px;
    text-decoration:none;
    background:
        radial-gradient(circle at 82% 18%,rgba(255,255,255,.38),transparent 22%),
        linear-gradient(135deg,#fff0d7,#f9e6ef 54%,#eaf2ff);
    box-shadow:0 20px 48px rgba(57,31,49,.10);
}
.omfr-profile-story-entry-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.omfr-profile-story-entry-media span{
    font-size:3.1rem;
}
.omfr-profile-story-entry-copy{
    min-width:0;
}
.omfr-profile-story-entry-copy h3{
    margin:0 0 10px;
    color:#281827;
    font-size:clamp(1.65rem,2.5vw,2.45rem);
    line-height:1.08;
    letter-spacing:-.035em;
}
.omfr-profile-story-entry-place{
    margin:0 0 14px;
    color:#7b6070;
    font-weight:900;
}
.omfr-profile-story-entry-description{
    margin:0 0 16px;
    color:#4f414c;
    font-size:1.05rem;
    line-height:1.66;
}
.omfr-profile-story-entry-moment{
    margin:0 0 18px;
    padding:15px 17px;
    border-radius:22px;
    color:#3b2132;
    background:linear-gradient(135deg,#fff0d7,#fff4f7,#f3efff);
    border:1px solid rgba(181,66,114,.12);
    font-size:1.08rem;
    line-height:1.45;
    font-weight:950;
}
.omfr-profile-story-entry-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:14px;
}
.omfr-profile-story-entry-footer strong{
    display:inline-flex;
    align-items:center;
    min-height:46px;
    padding:10px 16px;
    border-radius:999px;
    color:#b54272;
    background:#fff1f6;
    border:1px solid rgba(181,66,114,.14);
    font-size:1.15rem;
}
.omfr-profile-story-empty{
    border-radius:30px;
    border:1px solid rgba(181,66,114,.12);
    background:rgba(255,255,255,.98);
    box-shadow:0 20px 48px rgba(57,31,49,.07);
}

/* Avis */
.omfr-profile-story-reviews{
    display:grid;
    gap:14px;
}
.omfr-profile-story-reviews-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.omfr-profile-story-reviews-grid .profile-review-card{
    border-radius:28px;
    border:1px solid rgba(181,66,114,.12);
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 44px rgba(57,31,49,.07);
}
.omfr-profile-story-reviews-grid .profile-review-card strong,
.omfr-profile-story-reviews-grid .profile-review-card p{
    color:#281827;
}

/* Signalement isolé, discret mais lisible */
.omfr-profile-story-safety{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:14px;
    padding:18px 20px;
    border-radius:26px;
    background:rgba(255,255,255,.94);
    border:1px dashed rgba(198,50,73,.26);
    box-shadow:0 16px 36px rgba(57,31,49,.05);
}
.omfr-profile-story-safety strong{
    color:#281827;
}
.omfr-profile-story-safety p{
    flex:1 1 360px;
    margin:0;
    color:#665662;
}

/* Corrections de contraste en thème sombre */
html[data-theme="dark"] .omfr-profile-story-about,
html[data-theme="dark"] .omfr-profile-story-entry,
html[data-theme="dark"] .omfr-profile-story-empty,
html[data-theme="dark"] .omfr-profile-story-reviews-grid .profile-review-card,
html[data-theme="dark"] .omfr-profile-story-safety{
    background:rgba(28,32,46,.98);
    border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .omfr-profile-story-about-copy,
html[data-theme="dark"] .omfr-profile-story-about-trust{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .omfr-profile-story-about-moment{
    background:linear-gradient(135deg,rgba(249,192,97,.18),rgba(223,73,111,.15),rgba(126,100,205,.18));
    border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .omfr-profile-story-about-head h2,
html[data-theme="dark"] .omfr-profile-story-about-copy h3,
html[data-theme="dark"] .omfr-profile-story-entry-author strong,
html[data-theme="dark"] .omfr-profile-story-entry-copy h3,
html[data-theme="dark"] .omfr-profile-story-safety strong,
html[data-theme="dark"] .omfr-profile-story-reviews-grid .profile-review-card strong,
html[data-theme="dark"] .omfr-profile-story-reviews-grid .profile-review-card p{
    color:#fff;
}
html[data-theme="dark"] .omfr-profile-story-about-copy p,
html[data-theme="dark"] .omfr-profile-story-about-trust p,
html[data-theme="dark"] .omfr-profile-story-about-moment small,
html[data-theme="dark"] .omfr-profile-story-entry-author small,
html[data-theme="dark"] .omfr-profile-story-entry-place,
html[data-theme="dark"] .omfr-profile-story-entry-description,
html[data-theme="dark"] .omfr-profile-story-safety p{
    color:rgba(255,255,255,.82);
}
html[data-theme="dark"] .omfr-profile-story-about-moment blockquote,
html[data-theme="dark"] .omfr-profile-story-entry-moment{
    color:#fff;
}
html[data-theme="dark"] .omfr-profile-story-entry-moment{
    background:linear-gradient(135deg,rgba(249,192,97,.18),rgba(223,73,111,.15),rgba(126,100,205,.18));
    border-color:rgba(255,255,255,.12);
}

/* Si une image de fond est active, les cartes gardent un texte réellement lisible */
body.has-page-background .omfr-profile-story-entry,
body.has-page-background .omfr-profile-story-about,
body.has-page-background .omfr-profile-story-empty,
body.has-page-background .omfr-profile-story-reviews-grid .profile-review-card,
body.has-page-background .omfr-profile-story-safety{
    backdrop-filter:blur(6px);
}
body.has-page-background .omfr-profile-story-entry-copy h3,
body.has-page-background .omfr-profile-story-entry-author strong,
body.has-page-background .omfr-profile-story-about-head h2,
body.has-page-background .omfr-profile-story-about-copy h3{
    color:#281827;
}
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry-copy h3,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry-author strong,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-about-head h2,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-about-copy h3{
    color:#fff;
}

/* Responsive */
@media(max-width:1180px){
    .omfr-profile-story-about-grid{
        grid-template-columns:1fr 1fr;
    }
    .omfr-profile-story-about-copy{
        grid-column:1 / -1;
    }
}
@media(max-width:980px){
    .omfr-profile-story-entry-grid{
        grid-template-columns:1fr;
    }
    .omfr-profile-story-entry-media{
        height:300px;
    }
    .omfr-profile-story-reviews-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:760px){
    .omfr-profile-story-container{
        width:min(100% - 28px,1240px);
    }
    .omfr-profile-story-about{
        padding:16px;
        border-radius:30px;
    }
    .omfr-profile-story-about-grid{
        grid-template-columns:1fr;
    }
    .omfr-profile-story-feed-head{
        display:grid;
        grid-template-columns:1fr;
    }
    .omfr-profile-story-entry{
        padding:16px;
        border-radius:30px;
    }
    .omfr-profile-story-entry-author{
        display:grid;
        grid-template-columns:58px minmax(0,1fr);
        align-items:center;
    }
    .omfr-profile-story-entry-type{
        grid-column:1 / -1;
        margin-left:0;
        width:max-content;
    }
    .omfr-profile-story-entry-media{
        height:235px;
    }
    .omfr-profile-story-entry-footer,
    .omfr-profile-story-entry-footer .btn{
        width:100%;
    }
}


/* ==========================================================================
   LOT 72 — Les annonces vivent dans les profils, plus de fiche annonce séparée
   ========================================================================== */

.omfr-profile-story-entry.is-focused-listing{
    outline:4px solid rgba(255,214,130,.95);
    outline-offset:4px;
    border-color:rgba(219,91,133,.42);
    box-shadow:0 38px 94px rgba(185,48,91,.24);
}
@keyframes omfrFocusedListingPulse{
    0%,100%{
        transform:translateY(0);
        box-shadow:0 38px 94px rgba(185,48,91,.24);
    }
    50%{
        transform:translateY(-3px);
        box-shadow:0 48px 110px rgba(185,48,91,.32);
    }
}

.omfr-profile-story-focused-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px 18px;
    margin:0 0 18px;
    padding:14px 16px;
    border-radius:22px;
    background:linear-gradient(135deg,#fff0d5,#fff3f7 55%,#f3efff);
    border:1px solid rgba(181,66,114,.16);
    color:#392130;
}
.omfr-profile-story-focused-banner strong{
    font-size:1rem;
    font-weight:1000;
}
.omfr-profile-story-focused-banner span{
    color:#725665;
    font-weight:850;
}

.omfr-profile-story-entry-footer{
    align-items:flex-start;
}
.omfr-profile-story-entry-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
}
.omfr-profile-story-entry-actions form{
    margin:0;
}
.omfr-profile-story-entry-actions .btn{
    min-height:46px;
}
.omfr-profile-story-entry-actions .badge.danger{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    padding:9px 13px;
}

.search-friendly-section .friendly-card-body .btn.full{
    text-align:center;
}

.omfr-profile-story-entry-copy h3,
.omfr-profile-story-entry-description,
.omfr-profile-story-entry-place,
.omfr-profile-story-about-copy p,
.omfr-profile-story-feed-head p,
.omfr-profile-story-safety p{
    opacity:1;
}

body.has-page-background .omfr-profile-story-about,
body.has-page-background .omfr-profile-story-entry,
body.has-page-background .omfr-profile-story-empty,
body.has-page-background .omfr-profile-story-reviews-grid .profile-review-card,
body.has-page-background .omfr-profile-story-safety{
    background:rgba(255,255,255,.97);
}
body.has-page-background .omfr-profile-story-about-head h2,
body.has-page-background .omfr-profile-story-about-copy h3,
body.has-page-background .omfr-profile-story-entry-author strong,
body.has-page-background .omfr-profile-story-entry-copy h3,
body.has-page-background .omfr-profile-story-safety strong{
    color:#281827;
}
body.has-page-background .omfr-profile-story-about-copy p,
body.has-page-background .omfr-profile-story-feed-head p,
body.has-page-background .omfr-profile-story-entry-author small,
body.has-page-background .omfr-profile-story-entry-place,
body.has-page-background .omfr-profile-story-entry-description,
body.has-page-background .omfr-profile-story-safety p{
    color:#554753;
}

body.has-page-background .omfr-profile-story-feed-head h2,
body.has-page-background .omfr-profile-story-feed-head .eyebrow,
body.has-page-background .omfr-profile-story-reviews .section-title h2,
body.has-page-background .omfr-profile-story-reviews .section-title .eyebrow{
    color:#fff;
}

html[data-theme="dark"] .omfr-profile-story-focused-banner{
    background:linear-gradient(135deg,rgba(249,192,97,.18),rgba(223,73,111,.16),rgba(126,100,205,.18));
    border-color:rgba(255,255,255,.13);
    color:#fff;
}
html[data-theme="dark"] .omfr-profile-story-focused-banner span{
    color:rgba(255,255,255,.80);
}
html[data-theme="dark"] body.has-page-background .omfr-profile-story-about,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-empty,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-reviews-grid .profile-review-card,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-safety{
    background:rgba(28,32,46,.98);
}
html[data-theme="dark"] body.has-page-background .omfr-profile-story-about-head h2,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-about-copy h3,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry-author strong,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry-copy h3,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-safety strong{
    color:#fff;
}
html[data-theme="dark"] body.has-page-background .omfr-profile-story-about-copy p,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry-author small,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry-place,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-entry-description,
html[data-theme="dark"] body.has-page-background .omfr-profile-story-safety p{
    color:rgba(255,255,255,.82);
}

@media(max-width:900px){
    .omfr-profile-story-entry-footer{
        display:grid;
        grid-template-columns:1fr;
    }
    .omfr-profile-story-entry-actions{
        justify-content:flex-start;
    }
}
@media(max-width:760px){
    .omfr-profile-story-focused-banner{
        display:grid;
        grid-template-columns:1fr;
    }
    .omfr-profile-story-entry-actions,
    .omfr-profile-story-entry-actions .btn,
    .omfr-profile-story-entry-actions form{
        width:100%;
    }
}


/* ==========================================================================
   LOT 73 — Photos d'annonces dans les profils + accueil avec carrousel annonces
   ========================================================================== */

/* Profil : suppression visuelle de la grande introduction, le flux d'annonces remonte */
.omfr-profile-story-feed{
    margin-top:0;
}

/* Galerie photos de chaque annonce fusionnée au profil */
.omfr-profile-story-entry-gallery{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:14px;
    margin:0 0 20px;
}
.omfr-profile-story-entry-gallery-item{
    display:block;
    height:228px;
    overflow:hidden;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(181,66,114,.14);
    box-shadow:0 18px 44px rgba(57,31,49,.10);
}
.omfr-profile-story-entry-gallery-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.omfr-profile-story-entry-gallery-empty{
    min-height:150px;
    place-items:center;
    padding:22px;
    border-radius:28px;
    background:rgba(255,255,255,.94);
    border:1px dashed rgba(181,66,114,.22);
    color:#705565;
}
.omfr-profile-story-entry-gallery-empty span{
    display:block;
    text-align:center;
    font-size:2.6rem;
}
.omfr-profile-story-entry-gallery-empty small{
    display:block;
    margin-top:8px;
    text-align:center;
    font-weight:850;
}
.omfr-profile-story-entry-content{
    display:block;
}
.omfr-profile-story-entry-copy{
    width:100%;
}

/* Avis retirés de cette page : conserver le profil plus direct */
.omfr-profile-story-section .profile-reviews-title,
.omfr-profile-story-section .omfr-profile-story-reviews-grid{
    display:none;
}

/* Accueil : carrousel compact d'annonces, dans l'esprit de OnMatche.com */
.omfr-home-listings-strip{
    padding-top:26px;
    padding-bottom:22px;
}
.omfr-home-listings-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}
.omfr-home-listings-head h2{
    margin:8px 0 0;
    font-size:clamp(1.7rem,3vw,2.6rem);
    line-height:1.05;
    letter-spacing:-.035em;
}
.omfr-home-listings-controls{
    display:flex;
    gap:10px;
}
.omfr-home-listings-controls button{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid rgba(181,66,114,.18);
    color:#a83b67;
    background:rgba(255,255,255,.94);
    font-size:2rem;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(57,31,49,.08);
}
.omfr-home-listings-carousel{
    overflow:hidden;
}
.omfr-home-listings-track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:4px 2px 12px;
}
.omfr-home-listings-track::-webkit-scrollbar{
    display:none;
}
.omfr-home-listing-card{
    flex:0 0 min(360px, calc(100vw - 52px));
    scroll-snap-align:start;
    display:grid;
    grid-template-rows:220px 1fr;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
    border-radius:32px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 24px 56px rgba(57,31,49,.09);
    transition:transform .18s ease, box-shadow .18s ease;
}
.omfr-home-listing-card:hover{
    transform:translateY(-4px);
    box-shadow:0 34px 74px rgba(57,31,49,.14);
}
.omfr-home-listing-media{
    display:grid;
    place-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.34), transparent 22%),
        linear-gradient(135deg,#fff0d7,#f9e6ef 54%,#eaf2ff);
}
.omfr-home-listing-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.omfr-home-listing-media span{
    font-size:3rem;
}
.omfr-home-listing-copy{
    display:grid;
    gap:10px;
    align-content:start;
    padding:16px;
}
.omfr-home-listing-copy small{
    width:max-content;
    max-width:100%;
    padding:6px 10px;
    border-radius:999px;
    background:#fff1f6;
    color:#a83b67;
    border:1px solid rgba(181,66,114,.14);
    font-weight:1000;
}
.omfr-home-listing-copy h3{
    margin:0;
    color:#281827;
    font-size:1.22rem;
    line-height:1.22;
}
.omfr-home-listing-copy p{
    margin:0;
    color:#6a5563;
    font-weight:850;
}
.omfr-home-listing-copy strong{
    color:#b54272;
    font-weight:1000;
}

/* Lisibilité avec fond de page */
body.has-page-background .omfr-home-listings-head h2,
body.has-page-background .omfr-home-listings-head .eyebrow{
    color:#fff;
}
body.has-page-background .omfr-profile-story-feed-head h2,
body.has-page-background .omfr-profile-story-feed-head .eyebrow{
    color:#fff;
}

/* Mode sombre */
html[data-theme="dark"] .omfr-profile-story-entry-gallery-empty,
html[data-theme="dark"] .omfr-home-listing-card{
    background:rgba(28,32,46,.98);
    border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .omfr-profile-story-entry-gallery-empty{
    color:rgba(255,255,255,.78);
}
html[data-theme="dark"] .omfr-home-listing-copy h3{
    color:#fff;
}
html[data-theme="dark"] .omfr-home-listing-copy p{
    color:rgba(255,255,255,.80);
}

@media(max-width:900px){
    .omfr-profile-story-entry-gallery{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:760px){
    .omfr-home-listings-head{
        align-items:flex-start;
    }
    .omfr-home-listings-controls{
        flex:0 0 auto;
    }
    .omfr-profile-story-entry-gallery{
        grid-template-columns:1fr;
    }
    .omfr-profile-story-entry-gallery-item{
        height:235px;
    }
}


/* ==========================================================================
   LOT 74 — Typographies plus fines, plus compactes, esprit OnMatche.com
   ========================================================================== */

/* Accueil : hero légèrement moins massif */
.omfr-home-hero-v2 .omfr-home-copy h1{
    font-size:clamp(2.35rem,4.35vw,4.15rem);
    line-height:1.01;
}
.omfr-home-hero-v2 .omfr-home-copy .lead{
    font-size:1.02rem;
    line-height:1.55;
}
.omfr-home-showcase-v2 .omfr-showcase-card h2{
    font-size:clamp(1.08rem,1.85vw,1.48rem);
}
.omfr-home-showcase-v2 .omfr-showcase-card h3{
    font-size:1rem;
}
.omfr-home-showcase-v2 .omfr-showcase-card p,
.omfr-home-showcase-v2 .omfr-cross-universe small{
    font-size:.92rem;
}

/* Carrousel d'annonces de l'accueil */
.omfr-home-listings-head h2{
    font-size:clamp(1.42rem,2.35vw,2.08rem);
    line-height:1.08;
}
.omfr-home-listing-card{
    flex-basis:min(330px, calc(100vw - 52px));
    grid-template-rows:198px 1fr;
}
.omfr-home-listing-copy{
    gap:8px;
    padding:14px;
}
.omfr-home-listing-copy small{
    font-size:.74rem;
}
.omfr-home-listing-copy h3{
    font-size:1.05rem;
    line-height:1.25;
}
.omfr-home-listing-copy p{
    font-size:.92rem;
    line-height:1.38;
}
.omfr-home-listing-copy strong{
    font-size:.92rem;
}

/* Profil fusionné : titres plus proches du .com */
.omfr-profile-story-feed-head h2{
    font-size:clamp(1.68rem,2.65vw,2.45rem);
    line-height:1.08;
}
.omfr-profile-story-feed-head p{
    font-size:1rem;
    line-height:1.5;
}
.omfr-profile-story-count{
    min-width:108px;
    min-height:40px;
    padding:8px 13px;
    font-size:.92rem;
}

/* En-tête d'une annonce intégrée */
.omfr-profile-story-entry{
    padding:18px;
}
.omfr-profile-story-entry-author{
    margin-bottom:15px;
    padding-bottom:14px;
}
.omfr-profile-story-entry-avatar{
    width:52px;
    height:52px;
    flex-basis:52px;
    border-radius:18px;
    font-size:1.35rem;
}
.omfr-profile-story-entry-author strong{
    font-size:1.04rem;
}
.omfr-profile-story-entry-author small{
    font-size:.88rem;
}
.omfr-profile-story-entry-type{
    min-height:32px;
    padding:6px 10px;
    font-size:.78rem;
}

/* Galerie photos d'annonce */
.omfr-profile-story-entry-gallery{
    gap:12px;
    margin-bottom:17px;
}
.omfr-profile-story-entry-gallery-item{
    height:205px;
    border-radius:24px;
}
.omfr-profile-story-entry-gallery-empty{
    min-height:130px;
}
.omfr-profile-story-entry-gallery-empty span{
    font-size:2.2rem;
}
.omfr-profile-story-entry-gallery-empty small{
    font-size:.88rem;
}

/* Contenu de l'annonce fusionnée */
.omfr-profile-story-entry-copy h3{
    font-size:clamp(1.35rem,2.05vw,1.95rem);
    line-height:1.12;
    margin-bottom:8px;
}
.omfr-profile-story-entry-place{
    font-size:.94rem;
    margin-bottom:11px;
}
.omfr-profile-story-entry-description{
    font-size:.98rem;
    line-height:1.56;
    margin-bottom:14px;
}
.omfr-profile-story-entry-moment{
    font-size:1rem;
    line-height:1.42;
    padding:13px 15px;
    margin-bottom:15px;
}
.omfr-profile-story-entry-footer strong{
    min-height:40px;
    padding:8px 13px;
    font-size:1rem;
}
.omfr-profile-story-entry-actions{
    gap:8px;
}
.omfr-profile-story-entry-actions .btn{
    min-height:40px;
    padding:10px 16px;
    font-size:.92rem;
}

/* Bandeau annonce sélectionnée */
.omfr-profile-story-focused-banner{
    padding:12px 14px;
    border-radius:20px;
}
.omfr-profile-story-focused-banner strong{
    font-size:.94rem;
}
.omfr-profile-story-focused-banner span{
    font-size:.9rem;
}

/* Hero profil en haut : plus mesuré */
.omfr-profile-renewed-hero .profile-summary-text h1{
    font-size:clamp(1.95rem,3.4vw,3.35rem);
}
.omfr-profile-renewed-hero .profile-rating{
    font-size:.9rem;
}
.omfr-profile-moment-hero strong{
    font-size:clamp(1.05rem,1.9vw,1.55rem);
    line-height:1.35;
}
.omfr-profile-moment-hero small{
    font-size:.9rem;
}

/* "Comment ça marche" conserve son rôle mais reste plus discret */
.omfr-how-title h2{
    font-size:clamp(1.32rem,2.15vw,1.88rem);
}
.omfr-how-steps article strong{
    font-size:.98rem;
}
.omfr-how-steps article small{
    font-size:.88rem;
}

/* Alertes rouges de correspondance, légèrement moins imposantes */
.omfr-match-alert-head h2{
    font-size:clamp(1.35rem,2.2vw,1.95rem);
}
.omfr-match-alert-slide h3{
    font-size:clamp(1.18rem,1.95vw,1.68rem);
}
.omfr-match-alert-slide p,
.omfr-match-alert-slide em{
    font-size:.94rem;
}

/* Responsive */
@media(max-width:760px){
    .omfr-home-hero-v2 .omfr-home-copy h1{
        font-size:clamp(2rem,8.8vw,3rem);
    }
    .omfr-home-listing-card{
        flex-basis:calc(100vw - 42px);
        grid-template-rows:190px 1fr;
    }
    .omfr-profile-story-entry{
        padding:15px;
    }
    .omfr-profile-story-entry-gallery-item{
        height:220px;
    }
    .omfr-profile-story-entry-copy h3{
        font-size:1.42rem;
    }
    .omfr-profile-story-entry-description{
        font-size:.96rem;
    }
    .omfr-profile-renewed-hero .profile-summary-text h1{
        font-size:2.05rem;
    }
}


/* ==========================================================================
   LOT 75 — Explorer + Publier une envie en ambiance claire
   Base conservée : aucune modification des fichiers PHP ni de la fusion
   profil / annonces. On corrige uniquement les habillages sombres de ces
   deux pages pour les rapprocher des autres sections lumineuses du site.
   ========================================================================== */

/* ----------------------------------------------------------
   1. Hauts de page Explorer / Publier
   ---------------------------------------------------------- */
.omfr-search-hero-v2,
.omfr-publish-hero-v2,
html[data-theme="dark"] .omfr-search-hero-v2,
html[data-theme="dark"] .omfr-publish-hero-v2{
    background:
        radial-gradient(circle at 12% 18%, rgba(255,214,128,.38), transparent 24rem),
        radial-gradient(circle at 88% 18%, rgba(210,115,160,.24), transparent 22rem),
        radial-gradient(circle at 70% 82%, rgba(79,202,191,.14), transparent 20rem),
        linear-gradient(135deg, rgba(255,250,241,.99), rgba(250,238,230,.97) 48%, rgba(240,238,255,.98) 100%) !important;
    border-color:rgba(181,66,114,.12) !important;
    box-shadow:0 26px 64px rgba(57,31,49,.10) !important;
}
.omfr-search-hero-v2 h1,
.omfr-publish-hero-v2 h1,
html[data-theme="dark"] .omfr-search-hero-v2 h1,
html[data-theme="dark"] .omfr-publish-hero-v2 h1{
    color:#281827 !important;
}
.omfr-search-hero-v2 p,
.omfr-publish-hero-v2 p,
html[data-theme="dark"] .omfr-search-hero-v2 p,
html[data-theme="dark"] .omfr-publish-hero-v2 p{
    color:#5d5263 !important;
}

/* ----------------------------------------------------------
   2. Fonds généraux des deux pages
   ---------------------------------------------------------- */
.omfr-search-page-v2,
.omfr-publish-page-v2,
html[data-theme="dark"] .omfr-search-page-v2,
html[data-theme="dark"] .omfr-publish-page-v2{
    background:
        radial-gradient(circle at 10% 6%, rgba(255,214,128,.12), transparent 24rem),
        radial-gradient(circle at 90% 14%, rgba(210,115,160,.10), transparent 24rem),
        linear-gradient(180deg, rgba(255,252,247,.98), rgba(249,245,251,.98) 55%, rgba(245,249,253,.98) 100%) !important;
}

/* ----------------------------------------------------------
   3. Explorer : recherche, résultats, cartes
   ---------------------------------------------------------- */
.omfr-search-page-v2 .mobile-search-collapsible,
.omfr-search-page-v2 .search-topbar-inside,
.omfr-search-page-v2 .results-head,
.omfr-search-page-v2 .moment-results,
html[data-theme="dark"] .omfr-search-page-v2 .mobile-search-collapsible,
html[data-theme="dark"] .omfr-search-page-v2 .search-topbar-inside,
html[data-theme="dark"] .omfr-search-page-v2 .results-head,
html[data-theme="dark"] .omfr-search-page-v2 .moment-results{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(210,115,160,.08), transparent 26%),
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(255,247,251,.98)) !important;
    box-shadow:0 20px 48px rgba(57,31,49,.08) !important;
}

.omfr-search-page-v2 .mobile-search-collapsible > summary,
html[data-theme="dark"] .omfr-search-page-v2 .mobile-search-collapsible > summary{
    color:#281827 !important;
    background:transparent !important;
}
.omfr-search-page-v2 .mobile-search-collapsible > summary span,
.omfr-search-page-v2 .mobile-search-collapsible > summary small,
html[data-theme="dark"] .omfr-search-page-v2 .mobile-search-collapsible > summary span,
html[data-theme="dark"] .omfr-search-page-v2 .mobile-search-collapsible > summary small{
    color:#281827 !important;
}
.omfr-search-page-v2 .mobile-search-collapsible > summary small,
html[data-theme="dark"] .omfr-search-page-v2 .mobile-search-collapsible > summary small{
    color:#6b6070 !important;
}

.omfr-search-page-v2 label,
.omfr-search-page-v2 .advanced-search summary,
.omfr-search-page-v2 .results-head strong,
.omfr-search-page-v2 .results-head div,
.omfr-search-page-v2 .moment-results h2,
html[data-theme="dark"] .omfr-search-page-v2 label,
html[data-theme="dark"] .omfr-search-page-v2 .advanced-search summary,
html[data-theme="dark"] .omfr-search-page-v2 .results-head strong,
html[data-theme="dark"] .omfr-search-page-v2 .results-head div,
html[data-theme="dark"] .omfr-search-page-v2 .moment-results h2{
    color:#281827 !important;
}
.omfr-search-page-v2 .results-head .muted,
.omfr-search-page-v2 .search-actions-row small,
.omfr-search-page-v2 .moment-results .mini-card span,
.omfr-search-page-v2 .moment-results .mini-card small,
html[data-theme="dark"] .omfr-search-page-v2 .results-head .muted,
html[data-theme="dark"] .omfr-search-page-v2 .search-actions-row small,
html[data-theme="dark"] .omfr-search-page-v2 .moment-results .mini-card span,
html[data-theme="dark"] .omfr-search-page-v2 .moment-results .mini-card small{
    color:#6b6070 !important;
    opacity:1 !important;
}
.omfr-search-page-v2 .search-actions-row small,
html[data-theme="dark"] .omfr-search-page-v2 .search-actions-row small{
    border-color:rgba(181,66,114,.10) !important;
    background:rgba(255,247,251,.96) !important;
}

/* cartes d'annonces de l'explorer */
.omfr-search-page-v2 .friendly-listing-card,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-listing-card{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.08), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(79,202,191,.06), transparent 28%),
        linear-gradient(145deg, #ffffff 0%, #fff7fb 60%, #f4f4ff 100%) !important;
    box-shadow:0 22px 52px rgba(57,31,49,.09) !important;
}
.omfr-search-page-v2 .friendly-card-body,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-card-body{
    background:transparent !important;
}
.omfr-search-page-v2 .friendly-card-body h3,
.omfr-search-page-v2 .friendly-card-body h3 a,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-card-body h3,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-card-body h3 a{
    color:#281827 !important;
}
.omfr-search-page-v2 .friendly-card-line,
.omfr-search-page-v2 .friendly-card-top small,
.omfr-search-page-v2 .friendly-listing-card p,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-card-line,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-card-top small,
html[data-theme="dark"] .omfr-search-page-v2 .friendly-listing-card p{
    color:#6b6070 !important;
}

/* petits profils / phrases dans Explorer */
.omfr-search-page-v2 .moment-results .mini-card,
html[data-theme="dark"] .omfr-search-page-v2 .moment-results .mini-card{
    color:#281827 !important;
    border-color:rgba(181,66,114,.10) !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(255,214,128,.10), transparent 28%),
        linear-gradient(145deg,#ffffff,#fff8ef) !important;
}
.omfr-search-page-v2 .moment-results .mini-card strong,
html[data-theme="dark"] .omfr-search-page-v2 .moment-results .mini-card strong{
    color:#281827 !important;
}

/* ----------------------------------------------------------
   4. Publier une envie : helper, formulaire, choix et GPS
   ---------------------------------------------------------- */
.omfr-publish-page-v2 .publish-helper,
.omfr-publish-page-v2 .publish-friendly-form,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-helper,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-friendly-form{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.08), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,214,128,.08), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(255,247,251,.98)) !important;
    box-shadow:0 22px 52px rgba(57,31,49,.09) !important;
}
.omfr-publish-page-v2 .publish-helper strong,
.omfr-publish-page-v2 .publish-step h2,
.omfr-publish-page-v2 .publish-friendly-form label,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-helper strong,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-step h2,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-friendly-form label{
    color:#281827 !important;
}
.omfr-publish-page-v2 .publish-helper p,
.omfr-publish-page-v2 .publish-step p,
.omfr-publish-page-v2 .muted,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-helper p,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-step p,
html[data-theme="dark"] .omfr-publish-page-v2 .muted{
    color:#6b6070 !important;
    opacity:1 !important;
}

.omfr-publish-page-v2 .publish-choice-grid label,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-choice-grid label{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(210,115,160,.06), transparent 28%),
        linear-gradient(145deg,#ffffff,#fff7fb) !important;
    box-shadow:0 14px 30px rgba(57,31,49,.06) !important;
}
.omfr-publish-page-v2 .publish-choice-grid label:hover,
.omfr-publish-page-v2 .publish-choice-grid label.is-selected,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-choice-grid label:hover,
html[data-theme="dark"] .omfr-publish-page-v2 .publish-choice-grid label.is-selected{
    border-color:rgba(181,66,114,.30) !important;
    background:linear-gradient(145deg,#fff2f7,#f5f0ff) !important;
}

.omfr-publish-page-v2 .geo-box,
html[data-theme="dark"] .omfr-publish-page-v2 .geo-box{
    color:#281827 !important;
    border-color:rgba(79,145,202,.18) !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(79,145,202,.10), transparent 28%),
        linear-gradient(145deg,#f8fbff,#edf5ff) !important;
}
.omfr-publish-page-v2 .geo-box strong,
.omfr-publish-page-v2 .geo-box label,
html[data-theme="dark"] .omfr-publish-page-v2 .geo-box strong,
html[data-theme="dark"] .omfr-publish-page-v2 .geo-box label{
    color:#281827 !important;
}
.omfr-publish-page-v2 .geo-box p,
.omfr-publish-page-v2 .geo-box small,
html[data-theme="dark"] .omfr-publish-page-v2 .geo-box p,
html[data-theme="dark"] .omfr-publish-page-v2 .geo-box small{
    color:#627086 !important;
}

/* champs des deux pages */
.omfr-search-page-v2 input,
.omfr-search-page-v2 select,
.omfr-publish-page-v2 input,
.omfr-publish-page-v2 select,
.omfr-publish-page-v2 textarea,
html[data-theme="dark"] .omfr-search-page-v2 input,
html[data-theme="dark"] .omfr-search-page-v2 select,
html[data-theme="dark"] .omfr-publish-page-v2 input,
html[data-theme="dark"] .omfr-publish-page-v2 select,
html[data-theme="dark"] .omfr-publish-page-v2 textarea{
    color:#281827 !important;
    background:rgba(255,255,255,.98) !important;
    border-color:rgba(181,66,114,.15) !important;
}
.omfr-search-page-v2 input::placeholder,
.omfr-publish-page-v2 input::placeholder,
.omfr-publish-page-v2 textarea::placeholder,
html[data-theme="dark"] .omfr-search-page-v2 input::placeholder,
html[data-theme="dark"] .omfr-publish-page-v2 input::placeholder,
html[data-theme="dark"] .omfr-publish-page-v2 textarea::placeholder{
    color:rgba(40,24,39,.42) !important;
}

/* ----------------------------------------------------------
   5. Responsive
   ---------------------------------------------------------- */
@media (max-width:820px){
    .omfr-search-page-v2,
    .omfr-publish-page-v2{
        padding-top:18px !important;
    }
}


/* ==========================================================================
   LOT 76 — Page "Modifier mon profil" en ambiance claire
   Base conservée : Lot 75.
   Correction CSS uniquement, sans toucher aux fichiers PHP ni aux annonces.
   ========================================================================== */

/* ----------------------------------------------------------
   1. Hero de la page profil
   ---------------------------------------------------------- */
.omfr-member-profile-hero-v2,
html[data-theme="dark"] .omfr-member-profile-hero-v2{
    background:
        radial-gradient(circle at 12% 18%, rgba(255,214,128,.38), transparent 24rem),
        radial-gradient(circle at 88% 18%, rgba(210,115,160,.24), transparent 22rem),
        radial-gradient(circle at 70% 82%, rgba(79,202,191,.14), transparent 20rem),
        linear-gradient(135deg, rgba(255,250,241,.99), rgba(250,238,230,.97) 48%, rgba(240,238,255,.98) 100%) !important;
    border-color:rgba(181,66,114,.12) !important;
    box-shadow:0 26px 64px rgba(57,31,49,.10) !important;
}
.omfr-member-profile-hero-v2 h1,
html[data-theme="dark"] .omfr-member-profile-hero-v2 h1{
    color:#281827 !important;
}
.omfr-member-profile-hero-v2 p,
html[data-theme="dark"] .omfr-member-profile-hero-v2 p{
    color:#5d5263 !important;
}

/* ----------------------------------------------------------
   2. Fond général de la page
   ---------------------------------------------------------- */
.omfr-member-profile-page-v2,
html[data-theme="dark"] .omfr-member-profile-page-v2{
    background:
        radial-gradient(circle at 10% 6%, rgba(255,214,128,.12), transparent 24rem),
        radial-gradient(circle at 90% 14%, rgba(210,115,160,.10), transparent 24rem),
        linear-gradient(180deg, rgba(255,252,247,.98), rgba(249,245,251,.98) 55%, rgba(245,249,253,.98) 100%) !important;
    color:#281827 !important;
}

/* ----------------------------------------------------------
   3. Aperçu profil à gauche
   ---------------------------------------------------------- */
.omfr-member-profile-page-v2 .member-profile-preview,
html[data-theme="dark"] .omfr-member-profile-page-v2 .member-profile-preview{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.08), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,214,128,.08), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(255,247,251,.98)) !important;
    box-shadow:0 22px 52px rgba(57,31,49,.09) !important;
}
.omfr-member-profile-page-v2 .member-profile-preview h2,
html[data-theme="dark"] .omfr-member-profile-page-v2 .member-profile-preview h2{
    color:#281827 !important;
}
.omfr-member-profile-page-v2 .member-profile-preview .muted,
html[data-theme="dark"] .omfr-member-profile-page-v2 .member-profile-preview .muted{
    color:#6b6070 !important;
    opacity:1 !important;
}
.omfr-member-profile-page-v2 .member-cover-preview,
html[data-theme="dark"] .omfr-member-profile-page-v2 .member-cover-preview{
    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.24), transparent 28%),
        linear-gradient(135deg,#fff0d8,#f9e5ee 55%,#e9f1ff) !important;
}
.omfr-member-profile-page-v2 .member-avatar-preview,
html[data-theme="dark"] .omfr-member-profile-page-v2 .member-avatar-preview{
    border-color:rgba(255,255,255,.96) !important;
    box-shadow:0 20px 42px rgba(57,31,49,.16) !important;
}

/* ----------------------------------------------------------
   4. Formulaire principal et panneaux
   ---------------------------------------------------------- */
.omfr-member-profile-page-v2 .friendly-profile-form .panel,
html[data-theme="dark"] .omfr-member-profile-page-v2 .friendly-profile-form .panel{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.08), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,214,128,.07), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(255,247,251,.98)) !important;
    box-shadow:0 22px 52px rgba(57,31,49,.09) !important;
}
.omfr-member-profile-page-v2 .friendly-profile-form .panel h2,
.omfr-member-profile-page-v2 .friendly-profile-form label,
html[data-theme="dark"] .omfr-member-profile-page-v2 .friendly-profile-form .panel h2,
html[data-theme="dark"] .omfr-member-profile-page-v2 .friendly-profile-form label{
    color:#281827 !important;
}
.omfr-member-profile-page-v2 .friendly-profile-form .muted,
html[data-theme="dark"] .omfr-member-profile-page-v2 .friendly-profile-form .muted{
    color:#6b6070 !important;
    opacity:1 !important;
}

/* ----------------------------------------------------------
   5. Bloc "type actuel" et cases
   ---------------------------------------------------------- */
.omfr-member-profile-page-v2 .notice-box,
html[data-theme="dark"] .omfr-member-profile-page-v2 .notice-box{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(255,214,128,.10), transparent 28%),
        linear-gradient(145deg,#fffaf1,#fff3f8) !important;
}
.omfr-member-profile-page-v2 .notice-box strong,
html[data-theme="dark"] .omfr-member-profile-page-v2 .notice-box strong{
    color:#b54272 !important;
}
.omfr-member-profile-page-v2 .notice-box span,
html[data-theme="dark"] .omfr-member-profile-page-v2 .notice-box span{
    color:#6b6070 !important;
}
.omfr-member-profile-page-v2 label.checkbox,
.omfr-member-profile-page-v2 .checkbox-line,
html[data-theme="dark"] .omfr-member-profile-page-v2 label.checkbox,
html[data-theme="dark"] .omfr-member-profile-page-v2 .checkbox-line{
    color:#281827 !important;
}
.omfr-member-profile-page-v2 label.checkbox,
html[data-theme="dark"] .omfr-member-profile-page-v2 label.checkbox{
    border-color:rgba(181,66,114,.12) !important;
    background:rgba(255,247,251,.96) !important;
}

/* ----------------------------------------------------------
   6. Bloc géolocalisation
   ---------------------------------------------------------- */
.omfr-member-profile-page-v2 .geo-box,
html[data-theme="dark"] .omfr-member-profile-page-v2 .geo-box{
    color:#281827 !important;
    border-color:rgba(79,145,202,.18) !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(79,145,202,.10), transparent 28%),
        linear-gradient(145deg,#f8fbff,#edf5ff) !important;
    box-shadow:0 20px 46px rgba(55,83,122,.08) !important;
}
.omfr-member-profile-page-v2 .geo-box strong,
.omfr-member-profile-page-v2 .geo-box label,
html[data-theme="dark"] .omfr-member-profile-page-v2 .geo-box strong,
html[data-theme="dark"] .omfr-member-profile-page-v2 .geo-box label{
    color:#281827 !important;
}
.omfr-member-profile-page-v2 .geo-box p,
.omfr-member-profile-page-v2 .geo-box small,
html[data-theme="dark"] .omfr-member-profile-page-v2 .geo-box p,
html[data-theme="dark"] .omfr-member-profile-page-v2 .geo-box small{
    color:#627086 !important;
}

/* ----------------------------------------------------------
   7. Phrase du moment
   ---------------------------------------------------------- */
.omfr-member-profile-page-v2 .moment-edit-panel,
html[data-theme="dark"] .omfr-member-profile-page-v2 .moment-edit-panel{
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(255,214,128,.14), transparent 28%),
        radial-gradient(circle at 10% 100%, rgba(210,115,160,.08), transparent 30%),
        linear-gradient(145deg,#fff4df,#fff5f8 54%,#f6f1ff) !important;
    box-shadow:0 22px 52px rgba(57,31,49,.09) !important;
}
.omfr-member-profile-page-v2 .moment-edit-panel h2,
.omfr-member-profile-page-v2 .moment-edit-panel label,
html[data-theme="dark"] .omfr-member-profile-page-v2 .moment-edit-panel h2,
html[data-theme="dark"] .omfr-member-profile-page-v2 .moment-edit-panel label{
    color:#8d6723 !important;
}
.omfr-member-profile-page-v2 .moment-edit-panel .muted,
html[data-theme="dark"] .omfr-member-profile-page-v2 .moment-edit-panel .muted{
    color:#6b6070 !important;
}

/* ----------------------------------------------------------
   8. Champs
   ---------------------------------------------------------- */
.omfr-member-profile-page-v2 input,
.omfr-member-profile-page-v2 select,
.omfr-member-profile-page-v2 textarea,
html[data-theme="dark"] .omfr-member-profile-page-v2 input,
html[data-theme="dark"] .omfr-member-profile-page-v2 select,
html[data-theme="dark"] .omfr-member-profile-page-v2 textarea{
    color:#281827 !important;
    background:rgba(255,255,255,.98) !important;
    border-color:rgba(181,66,114,.15) !important;
}
.omfr-member-profile-page-v2 input::placeholder,
.omfr-member-profile-page-v2 textarea::placeholder,
html[data-theme="dark"] .omfr-member-profile-page-v2 input::placeholder,
html[data-theme="dark"] .omfr-member-profile-page-v2 textarea::placeholder{
    color:rgba(40,24,39,.42) !important;
}

/* ----------------------------------------------------------
   9. Responsive
   ---------------------------------------------------------- */
@media (max-width:820px){
    .omfr-member-profile-page-v2{
        padding-top:18px !important;
    }
}


/* ==========================================================================
   LOT 77 — Accueil épuré + Explorer avec filtres à gauche
   - Accueil sans moteur de recherche ni pastilles de signaux.
   - Bloc "Le principe OnMatche" enrichi et mieux équilibré.
   - Explorer restructuré comme OnMatche.com :
     filtres sur le côté, annonces au centre.
   ========================================================================== */

/* ----------------------------------------------------------
   1. Accueil : hero plus épuré
   ---------------------------------------------------------- */
.omfr-home-hero-v3{
    padding-top:68px;
    padding-bottom:52px;
}
.omfr-home-hero-grid-v3{
    grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr);
    gap:42px;
    align-items:center;
}
.omfr-home-copy-v3{
    display:grid;
    gap:16px;
    align-content:center;
}
.omfr-home-copy-v3 h1{
    margin:0;
    max-width:720px;
}
.omfr-home-copy-v3 .lead{
    margin:0;
    max-width:680px;
    font-size:1.08rem;
    line-height:1.62;
}
.omfr-home-actions-v3{
    margin-top:6px;
}

/* Grand panneau "Le principe OnMatche" */
.omfr-home-principle-v3{
    display:grid;
    gap:16px;
    padding:22px;
    border-radius:36px;
    color:#281827;
    background:
        radial-gradient(circle at 92% 10%,rgba(255,255,255,.52),transparent 26%),
        radial-gradient(circle at 8% 100%,rgba(79,202,191,.10),transparent 28%),
        linear-gradient(145deg,#fff7ea,#fff5fb 58%,#f2f0ff);
    border:1px solid rgba(181,66,114,.14);
    box-shadow:0 34px 82px rgba(57,31,49,.14);
}
.omfr-principle-head-v3{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
}
.omfr-principle-head-v3 strong{
    display:block;
    color:#281827;
    font-size:1.25rem;
    font-weight:1000;
    letter-spacing:-.02em;
}
.omfr-principle-head-v3 p{
    max-width:610px;
    margin:6px 0 0;
    color:#665b6c;
    font-size:.97rem;
    line-height:1.5;
}
.omfr-principle-head-v3 > span{
    flex:0 0 auto;
    display:inline-flex;
    min-height:34px;
    align-items:center;
    padding:7px 12px;
    border-radius:999px;
    color:#b54272;
    background:rgba(181,66,114,.10);
    border:1px solid rgba(181,66,114,.12);
    font-weight:1000;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.omfr-principle-flow-v3{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);
    gap:12px;
    align-items:stretch;
}
.omfr-principle-card-v3{
    display:grid;
    align-content:start;
    gap:8px;
    min-height:210px;
    padding:18px;
    border-radius:26px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(181,66,114,.10);
    box-shadow:0 18px 38px rgba(57,31,49,.08);
}
.omfr-principle-card-v3 h2,
.omfr-principle-card-v3 h3{
    margin:4px 0 0;
    color:#281827;
    line-height:1.22;
}
.omfr-principle-card-v3 h2{
    font-size:clamp(1.18rem,1.8vw,1.52rem);
}
.omfr-principle-card-v3 h3{
    font-size:1.14rem;
}
.omfr-principle-card-v3 p{
    margin:0;
    color:#665b6c;
    line-height:1.45;
}
.omfr-principle-card-v3 a{
    align-self:end;
    width:max-content;
    color:#b54272;
    font-weight:1000;
    text-decoration:underline;
    text-underline-offset:4px;
}
.omfr-principle-link-v3{
    display:grid;
    place-items:center;
    align-self:center;
    width:46px;
    height:46px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(145deg,#d85b89,#b54272);
    box-shadow:0 14px 28px rgba(181,66,114,.22);
    font-size:1.32rem;
    font-weight:1000;
}
.omfr-principle-match-v3{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border-radius:24px;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(181,66,114,.10);
}
.omfr-principle-match-v3 > span{
    display:grid;
    place-items:center;
    flex:0 0 48px;
    height:48px;
    border-radius:18px;
    background:linear-gradient(145deg,#fff0d8,#f7d9e6);
    font-size:1.4rem;
}
.omfr-principle-match-v3 strong,
.omfr-principle-match-v3 small{
    display:block;
}
.omfr-principle-match-v3 strong{
    color:#281827;
    line-height:1.35;
}
.omfr-principle-match-v3 small{
    margin-top:4px;
    color:#665b6c;
    line-height:1.4;
}
.omfr-cross-universe-v3{
    margin-top:0;
}

/* ----------------------------------------------------------
   2. Explorer : structure latérale inspirée du .com
   ---------------------------------------------------------- */
.omfr-explorer-shell-v3{
    padding-top:30px !important;
    background:
        radial-gradient(circle at 10% 6%, rgba(255,214,128,.12), transparent 24rem),
        radial-gradient(circle at 90% 14%, rgba(210,115,160,.10), transparent 24rem),
        linear-gradient(180deg, rgba(255,252,247,.98), rgba(249,245,251,.98) 55%, rgba(245,249,253,.98) 100%) !important;
}
.omfr-match-alert-explore-v3{
    margin-bottom:24px;
}
.omfr-explorer-layout-v3{
    display:grid;
    grid-template-columns:minmax(286px,330px) minmax(0,1fr);
    gap:26px;
    align-items:start;
}
.omfr-explorer-sidebar-v3{
    position:sticky;
    top:96px;
}
.omfr-explorer-filter-shell-v3{
    display:block;
}
.omfr-explorer-filter-shell-v3 > summary{
    display:none;
}
.omfr-explorer-filter-shell-v3:not([open]) > .omfr-explorer-filter-panel-v3{
    display:block !important;
}
.omfr-explorer-filter-panel-v3{
    display:grid;
    gap:16px;
    padding:20px;
    border-radius:30px;
    color:#281827 !important;
    border-color:rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.08), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,214,128,.08), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(255,247,251,.98)) !important;
    box-shadow:0 22px 52px rgba(57,31,49,.09) !important;
}
.omfr-explorer-filter-panel-v3 .eyebrow{
    margin:0;
    color:#b54272;
}
.omfr-explorer-filter-panel-v3 h1{
    margin:0;
    color:#281827;
    font-size:clamp(1.55rem,2.3vw,2rem);
    line-height:1.08;
}
.omfr-explorer-filter-panel-v3 p{
    margin:0;
    color:#665b6c !important;
}
.omfr-explorer-filter-form-v3{
    display:grid;
    gap:12px;
}
.omfr-explorer-filter-form-v3 label{
    display:grid;
    gap:6px;
    color:#281827 !important;
    font-weight:900;
}
.omfr-filter-divider-v3{
    height:1px;
    margin:2px 0;
    background:linear-gradient(90deg,transparent,rgba(181,66,114,.16),transparent);
}
.omfr-filter-checkbox-v3{
    display:flex !important;
    align-items:center;
    gap:10px;
    padding:12px;
    border-radius:18px;
    background:rgba(255,247,251,.92);
    border:1px solid rgba(181,66,114,.12);
}
.omfr-filter-actions-v3{
    display:grid;
    gap:9px;
    margin-top:2px;
}
.omfr-filter-geo-status-v3{
    display:block;
    padding:11px 12px;
    border-radius:16px;
    color:#665b6c !important;
    background:rgba(255,247,251,.92);
    border:1px solid rgba(181,66,114,.10);
    line-height:1.4;
}
.omfr-explorer-results-v3{
    min-width:0;
}
.omfr-explorer-results-inner-v3{
    display:grid;
    gap:18px;
}
.omfr-explorer-results-head-v3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:0 !important;
    padding:18px 20px !important;
    border-radius:26px !important;
    color:#281827 !important;
    border:1px solid rgba(181,66,114,.12) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.08), transparent 28%),
        linear-gradient(145deg,rgba(255,255,255,.99),rgba(255,247,251,.98)) !important;
    box-shadow:0 20px 46px rgba(57,31,49,.08) !important;
}
.omfr-explorer-results-head-v3 > div{
    display:grid;
    gap:5px;
    color:#281827;
}
.omfr-explorer-results-head-v3 strong{
    font-size:1.18rem;
}
.omfr-explorer-results-head-v3 .muted{
    color:#665b6c !important;
}
.omfr-explorer-moments-v3{
    border-radius:28px !important;
}
.omfr-explorer-listings-grid-v3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
}
.omfr-explorer-listing-card-v3{
    border-radius:30px !important;
}

/* ----------------------------------------------------------
   3. Explorer mobile : filtre compact, annonces prioritaires
   ---------------------------------------------------------- */
@media(max-width:980px){
    .omfr-home-hero-grid-v3{
        grid-template-columns:1fr;
        gap:24px;
    }
    .omfr-explorer-layout-v3{
        grid-template-columns:1fr;
        gap:16px;
    }
    .omfr-explorer-sidebar-v3{
        position:static;
    }
    .omfr-explorer-filter-shell-v3{
        border-radius:26px;
    }
    .omfr-explorer-filter-shell-v3 > summary{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        list-style:none;
        cursor:pointer;
        min-height:76px;
        padding:16px;
        border-radius:26px;
        color:#281827;
        background:
            radial-gradient(circle at 92% 10%, rgba(210,115,160,.08), transparent 28%),
            linear-gradient(145deg,rgba(255,255,255,.99),rgba(255,247,251,.98));
        border:1px solid rgba(181,66,114,.12);
        box-shadow:0 18px 42px rgba(57,31,49,.08);
    }
    .omfr-explorer-filter-shell-v3 > summary::-webkit-details-marker{
        display:none;
    }
    .omfr-explorer-filter-shell-v3 > summary > span:nth-child(2){
        display:grid;
        gap:3px;
        min-width:0;
        flex:1 1 auto;
    }
    .omfr-explorer-filter-shell-v3 > summary strong{
        color:#281827;
        font-size:1rem;
    }
    .omfr-explorer-filter-shell-v3 > summary small{
        color:#665b6c;
        line-height:1.35;
    }
    .omfr-explorer-filter-shell-v3 > summary b{
        flex:0 0 auto;
        padding:7px 10px;
        border-radius:999px;
        color:#b54272;
        background:rgba(181,66,114,.10);
        font-size:.78rem;
        text-transform:uppercase;
        letter-spacing:.05em;
    }
    .omfr-filter-toggle-icon-v3{
        display:grid;
        place-items:center;
        flex:0 0 42px;
        height:42px;
        border-radius:16px;
        color:#fff;
        background:linear-gradient(145deg,#d85b89,#b54272);
        font-size:1.35rem;
        font-weight:1000;
    }
    .omfr-explorer-filter-shell-v3:not([open]) > .omfr-explorer-filter-panel-v3{
        display:none !important;
    }
    .omfr-explorer-filter-panel-v3{
        margin-top:12px;
    }
    .omfr-explorer-listings-grid-v3{
        grid-template-columns:1fr !important;
    }
    .omfr-explorer-results-head-v3{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:760px){
    .omfr-home-hero-v3{
        padding-top:42px;
        padding-bottom:36px;
    }
    .omfr-home-principle-v3{
        padding:16px;
        border-radius:30px;
    }
    .omfr-principle-head-v3{
        display:grid;
        gap:10px;
    }
    .omfr-principle-flow-v3{
        grid-template-columns:1fr;
        gap:12px;
    }
    .omfr-principle-link-v3{
        margin:0 auto;
        transform:rotate(90deg);
    }
    .omfr-principle-card-v3{
        min-height:0;
    }
    .omfr-principle-match-v3{
        align-items:flex-start;
    }
}
@media(min-width:1320px){
    .omfr-explorer-listings-grid-v3{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}


/* ==========================================================================
   LOT 77c — Accueil coloré + format plus compact, esprit OnMatche.com
   - Conserve la nouvelle structure Lot 77.
   - Rétablit les couleurs claires.
   - Réduit nettement la hauteur et l'encombrement du hero.
   ========================================================================== */

/* ----------------------------------------------------------
   1. Hero global : couleurs claires rétablies
   ---------------------------------------------------------- */
.omfr-home-hero.omfr-home-hero-v3,
html[data-theme="dark"] .omfr-home-hero.omfr-home-hero-v3,
html[data-theme="light"] .omfr-home-hero.omfr-home-hero-v3{
    padding-top:38px !important;
    padding-bottom:34px !important;
    min-height:0 !important;
    background:
        radial-gradient(circle at 12% 12%, rgba(255,214,128,.42), transparent 22rem),
        radial-gradient(circle at 86% 18%, rgba(210,115,160,.26), transparent 22rem),
        radial-gradient(circle at 72% 80%, rgba(79,202,191,.16), transparent 19rem),
        linear-gradient(135deg, rgba(255,250,241,.99), rgba(250,238,230,.97) 48%, rgba(240,238,255,.98) 100%) !important;
    color:#281827 !important;
}

/* Décorations pastel */
.omfr-home-hero.omfr-home-hero-v3:before,
html[data-theme="dark"] .omfr-home-hero.omfr-home-hero-v3:before,
html[data-theme="light"] .omfr-home-hero.omfr-home-hero-v3:before{
    width:260px !important;
    height:260px !important;
    right:-96px !important;
    top:-86px !important;
    background:rgba(220,93,141,.18) !important;
}
.omfr-home-hero.omfr-home-hero-v3:after,
html[data-theme="dark"] .omfr-home-hero.omfr-home-hero-v3:after,
html[data-theme="light"] .omfr-home-hero.omfr-home-hero-v3:after{
    width:210px !important;
    height:210px !important;
    left:-78px !important;
    bottom:-110px !important;
    background:rgba(255,196,95,.22) !important;
}

/* ----------------------------------------------------------
   2. Grille plus compacte
   ---------------------------------------------------------- */
.omfr-home-hero-grid-v3{
    grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr) !important;
    gap:28px !important;
    align-items:center !important;
}
.omfr-home-copy-v3{
    display:grid;
    gap:11px !important;
    align-content:center;
}
.omfr-home-copy-v3 .eyebrow,
html[data-theme="dark"] .omfr-home-copy-v3 .eyebrow{
    margin:0 !important;
    color:#b54272 !important;
}
.omfr-home-copy-v3 h1,
html[data-theme="dark"] .omfr-home-copy-v3 h1{
    margin:0 !important;
    max-width:660px !important;
    color:#281827 !important;
    text-shadow:none !important;
    font-size:clamp(2.25rem,3.85vw,3.75rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.05em !important;
}
.omfr-home-copy-v3 .lead,
html[data-theme="dark"] .omfr-home-copy-v3 .lead{
    max-width:660px !important;
    margin:0 !important;
    color:#5d5263 !important;
    font-size:1rem !important;
    line-height:1.54 !important;
}
.omfr-home-actions-v3{
    margin-top:4px !important;
    gap:10px !important;
}
.omfr-home-actions-v3 .btn{
    min-height:46px !important;
    padding:0 18px !important;
    border-radius:999px !important;
}

/* Boutons avec couleurs nettes */
.omfr-home-hero-v3 .omfr-home-actions-v3 .btn:not(.btn-secondary),
html[data-theme="dark"] .omfr-home-hero-v3 .omfr-home-actions-v3 .btn:not(.btn-secondary){
    background:linear-gradient(145deg,#6558eb,#4f46db) !important;
    color:#fff !important;
    box-shadow:0 14px 30px rgba(79,70,219,.20) !important;
}
.omfr-home-hero-v3 .omfr-home-actions-v3 .btn.btn-secondary,
html[data-theme="dark"] .omfr-home-hero-v3 .omfr-home-actions-v3 .btn.btn-secondary{
    color:#4f46db !important;
    background:#fff !important;
    border-color:rgba(79,70,219,.18) !important;
    box-shadow:0 14px 30px rgba(57,31,49,.07) !important;
}

/* ----------------------------------------------------------
   3. Bloc "Le principe OnMatche" compact et coloré
   ---------------------------------------------------------- */
.omfr-home-hero-v3 .omfr-home-principle-v3,
html[data-theme="dark"] .omfr-home-hero-v3 .omfr-home-principle-v3{
    gap:11px !important;
    padding:16px !important;
    border-radius:30px !important;
    color:#281827 !important;
    background:
        radial-gradient(circle at 92% 10%,rgba(255,255,255,.58),transparent 24%),
        radial-gradient(circle at 8% 100%,rgba(79,202,191,.10),transparent 26%),
        linear-gradient(145deg,#fff7ea,#fff5fb 58%,#f2f0ff) !important;
    border-color:rgba(181,66,114,.14) !important;
    box-shadow:0 26px 62px rgba(57,31,49,.13) !important;
}
.omfr-principle-head-v3{
    gap:12px !important;
}
.omfr-principle-head-v3 strong,
html[data-theme="dark"] .omfr-principle-head-v3 strong{
    color:#281827 !important;
    font-size:1.08rem !important;
}
.omfr-principle-head-v3 p,
html[data-theme="dark"] .omfr-principle-head-v3 p{
    margin:3px 0 0 !important;
    color:#665b6c !important;
    font-size:.9rem !important;
    line-height:1.4 !important;
}
.omfr-principle-head-v3 > span,
html[data-theme="dark"] .omfr-principle-head-v3 > span{
    min-height:30px !important;
    padding:6px 10px !important;
    color:#b54272 !important;
    background:rgba(181,66,114,.10) !important;
    border-color:rgba(181,66,114,.12) !important;
    font-size:.72rem !important;
}

/* Phrase + annonce côte à côte mais moins hautes */
.omfr-principle-flow-v3{
    grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) !important;
    gap:10px !important;
}
.omfr-principle-card-v3,
html[data-theme="dark"] .omfr-principle-card-v3{
    min-height:152px !important;
    gap:5px !important;
    padding:13px !important;
    border-radius:22px !important;
    color:#281827 !important;
    background:rgba(255,255,255,.88) !important;
    border-color:rgba(181,66,114,.10) !important;
    box-shadow:0 14px 30px rgba(57,31,49,.07) !important;
}
.omfr-principle-card-v3 h2,
.omfr-principle-card-v3 h3,
html[data-theme="dark"] .omfr-principle-card-v3 h2,
html[data-theme="dark"] .omfr-principle-card-v3 h3{
    margin:2px 0 0 !important;
    color:#281827 !important;
    line-height:1.2 !important;
}
.omfr-principle-card-v3 h2{
    font-size:clamp(1rem,1.45vw,1.22rem) !important;
}
.omfr-principle-card-v3 h3{
    font-size:1rem !important;
}
.omfr-principle-card-v3 p,
html[data-theme="dark"] .omfr-principle-card-v3 p{
    color:#665b6c !important;
    font-size:.86rem !important;
    line-height:1.34 !important;
}
.omfr-principle-card-v3 a,
html[data-theme="dark"] .omfr-principle-card-v3 a{
    color:#b54272 !important;
    font-size:.86rem !important;
}
.omfr-principle-link-v3{
    width:38px !important;
    height:38px !important;
    font-size:1.08rem !important;
    box-shadow:0 10px 22px rgba(181,66,114,.18) !important;
}

/* Badges */
.omfr-home-hero-v3 .omfr-showcase-label,
html[data-theme="dark"] .omfr-home-hero-v3 .omfr-showcase-label{
    min-height:25px !important;
    padding:5px 9px !important;
    font-size:.68rem !important;
    color:#21190d !important;
    background:#e4c978 !important;
}
.omfr-home-hero-v3 .omfr-showcase-label.soft,
html[data-theme="dark"] .omfr-home-hero-v3 .omfr-showcase-label.soft{
    color:#fff !important;
    background:linear-gradient(145deg,#626c83,#475066) !important;
}

/* Cartouche "OnMatche les met en évidence" plus compact */
.omfr-principle-match-v3,
html[data-theme="dark"] .omfr-principle-match-v3{
    gap:11px !important;
    padding:12px 13px !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.72) !important;
    border-color:rgba(181,66,114,.10) !important;
}
.omfr-principle-match-v3 > span{
    flex-basis:40px !important;
    height:40px !important;
    border-radius:15px !important;
    font-size:1.16rem !important;
}
.omfr-principle-match-v3 strong,
html[data-theme="dark"] .omfr-principle-match-v3 strong{
    color:#281827 !important;
    font-size:.9rem !important;
    line-height:1.3 !important;
}
.omfr-principle-match-v3 small,
html[data-theme="dark"] .omfr-principle-match-v3 small{
    margin-top:2px !important;
    color:#665b6c !important;
    font-size:.82rem !important;
    line-height:1.34 !important;
}

/* Bandeau OnMatche Rencontre plus bas et plus compact */
.omfr-cross-universe-v3,
html[data-theme="dark"] .omfr-cross-universe-v3{
    gap:11px !important;
    min-height:58px !important;
    padding:11px 14px !important;
    border-radius:20px !important;
    background:linear-gradient(135deg,rgba(183,79,104,.95),rgba(225,99,126,.95)) !important;
    color:#fff !important;
}
.omfr-cross-universe-v3 > span{
    flex-basis:40px !important;
    height:40px !important;
    font-size:1.14rem !important;
}
.omfr-cross-universe-v3 strong,
.omfr-cross-universe-v3 small,
html[data-theme="dark"] .omfr-cross-universe-v3 strong,
html[data-theme="dark"] .omfr-cross-universe-v3 small{
    color:#fff !important;
}
.omfr-cross-universe-v3 strong{
    font-size:.95rem !important;
}
.omfr-cross-universe-v3 small{
    font-size:.82rem !important;
}

/* ----------------------------------------------------------
   4. Responsive
   ---------------------------------------------------------- */
@media(max-width:980px){
    .omfr-home-hero-grid-v3{
        grid-template-columns:1fr !important;
        gap:18px !important;
    }
    .omfr-home-copy-v3 h1{
        max-width:760px !important;
    }
}
@media(max-width:760px){
    .omfr-home-hero.omfr-home-hero-v3{
        padding-top:30px !important;
        padding-bottom:28px !important;
    }
    .omfr-home-copy-v3 h1{
        font-size:clamp(1.95rem,8vw,2.8rem) !important;
    }
    .omfr-home-copy-v3 .lead{
        font-size:.96rem !important;
    }
    .omfr-home-principle-v3{
        padding:14px !important;
        border-radius:26px !important;
    }
    .omfr-principle-head-v3{
        display:grid !important;
    }
    .omfr-principle-flow-v3{
        grid-template-columns:1fr !important;
    }
    .omfr-principle-link-v3{
        margin:0 auto !important;
        transform:rotate(90deg);
    }
    .omfr-principle-card-v3{
        min-height:0 !important;
    }
}


/* ==========================================================================
   LOT 77d — Explorer : recherche visible à gauche des annonces
   Le panneau était bien présent dans le code, mais son <details> restait
   fermé. On le force visible sur ordinateur, et on garde un comportement
   plus compact / repliable sur mobile.
   ========================================================================== */

/* Ordinateur : sidebar de recherche affichée à gauche */
@media (min-width:981px){
    .omfr-explorer-filter-shell-v4{
        display:block !important;
    }
    .omfr-explorer-filter-shell-v4 > summary{
        display:none !important;
    }
    .omfr-explorer-filter-shell-v4 > .omfr-explorer-filter-panel-v3{
        display:grid !important;
    }
}

/* Mobile / tablette : le volet redevient repliable visuellement */
@media (max-width:980px){
    .omfr-explorer-filter-shell-v4{
        display:block !important;
    }
    .omfr-explorer-filter-shell-v4 > summary{
        display:flex !important;
    }
    .omfr-explorer-filter-shell-v4:not([open]) > .omfr-explorer-filter-panel-v3{
        display:none !important;
    }
}


/* ==========================================================================
   LOT 79 — Accueil OnMatche.fr plus léger, plus aéré, plus proche du rythme .com
   Objectif :
   - garder le hero compact déjà validé ;
   - alléger fortement la section annonces ;
   - transformer "Comment ça marche" en section claire à cartes ;
   - rendre le bloc final moins massif.
   ========================================================================== */

/* ----------------------------------------------------------
   1. Section annonces : plus légère et plus élégante
   ---------------------------------------------------------- */
.omfr-home-listings-strip,
html[data-theme="dark"] .omfr-home-listings-strip,
html[data-theme="light"] .omfr-home-listings-strip{
    padding-top:42px !important;
    padding-bottom:48px !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.06), transparent 24rem),
        linear-gradient(180deg, rgba(252,250,255,.98), rgba(255,251,247,.98)) !important;
}

.omfr-home-listings-head{
    align-items:flex-end !important;
    margin-bottom:18px !important;
}
.omfr-home-listings-head .eyebrow{
    margin-bottom:7px !important;
}
.omfr-home-listings-head h2{
    margin:0 !important;
    color:#281827 !important;
    font-size:clamp(1.72rem,2.3vw,2.35rem) !important;
    line-height:1.12 !important;
    letter-spacing:-.03em !important;
}

.omfr-home-listings-carousel{
    padding:0 !important;
    overflow:hidden !important;
}
.omfr-home-listings-track{
    gap:16px !important;
    align-items:stretch !important;
}

.omfr-home-listing-card,
html[data-theme="dark"] .omfr-home-listing-card,
html[data-theme="light"] .omfr-home-listing-card{
    flex:0 0 clamp(250px, 28vw, 292px) !important;
    min-height:0 !important;
    border-radius:24px !important;
    overflow:hidden !important;
    color:#281827 !important;
    background:
        radial-gradient(circle at 92% 8%, rgba(210,115,160,.055), transparent 26%),
        linear-gradient(145deg,#ffffff,#fff9fb) !important;
    border:1px solid rgba(181,66,114,.12) !important;
    box-shadow:0 18px 42px rgba(57,31,49,.075) !important;
    transform:none !important;
}
.omfr-home-listing-card:hover{
    transform:translateY(-3px) !important;
    box-shadow:0 24px 50px rgba(57,31,49,.11) !important;
}

.omfr-home-listing-media{
    height:158px !important;
    min-height:158px !important;
    border-bottom:1px solid rgba(181,66,114,.08) !important;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,214,128,.14), transparent 30%),
        linear-gradient(145deg,#f8f5ff,#fff7ef) !important;
}
.omfr-home-listing-media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}
.omfr-home-listing-media > span{
    font-size:2.6rem !important;
}

.omfr-home-listing-copy{
    display:grid !important;
    gap:7px !important;
    padding:13px 14px 15px !important;
    background:transparent !important;
}
.omfr-home-listing-copy small{
    display:inline-flex !important;
    width:max-content !important;
    min-height:23px !important;
    align-items:center !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    color:#b54272 !important;
    background:rgba(181,66,114,.10) !important;
    font-weight:1000 !important;
    font-size:.68rem !important;
    letter-spacing:.02em !important;
}
.omfr-home-listing-copy h3{
    margin:0 !important;
    color:#281827 !important;
    font-size:.98rem !important;
    line-height:1.28 !important;
    letter-spacing:-.01em !important;
}
.omfr-home-listing-copy p{
    margin:0 !important;
    color:#6b6070 !important;
    font-size:.85rem !important;
    line-height:1.35 !important;
}
.omfr-home-listing-copy strong{
    margin-top:1px !important;
    color:#b54272 !important;
    font-size:.82rem !important;
    font-weight:1000 !important;
}

/* Contrôles carousel plus discrets */
.omfr-home-listings-controls button{
    width:40px !important;
    height:40px !important;
    color:#b54272 !important;
    background:#fff !important;
    border:1px solid rgba(181,66,114,.16) !important;
    box-shadow:0 12px 26px rgba(57,31,49,.07) !important;
}

/* ----------------------------------------------------------
   2. Comment ça marche : clair, respirant, proche du .com
   ---------------------------------------------------------- */
.omfr-how-compact-section,
html[data-theme="dark"] .omfr-how-compact-section,
html[data-theme="light"] .omfr-how-compact-section{
    padding-top:42px !important;
    padding-bottom:52px !important;
    background:
        radial-gradient(circle at 8% 12%, rgba(255,214,128,.07), transparent 22rem),
        linear-gradient(180deg,#fffaf7,#fffdfc) !important;
}

.omfr-how-compact-card,
html[data-theme="dark"] .omfr-how-compact-card,
html[data-theme="light"] .omfr-how-compact-card{
    display:block !important;
    padding:0 !important;
    border:none !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.omfr-how-title{
    margin-bottom:18px !important;
    max-width:700px !important;
}
.omfr-how-title .eyebrow{
    margin-bottom:7px !important;
}
.omfr-how-title h2{
    margin:0 !important;
    color:#281827 !important;
    font-size:clamp(1.78rem,2.5vw,2.45rem) !important;
    line-height:1.12 !important;
    letter-spacing:-.03em !important;
}

.omfr-how-steps{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:16px !important;
}
.omfr-how-steps article,
html[data-theme="dark"] .omfr-how-steps article,
html[data-theme="light"] .omfr-how-steps article{
    display:grid !important;
    align-content:start !important;
    gap:8px !important;
    min-height:142px !important;
    padding:18px !important;
    border-radius:22px !important;
    color:#281827 !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.045), transparent 26%),
        linear-gradient(145deg,#ffffff,#fff9fb) !important;
    border:1px solid rgba(181,66,114,.12) !important;
    box-shadow:0 16px 38px rgba(57,31,49,.06) !important;
}
.omfr-how-steps article span{
    width:32px !important;
    height:32px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:999px !important;
    color:#281827 !important;
    background:linear-gradient(145deg,#f1c963,#e5b84f) !important;
    font-size:.86rem !important;
    font-weight:1000 !important;
}
.omfr-how-steps article strong{
    color:#281827 !important;
    font-size:1rem !important;
    line-height:1.25 !important;
}
.omfr-how-steps article small{
    color:#6b6070 !important;
    font-size:.86rem !important;
    line-height:1.42 !important;
}

/* ----------------------------------------------------------
   3. Bloc "Deux sites" : moins massif
   ---------------------------------------------------------- */
.omfr-dual-section-compact,
html[data-theme="dark"] .omfr-dual-section-compact,
html[data-theme="light"] .omfr-dual-section-compact{
    padding-top:28px !important;
    padding-bottom:58px !important;
    background:
        radial-gradient(circle at 92% 20%, rgba(181,66,114,.06), transparent 24rem),
        linear-gradient(180deg,#fffdfc,#fbf7ff) !important;
}

.omfr-dual-card,
html[data-theme="dark"] .omfr-dual-card,
html[data-theme="light"] .omfr-dual-card{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    padding:24px 26px !important;
    border-radius:30px !important;
    color:#281827 !important;
    background:
        radial-gradient(circle at 90% 12%, rgba(210,115,160,.10), transparent 26%),
        linear-gradient(145deg,#ffffff,#fff5fa 56%,#f6f2ff) !important;
    border:1px solid rgba(181,66,114,.12) !important;
    box-shadow:0 22px 54px rgba(57,31,49,.09) !important;
}
.omfr-dual-card h2{
    color:#281827 !important;
    font-size:clamp(1.35rem,2vw,1.82rem) !important;
    line-height:1.2 !important;
    margin:6px 0 8px !important;
}
.omfr-dual-card p{
    color:#6b6070 !important;
    margin:0 !important;
    line-height:1.48 !important;
    max-width:800px !important;
}
.omfr-dual-actions{
    flex:0 0 auto !important;
}

/* ----------------------------------------------------------
   4. Responsive
   ---------------------------------------------------------- */
@media(max-width:1080px){
    .omfr-how-steps{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .omfr-dual-card{
        display:grid !important;
        gap:18px !important;
    }
}
@media(max-width:760px){
    .omfr-home-listings-strip{
        padding-top:34px !important;
        padding-bottom:38px !important;
    }
    .omfr-home-listing-card{
        flex-basis:248px !important;
    }
    .omfr-home-listing-media{
        height:148px !important;
        min-height:148px !important;
    }
    .omfr-how-compact-section{
        padding-top:34px !important;
        padding-bottom:40px !important;
    }
    .omfr-how-steps{
        grid-template-columns:1fr !important;
    }
    .omfr-how-steps article{
        min-height:0 !important;
    }
    .omfr-dual-section-compact{
        padding-bottom:42px !important;
    }
    .omfr-dual-card{
        padding:20px !important;
        border-radius:26px !important;
    }
}


/* ==========================================================================
   LOT 80 — Accueil : GIF concept métro à la place du bloc "Le principe OnMatche"
   ========================================================================== */

.omfr-home-concept-visual-v4{
    display:grid;
    gap:12px;
    padding:15px;
    border-radius:30px;
    color:#281827;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.10), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,214,128,.10), transparent 30%),
        linear-gradient(145deg,#ffffff,#fff7fb 56%,#f6f2ff);
    border:1px solid rgba(181,66,114,.14);
    box-shadow:0 28px 68px rgba(57,31,49,.13);
}

.omfr-concept-visual-head-v4{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:2px 2px 0;
}
.omfr-concept-visual-head-v4 strong{
    display:block;
    color:#281827;
    font-size:1.08rem;
    font-weight:1000;
    letter-spacing:-.02em;
}
.omfr-concept-visual-head-v4 p{
    margin:4px 0 0;
    color:#665b6c;
    font-size:.89rem;
    line-height:1.42;
    max-width:640px;
}
.omfr-concept-visual-head-v4 > span{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:6px 10px;
    border-radius:999px;
    color:#b54272;
    background:rgba(181,66,114,.10);
    border:1px solid rgba(181,66,114,.12);
    font-size:.72rem;
    font-weight:1000;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.omfr-concept-gif-frame-v4{
    margin:0;
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(181,66,114,.12);
    box-shadow:0 18px 42px rgba(57,31,49,.10);
}
.omfr-concept-gif-frame-v4 img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover;
}

.omfr-concept-visual-foot-v4{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:1px 2px 0;
}
.omfr-concept-visual-foot-v4 span{
    color:#5d5263;
    font-size:.88rem;
    font-weight:850;
}
.omfr-concept-visual-foot-v4 a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(145deg,#d85b89,#b54272);
    box-shadow:0 14px 30px rgba(181,66,114,.20);
    font-size:.84rem;
    font-weight:1000;
    text-decoration:none;
}

@media(max-width:980px){
    .omfr-home-concept-visual-v4{
        padding:14px;
    }
}
@media(max-width:760px){
    .omfr-concept-visual-head-v4{
        display:grid;
        gap:8px;
    }
    .omfr-concept-visual-foot-v4{
        display:grid;
        justify-items:start;
    }
    .omfr-concept-visual-foot-v4 a{
        width:100%;
    }
}


/* LOT 81 — GIF concept v2 : dernière vignette pédagogique, badge retiré */
.omfr-concept-visual-head-v4{justify-content:flex-start !important;}
.omfr-concept-visual-head-v4 > div{max-width:100% !important;}
.omfr-concept-gif-frame-v4 img{background:#fff;}


/* ==========================================================================
   LOT 83 — Corrections mobile + annonces plus claires
   1. Header non connecté : plus aucun débordement horizontal.
   2. Bloc "Deux sites, une même idée" : plus de débordement mobile.
   3. Annonces de profil : titre / description avant images sur téléphone.
   4. Explorer mobile : filtres fermés par défaut via search.php.
   5. Annonces intégrées : design clair renforcé + numéro d'annonce.
   ========================================================================== */

/* Sécurité générale contre les débordements sur mobile */
@media (max-width: 900px){
    html, body{
        max-width:100%;
        overflow-x:hidden;
    }

    .site-header{
        width:calc(100% - 12px) !important;
        max-width:calc(100% - 12px) !important;
        margin-left:6px !important;
        margin-right:6px !important;
        box-sizing:border-box !important;
        overflow:visible !important;
    }

    .site-header .container.header-inner{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        min-height:64px !important;
        gap:8px !important;
        padding-left:8px !important;
        padding-right:8px !important;
        box-sizing:border-box !important;
    }

    .site-header .logo{
        min-width:0 !important;
        max-width:calc(100% - 54px) !important;
        gap:8px !important;
        flex:1 1 auto !important;
    }

    .site-header .logo-mark{
        width:40px !important;
        height:40px !important;
        flex:0 0 40px !important;
        border-radius:14px !important;
        font-size:.86rem !important;
    }

    .site-header .logo > span:last-child{
        min-width:0 !important;
        display:block !important;
    }

    .site-header .logo strong{
        display:block !important;
        font-size:.92rem !important;
        line-height:1.1 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .site-header .logo small{
        display:block !important;
        max-width:150px !important;
        font-size:.68rem !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .site-header .nav-toggle{
        width:42px !important;
        height:42px !important;
        flex:0 0 42px !important;
        padding:0 !important;
        font-size:1.15rem !important;
        border-radius:14px !important;
    }

    .main-nav{
        left:0 !important;
        right:0 !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .main-nav.open{
        left:0 !important;
        right:0 !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        overflow-x:hidden !important;
    }

    .main-nav.open a,
    .main-nav.open button,
    .main-nav.open .nav-rencontre-switch,
    .main-nav.open .theme-toggle{
        max-width:100% !important;
        box-sizing:border-box !important;
    }
}

/* Bloc "Deux sites, une même idée" : sécurisation mobile */
@media (max-width: 760px){
    .omfr-dual-section-compact,
    .omfr-dual-section-compact .container,
    .omfr-dual-card,
    .omfr-dual-card > div,
    .omfr-dual-actions{
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .omfr-dual-card{
        overflow:hidden !important;
        padding:18px !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .omfr-dual-card h2,
    .omfr-dual-card p{
        max-width:100% !important;
        overflow-wrap:anywhere !important;
        word-break:normal !important;
    }

    .omfr-dual-actions{
        width:100% !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .omfr-dual-actions .btn{
        width:100% !important;
        max-width:100% !important;
    }
}

/* Numéros d'annonces dans le profil */
.omfr-profile-story-entry-meta-badges{
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}

.omfr-profile-story-entry-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:7px 12px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(145deg,#6157ff,#d85b86);
    border:1px solid rgba(97,87,255,.18);
    box-shadow:0 12px 24px rgba(97,87,255,.16);
    font-weight:1000;
    font-size:.82rem;
    white-space:nowrap;
}

/* Annonces de profil : rendu clair, y compris si le reste du site est en thème sombre */
.omfr-profile-story-entry,
html[data-theme="dark"] .omfr-profile-story-entry,
html[data-theme="light"] .omfr-profile-story-entry{
    color:#281827 !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(210,115,160,.07), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,214,128,.08), transparent 30%),
        linear-gradient(145deg,#ffffff,#fff8fb 58%,#f6f2ff) !important;
    border-color:rgba(181,66,114,.14) !important;
    box-shadow:0 24px 58px rgba(57,31,49,.10) !important;
}

.omfr-profile-story-entry-author,
html[data-theme="dark"] .omfr-profile-story-entry-author,
html[data-theme="light"] .omfr-profile-story-entry-author{
    border-bottom-color:rgba(181,66,114,.12) !important;
}

.omfr-profile-story-entry-author strong,
.omfr-profile-story-entry-copy h3,
.omfr-profile-story-entry-description,
.omfr-profile-story-entry-place,
html[data-theme="dark"] .omfr-profile-story-entry-author strong,
html[data-theme="dark"] .omfr-profile-story-entry-copy h3,
html[data-theme="dark"] .omfr-profile-story-entry-description,
html[data-theme="dark"] .omfr-profile-story-entry-place{
    color:#281827 !important;
}

.omfr-profile-story-entry-author small,
html[data-theme="dark"] .omfr-profile-story-entry-author small{
    color:#725f6b !important;
}

.omfr-profile-story-entry-description,
html[data-theme="dark"] .omfr-profile-story-entry-description{
    color:#4f414c !important;
}

.omfr-profile-story-entry-type,
html[data-theme="dark"] .omfr-profile-story-entry-type,
html[data-theme="light"] .omfr-profile-story-entry-type{
    color:#a83b67 !important;
    background:#fff1f6 !important;
    border-color:rgba(181,66,114,.14) !important;
}

.omfr-profile-story-entry-gallery-empty,
html[data-theme="dark"] .omfr-profile-story-entry-gallery-empty{
    color:#705565 !important;
    background:rgba(255,255,255,.95) !important;
    border-color:rgba(181,66,114,.22) !important;
}

/* Mobile : titre et contenu AVANT les images */
@media (max-width: 760px){
    .omfr-profile-story-entry{
        display:grid !important;
        gap:0 !important;
        padding:15px !important;
    }

    .omfr-profile-story-entry-author{
        order:1;
    }

    .omfr-profile-story-focused-banner{
        order:2;
    }

    .omfr-profile-story-entry-content,
    .omfr-profile-story-entry-copy{
        display:contents !important;
    }

    .omfr-profile-story-entry-copy h3{
        order:3;
        margin-top:2px !important;
        margin-bottom:10px !important;
        font-size:1.36rem !important;
        line-height:1.18 !important;
    }

    .omfr-profile-story-entry-place{
        order:4;
        margin-bottom:10px !important;
    }

    .omfr-profile-story-entry-description{
        order:5;
        margin-bottom:12px !important;
        font-size:.96rem !important;
        line-height:1.55 !important;
    }

    .omfr-profile-story-entry-moment{
        order:6;
        margin-bottom:14px !important;
    }

    .omfr-profile-story-entry-gallery{
        order:7;
        margin:0 0 15px !important;
    }

    .omfr-profile-story-entry-footer{
        order:8;
    }

    .omfr-profile-story-entry-meta-badges{
        grid-column:1 / -1;
        width:100%;
        margin-left:0 !important;
        margin-top:6px;
        justify-content:flex-start !important;
    }

    .omfr-profile-story-entry-number,
    .omfr-profile-story-entry-type{
        min-height:32px !important;
        padding:6px 10px !important;
        font-size:.76rem !important;
    }
}


/* ==========================================================================
   LOT 84 — Annonces plus bleutées + phrase lisible + Explorer desktop corrigé
   + titre / texte au-dessus des photos sur ordinateur et mobile.
   ========================================================================== */

/* Suppression visuelle du bandeau disparu du PHP */
.omfr-profile-story-focused-banner{
    display:none !important;
}

/* Cartes d'annonces : moins rose, plus bleu / lavande clair */
.omfr-profile-story-entry,
html[data-theme="dark"] .omfr-profile-story-entry,
html[data-theme="light"] .omfr-profile-story-entry{
    color:#152540 !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(98,132,231,.12), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(91,204,213,.10), transparent 30%),
        linear-gradient(145deg,#ffffff 0%,#f4f8ff 54%,#eef5ff 100%) !important;
    border-color:rgba(84,112,204,.18) !important;
    box-shadow:0 24px 58px rgba(30,54,101,.12) !important;
}

.omfr-profile-story-entry.is-focused-listing,
html[data-theme="dark"] .omfr-profile-story-entry.is-focused-listing,
html[data-theme="light"] .omfr-profile-story-entry.is-focused-listing{
    outline-color:rgba(116,154,235,.78) !important;
    border-color:rgba(84,112,204,.26) !important;
    box-shadow:0 34px 84px rgba(50,84,160,.20) !important;
}

.omfr-profile-story-entry-author,
html[data-theme="dark"] .omfr-profile-story-entry-author,
html[data-theme="light"] .omfr-profile-story-entry-author{
    border-bottom-color:rgba(84,112,204,.14) !important;
}

.omfr-profile-story-entry-author strong,
.omfr-profile-story-entry-copy h3,
.omfr-profile-story-entry-place,
html[data-theme="dark"] .omfr-profile-story-entry-author strong,
html[data-theme="dark"] .omfr-profile-story-entry-copy h3,
html[data-theme="dark"] .omfr-profile-story-entry-place,
html[data-theme="light"] .omfr-profile-story-entry-author strong,
html[data-theme="light"] .omfr-profile-story-entry-copy h3,
html[data-theme="light"] .omfr-profile-story-entry-place{
    color:#152540 !important;
}

.omfr-profile-story-entry-description,
html[data-theme="dark"] .omfr-profile-story-entry-description,
html[data-theme="light"] .omfr-profile-story-entry-description{
    color:#334a70 !important;
}

.omfr-profile-story-entry-author small,
html[data-theme="dark"] .omfr-profile-story-entry-author small,
html[data-theme="light"] .omfr-profile-story-entry-author small{
    color:#607190 !important;
}

/* Badges annonce / type plus bleus */
.omfr-profile-story-entry-number,
html[data-theme="dark"] .omfr-profile-story-entry-number,
html[data-theme="light"] .omfr-profile-story-entry-number{
    color:#fff !important;
    background:linear-gradient(145deg,#5977e8,#6b57d9) !important;
    border-color:rgba(74,104,210,.20) !important;
    box-shadow:0 12px 24px rgba(74,104,210,.18) !important;
}

.omfr-profile-story-entry-type,
html[data-theme="dark"] .omfr-profile-story-entry-type,
html[data-theme="light"] .omfr-profile-story-entry-type{
    color:#3557a6 !important;
    background:#eef4ff !important;
    border-color:rgba(84,112,204,.18) !important;
}

/* Prix / pied */
.omfr-profile-story-entry-footer strong,
html[data-theme="dark"] .omfr-profile-story-entry-footer strong,
html[data-theme="light"] .omfr-profile-story-entry-footer strong{
    color:#3557a6 !important;
    background:#eef4ff !important;
    border-color:rgba(84,112,204,.18) !important;
}

/* Phrase de l'annonce : beaucoup plus lisible */
.omfr-profile-story-entry-moment,
.omfr-profile-story-entry-moment *,
html[data-theme="dark"] .omfr-profile-story-entry-moment,
html[data-theme="dark"] .omfr-profile-story-entry-moment *,
html[data-theme="light"] .omfr-profile-story-entry-moment,
html[data-theme="light"] .omfr-profile-story-entry-moment *{
    color:#214170 !important;
    opacity:1 !important;
}

.omfr-profile-story-entry-moment,
html[data-theme="dark"] .omfr-profile-story-entry-moment,
html[data-theme="light"] .omfr-profile-story-entry-moment{
    background:
        radial-gradient(circle at 90% 20%, rgba(99,132,231,.12), transparent 28%),
        linear-gradient(135deg,#edf4ff,#f3f7ff 62%,#ecfbff) !important;
    border-color:rgba(84,112,204,.20) !important;
    box-shadow:0 14px 32px rgba(50,84,160,.08) !important;
    font-weight:1000 !important;
}

/* Galeries alignées à la nouvelle ambiance */
.omfr-profile-story-entry-gallery-item,
html[data-theme="dark"] .omfr-profile-story-entry-gallery-item,
html[data-theme="light"] .omfr-profile-story-entry-gallery-item{
    border-color:rgba(84,112,204,.16) !important;
    box-shadow:0 18px 44px rgba(30,54,101,.12) !important;
}

.omfr-profile-story-entry-gallery-empty,
html[data-theme="dark"] .omfr-profile-story-entry-gallery-empty,
html[data-theme="light"] .omfr-profile-story-entry-gallery-empty{
    color:#53698d !important;
    background:rgba(247,250,255,.98) !important;
    border-color:rgba(84,112,204,.24) !important;
}

/* Titre, lieu, description et phrase au-dessus des photos : espacement commun */
.omfr-profile-story-entry-content{
    margin-bottom:18px !important;
}

.omfr-profile-story-entry-gallery{
    margin-top:0 !important;
}

/* Explorer desktop : recherche à gauche visible en permanence */
@media (min-width:981px){
    .omfr-explorer-filter-shell-v4{
        display:block !important;
    }

    .omfr-explorer-filter-shell-v4 > summary{
        display:none !important;
    }

    .omfr-explorer-filter-shell-v4 > .omfr-explorer-filter-panel-v3{
        display:grid !important;
    }
}

/* Mobile : toujours replié au chargement */
@media (max-width:980px){
    .omfr-explorer-filter-shell-v4:not([open]) > .omfr-explorer-filter-panel-v3{
        display:none !important;
    }
}

/* Mobile : layout désormais naturel puisque le HTML place déjà le texte avant les images */
@media (max-width:760px){
    .omfr-profile-story-entry-content{
        margin-bottom:14px !important;
    }
}


/* ==========================================================================
   LOT 85 — Profil allégé + "Deux sites, une même idée" plus compact sur mobile
   ========================================================================== */

/* Profil : lorsqu'il ne reste que le compteur d'annonces */
.omfr-profile-story-feed-head-count-only{
    justify-content:flex-start !important;
    align-items:center !important;
    margin-bottom:4px !important;
}

.omfr-profile-story-feed-head-count-only .omfr-profile-story-count{
    margin:0 !important;
}

/* Profil : si le bouton modifier est seul, il reste propre */
.profile-summary-actions:has(.btn:only-child){
    justify-content:flex-start;
}

/* Mobile : compteur bien placé et discret */
@media (max-width:760px){
    .omfr-profile-story-feed-head-count-only{
        margin-bottom:0 !important;
    }

    .omfr-profile-story-feed-head-count-only .omfr-profile-story-count{
        min-width:0 !important;
        min-height:36px !important;
        padding:7px 12px !important;
        font-size:.86rem !important;
    }
}

/* --------------------------------------------------------------------------
   Accueil mobile : "Deux sites, une même idée"
   Objectif : éviter le grand bloc trop vertical qui s'étire de haut en bas.
   -------------------------------------------------------------------------- */
@media (max-width:760px){
    .omfr-dual-section-compact{
        padding-top:18px !important;
        padding-bottom:34px !important;
    }

    .omfr-dual-card{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        padding:16px !important;
        border-radius:24px !important;
        text-align:left !important;
    }

    .omfr-dual-card .eyebrow{
        display:inline-flex !important;
        margin-bottom:4px !important;
        font-size:.68rem !important;
        letter-spacing:.06em !important;
    }

    .omfr-dual-card h2{
        margin:4px 0 6px !important;
        font-size:1.18rem !important;
        line-height:1.22 !important;
        letter-spacing:-.02em !important;
    }

    .omfr-dual-card p{
        margin:0 !important;
        font-size:.92rem !important;
        line-height:1.42 !important;
    }

    .omfr-dual-actions{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
        margin-top:2px !important;
    }

    .omfr-dual-actions .btn{
        width:100% !important;
        min-width:0 !important;
        min-height:42px !important;
        padding:10px 10px !important;
        font-size:.82rem !important;
        white-space:normal !important;
        line-height:1.2 !important;
    }
}

@media (max-width:420px){
    .omfr-dual-actions{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================================
   LOT 86 — Correction définitive du bloc "Deux sites, une même idée" sur mobile
   Le précédent correctif était battu par les variantes html[data-theme=...].
   Ici on réécrit explicitement les sélecteurs thème clair / sombre.
   ========================================================================== */

@media (max-width:760px){
    .omfr-dual-card,
    html[data-theme="dark"] .omfr-dual-card,
    html[data-theme="light"] .omfr-dual-card{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) !important;
        align-items:start !important;
        justify-content:stretch !important;
        gap:12px !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        padding:16px !important;
        border-radius:24px !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }

    .omfr-dual-card > div,
    html[data-theme="dark"] .omfr-dual-card > div,
    html[data-theme="light"] .omfr-dual-card > div{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        flex:none !important;
        box-sizing:border-box !important;
    }

    .omfr-dual-card .eyebrow,
    html[data-theme="dark"] .omfr-dual-card .eyebrow,
    html[data-theme="light"] .omfr-dual-card .eyebrow{
        display:inline-flex !important;
        max-width:100% !important;
        margin-bottom:4px !important;
        white-space:normal !important;
        font-size:.68rem !important;
        letter-spacing:.06em !important;
    }

    .omfr-dual-card h2,
    html[data-theme="dark"] .omfr-dual-card h2,
    html[data-theme="light"] .omfr-dual-card h2{
        width:100% !important;
        max-width:100% !important;
        margin:4px 0 6px !important;
        font-size:1.18rem !important;
        line-height:1.22 !important;
        letter-spacing:-.02em !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
        hyphens:auto !important;
    }

    .omfr-dual-card p,
    html[data-theme="dark"] .omfr-dual-card p,
    html[data-theme="light"] .omfr-dual-card p{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        font-size:.92rem !important;
        line-height:1.42 !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
        hyphens:auto !important;
    }

    .omfr-dual-actions,
    html[data-theme="dark"] .omfr-dual-actions,
    html[data-theme="light"] .omfr-dual-actions{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
        margin-top:2px !important;
        flex:none !important;
        box-sizing:border-box !important;
    }

    .omfr-dual-actions .btn,
    html[data-theme="dark"] .omfr-dual-actions .btn,
    html[data-theme="light"] .omfr-dual-actions .btn{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        min-height:42px !important;
        padding:10px 10px !important;
        font-size:.82rem !important;
        line-height:1.2 !important;
        white-space:normal !important;
        box-sizing:border-box !important;
    }
}

@media (max-width:420px){
    .omfr-dual-actions,
    html[data-theme="dark"] .omfr-dual-actions,
    html[data-theme="light"] .omfr-dual-actions{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================================
   LOT 87 — Page publique mobile :
   Masquer le bloc "Deux sites, une même idée" sur téléphone.
   Il reste visible sur ordinateur.
   ========================================================================== */
@media (max-width:760px){
    .omfr-dual-section-compact,
    html[data-theme="dark"] .omfr-dual-section-compact,
    html[data-theme="light"] .omfr-dual-section-compact{
        display:none !important;
    }
}


/* ==========================================================================
   LOT 88 — Géolocalisation active mobile + ordinateur
   ========================================================================== */

/* On distingue la recherche locale "Explorer autour de moi" du partage de position active. */
.live-location-card{
    display:grid;
    gap:14px;
    padding:18px;
    border-radius:28px;
    color:#172033;
    background:
        radial-gradient(circle at 92% 12%, rgba(91,120,232,.12), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(46,196,182,.10), transparent 30%),
        linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,247,255,.98));
    border:1px solid rgba(84,112,204,.16);
    box-shadow:0 22px 54px rgba(30,54,101,.10);
}

.live-location-title{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.live-location-title > span{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:16px;
    background:linear-gradient(145deg,#5977e8,#2ebbb2);
    color:#fff;
    font-size:1.3rem;
    box-shadow:0 12px 24px rgba(84,112,204,.20);
}

.live-location-title strong{
    display:block;
    color:#172033;
    font-size:1.06rem;
    line-height:1.25;
    font-weight:1000;
}

.live-location-title small{
    display:block;
    margin-top:3px;
    color:#607190;
    line-height:1.4;
    font-weight:800;
}

.live-location-card form{
    display:grid;
    gap:12px;
    margin:0;
}

.live-location-radius-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.live-location-radius-choice{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 12px;
    border:1px solid rgba(84,112,204,.18);
    border-radius:999px;
    color:#3557a6;
    background:#eef4ff;
    font:inherit;
    font-size:.88rem;
    font-weight:1000;
    cursor:pointer;
}

.live-location-radius-choice.is-active{
    color:#fff;
    background:linear-gradient(145deg,#5977e8,#6b57d9);
    border-color:rgba(74,104,210,.28);
    box-shadow:0 12px 24px rgba(74,104,210,.18);
}

.live-location-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}

.live-location-share-btn{
    min-width:240px;
}

.live-location-status{
    display:block;
    color:#607190;
    line-height:1.42;
    font-weight:800;
}

.live-location-clear-form{
    margin:0;
}

.desktop-live-location-card{
    margin:18px 0 20px;
}

@media (min-width:821px){
    .mobile-live-location-card{
        display:none !important;
    }
}

@media (max-width:820px){
    .desktop-live-location-card{
        display:none !important;
    }

    .mobile-live-location-card{
        padding:16px !important;
        border-radius:26px !important;
    }

    .live-location-title > span{
        width:40px;
        height:40px;
        flex-basis:40px;
        border-radius:15px;
    }

    .live-location-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .live-location-actions .btn,
    .live-location-clear-form .btn{
        width:100%;
    }

    .live-location-share-btn{
        min-width:0;
    }
}

/* Thème sombre : garder un bloc lisible et volontairement contrasté. */
html[data-theme="dark"] .live-location-card{
    color:#f7f8ff !important;
    background:
        radial-gradient(circle at 92% 12%, rgba(110,142,255,.18), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(46,196,182,.12), transparent 30%),
        linear-gradient(145deg,#141a26,#182338) !important;
    border-color:rgba(121,151,245,.22) !important;
    box-shadow:0 24px 62px rgba(0,0,0,.34) !important;
}

html[data-theme="dark"] .live-location-title strong{
    color:#f7f8ff !important;
}

html[data-theme="dark"] .live-location-title small,
html[data-theme="dark"] .live-location-status{
    color:rgba(240,244,255,.72) !important;
}

html[data-theme="dark"] .live-location-radius-choice{
    color:#dce6ff !important;
    background:rgba(110,142,255,.12) !important;
    border-color:rgba(121,151,245,.22) !important;
}

html[data-theme="dark"] .live-location-radius-choice.is-active{
    color:#fff !important;
    background:linear-gradient(145deg,#5977e8,#6b57d9) !important;
}


/* ==========================================================================
   LOT 89 — Bloc visible : phrases proches / alerte rouge de correspondance
   ========================================================================== */

.live-proximity-hub{
    display:grid;
    gap:16px;
    margin:18px 0 20px;
    padding:20px;
    border-radius:30px;
    overflow:hidden;
    border:1px solid rgba(84,112,204,.16);
    background:
        radial-gradient(circle at 92% 12%, rgba(91,120,232,.12), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(46,196,182,.10), transparent 30%),
        linear-gradient(145deg,#ffffff,#f4f8ff 58%,#eef7fb);
    box-shadow:0 22px 54px rgba(30,54,101,.10);
}

.live-proximity-hub.is-alert{
    border-color:rgba(211,55,72,.28);
    background:
        radial-gradient(circle at 92% 10%, rgba(244,96,112,.24), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,192,106,.15), transparent 30%),
        linear-gradient(145deg,#fff7f8,#fff0f3 58%,#fff6ec);
    box-shadow:0 26px 62px rgba(157,43,62,.16);
}

.live-proximity-hub-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
}

.live-proximity-kicker{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 11px;
    border-radius:999px;
    color:#3557a6;
    background:#eef4ff;
    border:1px solid rgba(84,112,204,.16);
    font-weight:1000;
    font-size:.76rem;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.live-proximity-hub.is-alert .live-proximity-kicker{
    color:#b42335;
    background:#ffe7eb;
    border-color:rgba(211,55,72,.20);
}

.live-proximity-hub-head h2{
    margin:9px 0 6px;
    color:#172033;
    font-size:clamp(1.35rem,2.2vw,1.95rem);
    line-height:1.12;
}

.live-proximity-hub.is-alert .live-proximity-hub-head h2{
    color:#8f1f30;
}

.live-proximity-hub-head p{
    margin:0;
    max-width:820px;
    color:#607190;
    line-height:1.48;
    font-weight:800;
}

.live-proximity-hub.is-alert .live-proximity-hub-head p{
    color:#7a4a53;
}

.live-proximity-radius{
    display:inline-flex;
    min-height:36px;
    align-items:center;
    padding:8px 12px;
    border-radius:999px;
    color:#3557a6;
    background:rgba(255,255,255,.76);
    border:1px solid rgba(84,112,204,.16);
    font-weight:1000;
    white-space:nowrap;
}

.live-proximity-hub.is-alert .live-proximity-radius{
    color:#b42335;
    border-color:rgba(211,55,72,.18);
}

/* Nearby phrases */
.live-nearby-phrases-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:14px;
}

.live-nearby-phrase-card{
    display:grid;
    gap:12px;
    padding:16px;
    border-radius:24px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(84,112,204,.14);
    box-shadow:0 16px 36px rgba(30,54,101,.07);
}

.live-nearby-person{
    display:flex;
    align-items:center;
    gap:11px;
}

.live-nearby-avatar{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    overflow:hidden;
    border-radius:17px;
    color:#fff;
    background:linear-gradient(145deg,#5977e8,#2ebbb2);
    font-weight:1000;
    box-shadow:0 12px 24px rgba(84,112,204,.16);
}

.live-nearby-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.live-nearby-person strong{
    display:block;
    color:#172033;
    font-size:1rem;
    line-height:1.2;
}

.live-nearby-person small{
    display:block;
    margin-top:3px;
    color:#607190;
    font-weight:850;
}

.live-nearby-phrase-card blockquote{
    margin:0;
    padding:13px 14px;
    border-radius:20px;
    color:#214170;
    background:linear-gradient(135deg,#edf4ff,#f5f9ff);
    border:1px solid rgba(84,112,204,.16);
    font-weight:1000;
    line-height:1.42;
}

.live-nearby-phrase-card a{
    color:#3557a6;
    font-weight:1000;
    text-decoration:underline;
    text-underline-offset:4px;
}

/* Alert carousel */
.live-proximity-carousel{
    display:grid;
    gap:12px;
}

.live-proximity-carousel-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
}

.live-proximity-carousel-top strong{
    color:#8f1f30;
    font-size:1rem;
    font-weight:1000;
}

.live-proximity-controls{
    display:flex;
    align-items:center;
    gap:8px;
}

.live-proximity-controls button{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid rgba(211,55,72,.22);
    border-radius:999px;
    color:#b42335;
    background:#fff;
    font-size:1.6rem;
    cursor:pointer;
    box-shadow:0 12px 24px rgba(157,43,62,.10);
}

.live-proximity-controls span{
    color:#8f1f30;
    font-weight:1000;
}

.live-proximity-track-wrap{
    overflow:hidden;
}

.live-proximity-track{
    position:relative;
    min-height:200px;
}

.live-proximity-slide{
    display:none;
}

.live-proximity-slide.is-active{
    display:block;
}

.live-proximity-alert-card{
    display:grid;
    gap:9px;
    min-height:200px;
    padding:18px;
    border-radius:26px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(211,55,72,.18);
    box-shadow:0 18px 44px rgba(157,43,62,.10);
}

.live-proximity-alert-card > span{
    display:inline-flex;
    width:max-content;
    min-height:27px;
    align-items:center;
    padding:5px 10px;
    border-radius:999px;
    color:#b42335;
    background:#ffe7eb;
    border:1px solid rgba(211,55,72,.16);
    font-size:.74rem;
    font-weight:1000;
}

.live-proximity-alert-card h3{
    margin:0;
    color:#8f1f30;
    font-size:clamp(1.18rem,2vw,1.55rem);
    line-height:1.2;
}

.live-proximity-alert-card p,
.live-proximity-alert-card small{
    margin:0;
    color:#7a4a53;
    line-height:1.42;
    font-weight:850;
}

.live-proximity-alert-card .btn{
    width:max-content;
    margin-top:4px;
    background:linear-gradient(145deg,#d93845,#b42335);
    color:#fff;
}

.live-proximity-dots{
    display:flex;
    justify-content:center;
    gap:8px;
}

.live-proximity-dots button{
    width:10px;
    height:10px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(180,35,53,.22);
    cursor:pointer;
}

.live-proximity-dots button.is-active{
    width:25px;
    background:#b42335;
}

.live-proximity-empty{
    padding:16px;
    border-radius:24px;
    background:rgba(255,255,255,.76);
    border:1px dashed rgba(84,112,204,.18);
}

.live-proximity-hub.is-alert .live-proximity-empty{
    border-color:rgba(211,55,72,.20);
}

.live-proximity-empty strong{
    display:block;
    color:#172033;
    font-size:1rem;
}

.live-proximity-empty p{
    margin:5px 0 0;
    color:#607190;
    line-height:1.45;
    font-weight:800;
}

.desktop-dashboard-flow .mobile-live-proximity-hub{
    display:none !important;
}

@media (min-width:821px){
    .mobile-live-proximity-hub{
        display:none !important;
    }
}

@media (max-width:820px){
    .desktop-live-location-card + .live-proximity-hub{
        display:none !important;
    }

    .mobile-live-proximity-hub{
        margin:0 !important;
        padding:16px !important;
        border-radius:26px !important;
    }

    .live-proximity-hub-head{
        display:grid;
        gap:10px;
    }

    .live-proximity-radius{
        width:max-content;
    }

    .live-nearby-phrases-grid{
        grid-template-columns:1fr;
    }

    .live-proximity-carousel-top{
        align-items:flex-start;
        flex-direction:column;
    }

    .live-proximity-track{
        min-height:0;
    }

    .live-proximity-alert-card{
        min-height:0;
        padding:15px;
    }

    .live-proximity-alert-card .btn{
        width:100%;
    }
}

/* Dark */
html[data-theme="dark"] .live-proximity-hub{
    background:
        radial-gradient(circle at 92% 12%, rgba(110,142,255,.18), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(46,196,182,.12), transparent 30%),
        linear-gradient(145deg,#141a26,#182338) !important;
    border-color:rgba(121,151,245,.22) !important;
}

html[data-theme="dark"] .live-proximity-hub.is-alert{
    background:
        radial-gradient(circle at 92% 10%, rgba(244,96,112,.24), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(255,192,106,.12), transparent 30%),
        linear-gradient(145deg,#24151b,#2d1820) !important;
    border-color:rgba(244,96,112,.28) !important;
}

html[data-theme="dark"] .live-proximity-hub-head h2,
html[data-theme="dark"] .live-proximity-empty strong,
html[data-theme="dark"] .live-nearby-person strong{
    color:#f7f8ff !important;
}

html[data-theme="dark"] .live-proximity-hub-head p,
html[data-theme="dark"] .live-proximity-empty p,
html[data-theme="dark"] .live-nearby-person small{
    color:rgba(240,244,255,.72) !important;
}

html[data-theme="dark"] .live-nearby-phrase-card,
html[data-theme="dark"] .live-proximity-empty{
    background:rgba(255,255,255,.08) !important;
    border-color:rgba(121,151,245,.18) !important;
}

html[data-theme="dark"] .live-nearby-phrase-card blockquote{
    color:#e3ecff !important;
    background:rgba(110,142,255,.12) !important;
    border-color:rgba(121,151,245,.18) !important;
}

html[data-theme="dark"] .live-nearby-phrase-card a{
    color:#bcd0ff !important;
}

html[data-theme="dark"] .live-proximity-alert-card{
    background:rgba(255,255,255,.08) !important;
}


/* ==========================================================================
   LOT 90 — Mobile clair uniquement + page Matches épurée + recherche mobile stable
   ========================================================================== */

/* Sur mobile : plus de choix clair / sombre dans le menu */
@media (max-width:820px){
    .theme-toggle,
    [data-theme-toggle]{
        display:none !important;
    }

    html[data-theme="dark"] body{
        /* garde-fou visuel si un ancien cache avait encore "dark" */
        background:
            radial-gradient(circle at 12% -3%, rgba(91,80,230,.12), transparent 28rem),
            radial-gradient(circle at 94% 12%, rgba(15,159,122,.10), transparent 22rem),
            linear-gradient(180deg, #f7f6fb 0%, #f4f8fb 50%, #f8f4ef 100%) !important;
    }
}

/* Page Matches : seulement les matches */
.omfr-matches-clean-page{
    background:
        radial-gradient(circle at 92% 8%, rgba(91,120,232,.08), transparent 26rem),
        linear-gradient(180deg,#fffdfc,#f6f9ff) !important;
}

.omfr-matches-clean-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:18px;
    padding:16px 18px;
    border-radius:24px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(84,112,204,.14);
    box-shadow:0 18px 42px rgba(30,54,101,.07);
}

.omfr-matches-clean-head strong{
    color:#173154;
    font-size:1.1rem;
    font-weight:1000;
}

.omfr-matches-clean-head span{
    color:#607190;
    font-weight:850;
}

.omfr-matches-clean-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:18px;
}

.omfr-match-clean-card{
    display:grid;
    gap:12px;
    min-width:0;
    padding:20px;
    border-radius:30px;
    background:
        radial-gradient(circle at 92% 10%, rgba(91,120,232,.10), transparent 28%),
        linear-gradient(145deg,#ffffff,#f4f8ff 62%,#eef7fb);
    border:1px solid rgba(84,112,204,.16);
    box-shadow:0 22px 54px rgba(30,54,101,.10);
}

.omfr-match-clean-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.omfr-match-clean-card h2{
    margin:0;
    color:#173154;
    font-size:clamp(1.22rem,2vw,1.55rem);
    line-height:1.2;
}

.omfr-match-clean-meta,
.omfr-match-clean-origin{
    margin:0;
    line-height:1.45;
}

.omfr-match-clean-meta{
    color:#607190;
    font-weight:850;
}

.omfr-match-clean-origin{
    padding:11px 12px;
    border-radius:18px;
    color:#214170;
    background:#edf4ff;
    border:1px solid rgba(84,112,204,.14);
    font-weight:1000;
}

.omfr-match-clean-reasons{
    display:block;
    color:#50658a;
    line-height:1.42;
    font-weight:850;
}

.omfr-match-clean-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:2px;
}

.omfr-match-clean-actions form{
    margin:0;
}

.omfr-matches-empty{
    padding:24px !important;
    border-radius:28px !important;
}

.omfr-matches-empty h2{
    margin-top:0;
}

@media (max-width:760px){
    .omfr-matches-clean-grid{
        grid-template-columns:1fr;
    }

    .omfr-matches-clean-head{
        display:grid;
        gap:6px;
        padding:15px;
    }

    .omfr-match-clean-card{
        padding:16px;
        border-radius:26px;
    }

    .omfr-match-clean-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .omfr-match-clean-actions .btn,
    .omfr-match-clean-actions form,
    .omfr-match-clean-actions form .btn{
        width:100%;
    }
}

/* Explorer mobile : rendre la zone "Ouvrir" plus agréable au doigt */
@media (max-width:980px){
    .omfr-explorer-filter-shell-v4 > summary{
        touch-action:pan-y;
        -webkit-tap-highlight-color:transparent;
    }
}


/* ==========================================================================
   LOT 91 — Mobile : bloc proximité unique, carrousels phrases / alertes
   ========================================================================== */
@media (min-width:821px){
    .mobile-proximity-unified{
        display:none !important;
    }
}

@media (max-width:820px){
    .mobile-proximity-unified{
        display:grid;
        gap:12px;
        padding:16px;
        border-radius:28px;
        color:#172033;
        background:
            radial-gradient(circle at 92% 12%, rgba(91,120,232,.12), transparent 28%),
            radial-gradient(circle at 8% 100%, rgba(46,196,182,.10), transparent 30%),
            linear-gradient(145deg,#ffffff,#f4f8ff 58%,#eef7fb);
        border:1px solid rgba(84,112,204,.16);
        box-shadow:0 22px 54px rgba(30,54,101,.10);
    }

    .mobile-proximity-unified.is-alert{
        border-color:rgba(211,55,72,.28);
        background:
            radial-gradient(circle at 92% 10%, rgba(244,96,112,.22), transparent 28%),
            radial-gradient(circle at 8% 100%, rgba(255,192,106,.14), transparent 30%),
            linear-gradient(145deg,#fff7f8,#fff0f3 58%,#fff6ec);
        box-shadow:0 26px 62px rgba(157,43,62,.15);
    }

    .mobile-proximity-unified-top{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
    }

    .mobile-proximity-unified-top h2{
        margin:7px 0 0;
        color:#172033;
        font-size:1.28rem;
        line-height:1.15;
    }

    .mobile-proximity-unified.is-alert .mobile-proximity-unified-top h2{
        color:#8f1f30;
    }

    .mobile-proximity-control-form{
        display:grid;
        gap:10px;
        margin:0;
    }

    .mobile-proximity-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:9px;
    }

    .mobile-proximity-actions .btn{
        width:100%;
    }

    .mobile-proximity-clear-form{
        margin:0;
    }

    .mobile-proximity-clear-form .btn{
        width:100%;
    }

    .mobile-proximity-carousel{
        margin-top:2px;
    }

    .mobile-nearby-phrase-slide{
        min-height:0 !important;
    }

    .mobile-proximity-empty{
        padding:14px !important;
    }

    .mobile-proximity-empty p{
        display:none !important;
    }

    .mobile-explore-announcements-head{
        justify-content:flex-start !important;
    }

    .mobile-explore-announcements-btn{
        width:100%;
        min-height:46px;
    }
}


/* ==========================================================================
   LOT 92 — Mobile : géolocalisation mieux séparée + suppression des annonces
   de l'accueil + gros bouton Explorer les annonces.
   ========================================================================== */

@media (max-width:820px){
    .mobile-proximity-unified{
        gap:14px !important;
    }

    .mobile-proximity-geo-panel,
    .mobile-proximity-results-panel{
        display:grid;
        gap:11px;
        padding:14px;
        border-radius:22px;
        background:rgba(255,255,255,.80);
        border:1px solid rgba(84,112,204,.14);
        box-shadow:0 14px 32px rgba(30,54,101,.06);
    }

    .mobile-proximity-unified.is-alert .mobile-proximity-results-panel{
        background:rgba(255,255,255,.84);
        border-color:rgba(211,55,72,.18);
        box-shadow:0 16px 36px rgba(157,43,62,.08);
    }

    .mobile-proximity-geo-head,
    .mobile-proximity-results-head{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
    }

    .mobile-proximity-geo-head strong,
    .mobile-proximity-results-head strong{
        color:#173154;
        font-size:1rem;
        font-weight:1000;
        line-height:1.2;
    }

    .mobile-proximity-unified.is-alert .mobile-proximity-results-head strong{
        color:#8f1f30;
    }

    .mobile-proximity-geo-head small,
    .mobile-proximity-results-head small{
        color:#607190;
        font-size:.78rem;
        line-height:1.3;
        font-weight:900;
        text-align:right;
    }

    .mobile-proximity-unified.is-alert .mobile-proximity-results-head small{
        color:#8c5660;
    }

    .mobile-proximity-radius-label{
        color:#607190;
        font-size:.76rem;
        font-weight:1000;
        text-transform:uppercase;
        letter-spacing:.06em;
    }

    .mobile-proximity-radius-row{
        gap:7px !important;
    }

    .mobile-proximity-radius-row .live-location-radius-choice{
        flex:1 1 calc(50% - 7px);
        min-height:40px !important;
    }

    .mobile-proximity-actions{
        margin-top:2px;
    }

    .mobile-proximity-clear-form .btn{
        min-height:42px;
    }

    .mobile-proximity-carousel{
        padding-top:2px;
    }

    .mobile-main-explore-cta{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        min-height:60px;
        padding:16px 18px;
        border-radius:26px;
        color:#fff !important;
        background:
            radial-gradient(circle at 82% 18%, rgba(255,255,255,.24), transparent 26%),
            linear-gradient(145deg,#5977e8,#3d59c7 52%,#2ebbb2);
        box-shadow:0 24px 52px rgba(55,88,188,.24);
        text-decoration:none !important;
        font-weight:1000;
        font-size:1.06rem;
        letter-spacing:-.01em;
    }

    .mobile-main-explore-cta span{
        font-size:1.28rem;
        line-height:1;
    }

    .mobile-main-explore-cta strong{
        color:#fff !important;
        font-size:1.06rem;
        font-weight:1000;
    }

    .mobile-nearby-section{
        display:none !important;
    }
}


/* ==========================================================================
   LOT 93 — Changement de mot de passe depuis Mon profil
   ========================================================================== */
.member-password-panel{
    display:grid;
    gap:16px;
    margin-top:18px;
    padding:22px !important;
    border-radius:30px !important;
    background:
        radial-gradient(circle at 94% 10%, rgba(91,120,232,.10), transparent 28%),
        linear-gradient(145deg,#ffffff,#f6f9ff 62%,#eef7fb) !important;
    border:1px solid rgba(84,112,204,.16) !important;
    box-shadow:0 22px 54px rgba(30,54,101,.10) !important;
}

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

.member-password-head h2{
    margin:0 0 6px;
    color:#173154;
}

.member-password-head p{
    margin:0;
}

.member-password-head > span{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:18px;
    background:linear-gradient(145deg,#5977e8,#2ebbb2);
    box-shadow:0 14px 28px rgba(55,88,188,.18);
    font-size:1.35rem;
}

.member-password-help{
    display:block;
    line-height:1.45;
    font-weight:850;
}

.member-password-panel .btn{
    width:max-content;
}

@media (max-width:760px){
    .member-password-panel{
        padding:17px !important;
        border-radius:26px !important;
    }

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

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

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

    .member-password-panel .btn{
        width:100%;
    }
}

html[data-theme="dark"] .member-password-panel{
    background:
        radial-gradient(circle at 94% 10%, rgba(110,142,255,.18), transparent 28%),
        linear-gradient(145deg,#141a26,#182338) !important;
    border-color:rgba(121,151,245,.22) !important;
    box-shadow:0 24px 62px rgba(0,0,0,.34) !important;
}

html[data-theme="dark"] .member-password-head h2{
    color:#f7f8ff !important;
}


/* ==========================================================================
   LOT 94 — Bloc changement de mot de passe : lisibilité renforcée
   Objectif : rendre tous les textes parfaitement visibles, même si le site
   est consulté avec le thème sombre sur ordinateur.
   ========================================================================== */

.member-password-panel,
html[data-theme="dark"] .member-password-panel,
html[data-theme="light"] .member-password-panel{
    color:#173154 !important;
    background:
        radial-gradient(circle at 94% 10%, rgba(91,120,232,.12), transparent 28%),
        radial-gradient(circle at 8% 100%, rgba(46,196,182,.08), transparent 30%),
        linear-gradient(145deg,#ffffff 0%,#f3f7ff 58%,#edf6ff 100%) !important;
    border:1px solid rgba(84,112,204,.18) !important;
    box-shadow:0 24px 58px rgba(30,54,101,.13) !important;
}

.member-password-panel h2,
html[data-theme="dark"] .member-password-panel h2,
html[data-theme="light"] .member-password-panel h2{
    color:#173154 !important;
}

.member-password-panel p,
.member-password-panel .muted,
.member-password-panel .member-password-help,
html[data-theme="dark"] .member-password-panel p,
html[data-theme="dark"] .member-password-panel .muted,
html[data-theme="dark"] .member-password-panel .member-password-help,
html[data-theme="light"] .member-password-panel p,
html[data-theme="light"] .member-password-panel .muted,
html[data-theme="light"] .member-password-panel .member-password-help{
    color:#557096 !important;
    opacity:1 !important;
}

.member-password-panel label,
.member-password-panel label > span,
html[data-theme="dark"] .member-password-panel label,
html[data-theme="dark"] .member-password-panel label > span,
html[data-theme="light"] .member-password-panel label,
html[data-theme="light"] .member-password-panel label > span{
    color:#173154 !important;
    font-weight:1000 !important;
    opacity:1 !important;
}

.member-password-panel input[type="password"],
html[data-theme="dark"] .member-password-panel input[type="password"],
html[data-theme="light"] .member-password-panel input[type="password"]{
    color:#173154 !important;
    background:#ffffff !important;
    border:1px solid rgba(84,112,204,.24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 10px 24px rgba(30,54,101,.08) !important;
}

.member-password-panel input[type="password"]:focus,
html[data-theme="dark"] .member-password-panel input[type="password"]:focus,
html[data-theme="light"] .member-password-panel input[type="password"]:focus{
    border-color:rgba(67,99,214,.58) !important;
    outline:3px solid rgba(89,119,232,.16) !important;
    background:#ffffff !important;
}

.member-password-panel .btn,
html[data-theme="dark"] .member-password-panel .btn,
html[data-theme="light"] .member-password-panel .btn{
    color:#fff !important;
    background:linear-gradient(145deg,#5977e8,#4a43d4) !important;
    box-shadow:0 16px 34px rgba(74,67,212,.20) !important;
}

.member-password-head > span,
html[data-theme="dark"] .member-password-head > span,
html[data-theme="light"] .member-password-head > span{
    background:linear-gradient(145deg,#5977e8,#2ebbb2) !important;
}
