/* Structure éditoriale RMS 2026 */
.rms-header-shell--structured{max-width:1420px;gap:24px}.rms-desktop-nav--structured{gap:24px}.rms-nav-group{position:relative}.rms-nav-parent{color:#000!important;font-family:var(--rms-sans)!important;font-size:15px;font-weight:600;letter-spacing:.025em;text-decoration:none!important;text-transform:uppercase}.rms-nav-dropdown{background:#fff;border:1px solid rgba(26,7,2,.12);box-shadow:0 18px 40px rgba(0,0,0,.1);display:none;left:0;min-width:285px;padding:12px;position:absolute;top:calc(100% + 18px);z-index:1000}.rms-nav-group:hover .rms-nav-dropdown,.rms-nav-group:focus-within .rms-nav-dropdown{display:grid}.rms-nav-dropdown a{border-bottom:1px solid rgba(26,7,2,.08);color:#000!important;font-family:var(--rms-sans)!important;font-size:15px;padding:12px 14px;text-decoration:none!important;text-transform:none}.rms-nav-dropdown a:last-child{border-bottom:0}.rms-header-ticket{background:var(--rms-violet);border:2px solid var(--rms-violet);color:#fff!important;font-family:var(--rms-sans);font-size:15px;font-weight:600;padding:14px 20px;text-decoration:none!important;text-transform:uppercase}.rms-header-ticket.is-disabled{cursor:default;opacity:.72;pointer-events:none}.rms-mobile-panel details{border-bottom:1px solid rgba(26,7,2,.12)}.rms-mobile-panel details summary{font-family:var(--rms-sans);font-size:17px;padding:14px 0;text-transform:uppercase}.rms-mobile-submenu{display:grid;padding:0 0 10px 14px}.rms-mobile-submenu a{font-size:15px;padding:10px 0;text-transform:none}
.rms-home-section-heading{align-items:end;display:flex;gap:30px;justify-content:space-between}.rms-text-link{font-family:var(--rms-sans);font-size:17px;text-decoration:none!important;text-transform:uppercase}.rms-featured-conference-grid{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:55px}.rms-featured-conference-card{background:#fff;border:1px solid var(--rms-border);transition:transform .18s ease,border-color .18s ease}.rms-featured-conference-card:hover{border-color:var(--rms-violet);transform:translateY(-4px)}.rms-featured-conference-card>a{color:var(--rms-warm-black)!important;display:flex;flex-direction:column;height:100%;padding:15px;text-decoration:none!important}.rms-featured-conference-visual{align-items:center;aspect-ratio:4/3;background:var(--rms-violet);display:flex;justify-content:center;overflow:hidden}.rms-featured-conference-visual img{height:100%;object-fit:cover;width:100%}.rms-featured-conference-visual>span{color:#fff;font-family:var(--rms-serif);font-size:64px}.rms-featured-conference-content{display:flex;flex:1;flex-direction:column;padding:22px 12px 12px}.rms-featured-conference-content h3{font-size:28px;line-height:1;margin:20px 0 15px}.rms-featured-speakers{font-family:var(--rms-sans);font-size:15px;line-height:1.3;margin:0 0 14px;text-transform:uppercase}.rms-featured-meta{border-top:1px solid var(--rms-border);font-size:16px;margin:8px 0 0;padding-top:14px}.rms-home-programme-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.rms-home-teaser-index{align-items:center;color:var(--rms-violet);display:flex;font-family:var(--rms-serif);font-size:150px;justify-content:center;line-height:1;opacity:.18}.rms-placeholder-copy{border-left:4px solid var(--rms-violet);padding-left:24px}.rms-supporter-list{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px}.rms-supporter-list span{border:1px solid var(--rms-border);font-family:var(--rms-sans);padding:24px;text-align:center;text-transform:uppercase}
.rms-ticket-cta{align-items:center;display:inline-flex;flex-direction:column;gap:3px}.rms-ticket-cta small{font-size:11px;font-weight:400;text-transform:none}.rms-ticket-cta.is-disabled{cursor:default;opacity:.75;pointer-events:none}
.rms-standard-page-hero{background:var(--rms-cream);padding:90px 0}.rms-standard-page-hero h1{font-size:clamp(58px,7vw,70px);line-height:.92;margin:20px 0 25px;max-width:950px}.rms-standard-page-hero p{font-size:clamp(22px,2.3vw,30px);line-height:1.25;max-width:800px}.rms-standard-page-content{padding:95px 0 120px}.rms-standard-copy{font-size:22px;line-height:1.55;max-width:850px}.rms-child-page-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:60px}.rms-child-page-card{border:1px solid var(--rms-border);color:var(--rms-warm-black)!important;padding:30px;text-decoration:none!important}.rms-child-page-card h2{font-size:34px;line-height:1;margin:0 0 15px}
.rms-programme-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:45px}.rms-view-buttons,.rms-format-buttons,.rms-schedule-days{display:flex;flex-wrap:wrap;gap:9px}.rms-view-buttons button,.rms-format-buttons button,.rms-schedule-days button{background:#fff;border:1px solid var(--rms-border);color:var(--rms-black);cursor:pointer;font-family:var(--rms-sans);font-size:14px;padding:11px 15px;text-transform:uppercase}.rms-view-buttons button.is-active,.rms-format-buttons button.is-active,.rms-schedule-days button.is-active{background:var(--rms-violet);border-color:var(--rms-violet);color:#fff}.rms-programme-empty-schedule{background:var(--rms-cream);border-left:5px solid var(--rms-violet);font-size:22px;padding:35px}.rms-programme-schedule-day{margin-bottom:55px}.rms-programme-schedule-day>h2{font-size:48px;margin:0 0 25px}.rms-programme-schedule-venues{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.rms-programme-schedule-venue{border:1px solid var(--rms-border);padding:25px}.rms-programme-schedule-venue>h3{border-bottom:3px solid var(--rms-violet);font-family:var(--rms-sans);font-size:18px;margin:0 0 20px;padding-bottom:12px;text-transform:uppercase}.rms-programme-slot{border-bottom:1px solid var(--rms-border);padding:15px 0}.rms-programme-slot:last-child{border-bottom:0}.rms-programme-slot time{color:var(--rms-violet);display:block;font-family:var(--rms-sans);font-size:15px}.rms-programme-slot a{color:var(--rms-black)!important;font-size:22px;text-decoration:none!important}
.rms-archive-schedule{margin-top:25px}.rms-schedule-toolbar{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:45px}.rms-schedule-day{margin-bottom:70px}.rms-schedule-day>header{border-bottom:1px solid var(--rms-border);margin-bottom:25px;padding-bottom:18px}.rms-schedule-day>header span{color:var(--rms-violet);font-family:var(--rms-sans);text-transform:uppercase}.rms-schedule-day>header h2{font-size:52px;margin:8px 0 0}.rms-schedule-venues{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.rms-schedule-venue{border:1px solid var(--rms-border);padding:24px}.rms-schedule-venue h3{border-radius:30px;color:#fff;font-family:var(--rms-sans);font-size:15px;margin:0 0 20px;padding:8px 14px;text-align:center;text-transform:uppercase}.rms-venue-violet h3{background:#7dd9fd}.rms-venue-rose h3{background:#ee8293}.rms-venue-orange h3{background:#f0a12c}.rms-venue-blue h3{background:#4a87c7}.rms-schedule-event{border-bottom:1px solid var(--rms-border);padding:13px 0}.rms-schedule-event:last-child{border-bottom:0}.rms-schedule-event summary{cursor:pointer;list-style:none}.rms-schedule-event summary::-webkit-details-marker{display:none}.rms-schedule-event time{color:var(--rms-violet);display:block;font-family:var(--rms-sans);font-size:14px;margin-bottom:5px}.rms-schedule-event strong{display:block;font-family:var(--rms-serif);font-size:21px;line-height:1.08}.rms-schedule-event p{font-size:16px;font-style:italic;margin:9px 0 0}
.rms-conference-meta-badges{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.rms-conference-meta-badges span{border:1px solid rgba(255,255,255,.45);font-family:var(--rms-sans);font-size:14px;padding:8px 12px;text-transform:uppercase}.rms-conference-ticket-wrap{margin-top:25px}
@media(max-width:1100px){.rms-featured-conference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rms-supporter-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rms-schedule-venues{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.rms-desktop-nav--structured{display:none}.rms-mobile-nav{display:block}.rms-programme-schedule-venues,.rms-child-page-grid{grid-template-columns:1fr}}
@media(max-width:680px){.rms-home-section-heading,.rms-schedule-toolbar{align-items:flex-start;flex-direction:column}.rms-featured-conference-grid,.rms-supporter-list,.rms-schedule-venues{grid-template-columns:1fr}.rms-home-teaser-index{display:none}.rms-schedule-day>header h2{font-size:40px}}

.rms-home-mode-edition .rms-home-interedition-only{display:none!important}.rms-home-mode-interedition .rms-home-edition-only{display:none!important}.rms-interedition-grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:50px}.rms-interedition-grid article{background:#fff;border:1px solid var(--rms-border);padding:32px}.rms-interedition-grid article>span{color:var(--rms-violet);font-family:var(--rms-sans)}.rms-interedition-grid h3{font-size:34px;line-height:1;margin:28px 0 16px}.rms-interedition-grid a{font-family:var(--rms-sans);text-decoration:none!important;text-transform:uppercase}.rms-conference-hero-v2 h1{font-size:clamp(52px,5.5vw,70px)!important}@media(max-width:800px){.rms-interedition-grid{grid-template-columns:1fr}}

/* MWS RMS STANDARD PAGES LAYOUT FIX 2.0.2 START */

/*
 * Sécurisation du conteneur commun.
 * Cette définition reste volontairement présente ici, même lorsque la feuille
 * rms-programme.css est chargée, afin que les pages éditoriales ne puissent
 * plus revenir à un affichage collé au bord de l'écran.
 */
.rms-programme-shell {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: 1280px;
    padding-left: 32px;
    padding-right: 32px;
    width: 100%;
}

.rms-standard-page {
    background: var(--rms-white, #fff);
    color: var(--rms-warm-black, #1a0702);
    overflow: hidden;
}

.rms-standard-page-hero {
    background: var(--rms-cream, #f3fbff);
    border-bottom: 1px solid var(--rms-border, rgba(26, 7, 2, 0.14));
    padding: 72px 0 76px;
}

.rms-standard-page-hero .rms-programme-kicker {
    color: var(--rms-violet, #7dd9fd);
    font-family: var(--rms-sans, Arial, sans-serif);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.045em;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
}

.rms-standard-page-hero h1 {
    font-size:clamp(50px,5.2vw,70px);
    line-height: 0.94;
    margin: 20px 0 24px;
    max-width: 980px;
    overflow-wrap: anywhere;
}

.rms-standard-page-hero p {
    font-size: clamp(20px, 1.8vw, 26px);
    line-height: 1.32;
    margin: 0;
    max-width: 820px;
}

.rms-standard-page-content {
    background: var(--rms-white, #fff);
    padding: 70px 0 105px;
}

.rms-standard-copy {
    font-size: 20px;
    line-height: 1.55;
    max-width: 900px;
}

.rms-standard-copy > :first-child {
    margin-top: 0;
}

.rms-standard-copy > :last-child {
    margin-bottom: 0;
}

.rms-child-page-grid {
    align-items: stretch;
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 54px;
}

.rms-child-page-card {
    background: var(--rms-white, #fff);
    border: 1px solid var(--rms-border, rgba(26, 7, 2, 0.14));
    box-sizing: border-box;
    color: var(--rms-warm-black, #1a0702) !important;
    display: flex;
    flex-direction: column;
    min-height: 245px;
    padding: 30px;
    text-decoration: none !important;
    transition: border-color 180ms ease, transform 180ms ease;
}

.rms-child-page-card:hover {
    border-color: var(--rms-violet, #7dd9fd);
    transform: translateY(-4px);
}

.rms-child-page-card h2 {
    font-size: clamp(30px, 2.5vw, 39px);
    line-height: 1;
    margin: 0 0 17px;
}

.rms-child-page-card p {
    font-size: 17px;
    line-height: 1.45;
    margin: 0 0 25px;
}

.rms-child-page-card .rms-speaker-read {
    margin-top: auto;
}

@media (max-width: 900px) {
    .rms-programme-shell {
        padding-left: 26px;
        padding-right: 26px;
    }

    .rms-standard-page-hero {
        padding: 60px 0 64px;
    }

    .rms-standard-page-content {
        padding: 60px 0 85px;
    }

    .rms-child-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .rms-programme-shell {
        padding-left: 21px;
        padding-right: 21px;
    }

    .rms-standard-page-hero {
        padding: 48px 0 52px;
    }

    .rms-standard-page-hero h1 {
        font-size: 48px;
    }

    .rms-standard-page-hero p {
        font-size: 19px;
    }

    .rms-standard-page-content {
        padding: 48px 0 68px;
    }

    .rms-standard-copy {
        font-size: 18px;
    }

    .rms-child-page-grid {
        grid-template-columns: 1fr;
        margin-top: 40px;
    }
}

/* MWS RMS STANDARD PAGES LAYOUT FIX 2.0.2 END */

/* MWS RMS 2.1.0 — contenus 2026 et podcasts 2025 */
.rms-kicker-link {
    color: var(--rms-violet) !important;
    display: inline-block;
    text-decoration: none !important;
}
.rms-kicker-link:hover { text-decoration: underline !important; }
.rms-home-hero .rms-edition-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 26px;
    margin-bottom: 30px;
}
.rms-home-hero .rms-edition-city {
    color: #fff;
    font-family: var(--rms-sans);
    font-size: clamp(34px, 4vw, 58px);
    font-weight: 600;
    letter-spacing: .02em;
    line-height: .9;
    order: -1;
    text-transform: uppercase;
}
.rms-home-hero .rms-edition-number {
    font-size: 14px;
    opacity: .72;
}
.rms-home-hero .rms-edition-dates {
    font-family: var(--rms-sans);
    font-size: 20px;
    text-transform: uppercase;
}
.rms-home-hero .rms-title {
    max-width: 980px;
}
.rms-programmation-landing-hero p {
    max-width: 860px;
}
.rms-programmation-schedule .rms-archive-schedule {
    margin-top: 42px;
}
.rms-programmation-card-grid {
    margin-top: 50px;
}
.rms-programme-status-note,
.rms-conference-status {
    background: rgba(125, 217, 253, .08);
    border-left: 3px solid var(--rms-violet);
    color: var(--rms-black);
    display: inline-block;
    font-family: var(--rms-sans);
    font-size: 13px;
    margin-top: 10px;
    padding: 7px 10px;
    text-transform: uppercase;
}
.rms-conference-status {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.7);
    color: #fff;
    margin: 18px 0 0;
}
.rms-schedule-event-link {
    color: var(--rms-violet) !important;
    display: inline-block;
    font-family: var(--rms-sans);
    font-size: 13px;
    margin-top: 10px;
    text-decoration: none !important;
    text-transform: uppercase;
}
.rms-replay-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 45px;
}
.rms-replay-card {
    border: 1px solid var(--rms-border);
    min-height: 330px;
    transition: border-color 180ms ease, transform 180ms ease;
}
.rms-replay-card:hover {
    border-color: var(--rms-violet);
    transform: translateY(-4px);
}
.rms-replay-card > a {
    color: var(--rms-black) !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px;
    text-decoration: none !important;
}
.rms-replay-edition {
    color: var(--rms-violet);
    font-family: var(--rms-sans);
    font-size: 13px;
    text-transform: uppercase;
}
.rms-replay-card h3 {
    font-size: clamp(30px, 2.4vw, 40px);
    line-height: 1;
    margin: 24px 0 18px;
}
.rms-replay-speakers {
    font-family: var(--rms-sans);
    font-size: 14px !important;
    text-transform: uppercase;
}
.rms-replay-card p {
    font-size: 17px;
    line-height: 1.45;
}
.rms-replay-hero {
    background: var(--rms-cream);
    padding: 80px 0 90px;
}
.rms-replay-hero h1 {
    font-size:clamp(50px,6vw,70px);
    line-height: .94;
    margin: 20px 0 25px;
    max-width: 1050px;
}
.rms-replay-lead {
    font-size: 22px;
    margin: 0;
}
.rms-replay-layout {
    display: grid;
    gap: 70px;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
}
.rms-video-embed {
    aspect-ratio: 16 / 9;
    background: #000;
    margin-bottom: 45px;
    overflow: hidden;
    position: relative;
}
.rms-video-embed iframe {
    border: 0;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}
.rms-replay-copy {
    font-size: 22px;
    line-height: 1.55;
}
.rms-replay-speaker-list {
    border-left: 1px solid var(--rms-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-left: 30px;
}
.rms-replay-speaker-list a {
    color: var(--rms-black) !important;
    font-family: var(--rms-serif);
    font-size: 25px;
    line-height: 1.05;
    text-decoration: none !important;
}
.rms-edition-poster-admin-note {
    border-left: 4px solid #d63638;
    margin-top: 30px;
    padding-left: 18px;
}
@media(max-width:1000px) {
    .rms-replay-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rms-replay-layout { grid-template-columns: 1fr; }
    .rms-replay-speaker-list {
        border-left: 0;
        border-top: 1px solid var(--rms-border);
        padding-left: 0;
        padding-top: 30px;
    }
}
@media(max-width:680px) {
    .rms-home-hero .rms-edition-line {
        align-items: flex-start;
        flex-direction: column;
    }
    .rms-replay-grid { grid-template-columns: 1fr; }
    .rms-replay-hero { padding: 55px 0 65px; }
}

.rms-replay-speaker-item{border-bottom:1px solid var(--rms-border);padding-bottom:18px}
.rms-replay-speaker-item:last-child{border-bottom:0}
.rms-replay-speaker-item p{font-size:15px;line-height:1.45;margin:8px 0 0}

/* ==========================================================
 * RMS 2026 — FINITIONS HOME CLIENTE — 2026-09-01
 * Palette définitive :
 * violet prune #7dd9fd
 * blanc bleuté #F3FBFF
 * ========================================================== */

/* Le hero reste STRICTEMENT sur le violet prune officiel. */
.rms-home-hero {
    background-color: #7dd9fd !important;
}

/* Les tranches claires utilisent le blanc bleuté officiel. */
.rms-section--cream,
.rms-home-featured {
    background-color: #f3fbff !important;
}

/*
 * Demande cliente :
 * uniquement trois lignes de l'édito sur la home,
 * avec ellipsis automatique.
 */
.rms-home-teaser--editorial .rms-copy {
    display: -webkit-box;
    max-width: 680px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

/*
 * Tranche 6 fusionnée : mécènes / partenaires.
 * Numérotation décorative cohérente avec 03,04,05,07.
 */
.rms-supporters-section .rms-shell {
    position: relative;
}

.rms-supporters-section .rms-shell::after {
    color: #7dd9fd;
    content: "06";
    font-family: var(--rms-serif);
    font-size: 150px;
    line-height: 1;
    opacity: .18;
    pointer-events: none;
    position: absolute;
    right: 9%;
    top: 50%;
    transform: translateY(-50%);
}

/* Anciens violets secondaires alignés sur la charte finale. */
.rms-programme-status-note {
    background: rgba(125, 217, 253, .08);
}

.rms-venue-violet h3 {
    background: #7dd9fd;
}

@media (max-width: 680px) {
    .rms-supporters-section .rms-shell::after {
        display: none;
    }
}

/* ============================================================
 * RMS — IDENTITÉ BLEUE AFFICHE — 2026-09-01
 * Couleur principale : #7DD9FD
 * ============================================================ */

:root {
    --rms-blue-poster: #7dd9fd;
}

/* ------------------------------------------------------------
 * HERO : bleu de l'affiche + typographie noire
 * ------------------------------------------------------------ */

.rms-home-hero,
.rms-section.rms-home-hero {
    background: #7dd9fd !important;
    background-color: #7dd9fd !important;
    color: #000 !important;
}

.rms-home-hero .rms-title,
.rms-home-hero .rms-lead,
.rms-home-hero .rms-kicker,
.rms-home-hero .rms-kicker--light,
.rms-home-hero .rms-edition-city,
.rms-home-hero .rms-edition-dates,
.rms-home-hero .rms-edition-number {
    color: #000 !important;
}

/* Symbole décoratif du hero : noir très léger */
.rms-home-hero::before,
.rms-home-hero::after {
    color: #000 !important;
}

/* Bouton clair dans le hero */
.rms-home-hero .rms-button--light {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* Bouton outline dans le hero */
.rms-home-hero .rms-button--outline {
    background: transparent !important;
    border-color: #000 !important;
    color: #000 !important;
}

/* ------------------------------------------------------------
 * LOGO DU HEADER : NOIR
 * ------------------------------------------------------------ */

header img[src*="logo-rms"],
.elementor-location-header img[src*="logo-rms"],
.rms-header-shell img[src*="logo-rms"],
.rms-site-header img[src*="logo-rms"] {
    filter: brightness(0) saturate(100%) !important;
}

/* ------------------------------------------------------------
 * TOUS LES ÉLÉMENTS PRIMAIRES BLEUS
 * ------------------------------------------------------------ */

.rms-header-ticket,
.rms-button:not(.rms-button--light):not(.rms-button--outline),
.rms-view-buttons button.is-active,
.rms-format-buttons button.is-active,
.rms-schedule-days button.is-active,
.rms-venue-violet h3 {
    background-color: #7dd9fd !important;
    border-color: #7dd9fd !important;
    color: #000 !important;
}

.rms-home-teaser-index,
.rms-kicker,
.rms-kicker-link,
.rms-text-link,
.rms-speaker-read,
.rms-schedule-event time,
.rms-programme-slot time,
.rms-schedule-day > header span,
.rms-schedule-event-link {
    color: #7dd9fd !important;
}

/* Sur fond blanc le bleu peut être conservé comme accent.
 * Les textes principaux restent noirs. */

.rms-featured-conference-card:hover {
    border-color: #7dd9fd !important;
}

.rms-placeholder-copy,
.rms-programme-empty-schedule,
.rms-programme-status-note {
    border-left-color: #7dd9fd !important;
}

.rms-programme-schedule-venue > h3 {
    border-bottom-color: #7dd9fd !important;
}

.rms-programme-status-note {
    background: rgba(125, 217, 253, .18) !important;
}

/* ------------------------------------------------------------
 * ANCIENNES SECTIONS "VIOLET"
 * Elles restent structurellement nommées ainsi dans le code,
 * mais sont désormais VISUELLEMENT BLEUES.
 * ------------------------------------------------------------ */

.rms-section--violet {
    background: #7dd9fd !important;
    color: #000 !important;
}

.rms-section--violet .rms-title,
.rms-section--violet .rms-copy,
.rms-section--violet .rms-kicker,
.rms-section--violet .rms-kicker--light {
    color: #000 !important;
}

.rms-section--violet .rms-button--light {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ------------------------------------------------------------
 * NUMÉROS / ÉLÉMENTS DÉCORATIFS
 * ------------------------------------------------------------ */

.rms-supporters-section .rms-shell::after {
    color: #7dd9fd !important;
}

/* ------------------------------------------------------------
 * MOBILE
 * ------------------------------------------------------------ */

@media (max-width: 767px) {

    .rms-home-hero {
        background-color: #7dd9fd !important;
    }
}

/* ============================================================
 * RMS — FOOTER BLEU IDENTIQUE AU HERO
 * Bleu affiche / hero : #7DD9FD
 * ============================================================ */

/* ------------------------------------------------------------
 * TRANCHE SOCIOS
 * L'ancienne variante "black" devient bleue.
 * ------------------------------------------------------------ */

.rms-section--black {
    background: #7dd9fd !important;
    background-color: #7dd9fd !important;
    color: #000 !important;
}

.rms-section--black .rms-title,
.rms-section--black .rms-copy,
.rms-section--black .rms-kicker,
.rms-section--black .rms-kicker--light {
    color: #000 !important;
}

/* Numéro décoratif 07 : noir discret */
.rms-section--black .rms-home-teaser-index {
    color: #000 !important;
    opacity: .12 !important;
}

/* CTA Socios */
.rms-section--black .rms-button,
.rms-section--black .rms-button--light {
    background: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}

.rms-section--black .rms-button:hover,
.rms-section--black .rms-button--light:hover {
    background: #000 !important;
    color: #7dd9fd !important;
}

/* ------------------------------------------------------------
 * FOOTER
 * Même bleu que le hero.
 * ------------------------------------------------------------ */

.rms-footer,
.elementor-location-footer .rms-footer {
    background: #7dd9fd !important;
    background-color: #7dd9fd !important;
    color: #000 !important;
}

/* Toutes les zones internes restent transparentes */
.rms-footer .rms-footer-grid,
.rms-footer .rms-footer-bottom {
    background: transparent !important;
}

/* Texte */
.rms-footer,
.rms-footer p,
.rms-footer span,
.rms-footer strong,
.rms-footer small,
.rms-footer .rms-footer-text {
    color: #000 !important;
}

/* Liens */
.rms-footer a,
.rms-footer .rms-footer-nav a {
    color: #000 !important;
    text-decoration-color: #000 !important;
}

.rms-footer a:hover,
.rms-footer .rms-footer-nav a:hover {
    color: #000 !important;
    text-decoration: underline !important;
}

/* Logo actuellement blanc -> rendu noir */
.rms-footer-logo {
    filter: brightness(0) saturate(100%) !important;
}

/* Si un SVG ou une image de logo est utilisé ailleurs dans le footer */
.rms-footer img[src*="logo-rms"],
.rms-footer img[src*="Rencontres"],
.rms-footer img[src*="serres"] {
    filter: brightness(0) saturate(100%) !important;
}

/* Ligne copyright */
.rms-footer-bottom {
    border-top-color: rgba(0, 0, 0, .22) !important;
    color: rgba(0, 0, 0, .75) !important;
}

/* ------------------------------------------------------------
 * RAPPEL HERO
 * Même logique de contraste.
 * ------------------------------------------------------------ */

.rms-home-hero {
    background: #7dd9fd !important;
    background-color: #7dd9fd !important;
    color: #000 !important;
}

.rms-home-hero .rms-title,
.rms-home-hero .rms-lead,
.rms-home-hero .rms-kicker,
.rms-home-hero .rms-edition-city,
.rms-home-hero .rms-edition-dates,
.rms-home-hero .rms-edition-number {
    color: #000 !important;
}

/* Symbole décoratif : noir très léger comme le 07 */
.rms-home-hero::before,
.rms-home-hero::after {
    color: #000 !important;
    opacity: .08 !important;
}

/* ------------------------------------------------------------
 * MOBILE
 * ------------------------------------------------------------ */

@media (max-width: 767px) {

    .rms-footer,
    .rms-section--black {
        background-color: #7dd9fd !important;
    }

    .rms-footer-logo {
        filter: brightness(0) saturate(100%) !important;
    }
}

/* ============================================================
 * RMS — CORRECTION PLEIN ÉCRAN
 * Le wrapper extérieur occupe 100 % du viewport.
 * Les .rms-shell internes conservent leur largeur éditoriale.
 * ============================================================ */

html,
body {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

body.home #page,
body.home .site,
body.home .body-inner,
body.home #content,
body.home .site-content,
body.home main#main,
body.home .elementor.elementor-2086 {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/*
 * Les grandes tranches doivent occuper toute
 * la largeur disponible du wrapper.
 */
body.home .rms-home-hero,
body.home .rms-section,
body.home .rms-home-featured,
body.home .rms-footer {
    width: 100% !important;
    max-width: none !important;
}

/*
 * IMPORTANT :
 * on ne modifie PAS .rms-shell.
 * Il reste centré pour conserver les bonnes
 * largeurs de lecture et les alignements.
 */

html,
body {
    overflow-x: clip;
}


/* ============================================================
 * RMS QA VALIDES - réunion n°6 + Superspace - 04/09/2026
 * Ne contient volontairement aucun arbitrage couleur secondaire.
 * ============================================================ */

/* Sous-menu desktop : supprime le vide qui faisait perdre le hover. */
.rms-nav-dropdown{top:100%!important;margin-top:0!important;}
.rms-nav-parent{position:relative;}
.rms-nav-parent:hover,
.rms-nav-parent:focus-visible,
.rms-nav-group:hover>.rms-nav-parent,
.rms-nav-group:focus-within>.rms-nav-parent{box-shadow:inset 0 -3px #7dd9fd;}
.rms-nav-dropdown a:hover,.rms-nav-dropdown a:focus-visible{background:#f3fbff!important;color:#000!important;outline:none;}

/* Sous-menus mobile : chevrons, pas de deuxième burger. */
.rms-mobile-panel details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.rms-mobile-panel details>summary::-webkit-details-marker{display:none;}
.rms-mobile-panel details>summary::after{content:"›";font-size:25px;line-height:1;transform:rotate(0);transition:transform .18s ease;}
.rms-mobile-panel details[open]>summary::after{transform:rotate(90deg);}

/* Labels et micro-textes : noir, le bleu clair n'est pas utilisé en petit texte sur blanc. */
.rms-conference-format,
.rms-programme-kicker,
.rms-featured-speakers,
.rms-featured-meta{color:#000!important;}

/* Boutons : contraste noir / bleu et contour visible au survol. */
.rms-button,.rms-header-ticket,
.rms-view-buttons button,.rms-format-buttons button,.rms-schedule-days button{transition:box-shadow .16s ease,transform .16s ease,background-color .16s ease,color .16s ease;}
.rms-button:hover,.rms-button:focus-visible,.rms-header-ticket:hover,.rms-header-ticket:focus-visible,
.rms-view-buttons button:hover,.rms-view-buttons button:focus-visible,
.rms-format-buttons button:hover,.rms-format-buttons button:focus-visible,
.rms-schedule-days button:hover,.rms-schedule-days button:focus-visible{box-shadow:inset 0 0 0 2px #000!important;outline:none!important;}
.rms-view-buttons button.is-active,.rms-format-buttons button.is-active,.rms-schedule-days button.is-active{background:#fff!important;border-color:#000!important;color:#000!important;box-shadow:inset 0 0 0 1px #000!important;}

/* Socios/footer : bleu validé, grand 07 supprimé, alignements unifiés. */
.home .rms-section--black .rms-home-teaser-index{display:none!important;}
.rms-footer,.home .rms-section--black{background:#7dd9fd!important;color:#000!important;}
.rms-footer .rms-shell{box-sizing:border-box;margin-left:auto!important;margin-right:auto!important;max-width:1280px!important;padding-left:32px!important;padding-right:32px!important;width:100%!important;}
.rms-footer,.rms-footer p,.rms-footer a,.rms-footer span,.rms-footer small{color:#000!important;}
.rms-footer-logo{filter:brightness(0) saturate(100%)!important;}
.rms-footer-bottom{border-top-color:rgba(0,0,0,.22)!important;}

/* Programme : lieu en pastille sobre, titres/espaces rationalisés. */
.rms-programme-schedule-day{margin-bottom:42px!important;}
.rms-programme-schedule-day>h2{margin:0 0 18px!important;line-height:1!important;}
.rms-programme-schedule-venue{padding:22px!important;}
.rms-programme-schedule-venue>h3{display:inline-block!important;background:#f3fbff!important;border:1px solid #000!important;border-radius:999px!important;color:#000!important;font-size:12px!important;line-height:1!important;margin:0 0 18px!important;padding:8px 12px!important;text-transform:uppercase!important;}
.rms-programme-slot time{color:#000!important;font-weight:600;}

/* Fiche conférence : noir sur bleu, pas de cercles additionnels, moins d'espace. */
.rms-conference-hero-v2{background:#7dd9fd!important;color:#000!important;}
.rms-conference-hero-v2 h1,
.rms-back-link--light,
.rms-conference-hero-v2-format,
.rms-conference-hero-v2-people,
.rms-conference-hero-v2-moderators,
.rms-conference-hero-v2-intro,
.rms-conference-status{color:#000!important;}
.rms-conference-hero-v2-format::before{background:#000!important;}
.rms-conference-hero-v2-intro{border-left-color:rgba(0,0,0,.45)!important;}
.rms-conference-hero-v2::before{filter:brightness(0) saturate(100%);opacity:.06!important;}
.rms-conference-hero-v2-picture::before,.rms-conference-hero-v2-picture::after{display:none!important;}
.rms-conference-hero-v2-caption{display:none!important;}
.rms-conference-meta-badges{gap:10px 22px!important;margin:20px 0!important;}
.rms-conference-meta-badges span{border:0!important;color:#000!important;padding:0!important;}
.rms-conference-meta-badges span+span::before{content:"·";margin-right:22px;}
.rms-conference-status{background:rgba(255,255,255,.45)!important;border-left-color:#000!important;}
.rms-conference-hero-v2-shell{min-height:560px!important;}
.rms-conference-hero-v2-content{padding-bottom:55px!important;}
.rms-conference-body{padding:68px 0!important;}
.rms-conference-layout{gap:58px!important;}
.rms-conference-speakers{padding:70px 0 82px!important;}
.rms-conference-speakers h2{margin-bottom:38px!important;}

/* Portraits : cadrage cohérent + slider automatique si plusieurs intervenants. */
.rms-featured-conference-visual img,
.rms-conference-card-visual img,
.rms-speaker-visual img,
.rms-conference-hero-v2-picture img{object-fit:cover!important;object-position:center 20%!important;}
.rms-portrait-slider{height:100%;position:relative;width:100%;overflow:hidden;}
.rms-portrait-slide{height:100%;inset:0;opacity:0;position:absolute;transition:opacity .5s ease;width:100%;}
.rms-portrait-slide.is-active{opacity:1;position:relative;z-index:1;}
.rms-portrait-slide img{display:block;height:100%!important;width:100%!important;object-fit:cover!important;object-position:center 20%!important;}
.rms-conference-card-visual{aspect-ratio:4/3;background:#f3fbff;overflow:hidden;margin-bottom:18px;}
.rms-conference-card-visual .rms-portrait-slider{height:100%;}

/* Pages pérennes : ne prennent pas le thème couleur annuel. */
.rms-permanent-page .rms-standard-page-hero{background:#f7f3ed!important;}
.rms-permanent-page .rms-standard-page-hero .rms-programme-kicker,
.rms-permanent-page .rms-kicker{color:#000!important;}
.rms-permanent-page .rms-button{background:#000!important;border-color:#000!important;color:#fff!important;}
.rms-permanent-page .rms-button:hover,.rms-permanent-page .rms-button:focus-visible{background:#fff!important;color:#000!important;box-shadow:inset 0 0 0 2px #000!important;}
.rms-permanent-page .rms-child-page-card:hover{border-color:#000!important;}

/* Mobile programme / fiche : suppression des chevauchements et alignements. */
@media(max-width:680px){
  .rms-programme-shell,.rms-shell{padding-left:20px!important;padding-right:20px!important;}
  .rms-programme-toolbar{gap:12px!important;margin-bottom:28px!important;}
  .rms-view-buttons,.rms-format-buttons,.rms-schedule-days{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%!important;}
  .rms-view-buttons button,.rms-format-buttons button,.rms-schedule-days button{font-size:12px!important;min-width:0!important;padding:10px 8px!important;}
  .rms-programme-schedule-day>h2{font-size:clamp(30px,10vw,40px)!important;line-height:.98!important;overflow-wrap:anywhere!important;}
  .rms-programme-schedule-venue{padding:17px!important;}
  .rms-programme-slot a{font-size:19px!important;line-height:1.08!important;}
  .rms-conference-hero-v2 h1{color:#000!important;font-size:clamp(42px,13vw,58px)!important;}
  .rms-conference-hero-v2-content{padding-bottom:24px!important;}
  .rms-conference-body{padding:48px 0!important;}
  .rms-conference-speakers{padding:52px 0 62px!important;}
  .rms-footer .rms-shell{padding-left:20px!important;padding-right:20px!important;}
  .rms-footer-grid{grid-template-columns:1fr!important;gap:28px!important;}
}

/* ==========================================================
 * RMS — CORRECTIF HEADER / FOOTER — 04/09/2026
 * ========================================================== */

/* ----------------------------------------------------------
 * SOCIOS :
 * le bloc reste bleu jusqu'au CTA "Rejoindre les socios".
 * ---------------------------------------------------------- */

.home .rms-section--black {
    background: #7dd9fd !important;
    background-color: #7dd9fd !important;
    color: #000 !important;
}

.home .rms-section--black .rms-title,
.home .rms-section--black .rms-copy,
.home .rms-section--black .rms-kicker {
    color: #000 !important;
}

.home .rms-section--black .rms-button,
.home .rms-section--black .rms-button--light {
    background: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}

/* ----------------------------------------------------------
 * FOOTER :
 * À PARTIR DU VRAI FOOTER = NOIR.
 * ---------------------------------------------------------- */

.rms-footer,
.elementor-location-footer .rms-footer {
    background: #000 !important;
    background-color: #000 !important;
    color: #fff !important;
}

.rms-footer .rms-footer-grid,
.rms-footer .rms-footer-bottom,
.rms-footer .rms-shell {
    background: transparent !important;
}

.rms-footer,
.rms-footer p,
.rms-footer span,
.rms-footer small,
.rms-footer strong,
.rms-footer .rms-footer-text {
    color: #fff !important;
}

.rms-footer a,
.rms-footer .rms-footer-nav a {
    color: #fff !important;
}

.rms-footer a:hover,
.rms-footer .rms-footer-nav a:hover {
    color: #7dd9fd !important;
}

.rms-footer-bottom {
    border-top-color: rgba(255,255,255,.25) !important;
    color: rgba(255,255,255,.75) !important;
}

/*
 * Le fichier utilisé dans le footer est normalement
 * le logo blanc RMS. On supprime donc le filtre noir.
 */
.rms-footer-logo,
.rms-footer img {
    filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* ----------------------------------------------------------
 * HEADER :
 * force le header existant à être visible.
 * ---------------------------------------------------------- */

.elementor-location-header,
.rms-site-header,
.rms-header,
header.site-header {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Logo du header : toujours noir. */
.elementor-location-header img,
.rms-site-header img,
.rms-header img,
header.site-header img,
.custom-logo-link img {
    visibility: visible !important;
    opacity: 1 !important;
    filter: brightness(0) saturate(100%) !important;
}

/* ----------------------------------------------------------
 * HEADER RMS PRINCIPAL
 * Ce header est désormais la navigation de référence du site.
 * ---------------------------------------------------------- */

#mws-rms-emergency-header {
    display: block;
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.12);
    box-sizing: border-box;
    width: 100%;
    position: relative;
    z-index: 9998;
}

#mws-rms-emergency-header .mws-rms-emergency-inner {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    gap: 30px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1280px;
    min-height: 88px;
    padding: 14px 32px;
}

#mws-rms-emergency-header img {
    display: block;
    filter: brightness(0) saturate(100%);
    height: auto;
    max-width: 210px;
    width: 100%;
}

#mws-rms-emergency-header nav {
    align-items: center;
    display: flex;
    gap: 28px;
}

#mws-rms-emergency-header nav a {
    color: #000;
    font-family: var(--rms-sans);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

#mws-rms-emergency-header .mws-ticket {
    background: #7dd9fd;
    color: #000;
    padding: 14px 18px;
}

@media(max-width:900px) {

    #mws-rms-emergency-header .mws-rms-emergency-inner {
        min-height: 70px;
        padding: 10px 20px;
    }

    #mws-rms-emergency-header img {
        max-width: 155px;
    }

    #mws-rms-emergency-header nav {
        display: none;
    }
}

