/* Pages communes : complète les styles globaux de l'accueil (préfixe .rc, variables --rc-*). */
body.rcom{margin:0;background:var(--rc-canvas,#f8fafc)}

/* Hero : photo de fond et voile de l'accueil (style posé en ligne), texte blanc ; le header fixe
   de l'accueil devient transparent au-dessus d'un .rc-hero--photo. */
.rc.rcom-hero{padding-block:32px 40px;background:radial-gradient(circle at 0 0,rgba(0,67,188,.07),transparent 420px),var(--rc-canvas)}
.rc.rcom-hero.rc-hero--photo{padding-top:calc(72px + 32px);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff}
@media(min-width:1024px){.rc.rcom-hero{padding-block:48px 64px}.rc.rcom-hero.rc-hero--photo{padding-top:calc(84px + 56px)}}
@media(min-width:1200px){.rc.rcom-hero.rc-hero--photo{padding-top:calc(113px + 56px);min-height:100vh}}
.rc .rcom-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
@media(min-width:1024px){.rc .rcom-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}}
.rc .rcom-hero-grid>*{min-width:0}
.rc .rcom-hero-texte{display:flex;flex-direction:column;gap:16px}

.rc .rcom-ariane{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;line-height:18px;color:var(--rc-muted)}
.rc .rcom-ariane a{color:var(--rc-primary)}
.rc .rcom-pill{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 12px;border-radius:999px;background:var(--rc-subtle);font-size:12px;line-height:16px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rc-primary)}
.rc .rcom-h1{font-size:34px;line-height:1.1;font-weight:900;letter-spacing:-.02em;color:var(--rc-heading)}
@media(min-width:1024px){.rc .rcom-h1{font-size:48px}}
.rc .rcom-nl{margin-top:-8px;color:var(--rc-muted);font-style:italic}
.rc .rcom-accroche{max-width:560px;font-size:16px;line-height:26px}
.rc .rcom-preuve{display:flex;align-items:center;gap:6px;font-size:14px}
.rc .rcom-atouts{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;font-weight:600}
.rc .rcom-atouts li{display:flex;align-items:center;gap:8px}
.rc .rcom-atouts .ms{color:var(--rc-emerald)}
.rc .rcom-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:4px}
.rc .rcom-tel{display:inline-flex;align-items:center;gap:8px;font-weight:700}

