/* =======================================================================
   CPTS · Répertoire
   1. Accordéons et cartes : feuille du module Répertoire Lieux, reprise telle
      quelle (écran « consultation-rapide » de la maquette, racine .cpts-oc).
   2. Ajouts propres au Répertoire (pastille de type, logo).
   ==================================================================== */

.cpts-oc{
  --oc-ink:var(--cpts-ink,#2A1730);
  --oc-ink2:var(--cpts-ink2,#5B4A63);
  --oc-muted:var(--cpts-muted,#8E82A0);
  --oc-border:var(--cpts-border,rgba(74,44,84,.12));
  --oc-violet:var(--cpts-violet,#7E2E9E);
  --oc-violet-hi:var(--cpts-violet-hi,color-mix(in srgb,var(--oc-violet) 84%,#000));
  --oc-border-h:var(--cpts-border-h,color-mix(in srgb,var(--oc-violet) 32%,transparent));
  --oc-fonce:var(--cpts-fonce,#4A1E63);
  --oc-plum:var(--cpts-plum,#3A0F2E);
  --oc-disp:var(--cpts-disp,inherit);
  --oc-sans:var(--cpts-sans,inherit);
  --oc-maxw:var(--cpts-maxw,1240px);
  --oc-pad:var(--cpts-pad,56px);
  color:var(--oc-ink);font-family:var(--oc-sans);-webkit-font-smoothing:antialiased;line-height:1.6;font-size:16.5px;font-weight:400;text-align:left;
}
.cpts-oc *{box-sizing:border-box;}
.cpts-oc a{color:var(--oc-violet);text-decoration:none;}
.cpts-oc a:hover{color:var(--oc-violet);}
.cpts-oc button{font:inherit;cursor:pointer;}
.cpts-oc h3{margin:0;padding:0;font-family:var(--oc-disp);font-weight:700;line-height:1.1;letter-spacing:-.01em;text-transform:none;}
.cpts-oc p{margin:0;padding:0;}
.cpts-oc svg{flex:none;}

.cpts-oc .wrap{max-width:var(--oc-maxw);margin:0 auto;padding:0 var(--oc-pad);}
/* Posé dans le contenu d'un thème tiers : la page fournit déjà ses marges. */
.cpts-oc:not(.cpts-oc--pleine-largeur) .wrap{max-width:none;padding:0;}

.cpts-oc .btn{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:13px 24px;font-family:var(--oc-sans);font-size:15px;font-weight:600;line-height:1;transition:transform .16s ease,box-shadow .26s ease,background .2s ease,color .2s ease,border-color .2s ease;}
.cpts-oc .btn svg{width:16px;height:16px;}
.cpts-oc .btn:hover{transform:translateY(-2px);}
.cpts-oc .btn:active{transform:translateY(0) scale(.98);}
.cpts-oc .btn-primary{background:var(--oc-violet);color:#fff;box-shadow:0 12px 26px -12px color-mix(in srgb,var(--oc-violet) 70%,transparent);}
.cpts-oc .btn-primary:hover{background:var(--oc-violet-hi);color:#fff;}
.cpts-oc .btn-ghost{background:#fff;color:var(--oc-ink);border:1px solid var(--oc-border);}
.cpts-oc .btn-ghost:hover{border-color:var(--oc-border-h);color:var(--oc-violet);}
.cpts-oc .btn-sm{padding:10px 18px;font-size:14px;}

.cpts-oc .c-sec{padding:64px 0;}
.cpts-oc .c-sec+.c-sec{border-top:1px solid var(--oc-border);}

/* ---- Barre : onglets et filtres ---- */
.cpts-oc .rp-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.cpts-oc .rp-tabs{display:flex;gap:4px;padding:4px;margin:0;border-radius:999px;background:#fff;border:1px solid var(--oc-border);}
.cpts-oc .rp-tabs button{border:0;background:none;border-radius:999px;padding:9px 18px;font-weight:700;font-size:14px;line-height:1.6;color:var(--oc-ink2);display:inline-flex;align-items:center;gap:7px;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;}
.cpts-oc .rp-tabs button svg{width:14px;height:14px;}
.cpts-oc .rp-tabs button.on{background:var(--oc-fonce);color:#fff;}
.cpts-oc .rp-filters{display:flex;gap:16px;flex-wrap:wrap;font-size:14.5px;font-weight:600;color:var(--oc-ink2);}
.cpts-oc .rp-filters label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin:0;}
.cpts-oc .rp-filters input{width:18px;height:18px;margin:0;accent-color:var(--oc-violet);}
.cpts-oc .rp-pro-note{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;border-radius:14px;background:var(--oc-plum);color:#fff;font-size:14px;font-weight:600;}
.cpts-oc .rp-pro-note svg{width:16px;height:16px;flex:none;}
.cpts-oc .rp-pro-note[hidden]{display:none;}
/* Vue grand public : les lignes réservées, quand elles sont dans la page, restent masquées. */
.cpts-oc[data-vue="public"] .rp-pro{display:none;}
.cpts-oc .rp-cat[hidden]{display:none;}
.cpts-oc #repertoire,.cpts-oc .ms{scroll-margin-top:var(--cpts-entete,110px);}
.cpts-oc .rp-pro-note a{color:#fff;text-decoration:underline;margin-left:6px;white-space:nowrap;}

/* ---- Catégories en accordéon ---- */
.cpts-oc .rp-acc{display:flex;flex-direction:column;gap:10px;}
.cpts-oc .rp-cat{background:#fff;border:1px solid var(--oc-border);border-radius:20px;overflow:hidden;}
.cpts-oc .rp-h{width:100%;display:flex;align-items:center;gap:14px;padding:18px 22px;margin:0;border:0;background:none;text-align:left;font-family:var(--oc-disp);font-size:18px;font-weight:700;line-height:1.6;letter-spacing:0;text-transform:none;color:var(--oc-ink);cursor:pointer;box-shadow:none;}
.cpts-oc .rp-h .dot{width:12px;height:12px;border-radius:50%;background:var(--oc-violet);flex:none;}
.cpts-oc .rp-h .cnt{margin-left:auto;font-family:var(--oc-sans);font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--oc-violet) 13%,#fff);color:color-mix(in srgb,var(--oc-violet) 82%,#000);}
.cpts-oc .rp-h .pm{position:relative;width:16px;height:16px;flex:none;}
.cpts-oc .rp-h .pm::before,.cpts-oc .rp-h .pm::after{content:"";position:absolute;left:0;right:0;top:7px;height:2px;border-radius:2px;background:var(--oc-ink2);transition:transform .2s;}
.cpts-oc .rp-h .pm::after{transform:rotate(90deg);}
.cpts-oc .rp-cat.open .rp-h{background:color-mix(in srgb,var(--oc-violet) 10%,#fff);}
.cpts-oc .rp-cat.open .rp-h .pm::after{transform:rotate(0);}
.cpts-oc .rp-b{display:none;padding:6px 22px 22px;}
.cpts-oc .rp-cat.open .rp-b{display:block;}
/* Sans JavaScript, tout reste lisible : les catégories sont dépliées. */
.cpts-oc:not(.cpts-oc--js) .rp-b{display:block;}
.cpts-oc .rp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}

/* ---- Carte d'un lieu ---- */
.cpts-oc .rp-card{position:relative;padding:18px 20px;border-radius:16px;border:1px solid var(--oc-border);background:#fff;overflow:hidden;}
.cpts-oc .rp-card[hidden]{display:none;}
.cpts-oc .rp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.cpts-oc .rp-tags span{font-size:11.5px;font-weight:700;line-height:1.6;padding:4px 10px;border-radius:999px;background:#F1ECF4;color:var(--oc-ink2);}
.cpts-oc .rp-tags .rp-acc-t{background:#FFF1DC;color:#A85F00;}
.cpts-oc .rp-tags .rp-acc-t.sans{background:#E4F4EA;color:#1D7A44;}
/* Type de la fiche, en tête des pastilles des répertoires patients et pros */
.cpts-oc .rp-tags .rp-type{background:#F3EAF8;color:var(--cpts-fonce,#4A1E63);}
.cpts-oc .rp-card h3{display:flex;align-items:center;gap:10px;font-size:17.5px;line-height:1.3;color:var(--oc-ink);margin-bottom:8px;}
.cpts-oc .rp-card h3::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--oc-violet);flex:none;}
.cpts-oc .rp-card:hover{border-color:var(--oc-violet);}
.cpts-oc .rp-i{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--oc-ink2);line-height:1.45;margin-top:4px;}
.cpts-oc .rp-i svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--oc-muted);}
.cpts-oc .rp-pro{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:10px;background:#F3EEF7;font-size:13.5px;font-weight:700;color:var(--oc-plum);}
.cpts-oc .rp-pro svg{width:13px;height:13px;flex:none;}
.cpts-oc .rp-pro a{color:inherit;text-decoration:underline;}
.cpts-oc .rp-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.cpts-oc .rp-act .btn svg{width:14px;height:14px;}
.cpts-oc .rp-note{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px;padding:16px 20px;border-radius:16px;background:#F7F4FA;}
.cpts-oc .rp-note p{flex:1;min-width:240px;font-size:14.5px;color:var(--oc-ink2);}
.cpts-oc .rp-empty{color:var(--oc-muted);font-size:14.5px;}
.cpts-oc .rp-aucun{margin-top:14px;}
.cpts-oc .rp-aucun[hidden]{display:none;}
.cpts-oc .src{margin-top:22px;font-size:13px;color:var(--oc-muted);}

/* Ajouts au-delà de la maquette : description et logo du lieu. */
.cpts-oc .rp-d{font-size:14px;line-height:1.5;color:var(--oc-ink2);margin:0 0 8px;}
.cpts-oc .rp-logo{float:right;width:auto;height:auto;max-width:96px;max-height:44px;margin:0 0 8px 12px;object-fit:contain;border-radius:6px;}

/* ---- Habillage sobre (celui retenu par la maquette) ---- */
.cpts-oc.rp-sobre .rp-cat{border:0;border-radius:16px;background:transparent;}
.cpts-oc.rp-sobre .rp-h{background:var(--oc-fonce);color:#fff;border-radius:16px;padding:17px 22px;}
.cpts-oc.rp-sobre .rp-cat.open .rp-h{background:var(--oc-fonce);border-radius:16px 16px 0 0;}
.cpts-oc.rp-sobre:not(.cpts-oc--js) .rp-h{border-radius:16px 16px 0 0;}
.cpts-oc.rp-sobre .rp-h .dot{display:none;}
.cpts-oc.rp-sobre .rp-h .cnt{background:rgba(255,255,255,.18);color:#fff;}
.cpts-oc.rp-sobre .rp-h .pm::before,.cpts-oc.rp-sobre .rp-h .pm::after{background:#fff;}
.cpts-oc.rp-sobre .rp-b{background:#fff;border:1px solid var(--oc-border);border-top:0;border-radius:0 0 16px 16px;padding:20px 22px 22px;}
.cpts-oc.rp-sobre .rp-card h3::before{display:none;}
.cpts-oc.rp-sobre .rp-card{background:#FBF9FC;border-color:transparent;}
.cpts-oc.rp-sobre .rp-card:hover{border-color:var(--oc-border-h);}
.cpts-oc.rp-sobre .rp-note{background:#F8F4FB;}
.cpts-oc.rp-sobre .rp-tabs button.on{background:var(--oc-fonce);}

.cpts-oc :focus-visible{outline:2px solid var(--oc-violet);outline-offset:2px;}

@media (max-width:1080px){
  .cpts-oc .rp-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:700px){
  .cpts-oc .rp-grid{grid-template-columns:1fr;}
  .cpts-oc .rp-h{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){
  .cpts-oc .btn,.cpts-oc .rp-h .pm::before,.cpts-oc .rp-h .pm::after{transition:none;}
}


/* ---- 2. Ajouts propres au Répertoire ---- */
.cpts-rep [hidden]{display:none!important;}
/* Description longue, repliée par défaut. */
.cpts-oc .cpts-rep__plus{margin-top:10px;font-size:14px;color:var(--oc-ink2);}
.cpts-oc .cpts-rep__plus summary{cursor:pointer;font-weight:700;color:#2E5BA8;}
.cpts-oc .cpts-rep__plus summary:focus-visible{outline:2px solid var(--oc-violet);outline-offset:2px;}
.cpts-oc .cpts-rep__plus p{margin:8px 0 0;line-height:1.5;}
/* Barre de filtres complète au-dessus des accordéons. */
.cpts-oc .cpts-filtres__barre{margin-bottom:18px;}
/* Pas de défilement horizontal sur téléphone. */
.cpts-oc .rp-card{min-width:0;overflow-wrap:anywhere;}
@media (max-width:420px){.cpts-oc .btn-sm{padding:9px 14px;}.cpts-oc .rp-b{padding:14px 12px 16px!important;}.cpts-oc .rp-card{padding:16px;}}
/* Logo d'une fiche : en haut de la carte, lisible, au lieu du petit logo flottant du module Lieux (demande de Marie, 15/10/2026). */
.cpts-oc .rp-card .rp-logo{float:none;display:block;width:auto;height:auto;max-width:180px;max-height:64px;margin:0 0 14px;object-fit:contain;object-position:left center;border-radius:8px;}

/* Barre de recherche des répertoires sur une seule ligne : recherche, parcours, type, les deux cases côte à côte, réinitialiser (demandes de Marie, 15/10/2026). */
.cpts-oc .cpts-filtres__barre{grid-template-columns:minmax(200px,1.6fr) minmax(170px,1fr) minmax(150px,.8fr) auto auto;padding:18px 22px;}
.cpts-oc .cpts-filtres__champ--recherche{grid-column:auto;}
.cpts-oc .cpts-filtres__coches{flex-wrap:nowrap;white-space:nowrap;align-self:end;height:46px;}
@media (max-width:1180px){.cpts-oc .cpts-filtres__barre{grid-template-columns:1fr 1fr;}.cpts-oc .cpts-filtres__champ--recherche{grid-column:1 / -1;}.cpts-oc .cpts-filtres__reinit{justify-self:end;}}
@media (max-width:640px){.cpts-oc .cpts-filtres__barre{grid-template-columns:minmax(0,1fr);padding:16px;gap:12px;}.cpts-oc .cpts-filtres__coches{gap:8px 14px;font-size:14px;height:auto;min-height:0;}.cpts-oc .cpts-filtres__reinit{height:auto;padding:0;justify-self:start;}}
/* Haut de page réglable (inc/haut-de-page.php) : étapes et urgence vitale de la maquette, au-dessus de la recherche. */
.cpts-oc .cpts-rep__haut{margin:0 0 48px;}
.cpts-oc .cpts-rep__haut .rp-15{text-decoration:none;}
/* Dans une page rédigée, la colonne de texte (.cpts-contenu) grossit p, li et h2 : on remet les valeurs de la maquette. */
.cpts-oc .cpts-rep__haut .eyebrow{font-size:12.5px;line-height:normal;letter-spacing:.22em;margin:0 0 14px;}
.cpts-oc .cpts-rep__haut .section-title{font-size:40px;line-height:1.1;margin:0;}
.cpts-oc .cpts-rep__haut .steps{margin:30px 0 0;padding:0;}
.cpts-oc .cpts-rep__haut .steps li{font-size:inherit;line-height:normal;margin:0;}
.cpts-oc .cpts-rep__haut .steps h4{margin:0 0 6px;}
.cpts-oc .cpts-rep__haut .steps p{font-size:14.5px;line-height:1.55;margin:0;}
.cpts-oc .cpts-rep__haut .rp-15{margin-top:22px;}
.cpts-oc .cpts-rep__haut .rp-15 small{font-size:14.5px;line-height:1.55;}
@media (max-width:700px){.cpts-oc .cpts-rep__haut .section-title{font-size:34px;}}

/* =======================================================================
   3. Vue liste et rubriques allégées (demande de Marie, 16/10/2026)
   Plus de gros bandeau violet : chaque rubrique (parcours) a une pastille de couleur (--pc),
   son nom, son nombre et un filet fin. En liste, les fiches sont des lignes compactes.
   ==================================================================== */

/* Sommaire des parcours et bascule, au-dessus des rubriques. */
.cpts-oc .rp-outils{display:flex;align-items:flex-start;justify-content:space-between;gap:14px 24px;margin:0 0 26px;}
.cpts-oc .rp-sommaire{display:flex;flex-wrap:wrap;gap:8px;}
.cpts-oc .rp-som{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:7px;background:#fff;border:1px solid var(--oc-border);font-size:13.5px;font-weight:700;line-height:1.3;color:var(--oc-ink2);transition:border-color .16s,color .16s;}
.cpts-oc .rp-som:hover{border-color:var(--pc);color:var(--oc-ink);}
.cpts-oc .rp-som i{width:9px;height:9px;border-radius:50%;background:var(--pc);flex:none;}
.cpts-oc .rp-som .n{font-size:12px;font-weight:700;color:var(--oc-muted);}
.cpts-oc .rp-vues{flex:none;display:inline-flex;padding:4px;border-radius:999px;background:#F8F4FB;}
.cpts-oc .rp-vue{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:0;border-radius:999px;background:none;font-size:13.5px;font-weight:700;line-height:1.2;color:var(--oc-ink2);box-shadow:none;text-transform:none;letter-spacing:0;}
.cpts-oc .rp-vue svg{width:16px;height:16px;}
.cpts-oc .rp-vue:hover{color:var(--oc-ink);background:none;}
.cpts-oc .rp-vue.on{background:#fff;color:var(--oc-violet);box-shadow:0 2px 8px -4px rgba(46,16,56,.35);}

/* Rubriques allégées, dans les deux vues : fond blanc, pastille de couleur, filet fin. */
/* « !important » : la feuille de la maquette (commun.css) force le violet foncé ainsi. */
.cpts-oc.rp-sobre .rp-h{background:#fff!important;color:var(--oc-ink)!important;border:1px solid var(--oc-border);border-radius:12px;padding:15px 20px;}
.cpts-oc.rp-sobre .rp-h:hover{border-color:var(--pc,var(--oc-violet));}
.cpts-oc.rp-sobre .rp-cat.open .rp-h{background:#fff!important;border-radius:12px 12px 0 0;border-bottom-color:transparent;}
.cpts-oc.rp-sobre .rp-h .dot{display:block;background:var(--pc,var(--oc-violet));}
.cpts-oc.rp-sobre .rp-h .cnt{background:color-mix(in srgb,var(--pc,var(--oc-violet)) 12%,#fff);color:color-mix(in srgb,var(--pc,var(--oc-violet)) 80%,#000);}
.cpts-oc.rp-sobre .rp-h .pm::before,.cpts-oc.rp-sobre .rp-h .pm::after{background:var(--oc-ink2);}
.cpts-oc.rp-sobre .rp-b{border-radius:0 0 12px 12px;}

/* ---- Vue liste ---- */
.cpts-oc[data-affichage="liste"] .rp-acc{gap:34px;}
.cpts-oc[data-affichage="liste"] .rp-cat{scroll-margin-top:calc(var(--cpts-entete,110px) + 20px);}
.cpts-oc[data-affichage="liste"].rp-sobre .rp-h{pointer-events:none;padding:0 0 10px;border:0;border-bottom:1px solid var(--oc-border);border-radius:0;background:none!important;font-size:20px;line-height:1.3;}
.cpts-oc[data-affichage="liste"] .rp-h .cnt{margin-left:4px;}
.cpts-oc[data-affichage="liste"] .rp-h .pm{display:none;}
.cpts-oc[data-affichage="liste"] .rp-b,.cpts-oc[data-affichage="liste"].rp-sobre .rp-b{display:block;padding:0;border:0;border-radius:0;background:none;}
.cpts-oc[data-affichage="liste"] .rp-grid{grid-template-columns:minmax(0,1fr);gap:0;}
.cpts-oc[data-affichage="liste"] .rp-card,.cpts-oc[data-affichage="liste"].rp-sobre .rp-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;gap:6px 26px;align-items:center;padding:14px 4px;border:0;border-bottom:1px solid var(--oc-border);border-radius:0;background:none;overflow:visible;}
.cpts-oc[data-affichage="liste"] .rp-card:hover{background:color-mix(in srgb,var(--pc,var(--oc-violet)) 4%,#fff);}
.cpts-oc[data-affichage="liste"] .rp-card .rp-logo{max-width:110px;max-height:30px;margin:0 0 6px;}
.cpts-oc[data-affichage="liste"] .rp-tags{margin-bottom:4px;}
.cpts-oc[data-affichage="liste"] .rp-tags span{padding:2px 8px;font-size:11px;border-radius:5px;}
.cpts-oc[data-affichage="liste"] .rp-card h3{font-size:16.5px;margin:0 0 2px;}
.cpts-oc[data-affichage="liste"] .rp-d{margin:0;font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cpts-oc[data-affichage="liste"] .rp-i{margin-top:2px;font-size:13.5px;}
.cpts-oc[data-affichage="liste"] .rp-i:first-child{margin-top:0;}
.cpts-oc[data-affichage="liste"] .rp-pro{margin-top:6px;}
.cpts-oc[data-affichage="liste"] .cpts-rep__plus{margin-top:4px;font-size:13.5px;}
.cpts-oc[data-affichage="liste"] .rp-act{margin:0;justify-content:flex-end;}
.cpts-oc[data-affichage="liste"] .rp-act .btn-sm{padding:8px 14px;font-size:13.5px;}
@media (max-width:1100px){
  .cpts-oc[data-affichage="liste"] .rp-card,.cpts-oc[data-affichage="liste"].rp-sobre .rp-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .cpts-oc[data-affichage="liste"] .rp-act{grid-column:1 / -1;justify-content:flex-start;}
}
@media (max-width:700px){
  .cpts-oc .rp-outils{flex-direction:column-reverse;}
  .cpts-oc .rp-sommaire{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;scrollbar-width:none;}
  .cpts-oc .rp-sommaire::-webkit-scrollbar{display:none;}
  .cpts-oc .rp-som{flex:none;}
  .cpts-oc[data-affichage="liste"] .rp-card,.cpts-oc[data-affichage="liste"].rp-sobre .rp-card{grid-template-columns:minmax(0,1fr);padding:14px 2px;}
  .cpts-oc[data-affichage="liste"].rp-sobre .rp-h{font-size:18px;}
}

/* Accordéon allégé : un seul cadre par rubrique, en-tête et contenu sans filet propre. */
.cpts-oc[data-affichage="accordeon"].rp-sobre .rp-cat{background:#fff;border:1px solid var(--oc-border)!important;border-radius:12px;overflow:hidden;transition:border-color .16s;}
.cpts-oc[data-affichage="accordeon"].rp-sobre .rp-cat:hover{border-color:var(--pc,var(--oc-violet))!important;}
.cpts-oc[data-affichage="accordeon"].rp-sobre .rp-h,.cpts-oc[data-affichage="accordeon"].rp-sobre .rp-cat.open .rp-h{border:0!important;border-radius:0!important;}
.cpts-oc[data-affichage="accordeon"].rp-sobre .rp-b{border:0!important;border-radius:0!important;padding:4px 20px 20px;}

/* Vue liste : titres de rubrique en aplat violet foncé, texte blanc, pour bien les repérer (demande de Marie, 16/10/2026). */
.cpts-oc[data-affichage="liste"].rp-sobre .rp-h{padding:12px 18px;border:0;border-radius:8px;background:var(--oc-fonce)!important;color:#fff!important;font-size:18px;}
.cpts-oc[data-affichage="liste"].rp-sobre .rp-h .dot{box-shadow:0 0 0 2px rgba(255,255,255,.85);}
.cpts-oc[data-affichage="liste"].rp-sobre .rp-h .cnt{background:rgba(255,255,255,.18);color:#fff;}
.cpts-oc[data-affichage="liste"] .rp-b,.cpts-oc[data-affichage="liste"].rp-sobre .rp-b{padding-top:2px;}
/* Conditions d'accès au-dessus des horaires, dans la colonne « où et quand ». */
.cpts-oc .rp-tags--acces{margin:0 0 6px;}
.cpts-oc[data-affichage="liste"] .rp-tags--acces{margin:0 0 4px;}
@media (max-width:700px){.cpts-oc[data-affichage="liste"].rp-sobre .rp-h{font-size:16.5px;}}

/* Vue liste : colonnes alignées d'une fiche à l'autre (la colonne des boutons a une largeur fixe). */
.cpts-oc[data-affichage="liste"] .rp-card,.cpts-oc[data-affichage="liste"].rp-sobre .rp-card{grid-template-columns:minmax(0,5fr) minmax(0,4fr) 250px;}
@media (max-width:1100px){.cpts-oc[data-affichage="liste"] .rp-card,.cpts-oc[data-affichage="liste"].rp-sobre .rp-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
@media (max-width:700px){.cpts-oc[data-affichage="liste"] .rp-card,.cpts-oc[data-affichage="liste"].rp-sobre .rp-card{grid-template-columns:minmax(0,1fr);}}

/* Retour au sommaire, discret, au-dessus de chaque rubrique (vue liste seulement). */
.cpts-oc .rp-retour{display:none;}
.cpts-oc[data-affichage="liste"] .rp-retour{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:0 0 6px auto;width:max-content;font-size:12.5px;font-weight:700;color:var(--oc-muted);}
.cpts-oc[data-affichage="liste"] .rp-retour svg{width:14px;height:14px;}
.cpts-oc[data-affichage="liste"] .rp-retour:hover{color:var(--oc-violet);}
.cpts-oc #rp-haut{scroll-margin-top:calc(var(--cpts-entete,110px) + 30px);}
.cpts-oc[data-affichage="liste"] .rp-acc{gap:22px;}

/* Vue liste : le logo, s'il y en a un, flotte à gauche dans la ligne, le texte à côté (demande de Marie, 16/10/2026). */
.cpts-oc[data-affichage="liste"] .rp-qui{display:flow-root;}
.cpts-oc[data-affichage="liste"] .rp-card .rp-logo{float:left;display:block;width:auto;height:auto;max-width:72px;max-height:52px;margin:2px 14px 4px 0;object-fit:contain;object-position:left top;border-radius:6px;}

/* =======================================================================
   4. Haut de page condensé (demande de Marie, 16/10/2026) : la question et le titre à gauche,
   les trois étapes en vignettes basses à droite, le 15 en bandeau fin dessous ;
   la recherche remonte dans le premier écran.
   ==================================================================== */
/* La page fournit déjà l écart sous le bandeau (30 px) : rien à ajouter. */
.cpts-oc #repertoire.c-sec{padding-top:0;}
.cpts-oc .cpts-rep__haut{display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:22px;row-gap:8px;align-items:start;margin:0 0 22px;}
.cpts-oc .cpts-rep__haut .eyebrow{grid-column:1;grid-row:1;margin:4px 0 0;font-size:11.5px;letter-spacing:.14em;line-height:1.4;}
.cpts-oc .cpts-rep__haut .section-title{grid-column:1;grid-row:2;font-size:24px;line-height:1.15;}
.cpts-oc .cpts-rep__haut .steps{grid-column:2;grid-row:1 / span 3;margin:0;gap:10px;}
.cpts-oc .cpts-rep__haut .steps li{padding:11px 14px 12px 54px;border-radius:12px;min-height:0;}
.cpts-oc .cpts-rep__haut .steps li:hover{transform:none;}
.cpts-oc .cpts-rep__haut .steps li::before{position:absolute;left:12px;top:11px;width:32px;height:32px;margin:0;border-radius:9px;font-size:15px;}
.cpts-oc .cpts-rep__haut .steps h4{margin:0 0 2px;font-size:14.5px;line-height:1.3;}
.cpts-oc .cpts-rep__haut .steps p{font-size:13px;line-height:1.4;}
.cpts-oc .cpts-rep__haut .rp-15{grid-column:1 / -1;margin:6px 0 0;padding:8px 14px;gap:12px;border-radius:12px;max-width:none;}
.cpts-oc .cpts-rep__haut .rp-15 .n{width:36px;height:36px;border-radius:9px;font-size:18px;}
.cpts-oc .cpts-rep__haut .rp-15 > span:last-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;}
.cpts-oc .cpts-rep__haut .rp-15 b{display:inline;font-size:15px;}
.cpts-oc .cpts-rep__haut .rp-15 small{font-size:13px;line-height:1.4;}
/* La barre de recherche suit de près. */
.cpts-oc .cpts-rep__haut + .cpts-filtres__barre{margin-top:0;}
@media (max-width:1080px){
  .cpts-oc .cpts-rep__haut{grid-template-columns:minmax(0,1fr);grid-template-rows:none;}
  .cpts-oc .cpts-rep__haut .eyebrow,.cpts-oc .cpts-rep__haut .section-title,.cpts-oc .cpts-rep__haut .steps,.cpts-oc .cpts-rep__haut .rp-15{grid-column:1;grid-row:auto;}
  .cpts-oc .cpts-rep__haut .steps{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px;}
}
@media (max-width:700px){
  .cpts-oc .cpts-rep__haut .section-title{font-size:21px;}
  .cpts-oc .cpts-rep__haut .steps{grid-template-columns:minmax(0,1fr);gap:6px;}
  .cpts-oc .cpts-rep__haut .steps li{padding:9px 12px 9px 50px;}
  .cpts-oc .cpts-rep__haut .steps li::before{top:9px;width:30px;height:30px;}
}
/* Téléphone : étapes en liste serrée sans cadre, le 15 réduit à son titre, Parcours et Type côte à côte. */
@media (max-width:700px){
  .cpts-oc .cpts-rep__haut{row-gap:6px;margin-bottom:16px;}
  .cpts-oc .cpts-rep__haut .eyebrow{font-size:10.5px;}
  .cpts-oc .cpts-rep__haut .steps{gap:2px;}
  .cpts-oc .cpts-rep__haut .steps li{padding:6px 0 6px 40px;border:0;border-radius:0;background:none;}
  .cpts-oc .cpts-rep__haut .steps li::before{left:0;top:7px;width:28px;height:28px;font-size:14px;}
  .cpts-oc .cpts-rep__haut .steps h4{font-size:14px;}
  .cpts-oc .cpts-rep__haut .steps p{font-size:12.5px;}
  .cpts-oc .cpts-rep__haut .rp-15{padding:7px 12px;}
  .cpts-oc .cpts-rep__haut .rp-15 small{display:none;}
  .cpts-oc .cpts-filtres__barre{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .cpts-oc .cpts-filtres__champ--recherche,.cpts-oc .cpts-filtres__coches,.cpts-oc .cpts-filtres__reinit{grid-column:1 / -1;}
}

/* Sans sommaire de parcours (retiré le 16/10/2026) : la bascule seule, à droite, à hauteur du compteur. */
.cpts-oc .rp-outils{justify-content:flex-end;margin:-38px 0 18px;}
.cpts-oc .rp-ancre{display:block;scroll-margin-top:calc(var(--cpts-entete,110px) + 30px);}
/* Plus d'air entre l'urgence vitale et la recherche. */
.cpts-oc .cpts-rep__haut{margin-bottom:40px;}
@media (max-width:700px){.cpts-oc .rp-outils{margin:0 0 14px;justify-content:flex-start;}.cpts-oc .cpts-rep__haut{margin-bottom:28px;}}

/* Vue liste : une rubrique « ouverte » par un filtre garde son aplat violet (le style ouvert de l'accordéon l'effaçait). */
.cpts-oc[data-affichage="liste"].rp-sobre .rp-cat.open .rp-h,.cpts-oc[data-affichage="liste"].rp-sobre .rp-cat .rp-h{background:var(--oc-fonce)!important;color:#fff!important;border:0!important;border-radius:8px!important;}
/* La première rubrique visible n'a pas besoin de flèche de retour : la recherche est juste au-dessus. */
.cpts-oc[data-affichage="liste"] .rp-cat.rp-premier .rp-retour{display:none;}

/* Vue liste repliable (fermees="1") : la barre de rubrique s'ouvre au clic, rubriques fermées au départ. */
.cpts-oc.rp-liste-repliable[data-affichage="liste"].rp-sobre .rp-h{pointer-events:auto;cursor:pointer;}
.cpts-oc.rp-liste-repliable[data-affichage="liste"] .rp-h .pm{display:block;margin-left:auto;}
.cpts-oc.rp-liste-repliable[data-affichage="liste"].rp-sobre .rp-h .pm::before,.cpts-oc.rp-liste-repliable[data-affichage="liste"].rp-sobre .rp-h .pm::after{background:#fff;}
.cpts-oc.rp-liste-repliable[data-affichage="liste"] .rp-cat:not(.open) .rp-b,.cpts-oc.rp-liste-repliable[data-affichage="liste"].rp-sobre .rp-cat:not(.open) .rp-b{display:none;}
.cpts-oc.rp-liste-repliable[data-affichage="liste"] .rp-acc{gap:12px;}
.cpts-oc.rp-liste-repliable[data-affichage="liste"] .rp-cat:not(.open) .rp-retour{display:none;}
