:root {
    --rtv-blue: #155e75;
    --rtv-blue-dark: #0f4454;
    --rtv-orange: #ef8f46;
    --rtv-green: #6ca678;
    --rtv-bg: #f4f8f7;
    --rtv-text: #183239;
    --rtv-border: #dbe8e6;
    --rtv-white: #fff;
    --rtv-danger: #b54848;
}

.rtv-wrap { max-width: 1120px; margin: 36px auto; color: var(--rtv-text); }
.rtv-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; }
.rtv-heading h2,.rtv-form-wrap h2 { margin:.2rem 0 0; font-size:clamp(1.8rem,4vw,2.7rem); color:var(--rtv-blue-dark); }
.rtv-kicker { color:var(--rtv-orange); text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; font-weight:800; }
.rtv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rtv-card { background:var(--rtv-white); border:1px solid var(--rtv-border); border-radius:18px; padding:22px; box-shadow:0 10px 30px rgba(20,70,76,.08); display:flex; flex-direction:column; }
.rtv-card h3 { margin:16px 0 12px; color:var(--rtv-blue-dark); font-size:1.35rem; }
.rtv-card-top { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.rtv-badge { display:inline-flex; background:#e5f3f1; color:var(--rtv-blue); border-radius:999px; padding:6px 10px; font-size:.78rem; font-weight:700; }
.rtv-count { font-size:.78rem; color:#60777c; }
.rtv-details { display:grid; gap:5px; font-size:.92rem; }
.rtv-description { margin:15px 0 20px; flex:1; color:#465f65; }
.rtv-description p { margin:0; }
.rtv-button { appearance:none; display:inline-flex; justify-content:center; align-items:center; border:0; border-radius:999px; padding:11px 18px; background:var(--rtv-blue); color:#fff !important; font-weight:750; text-decoration:none !important; cursor:pointer; line-height:1.2; }
.rtv-button:hover { background:var(--rtv-blue-dark); }
.rtv-button-secondary { background:#fff; color:var(--rtv-blue) !important; border:1px solid var(--rtv-blue); }
.rtv-button-danger { background:var(--rtv-danger); }
.rtv-button:disabled { opacity:.55; cursor:not-allowed; }
.rtv-login-box,.rtv-empty { margin:24px auto; border-radius:18px; padding:24px; background:var(--rtv-bg); border:1px solid var(--rtv-border); text-align:center; }
.rtv-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:16px; }
.rtv-notice { max-width:1120px; margin:20px auto; padding:14px 18px; border-radius:12px; font-weight:650; }
.rtv-notice-success { background:#e4f4e7; color:#235f2d; }
.rtv-notice-error { background:#fae8e8; color:#8d3030; }
.rtv-form-wrap { max-width:780px; background:#fff; border:1px solid var(--rtv-border); border-radius:22px; padding:clamp(22px,5vw,42px); box-shadow:0 12px 35px rgba(20,70,76,.08); }
.rtv-form { display:grid; gap:20px; margin-top:26px; }
.rtv-form label { display:grid; gap:7px; font-weight:700; }
.rtv-form input,.rtv-form select,.rtv-form textarea { width:100%; box-sizing:border-box; border:1px solid #bfd2d0; border-radius:10px; padding:12px 13px; background:#fff; color:var(--rtv-text); font:inherit; }
.rtv-form input:focus,.rtv-form select:focus,.rtv-form textarea:focus { outline:2px solid rgba(21,94,117,.18); border-color:var(--rtv-blue); }
.rtv-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rtv-form small { font-weight:400; color:#60777c; }
.rtv-checkbox { display:flex !important; grid-template-columns:auto 1fr; align-items:flex-start; }
.rtv-checkbox input { width:auto; margin-top:4px; }

@media (max-width:900px) { .rtv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) {
    .rtv-grid,.rtv-form-row { grid-template-columns:1fr; }
    .rtv-heading { align-items:flex-start; flex-direction:column; }
    .rtv-card { padding:18px; }
}

.rtv-account-pending { margin-top:16px; padding:10px 12px; border-radius:10px; background:#fff4df; color:#755119; font-weight:700; text-align:center; }

.rtv-account-wrap { max-width:620px; }
.rtv-login-form { margin-bottom:20px; }
.rtv-account-links { margin-top:20px; padding-top:18px; border-top:1px solid var(--rtv-border); text-align:center; }
.rtv-account-links p { margin:7px 0; }
.rtv-account-links a { color:var(--rtv-blue); font-weight:700; }
.rtv-account-summary { margin-top:24px; text-align:center; }
.rtv-account-summary h3 { color:var(--rtv-blue-dark); }
.rtv-account-approved,.rtv-account-rejected { padding:12px 14px; border-radius:10px; font-weight:700; }
.rtv-account-approved { background:#e4f4e7; color:#235f2d; }
.rtv-account-rejected { background:#fae8e8; color:#8d3030; }

/* Fiche détaillée d'une rencontre */
.rtv-card-title-link{color:inherit;text-decoration:none}.rtv-card-title-link:hover{text-decoration:underline}.rtv-details-link{display:inline-block;margin:4px 0 18px;font-weight:700;color:#1470a6;text-decoration:none}.rtv-details-link:hover{text-decoration:underline}.rtv-back-link{display:inline-block;margin-bottom:24px;color:#1470a6;font-weight:700;text-decoration:none}.rtv-single-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.rtv-single-header h1{margin:12px 0 0}.rtv-single-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:32px;align-items:start}.rtv-single-main,.rtv-info-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(13,43,69,.08)}.rtv-single-main{overflow:hidden}.rtv-single-image img{display:block;width:100%;height:auto}.rtv-single-section{padding:28px}.rtv-single-section h2,.rtv-info-card h2{margin-top:0}.rtv-single-description{line-height:1.75}.rtv-info-card{padding:26px;position:sticky;top:24px}.rtv-info-list{margin:0 0 24px}.rtv-info-list>div{padding:13px 0;border-bottom:1px solid rgba(13,43,69,.1)}.rtv-info-list dt{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5c6f7e}.rtv-info-list dd{margin:5px 0 0;font-weight:600}.rtv-info-card .rtv-button{width:100%}.rtv-joined-message{font-weight:700;color:#1470a6}.rtv-single-login p{margin-top:0}@media(max-width:760px){.rtv-single-header{display:block}.rtv-single-header .rtv-count{display:inline-block;margin-top:16px}.rtv-single-layout{grid-template-columns:1fr}.rtv-info-card{position:static}.rtv-single-section,.rtv-info-card{padding:22px}}

/* Page d'accueil */
.rtv-home{max-width:1180px;margin:0 auto;padding:34px 20px 54px;color:var(--rtv-text)}
.rtv-home-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr);gap:28px;align-items:stretch;background:linear-gradient(135deg,#f5fbfa 0%,#fff5e8 100%);border:1px solid var(--rtv-border);border-radius:28px;padding:clamp(28px,6vw,64px);overflow:hidden}
.rtv-home-copy h1{max-width:760px;margin:10px 0 18px;font-size:clamp(2.25rem,6vw,4.7rem);line-height:1.03;color:var(--rtv-blue-dark)}
.rtv-home-copy>p{max-width:710px;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65;color:#456067}
.rtv-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.rtv-home-promise{align-self:end;background:#fff;border:1px solid var(--rtv-border);border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(20,70,76,.08)}
.rtv-home-promise strong{display:block;color:var(--rtv-blue-dark);font-size:1.15rem;margin-bottom:8px}
.rtv-home-promise p{margin:0;color:#567078;line-height:1.55}
.rtv-home-section{padding:56px 0 18px}
.rtv-example-card{background:linear-gradient(180deg,#fff 0%,#f8fbfa 100%)}
.rtv-home-cta{margin-top:36px;padding:36px;border-radius:24px;text-align:center;background:var(--rtv-blue-dark);color:#fff}
.rtv-home-cta h2{margin:0 0 10px;color:#fff;font-size:clamp(1.8rem,4vw,2.7rem)}
.rtv-home-cta p{max-width:660px;margin:0 auto 22px;color:#e7f1f2}
.rtv-home-cta .rtv-button{background:var(--rtv-orange)}
.rtv-home-cta .rtv-button:hover{filter:brightness(.95)}
@media(max-width:800px){.rtv-home-hero{grid-template-columns:1fr}.rtv-home-promise{align-self:auto}.rtv-home{padding-left:14px;padding-right:14px}}

/* Profil utilisateur */
.rtv-profile-heading{display:flex;align-items:center;gap:20px;margin:18px 0 26px}.rtv-profile-photo{width:96px;height:96px;border-radius:50%;overflow:hidden;background:#eaf5f3;display:flex;align-items:center;justify-content:center;flex:0 0 96px;border:3px solid #fff;box-shadow:0 5px 18px rgba(13,43,69,.12)}.rtv-profile-photo img{width:100%;height:100%;object-fit:cover}.rtv-profile-photo span{font-size:38px;font-weight:700;color:#1470a6}.rtv-profile-form{margin-top:20px;padding-top:22px;border-top:1px solid rgba(13,43,69,.12)}.rtv-profile-form textarea{width:100%;resize:vertical}.rtv-profile-form input[type=file]{padding:12px;background:#fff;border:1px dashed rgba(13,43,69,.3)}
@media(max-width:640px){.rtv-profile-heading{align-items:flex-start}.rtv-profile-photo{width:76px;height:76px;flex-basis:76px}}

/* Cartographie des quartiers */
.rtv-map-wrap{margin:0 0 24px}.rtv-map{height:360px;width:100%;border-radius:20px;overflow:hidden;border:1px solid rgba(13,43,69,.14);background:#eef5f4}.rtv-map-note{margin:8px 2px 0;font-size:.88rem;color:#5b6871}.rtv-map-compact .rtv-map{height:250px}.rtv-form select[multiple]{min-height:220px;padding:10px}.rtv-admin-grid select[multiple]{min-height:180px}
@media (max-width:700px){.rtv-map{height:290px}}


/* Rencontres et profils participants — v1.7 */
.rtv-card{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.rtv-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(20,70,76,.13)}.rtv-card-accent{position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--rtv-blue),var(--rtv-green),var(--rtv-orange))}.rtv-card-title-row{display:flex;align-items:center;gap:14px;margin:17px 0 12px}.rtv-card-title-row h3{margin:0}.rtv-date-tile{width:52px;height:56px;border-radius:14px;background:var(--rtv-bg);border:1px solid var(--rtv-border);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 52px;color:var(--rtv-blue-dark);line-height:1}.rtv-date-tile strong{font-size:1.35rem}.rtv-date-tile span{margin-top:4px;font-size:.72rem;text-transform:uppercase;font-weight:800;color:var(--rtv-orange)}.rtv-details-link{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--rtv-border);margin-top:auto}.rtv-avatar-stack{display:flex;align-items:center;margin:2px 0 15px;padding-left:7px}.rtv-avatar-stack>span{width:34px;height:34px;border-radius:50%;overflow:hidden;margin-left:-7px;border:2px solid #fff;background:#e7f3f1;display:flex;align-items:center;justify-content:center}.rtv-avatar-img{width:100%;height:100%;object-fit:cover}.rtv-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e7f3f1;color:var(--rtv-blue);font-weight:800}.rtv-avatar-more{font-size:.72rem!important;background:var(--rtv-blue)!important;color:#fff!important;font-weight:800}
.rtv-participants-section{border-top:1px solid var(--rtv-border)}.rtv-section-heading-inline{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}.rtv-section-heading-inline h2{margin:4px 0 0}.rtv-count-pill{padding:7px 11px;border-radius:999px;background:var(--rtv-bg);font-size:.8rem;font-weight:800;color:var(--rtv-blue)}.rtv-participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rtv-participant-card{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--rtv-border);border-radius:16px;text-decoration:none!important;color:var(--rtv-text)!important;background:#fff;transition:border-color .2s ease,transform .2s ease}.rtv-participant-card:hover{border-color:var(--rtv-blue);transform:translateY(-1px)}.rtv-participant-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;background:#e7f3f1;display:flex;align-items:center;justify-content:center;flex:0 0 52px}.rtv-participant-info{display:flex;flex-direction:column;min-width:0}.rtv-participant-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rtv-participant-info small{color:#60777c;margin-top:3px}.rtv-profile-arrow{margin-left:auto;color:var(--rtv-blue);font-weight:900}.rtv-locked-participants{padding:22px;border-radius:16px;background:var(--rtv-bg);border:1px dashed #aac9c5;text-align:center}.rtv-locked-participants p{margin:6px 0 0;color:#60777c}
.rtv-access-box{max-width:720px;padding:32px;border-radius:22px;background:#fff;border:1px solid var(--rtv-border);text-align:center}.rtv-profile-card-public{display:grid;grid-template-columns:180px minmax(0,1fr);gap:34px;align-items:start;background:#fff;border:1px solid var(--rtv-border);border-radius:26px;padding:clamp(24px,5vw,48px);box-shadow:0 12px 35px rgba(20,70,76,.08)}.rtv-public-avatar{width:160px;height:160px;border-radius:50%;overflow:hidden;background:#e7f3f1;display:flex;align-items:center;justify-content:center;border:5px solid #fff;box-shadow:0 8px 28px rgba(13,43,69,.15)}.rtv-public-profile-copy h1{margin:7px 0 12px;color:var(--rtv-blue-dark)}.rtv-profile-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.rtv-profile-chips span{padding:7px 11px;border-radius:999px;background:var(--rtv-bg);font-size:.85rem;font-weight:700}.rtv-profile-bio{line-height:1.7}.rtv-privacy-note{margin-top:24px;padding-top:16px;border-top:1px solid var(--rtv-border);font-size:.86rem;color:#60777c}
@media(max-width:700px){.rtv-participant-grid{grid-template-columns:1fr}.rtv-profile-card-public{grid-template-columns:1fr;text-align:center}.rtv-public-avatar{margin:auto}.rtv-profile-chips{justify-content:center}.rtv-section-heading-inline{align-items:flex-start;flex-direction:column}}

/* Images automatiques par type de rencontre - v1.8.0 */
.rtv-card-image-link { display:block; text-decoration:none; }
.rtv-card-image { height:190px; overflow:hidden; background:#e9f1ef; }
.rtv-card-image .rtv-meeting-image,
.rtv-single-image .rtv-meeting-image { width:100%; height:100%; display:block; object-fit:cover; }
.rtv-card-image .rtv-meeting-image { transition:transform .35s ease; }
.rtv-card:hover .rtv-card-image .rtv-meeting-image { transform:scale(1.035); }
.rtv-single-image { height:min(460px, 52vw); min-height:260px; overflow:hidden; border-radius:18px; }
.rtv-auto-image-preview { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,340px); gap:20px; align-items:center; margin:4px 0 22px; padding:16px; border:1px solid #dbe7e2; border-radius:16px; background:#f5faf8; }
.rtv-auto-image-copy { display:flex; flex-direction:column; gap:6px; }
.rtv-auto-image-copy span { color:#50645e; font-size:.92rem; }
.rtv-auto-image-preview img { width:100%; height:170px; object-fit:cover; border-radius:12px; }
@media (max-width:700px) {
  .rtv-auto-image-preview { grid-template-columns:1fr; }
  .rtv-auto-image-preview img { height:190px; }
  .rtv-card-image { height:180px; }
  .rtv-single-image { height:260px; min-height:0; }
}

/* Version 1.9.0 — espace Mes rencontres */
.rtv-my-meetings{margin-top:36px;padding-top:30px;border-top:1px solid #dce8e4}.rtv-my-meetings .rtv-section-heading{margin-bottom:18px}.rtv-my-meetings .rtv-section-heading h3{margin:4px 0 0}.rtv-my-meetings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.rtv-my-meetings-panel{background:#f8fbfa;border:1px solid #dce8e4;border-radius:18px;padding:18px}.rtv-my-meetings-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.rtv-my-meetings-panel-heading h4{margin:0;font-size:1.08rem}.rtv-my-meetings-list{display:grid;gap:12px}.rtv-my-meeting-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;background:#fff;border:1px solid #e1ebe8;border-radius:15px;padding:13px}.rtv-my-meeting-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;border-radius:12px;background:#edf7f2;color:#173f32;text-transform:uppercase}.rtv-my-meeting-date strong{font-size:1.35rem;line-height:1}.rtv-my-meeting-date span{font-size:.72rem;margin-top:5px}.rtv-my-meeting-content{min-width:0}.rtv-my-meeting-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.rtv-my-meeting-heading h4{margin:0;font-size:1rem;line-height:1.3}.rtv-my-meeting-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px;color:#5e716a;font-size:.82rem}.rtv-my-meeting-meta span{display:inline-flex;align-items:center}.rtv-my-meeting-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px;font-size:.82rem}.rtv-my-meeting-actions a{font-weight:700;color:#197446;text-decoration:none}.rtv-my-meeting-actions span{color:#728079}.rtv-status-badge{flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700}.rtv-status-published{background:#e2f5e8;color:#176638}.rtv-status-pending{background:#fff3cf;color:#765700}.rtv-status-finished{background:#e8eceb;color:#4d5a56}.rtv-status-rejected{background:#fde5e3;color:#9b2f29}.rtv-status-draft{background:#e8eef8;color:#34527d}.rtv-empty-compact{padding:18px;text-align:left}.rtv-empty-compact p{margin-top:0}.rtv-empty-compact .rtv-button{display:inline-flex;width:auto}@media(max-width:800px){.rtv-my-meetings-grid{grid-template-columns:1fr}}@media(max-width:520px){.rtv-my-meetings-panel{padding:13px}.rtv-my-meeting-item{grid-template-columns:50px minmax(0,1fr);padding:11px}.rtv-my-meeting-heading{display:block}.rtv-status-badge{display:inline-block;margin-top:7px}}

/* Questions / réponses privées aux participants */
.rtv-discussion-section{margin-top:24px}.rtv-discussion-intro{margin:0 0 20px;color:#52677a}.rtv-question-list{display:grid;gap:16px}.rtv-question-card{border:1px solid #d9e5e8;border-radius:18px;padding:18px;background:#fff}.rtv-question-author{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rtv-question-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e7f5f3;flex:0 0 42px}.rtv-question-avatar img{width:100%;height:100%;object-fit:cover}.rtv-question-author div{display:flex;flex-direction:column}.rtv-question-author small,.rtv-answer-box small{color:#708392;font-size:.82rem}.rtv-question-text p,.rtv-answer-text p{margin:.3em 0}.rtv-answer-box{margin-top:14px;padding:15px 16px;border-left:4px solid #1bb3b5;border-radius:12px;background:#eefafa}.rtv-answer-label{font-weight:700;color:#0d5960;margin-bottom:6px}.rtv-awaiting-answer,.rtv-empty-discussion{color:#708392;font-style:italic}.rtv-question-form,.rtv-answer-form{display:grid;gap:10px;margin-top:20px}.rtv-answer-form{padding-top:14px;border-top:1px solid #e3ecee}.rtv-question-form label,.rtv-answer-form label{font-weight:700}.rtv-question-form textarea,.rtv-answer-form textarea{width:100%;border:1px solid #c8d7db;border-radius:12px;padding:12px 14px;background:#fff;color:#0d2b45;resize:vertical;box-sizing:border-box}.rtv-question-form textarea:focus,.rtv-answer-form textarea:focus{outline:3px solid rgba(27,179,181,.18);border-color:#1bb3b5}.rtv-question-form .rtv-button,.rtv-answer-form .rtv-button{justify-self:start}
@media(max-width:600px){.rtv-question-card{padding:15px}.rtv-question-form .rtv-button,.rtv-answer-form .rtv-button{width:100%}}

/* Filtres des rencontres — v1.11.0 */
.rtv-meeting-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end;margin:0 0 12px;padding:18px;background:#f7fbfa;border:1px solid var(--rtv-border);border-radius:18px}.rtv-filter-field{display:flex;flex-direction:column;gap:7px}.rtv-filter-field label{font-size:.82rem;font-weight:800;color:var(--rtv-blue-dark)}.rtv-filter-field select{width:100%;min-height:44px;padding:10px 38px 10px 12px;border:1px solid #c9d9d5;border-radius:12px;background:#fff;color:var(--rtv-text);font:inherit}.rtv-filter-field select:focus{outline:3px solid rgba(27,179,181,.18);border-color:var(--rtv-green)}.rtv-filter-reset{min-height:44px;padding:10px 15px;border:1px solid var(--rtv-border);border-radius:12px;background:#fff;color:var(--rtv-blue);font-weight:800;cursor:pointer}.rtv-filter-reset:hover{border-color:var(--rtv-blue)}.rtv-filter-summary{margin:0 0 18px;color:#60777c;font-size:.9rem}.rtv-filter-empty{margin-top:18px}.rtv-card[hidden]{display:none!important}@media(max-width:850px){.rtv-meeting-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.rtv-filter-reset{width:100%}}@media(max-width:560px){.rtv-meeting-filters{grid-template-columns:1fr}}