/* Variante photo : textes clairs sur le voile sombre */
.rc.rc-hero--photo :is(.rcom-h1,.rcom-accroche,.rcom-preuve,.rcom-atouts,.rcom-tel){color:#fff}
.rc.rc-hero--photo .rc-mark{color:#fff}
.rc.rc-hero--photo .rcom-ariane{color:rgba(255,255,255,.75)}
.rc.rc-hero--photo .rcom-ariane a{color:#fff;text-decoration:underline}
.rc.rc-hero--photo .rcom-nl{color:rgba(255,255,255,.75)}
.rc.rc-hero--photo .rcom-pill{background:rgba(255,255,255,.14);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.rc.rc-hero--photo .rcom-atouts .ms{color:#34d399}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

.rc .rcom-carte{background:#fff;border-radius:16px;box-shadow:var(--rc-sh-xl);overflow:hidden;color:var(--rc-body)}
.rc .rcom-carte>.elementor{padding:16px}

/* Contenu local */
.rc .rcom-h2{margin-bottom:16px;font-size:24px;line-height:32px;font-weight:800;color:var(--rc-heading);letter-spacing:-.01em}
@media(min-width:1024px){.rc .rcom-h2{font-size:32px;line-height:40px}}
.rc .rcom-h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:17px;line-height:24px;font-weight:700;color:var(--rc-heading)}
.rc .rcom-h3 .ms{color:var(--rc-primary)}
.rc .rcom-colonnes{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
@media(min-width:1024px){.rc .rcom-colonnes{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px}}
.rc .rcom-texte{max-width:760px}
.rc .rcom-intro{font-size:16px;line-height:27px}
.rc .rcom-intro :is(p,ul){margin-bottom:16px}
.rc .rcom-intro h2{margin:32px 0 10px;font-size:21px;line-height:28px;font-weight:700;color:var(--rc-heading)}
.rc .rcom-intro ul{display:grid;gap:6px;padding-left:0}
.rc .rcom-intro li{position:relative;padding-left:26px}
.rc .rcom-intro li::before{content:"";position:absolute;left:4px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--rc-primary);opacity:.8}
.rc .rcom-intro strong{color:var(--rc-heading)}
.rc .rcom-texte a,.rc .rcom-faq-r a{color:var(--rc-primary);text-decoration:underline}

.rc .rcom-zone{padding:24px;border:1px solid var(--rc-line);border-radius:16px;background:#fff;box-shadow:var(--rc-sh-md)}

.rc .rcom-cp{display:grid;gap:8px;margin-bottom:14px;font-size:14px;line-height:20px}
.rc .rcom-cp li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px}
.rc .rcom-cp strong{color:var(--rc-heading)}
.rc .rcom-note{color:var(--rc-muted);font-size:14px;line-height:21px}
.rc .rcom-garanties{display:grid;gap:10px;margin:18px 0 0;padding-top:18px;border-top:1px solid var(--rc-line);font-size:14px;font-weight:600;color:var(--rc-heading)}
.rc .rcom-garanties li{display:flex;align-items:center;gap:10px}
.rc .rcom-garanties .ms{color:var(--rc-emerald)}
.rc .rcom-zone-cta{margin-top:20px;width:100%;justify-content:center}

/* Maillage : communes proches ou communes de la province */
.rc .rcom-puces{display:flex;flex-wrap:wrap;gap:10px}
.rc .rcom-puces--grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(min-width:640px){.rc .rcom-puces--grille{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.rc .rcom-puces--grille{grid-template-columns:repeat(5,minmax(0,1fr))}}
.rc .rcom-puces :is(a,span){display:block;padding:10px 14px;border-radius:10px;font-size:14px;line-height:20px;font-weight:600}
.rc .rcom-puces a{background:#fff;color:var(--rc-primary);box-shadow:var(--rc-sh-sm);transition:background-color .2s,box-shadow .2s}
.rc .rcom-puces a:hover{background:var(--rc-subtle);box-shadow:var(--rc-sh-md)}
.rc .rcom-puces span{color:var(--rc-muted);background:rgba(255,255,255,.6)}
.rc .rcom-puce-hub a{background:var(--rc-primary);color:#fff}
.rc .rcom-puce-hub a:hover{background:var(--rc-primary-dark)}

/* Encart primes */
.rc .rcom-encart{padding:24px;border-radius:16px;background:var(--rc-canvas);border:1px solid var(--rc-line)}
@media(min-width:1024px){.rc .rcom-encart{padding:32px 36px}}
.rc .rcom-encart p{margin-bottom:12px}

/* FAQ en accordéon */
.rc .rcom-faqs{display:grid;gap:10px}
.rc .rcom-faq{border-radius:12px;background:#fff;box-shadow:var(--rc-sh-sm)}
.rc .rcom-faq summary{position:relative;list-style:none;cursor:pointer;padding:16px 52px 16px 18px;font-weight:700;line-height:22px;color:var(--rc-heading)}
.rc .rcom-faq summary::-webkit-details-marker{display:none}
.rc .rcom-faq summary::after{content:"+";position:absolute;right:16px;top:50%;width:26px;height:26px;margin-top:-13px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--rc-subtle);color:var(--rc-primary);font-size:18px;font-weight:700;line-height:1}
.rc .rcom-faq[open] summary::after{content:"\2212"}
.rc .rcom-faq-r{padding:0 18px 16px;color:var(--rc-body)}
.rc .rcom-faq-r p+p{margin-top:8px}

/* Appel final, aux couleurs du bloc .rc-cta de l'accueil */
.rc.rcom-cta{padding-block:40px;background:var(--rc-primary);color:#fff}
@media(min-width:1024px){.rc.rcom-cta{padding-block:56px}}
.rc .rcom-cta-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:center}
@media(min-width:1024px){.rc .rcom-cta-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.rc .rcom-cta-titre{margin-bottom:8px;font-size:24px;line-height:32px;font-weight:800;color:#fff}
.rc .rcom-cta p{color:rgba(255,255,255,.88)}
.rc .rcom-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
@media(min-width:1024px){.rc .rcom-cta-actions{justify-content:flex-end}}

/* Index des zones (/chassis/) */
.rc .rcom-provinces{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
@media(min-width:768px){.rc .rcom-provinces{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.rc .rcom-provinces{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rc .rcom-province{padding:22px;border:1px solid var(--rc-line);border-radius:16px;background:var(--rc-canvas)}
.rc .rcom-province .rcom-h3 a{color:var(--rc-heading)}
.rc .rcom-province .rcom-h3 a:hover{color:var(--rc-primary)}
.rc .rcom-province .rcom-puces{gap:8px}
.rc .rcom-province .rcom-puces a{padding:7px 12px;font-size:13px}
.rc .rcom-province-lien{margin-top:14px;font-size:14px;font-weight:700}
.rc .rcom-province-lien a{color:var(--rc-primary)}

/* Pages légales */
.rc.rcom-bandeau{padding-block:36px 32px;background:var(--rc-canvas);border-bottom:1px solid var(--rc-line)}
.rc .rcom-maj{margin-top:8px;color:var(--rc-muted);font-size:14px}
.rc .rcom-legal{font-size:15px;line-height:25px}
.rc .rcom-legal h2{margin:32px 0 10px;font-size:20px;line-height:28px;font-weight:800;color:var(--rc-heading)}
.rc .rcom-legal h3{margin:20px 0 8px;font-size:16px;line-height:24px;font-weight:700;color:var(--rc-heading)}
.rc .rcom-legal :is(p,ul,ol,table){margin-bottom:12px}
.rc .rcom-legal ul{list-style:disc;padding-left:22px}
.rc .rcom-legal ol{list-style:lower-roman;padding-left:26px}
.rc .rcom-legal li{margin-bottom:4px}
.rc .rcom-legal a{color:var(--rc-primary);text-decoration:underline}
.rc .rcom-legal blockquote{margin:12px 0;padding:14px 18px;border-left:3px solid var(--rc-primary);background:var(--rc-canvas);font-style:italic}
.rc .rcom-legal table{width:100%;border-collapse:collapse;font-size:14px}
.rc .rcom-legal :is(th,td){padding:8px 10px;border:1px solid var(--rc-line);text-align:left;vertical-align:top}
.rc .rcom-legal th{background:var(--rc-canvas);color:var(--rc-heading)}
